Zorba blog
한국어 임베딩(이기창 저. 2019) / Chapter 2. How Vector Becomes Meaningful 본문
1. 자연어 계산과 이해
- 임베딩에 자연어의 의미를 함축해 넣으려면, 자연어의 통계적 패턴 정보를 통째로 집어넣으면 된다.
구분 | Bag of Words 가정 | 언어 모델 | 분포 가정 |
내용 | 어떤 단어가 많이 쓰였는가 | 단어가 어떤 순서로 쓰였는가 | 어떤 단어가 같이 쓰였는가 |
대표 통계량 | TF-IDF | - | PMI |
대표 모델 | Deep Averaging Network | ELMo, BERT | Word2Vec |
2. 어떤 단어가 많이 쓰였는가
1) Bag of Words 가정
- "저자가 생각한 주제가 문서에서의 단어 사용에 녹아 있다"는 가정
- Bag은 중복 원소를 허용한 집합.
- 단어의 등장 순서에 관계없이 문서 내 단어의 등장 빈도를 임베딩으로 쓰는 기법.
- 간단한 방법이지만 정보 거색 분야에서 여전히 많이 쓰이고 있음.
2) TF-IDF(Term Frequency-Inverse Document Frequency)
- 단어의 빈도, 또는 등장 여부를 그대로 임베딩으로 사용하는 것에는 큰 단점이 있음.
- 특정 단어가 많이 나타났다 하더라도 문서의 주제를 가늠하기 어려운 경우가 있기 대문.
- 이러한 단점을 보완하기 위해 만들어진 기법
- TF-IDF 값이 높은 단어는 해당 문서의 주제 파악을 좀 더 용이하게 해줌.
3) Deep Averaging Network
- Bag of Words 가정의 Neural Network 버전
3. 단어가 어떤 순서로 쓰였는가
1) 통계 기반 언어 모델
- 언어 모델(Language Model)은 단어 시퀀스에 확률을 부여하는 역할.
- 등장 순서, 즉 시퀀스 정보를 명시적으로 학습하므로 BoW의 대척점에 있음.
- 말뭉치에서 n개 단어가 연속된 시퀀스가 나타날 확률을 반환.
- n-gram 모델에서도 희소 문제(sparsity problem)은 존재.
- 희소 문제를 해결하기 위한 백오프(Back-off), 스무딩(Smoothing) 기법 제안.
- Back-off : 목표한 n-gram의 출현 빈도가 0이면, n의 값을 줄여 탐색한 후 확률값을 보정.
- Smoothing : 출현 빈도표에 k값을 더해 빈도 값 자체를 조정(Add-k Smoothing)
2) 신경망 기반
- 주어진 단어 시퀀스를 가지고 다음 단어를 맞추는 과정에서 학습.
- 학습이 완료되면 이들 모델의 중간 혹은 말단 계산 결과물을 단어나 문장의 임베딩으로 활용.
- ELMo, GPT 등의 모델이 이에 해당.
ex. 발 없는 말이 ( )
- Masked Language Model은 위의 방식과 약간 다른 방식
- 문장 중간에 들어갈 단어를 예측하는 과정에서 학습.
- 태생적으로 일방향 학습인 위의 모델과는 달리 양방향 학습이 가능.
- 기존 언어 모델 기법들 대비 임베딩 품질이 좋음.
- BERT가 이에 해당
ex. 발 없는 말이 ( ) 간다
4. 어떤 단어가 같이 쓰였는가
1) 분포 가정
- 분포 : 특정 범위, 즉 Window 내에 동시에 등장하는 이웃 단어 또는 문맥의 집합.
- 어떤 단어 쌍이 비슷한 문맥 환경에서 자주 등장한다면 그 의미 또한 유사할 것 이라는 가정.
- 모국어 화자들이 해당 단어를 실제 어떻게 사용하고 있는지 문맥을 살펴 그 단어의 의미를 유추.
'자연어처리' 카테고리의 다른 글
한국어 임베딩(이기창 저. 2019) / Chapter 1. Introduction (0) | 2022.08.06 |
---|---|
Word Embedding(ELMo, BERT) (0) | 2022.06.22 |
BERT의 마스크드 언어 모델(Masked Language Model) (0) | 2022.06.08 |
버트(Bidirectional Encoder Representations from Transformers, BERT) (0) | 2022.06.07 |
NLP에서의 사전 훈련(Pre-Training) (0) | 2022.06.03 |