단어 임베딩(Word Embedding)
단어 임베딩(Word Embedding)
- 실수 공간 상에 단어의 위치와 단어 간 거리가 실제 의미를 반영시키고자 함
- 하나의 단어를 밀집 벡터(dense vector)로 표현하는 방법
- 예를 들면, 원-핫 인코딩을 사용해서 만든 16차원 벡터를 단어 임베딩을 통해 4차원 벡터로 바꾸자!!
NPLM
- Journal of Machine Learning Research, 2003
Word2Vec
- Efficient & effective tool for learning word representations from corpus
- 텍스트 말뭉치를 받아들이고 각 단어에 대한 벡터 표현을 출력하는 딥러닝 알고리즘
- 이론적 근거 –> 분포 가설(Distributed Hypothesis) (by John Firth, 1880-1960)
- 같은 문맥의 단어, 즉 비슷한 위치에 나오는 단어는 비슷한 의미를 가진다!!
- 어떤 글에서 비슷한 위치에 존재하는 단어는 단어 간의 유사도가 높다고 판단하는 방법
- ‘나는 식사를 하기 전에 반드시 ___을 씻는다’
- 유형
- CBOW(Continuous Bag of Words) 모델
- Skip-gram 모델
- CBOW –> 주변 단어들을 가지고 중간에 있는 단어를 예측하는 방법
- Skipgram –> 중간에 있는 단어를 가지고 주변 단어들을 예측하는 방법
단어 임베딩(= 단어의 벡터표현)을 하면 무엇을 할 수 있는가?
- 유사한 의미의 단어가 벡터공간 상에서 가까운 곳에 위치
- 단어 간의 유사도(similarity)를 벡터의 거리를 사용하여 구할 수 있다!!
- 유의어 추출
- 의미 추출
- 관계 추출
- 텍스트 분류
단어 임베딩 vs 문장 임베딩
단어 임베딩
- Word2Vec, GloVe, FastText, Swivel 등 2017년 이전의 임베딩 기법들
- 단점
- 동음이의어(homonym)를 분간하기 어려움
- 단어의 형태가 같다면 동일한 단어로 인식하여 모든 문맥 정보를 해당 단어 벡터에 투영하기 때문
- 배 –> 먹는 배? 신체의 배? 교통의 배? –> 이 모든 의미가 뭉뚱그려져 하나의 벡터로 표현됨
- 단어 간 유사도 –> 관련성이 높다는 뜻이지 “유의관계”는 아니다!!
- 춥다 : 덥다 –> 온도 속성
- 흑 : 백 –> 색상 속성
- 소음 : 적막 –> 소리 속성
문장 임베딩
- 2018년 ELMo, BERT, GPT 발표
- 개별 단어가 아닌 단어 시퀀스 전체의 문맥적 의미를 함축시킴
댓글남기기