워드 임베딩 (Word Embedding)

컴퓨터과학·AI
한 줄 정의: 단어를 의미적으로 유사한 단어들끼리 가깝게 위치하도록 고정 차원의 실수 벡터로 표현하는 기법.

쉽게 풀면

컴퓨터는 단어 자체를 이해하지 못하기 때문에 단어를 숫자로 바꿔줘야 하는데, 단순히 순서대로 번호를 매기면 단어 간 의미 관계를 전혀 반영하지 못해요. 워드 임베딩은 대량의 텍스트를 학습해서 각 단어를 수십~수백 차원의 벡터로 표현하는데, 이때 의미가 비슷한 단어일수록 벡터 공간에서 서로 가까운 위치에 놓이도록 학습됩니다. 유명한 예로 '왕' 벡터에서 '남자' 벡터를 빼고 '여자' 벡터를 더하면 '여왕' 벡터와 비슷해지는 것처럼, 벡터 연산으로 단어 사이의 의미 관계까지 어느 정도 포착할 수 있어요. Word2Vec, GloVe가 대표적인 초기 방법이며, 최근에는 문맥에 따라 벡터가 달라지는 트랜스포머 기반 임베딩이 더 널리 쓰입니다.

왜 중요한가

워드 임베딩은 텍스트를 신경망이 처리할 수 있는 수치 표현으로 바꾸는 첫 단계이기 때문에 자연어처리 전반의 기반 기술로 다뤄집니다. 검색, 추천, 감성 분석, 기계번역 등 다양한 응용 논문에서 입력 표현 방식을 설명할 때 빠짐없이 등장하며, 이후 등장한 문맥화 임베딩(ELMo, BERT 등)과 성능을 비교하는 기준점 역할도 합니다. 또한 벡터 공간의 기하학적 성질을 분석해 언어 모델의 편향이나 의미 구조를 연구하는 데도 활용됩니다.

논문에서는 이렇게 쓰입니다

"단어의 의미적 유사성을 포착하기 위해 사전 학습된 300차원 워드 임베딩을 입력 표현으로 사용하였다."

단어들을 300차원의 벡터로 표현한 사전 학습 임베딩을 가져와 모델의 입력으로 활용했다는 뜻이다.

"워드 임베딩 공간에서 성별에 편향된 단어 쌍의 벡터 거리를 측정하여 모델의 사회적 편향을 정량화하였다."

임베딩 벡터 간 거리를 이용해 언어 모델에 내재된 편향을 분석한 연구다.

"검색 질의와 문서를 동일한 임베딩 공간에 투영한 뒤 코사인 유사도를 기준으로 관련 문서를 재순위화하였다."

정보 검색 시스템에서 질의와 문서를 벡터로 표현해 유사도 기반으로 검색 결과를 개선한 사례다.

조금 더 깊게 보면

고정형 워드 임베딩은 대체로 대량의 말뭉치에서 단어의 주변 문맥 통계를 학습하는 방식(예측 기반 또는 동시출현 행렬 기반)으로 만들어지며, 이렇게 학습된 벡터 공간에서는 코사인 유사도나 유클리드 거리로 단어 간 의미적 근접성을 측정합니다. 다의어 문제를 극복하기 위해 등장한 문맥화 임베딩은 같은 단어라도 문장 내 위치에 따라 다른 벡터를 생성한다는 점에서 근본적인 차이가 있습니다. 논문에서 임베딩을 평가할 때는 유사도 벤치마크나 다운스트림 과제 성능을 지표로 사용하는 경우가 일반적입니다.

주의할 점

고정된 워드 임베딩은 문맥에 관계없이 같은 단어에 항상 같은 벡터를 부여하기 때문에, 다의어의 여러 뜻을 구분하지 못한다는 한계가 있다.

관련 용어