DEV Community

Cover image for 임베딩이란 뭔가 — 단어가 숫자가 되는 자리, 마케터를 위한 직관
HyunSeok Jeong
HyunSeok Jeong

Posted on • Originally published at blog.trysitely.com

임베딩이란 뭔가 — 단어가 숫자가 되는 자리, 마케터를 위한 직관

"임베딩으로 검색하면 더 똑똑해져요"의 자리는 RAG·추천·이미지 검색·세그멘테이션에 늘 등장합니다. 그런데 "임베딩이 정확히 뭐냐"의 답이 한 번도 정리 안 되면 그 도구들이 신비로 남습니다. 답이 좋을 땐 운이 좋고, 나쁠 땐 왜 그런지 모릅니다. 이 글은 단어·문장·이미지가 어떻게 숫자 벡터가 되고, 그 벡터로 무엇을 할 수 있는지를 마케터 시각으로 풀어냅니다.

1. 임베딩의 한 줄 직관

임베딩의 한 줄 정의:

텍스트(또는 이미지·유저·상품)를 의미를 담은 숫자 벡터로 바꾼다.

"광고 카피"라는 단어를 임베딩하면 1024개 정도의 숫자 — 예: [0.12, -0.34, 0.78, ...]. 이 숫자 벡터에 두 가지 성질이 들어 있습니다.

  • 의미 비슷한 단어는 비슷한 벡터 — "광고 카피"와 "광고 문구"는 가까운 벡터
  • 의미 다른 단어는 먼 벡터 — "광고 카피"와 "재무제표"는 먼 벡터

이 성질이 왜 중요한지는 단순합니다. 컴퓨터는 텍스트의 의미를 직접 비교 못 합니다. 하지만 벡터의 거리는 비교할 수 있습니다. 텍스트를 벡터로 바꾸면 컴퓨터가 의미를 거리로 다룰 수 있게 됩니다.

단어가 다차원 벡터로 매핑되어 의미가 가까운 단어가 가까운 위치에 놓이는 임베딩 공간 다이어그램
비슷한 의미의 단어는 비슷한 벡터. 다른 의미는 먼 벡터. 이 한 가지 성질이 검색·추천·RAG의 토대다.

📌 이 글에서 다루는 것

이 글은 임베딩의 수학·학습 알고리즘을 다루지 않습니다. 마케터가 LLM·RAG·추천·검색을 이해할 때 알아야 할 직관과 운영 의미에 집중. 임베딩 모델 운영의 디테일은 임베딩 운영 글 참조.

2. 어떻게 의미가 벡터에 담기나

임베딩 모델이 학습하는 한 줄 원칙:

같은 문맥에 자주 나오는 단어들은 같은 의미를 가진다 (distributional hypothesis).

"왕"과 "여왕"이 비슷한 문맥(궁궐·왕좌·통치)에서 자주 나오면 비슷한 의미. 임베딩 모델은 수억 개의 텍스트를 보고 각 단어의 문맥 패턴을 학습. 결과적으로 비슷한 문맥 패턴의 단어는 가까운 벡터.

유명한 예시: word2vec(Mikolov et al. 2013)에서

남자+여자여왕 \vec{\text{왕}} - \vec{\text{남자}} + \vec{\text{여자}} \approx \vec{\text{여왕}}

벡터 연산이 의미 관계를 그대로 따라간다. 학습된 벡터 공간에서 "왕에서 남자성을 빼고 여자성을 더하면 여왕"이 수학적으로 성립.

마케팅 자리에서 비슷한 패턴:

광고 카피B2C+B2BB2B 카피 \vec{\text{광고 카피}} - \vec{\text{B2C}} + \vec{\text{B2B}} \approx \vec{\text{B2B 카피}}

벡터의 산술이 의미의 산술을 따라가는 자리. 운영자가 직접 쓰는 일은 적지만 임베딩 공간이 의미를 어떻게 다루는지의 직관이 됨.

3. 임베딩의 차원 — 왜 1024개인가

"단어 하나가 1024개 숫자"는 처음 보면 과해 보입니다. 왜 그렇게 많은 차원이 필요한가.

직관적 답: 의미는 한 축이 아니라 여러 축에 동시에 있습니다.

"광고 카피"라는 단어의 의미 축들:

  • 비즈니스 도메인 (광고·마케팅)
  • 텍스트 형식 (짧음, 직접적)
  • 작성 주체 (마케터·카피라이터)
  • 목적 (전환·인지)
  • 톤 (친근·신뢰)
  • ... (수백 개의 미세한 의미 축)

이 모든 축을 동시에 표현하려면 다차원이 필요. 1024차원이면 1024개의 의미 축. 차원이 작으면 표현력이 떨어지고, 너무 크면 학습·저장·검색 비용 폭증.

운영 표준은 다음 정도:

모델 차원 특징
BGE-small 384 가벼움, 일반 검색
OpenAI text-3-small 1536 (축소 가능) 일반 운영 표준
OpenAI text-3-large 3072 정확도 높음
Voyage 3 8192 최고 정확도

임베딩 운영 글에서 차원 선택의 trade-off를 더 자세히.

4. 거리와 유사도 — cosine similarity가 가장 흔한 이유

벡터 두 개의 "비슷함"은 거리로 측정합니다. 가장 흔한 도구는 cosine similarity:

