AI는 단어를 읽지 않습니다. 벡터, 곧 숫자 목록을 읽습니다. 비슷하게 쓰이는 단어끼리 가까이 놓이도록 정한 숫자입니다. 영화평 15만 개로 배운 한국어 단어 6,000개와 GloVe 영어 단어 2만 개가 있습니다. 지도에 올리고, 이웃을 찾고, 뜻으로 셈을 하고, 영화평의 기분을 읽어 보세요.
지도에서 단어를 누르면 전체 단어 중 가장 가까운 이웃이 나옵니다. 칩을 누르면 지도에서 뺍니다.
지도는 보이는 단어들로 PCA를 돌려 64(또는 50)차원을 2차원으로 눌러 담습니다. 지도 위 거리는 어림이고, 이웃 목록은 전체 벡터로 잽니다.
word2vec은 맞히기 놀이로 이 숫자를 배웁니다. 실제 문장에서 한 단어를 보고 주변 단어를 맞힙니다. 비슷한 단어들과 어울려 나오는 단어는 비슷한 숫자를 갖게 됩니다. 아무도 단어의 뜻을 알려 주지 않습니다. 아래 네모 하나가 단어의 숫자 64개 중 하나입니다. 초록은 양수, 주황은 음수입니다.
가장 가까운 이웃을 보면 벡터가 무엇을 배웠는지, 그 버릇까지 보입니다. 영화평에서는 오타가 원래 단어 옆에, 배우가 다른 배우 옆에 놓입니다. 벡터는 학습한 글의 세상만 압니다.
단어 벡터는 길이가 아니라 사이 각도(코사인 유사도)로 비교합니다. 두 화살표 끝을 끌어 보세요. 코사인은 방향이 바뀔 때만 바뀌고, 내적과 거리는 길이에 따라서도 바뀝니다. 그래서 이 페이지의 벡터는 모두 먼저 길이 1로 맞춥니다.
히스토그램은 단어 1과 한국어 6,000단어 모두의 코사인이고, 세로선이 단어 2입니다. 대부분 0.1~0.5 사이에 몰려 있고 0.6을 넘는 것은 드뭅니다. word2vec 벡터는 공통 방향을 조금씩 나눠 가져서 평균이 0이 아닙니다.
공간 속 방향이 뜻을 품기도 합니다. A에서 B로 가는 걸음을 C에 그대로 적용합니다. B − A + C. 그리고 그 결과와 가장 가까운 단어를 찾습니다.
| 구글 유추 시험, 영어 GloVe(상위 2만 단어) | 문항 | 정답률 |
|---|
방향을 자로 쓸 수도 있습니다. 아래는 단어들을 '최악'에서 '최고'로 가는 선 위에 놓은 것입니다.
행 하나가 유추 하나이고, 한국어는 영화평 벡터, 영어는 GloVe로 계산합니다. '순위'는 기대한 답이 후보 단어 중 몇 번째에 오는지입니다(1이면 정답). 행을 누르면 위 계산기에 들어갑니다.
영화평 속 단어 벡터를 평균 내고, 가중치 한 줄(로지스틱 회귀, 라벨 붙은 영화평 15만 개로 학습)로 그 평균을 '긍정' 확률로 바꿉니다. 단어 색은 그 단어가 점수를 얼마나 밀었는지입니다.
입력한 글은 이 브라우저 안에서만 계산하고, 저장하거나 보내지 않습니다.
| NSMC 시험 세트, 영화평 5만 개 | 정확도 |
|---|
6,000개 단어를 하나하나 세는 방법이 벡터 평균보다 조금 낫습니다. 벡터 평균은 영화평을 숫자 64개로 눌러 담느라 세부를 잃습니다. 대신 학습 때 못 본 비슷한 단어도 제자리를 찾는 것이 장점입니다.
단어를 누르면 껐다 켭니다. 막대는 단어마다 점수를 민 양(파랑 올림, 주황 내림).
단어 벡터 평균은 순서를 버리므로, 같은 단어로 된 문장은 같은 점수를 받습니다. '안' 같은 부정도 거의 반영되지 않습니다.
모든 언어 모델은 같은 방식으로 시작합니다. 토큰마다 벡터 표에서 숫자 목록을 찾아옵니다. 다른 것은 그다음입니다. word2vec은 단어마다 벡터가 하나로 고정이라, 강가의 '배'와 먹는 '배'가 같은 벡터를 씁니다. 트랜스포머는 그 벡터를 어텐션 층에 통과시키므로, 각 토큰의 벡터가 문맥에 따라 바뀝니다. 검색 엔진과 챗봇의 기억(검색 증강)도 문장 단위로 같은 생각을 씁니다. 글을 벡터로 바꾸고, 가장 가까운 것을 찾습니다.
줄 하나가 토큰 하나의 숫자 64개입니다(파랑 +, 주황 −). 표는 토큰 사이 코사인. 트랜스포머는 바로 이 줄들에서 시작해 어텐션으로 섞습니다.
벡터를 모아 놓기만 하면 순서가 없으므로, 트랜스포머는 토큰마다 위치 벡터를 더합니다. 원래 트랜스포머는 파장이 다른 사인·코사인을 썼습니다. 가까운 위치일수록 비슷한 벡터가 됩니다.
교육용 장난감입니다. 유사도는 학습한 글을 반영할 뿐 사실이나 누군가의 의견이 아니며, 기분 점수는 맞을 확률이 아닙니다.