# Word Embedding - [[FastText]] ## Word Embedding - 단어가 가지는 의미 자체를 다차원 공간에 `벡터화`하는 것 - 중심 단어의 주변 단어들을 이용해 중심단어를 추론하는 방식으로 학습 ### 장점 - 단어간의 유사도 측정이 용이 - 단어간의 관계 파악에 용이 - 벡터 연산을 통한 추론이 가능 (e.g. 한국 - 서울 + 도쿄 = ?) ### 단점 - 단어의 subword information 무시 (e.g. 서울 vs 서울시 vs 고양시) - Out of vocabulary (OOV)에서 적용 불가능 ### Word embedding 방식의 한계점 - [[Word2Vec]]이나 [[FastText]]와 같은 [[Word embedding]] 방식은 동형어, 다의어 등에 대해선 embedding 성능이 좋지 못하다는 단점이 있음 - 주변 단어를 통해 학습이 이루어지기 때문에, `문맥`을 고려할 수 없음 ## Word Embedding의 방법론에 따른 특징 ### Sparse representation - One-hot encoding - n개의 단어에 대한 n차원의 벡터 - 단어가 커질 수록 무한대 차원의 벡터가 생성 - 주로 신경망의 입력단에 사용 (신경망이 임베딩 과정을 대체. e.g. tflayers.Embedding) - 의미 유추 불가능 - 차원의 저주 (curse of dimensionality): 차원이 무한대로 커지면 정보 추출이 어려워짐 - One-hot vector의 차원 축소를 통해 특징을 분류하고자 하는 접근도 있음 ### Dense representation - [[Word embedding]] - 한정된 차원으로 표현 가능 - 의미 관계 유추 가능 - 비지도 학습으로 단어의 의미 학습 가능