-
[자연어처리/NLP] 단어 임베딩: word2vec머신러닝 || 딥러닝 2022. 9. 8. 08:44
원핫인코딩의 단점:
-단어의 존재여부만 표현할뿐 단어사이의 맥락은 표현하지 못한다.
-문장내의 단어가 많아질수록 벡터의 차원이 증가된다.
해결책
: 단어를 다차원공간에 벡터화 하자 ! => aka 단어 임베딩
word2vec
-단어 임베딩 알고리즘, 딥러닝을 이용한 비지도학습
-단어의 앞뒤 관계를 보고 근접도를 계산하여 벡터 형태로 정량화하는 기법 (200~1000차원 정도에서 벡터로 표현)
- e.g. woman+king-man = queen
- "같은 맥락에 있는 단어는 서로 가까운 의미를 가지고있다"라는 전제 (각 단어의 앞뒤 관계가 비슷한 단어들은 비슷한 공간에 몰려있게된다)
-단어가 주어졌을때 근처에 등장하는 다른 단어는 비슷한 의미의 단어일 가능성이 높다
word2vec 의 두가지 모델
-CBOW : 앞뒤 컨텍스트를 통해 타겟 단어를 예측 => 작은 데이터셋에 유용
-Skip-Gram : 타킷단어로 부터 앞뒤에 올 단어를 예측 => 큰데이터셋에 유용
word2vec의 활용
-챗봇에서 쓰이는 NER에서 유사성 단어를 찾기
-감정분석
-문장을 word2vec으로 고정길이의 벡터로 변환한후 RNN에 적용
word2vec의 한계
-상충된 문장이 존재
-단어를 중심으로 예측, 문장이나 문서단위의 맥락을 이해하기엔 부족
other embedding algorithm
-Glove
-WordNet
-Doc2Vec
-fasttext
'머신러닝 || 딥러닝' 카테고리의 다른 글
[싸이킷런 기초] 싸이킷런 함수 사용하기 (0) 2022.11.10 [자연어처리/NLP] 토픽모델링 (1) 2022.09.08 [객체추출] Object detection with 텐서플로 (0) 2022.09.08 [DL] deep neural net의 문제점 : over fitting & gradient vanishing (0) 2022.08.13 [DL개념] MLP (multi layer perceptron) (0) 2022.08.11