cos(u,v)=uvuv \text{cos}(u, v) = \frac{u \cdot v}{|u| \cdot |v|}

두 벡터의 각도. 1에 가까우면 같은 방향(매우 유사), 0이면 직각(무관), -1이면 반대 방향(반대 의미).

운영 자리의 직관:

  • cos > 0.9 — 매우 유사 (거의 같은 의미·중복)
  • cos 0.7~0.9 — 유사 (관련 주제·동일 카테고리)
  • cos 0.5~0.7 — 약간 유사 (느슨한 관련)
  • cos < 0.5 — 무관 또는 반대

마케팅 자리에 적용:

  • 광고 카피 중복 검출 — cos > 0.92면 중복
  • FAQ 매칭 — cos > 0.7이면 매칭
  • 추천 시스템 — top-k 가장 cos 큰 상품들

다른 거리 metric(dot product·Euclidean)도 있지만 운영 표준은 cosine. 임베딩 운영 글에서 metric 선택을 더.

5. 임베딩이 마케팅에 들어오는 4가지 자리

5-1. 검색 (Semantic Search)

키워드 매칭 대신 의미 매칭. "광고비 환불"로 검색하면 "환불 정책"·"비용 환급" 같은 동의어 문서까지 찾음. 키워드 검색의 한계를 풀어냄.

5-2. 추천 (Recommendation)

상품·콘텐츠 임베딩 + 유저 임베딩. 두 벡터의 cos similarity 큰 자리가 추천 후보. 유저가 본 상품의 임베딩 평균이 유저의 관심 임베딩.

5-3. 클러스터링·세그멘테이션

비슷한 임베딩끼리 묶어 자동 세그먼트. 광고 카피 100개를 임베딩 유사도로 묶으면 5~10개 클러스터 — 같은 메시지의 변형끼리 자동 그룹.

5-4. RAG (Retrieval-Augmented Generation)

질문을 임베딩하고, 비슷한 문서를 임베딩 검색으로 찾고, LLM에 그 문서를 컨텍스트로 줘서 답 생성. 회사 내부 위키·FAQ 챗봇의 표준 아키텍처.

from openai import OpenAI

client = OpenAI()
def embed(texts):
    r = client.embeddings.create(model='text-embedding-3-small', input=texts)
    return [d.embedding for d in r.data]

vecs = embed(['광고 카피', '광고 문구', '재무제표'])
# vecs[0]·vecs[1]은 유사, vecs[0]·vecs[2]는 다름
Enter fullscreen mode Exit fullscreen mode

이게 본문에 박는 유일한 코드입니다. OpenAI 임베딩 한 줄로 텍스트 → 벡터.

6. 임베딩이 못 하는 것

임베딩이 마법은 아닙니다. 못 하는 자리도 명확합니다.

6-1. 추론

"광고 카피 5개를 만들어줘" 같은 생성·추론은 임베딩이 못 함. 임베딩은 정적 벡터. 답을 만들려면 LLM이 필요.

6-2. 미세한 사실 차이

"매출 100원"과 "매출 100만원"은 거의 같은 임베딩일 수 있음. 임베딩은 의미·맥락에 강하고 정확한 숫자에 약함.

6-3. 도메인 특화 새 단어

학습 시점에 없던 신조어·신규 카테고리는 임베딩 정확도가 떨어짐. drift 문제 — 임베딩 운영 글 참조.

7. 마케팅 실무 적용

7-1. 광고 카피 중복 제거

LLM이 100개 카피 생성 → 임베딩 → cos > 0.92 묶어 30개로. 다양성 보장하면서 중복 제거.

7-2. FAQ 매칭

고객 문의를 임베딩 → FAQ DB의 가장 cos 높은 자리. 0.7 이상 자동 응답, 0.5~0.7 사람 보조.

7-3. 신규 가입자 cold start

가입 시 받은 관심사 텍스트 임베딩 + 상품 설명 임베딩. cos similarity 높은 상품 추천. 행동 이력 없이도 첫 추천 가능.

{/* TODO_HUNY: huny가 운영 중인 임베딩 자리에서 "이게 임베딩이구나"를 처음 체감한 자리 한 가지 추가해주세요. 검색·추천·중복 제거 중 어디서. */}

8. 임베딩에 익숙해지면 보이는 것

임베딩이 익숙해지면 다음 글들이 다르게 읽힙니다.

이 글들의 도구들이 모두 "텍스트를 의미를 담은 숫자로 바꿀 수 있다"는 한 가지 성질 위에서 작동합니다.

9. 마치며 — 임베딩은 의미의 좌표

마케팅 자리에 LLM이 들어오는 속도가 빨라졌습니다. 임베딩은 그 LLM 도구들이 의미를 다루는 가장 기본 토대입니다. 임베딩의 직관이 잡혀 있으면 검색·추천·RAG·세그멘테이션이 어떻게 작동하는지 자연스럽게 보입니다.

텍스트 → 벡터, 벡터의 거리 = 의미의 거리. 이 한 줄.

다음 글에서는 같은 자리의 또 다른 기초 — 트랜스포머 직관을 다룹니다. attention이 무엇이고 왜 LLM의 핵심 메커니즘이 되었는지.

참고

Top comments (0)