2021. 2. 25. 12:37ㆍnlp
임베딩이란 자연어처리 분야에서 의미를 표현하는 표준적인 방식이다. ‘비슷한 맥락에 등장하는 단어들은 유사한 의미를 지닌다’는 distributional hypothesis에 따라, 임베딩에서 의미는 어떤 단어가 사용되는 문맥에 따라 정의된다. 단어의 의미를 벡터로 표현한 임베딩을 사용하면, 벡터 연산을 통해 유사도 계산 등 다양한 과제를 할 수 있다. 초기의 임베딩은 단순히 주변 단어의 빈도를 나타내는 것이었으나, 최근에는 transformer model을 활용한 임베딩으로까지 발전했다.
1. Static Word Embedding
1.1. Sparse Vector
- TF-IDF, PMI 등이 있다
- 특정 단어의 빈도를 기반으로 한 임베딩이다
- 일반화 어렵다
- 0이 많아서 벡터 크기가 크다
* tf-idf (term frequency-inverse document frequency)
- 많이 등장하는 단어일수록 큰 의미가 없다는 frequency paradox를 해결하기 위해 inverse document frequency 사용
* PMI (Pointwise Mutual Information)
- 값이 클수록 correlated 되었다는 의미 (함께 많이 등장한다는 의미)
1.2. Dense Vector
- Sparse Vector에 비해 벡터 크기가 작다
- sparse vector보다 machine learning의 feature로 쓰기 쉽고, 일반화 능력이 더 좋다
- predict rather than count
- word2vec, Fasttext, Glove 등이 있다
- word2vec은 토큰의 local co-occurence, Glove는 global co-oocurence를 사용하며 Fasttext는 subword 정보도 활용했다는 차이점이 있다
- word2vec의 skipgram은 target과 context가 주어지면, context가 target에 이웃하는 단어인지 아닌지를 분류하는 과제로 학습한다 → 이 classifier가 학습한 weight를 임베딩으로 활용한다
- 그러나 문맥이 달라도 같은 단어라면 같은 임베딩을 사용해서 다의어의 의미를 포착하기 어렵다
2. Dynamic Word Embedding
- ELMO, BERT, GPT 등이 있다
- 같은 단어라도 주어진 문맥에 따라 임베딩이 달라져서 다의어의 의미도 포착할 수 있다
- ELMO는 bidirectional LSTM, BERT는 bidirectional transformer, GPT는 left-to-right transformer
- 전이학습(transfer learning)이 가능하다
'nlp' 카테고리의 다른 글
Imbalanced Text Data Resampling 후 huggingface 🤗 로 학습하기 (0) | 2021.06.30 |
---|---|
Transformer 정리 (0) | 2021.02.25 |
알파벳으로 한글 쓰기 0r2#rld7lxolNJ 6rLrlN ^^-7l (0) | 2020.10.27 |
'-거든'과 맨스플레인 (성별에 따른 정보구조 사용의 변이) (0) | 2020.06.24 |
FNN, CNN, RNN 구조 비교 (0) | 2020.05.22 |