

확률부터 LLM까지 — 데이터 사이언스 자기주도 학습 플랫폼
각 단계를 클릭하면 해당 학습 내용을 볼 수 있습니다
학습 진도 (완료한 단계)
0%
토큰의 ID는 그저 번호일 뿐, 의미가 없습니다. 3번과 4번이 이웃이라고 해서 뜻이 비슷한 건 아니니까요. 그래서 각 토큰을 의미가 담긴 숫자 목록(벡터)으로 바꿉니다. 이게 임베딩입니다. 핵심은 하나 — 비슷한 맥락에서 쓰이는 단어는 벡터 공간에서 서로 가깝게 배치한다는 것.
단어를 3차원 벡터로 표현한 예: • 왕 = [0.9, 0.1, 0.8] • 여왕 = [0.8, 1.0, 0.7] ← '왕'과 가까움(둘 다 왕족) • 사과 = [0.1, 0.1, 0.9] ← '왕'과 멂(무관) 뜻이 비슷하면 벡터도 가깝고, 무관하면 멉니다. 이 "가까움"을 코사인 유사도로 잽니다.
아래 코드는 브라우저에서 바로 실행됩니다. 숫자를 바꿔가며 결과를 눈으로 확인해 보세요.
작은 장난감 임베딩에서 "왕 − 남자 + 여자"를 계산하고, 입력 세 단어를 뺀 후보와 유사도를 재면 여왕이 1위가 됩니다.
첫 실행 시 파이썬 런타임을 내려받습니다 (수 초 소요)
정답: ID는 단순한 번호라 의미가 없습니다. 번호가 가깝다고 뜻이 비슷한 것도 아니고요. 임베딩은 단어를 의미가 담긴 벡터로 바꿔, 뜻이 비슷한 단어끼리 가깝게 배치합니다.
정답: 분포 가설(distributional hypothesis)입니다. "단어의 뜻은 함께 나타나는 단어들로 안다"는 생각으로, Harris(1954)와 Firth(1957)에서 비롯되었습니다.