1. 분절 길이에 따른 특성과 장단점
형태소 분석기로 분절된 토큰의 길이가 | |
짧을 수록 | 길 수록 |
1. Vocabulary 크기 감소 - 대부분 토큰은 희소하지 않아 희소성 문제 감소 2.OoV(학습 시 없던 단어)가 줄어듬 3.Sequensce의 길이 (time step)가 길어짐 - 잘개 쪼개므로 토큰 개수가 늘어남 - RNN 모델에 대한 부담 증가 |
(극단적 형태 : sentence 단위) 1. Vocabulary 크기 증가 - 대부분 토큰이 희소해져 희소성 문제 증대 2.OoV가 늘어남 3. Sequence의 길이(time step)가 짧아짐 -잘개 쪼개므로 토큰 개수가 줄어듦 - RNN 모델에 대한 부담 감소 |
2. 정보량에 따른 이상적인 형태
- 빈도가 높은 문장의 경우, 문장 단위의 token으로 나타내고,
- 빈도가 낮은 문자의 경우, 단어 단위로 더 잘게 쪼개어, 각각 빈도가 높은 token으로 구성한다.
- > subword segmentation(분할) 개념과 연결됨
3. 서브워드 분절 (Subword segentation - BPE)
Subword : 단어보다 더 작은 의미 단위
- 많은 언어들은 단어를 쪼개서 더 작은 의미 단위들로 표현이 가능함
-
언어 단어 조합 영어 Concentrate con(=together) +centr(=center) + ate(=make) 한국어 집중 (모을집) + (가운데 중) - 따라서 이러한 더 작은 의미 단위로 분절할 수 있다면 좋을 것
- 이를 위해선 언어적 지식 기반으로 subword 사전이 필요해 보인다.
- 한국어용, 영어용 다 각각 만들어야 하는것 아닌가?
- > BPE 알고리즘을 활용하면 언어적 지식 없이 subword segmentation이 가능하다.
4. BPE(Byte Pair Encoding) 알고리즘을 활용한 Subword Segmentation
- BPE 압축 알고리즘을 활용하면 통계 기반(data-driven)의 subword segmentation을 할 수 있다.
- 통계 기반이므로 언어적 지식 없이 작은 의미 단위로 분절할 수 있다.
- 학습 코퍼스를 활용하여 BPE 모델을 학습 후, 학습/테스트 코퍼스에 적용
- 장점:
- 통계에 기반하여 희소성을 효과적으로 낮출 수 있다.
- 언어별 특성에 대한 정보 없이, 더 작은 의미 단위로 분절할 수 있다.
- OoV를 없앨 수 있다.(seen character로만 구성될 경우)
- 단점:
- 학습데이터 별로 BPE 모델이 생성되기 때문에, 딥러닝 학습 시 BPE 모델도 들고 있어야 한다.
5. BPE Training & Applying
1. Training(학습)
- 단어사전 생성(단어 빈도)
- Character 단위로 쪼갠 후, pair 별 빈도 카운트
- 전체 코퍼스에서 최빈도 pair를 골라, merge수행
- Pair 별 빈도 카운트 업데이트
- 다시 3번부터 반복
2. Applying(적용)
- 각 단어를 character 단위로 분절
- 단어 내에서 merge 수행 (학습 과정에서 merge에 활용된 pair 순서대로)
3. BPE Training : 단어사전 생성 ->최빈도 pair 찾기 -> merge -> 반복
6. 요약
- BPE 압축 알고리즘을 통해 통계적으로 더 작은 의미 단위(subword)로 분절을 수행한다.
- BPE를 통해 OoV를 없앨 수 있으며, 이는 성능상 매우 큰 이점으로 작용한다.
- 영어의 경우는 바로 BPE 알고리즘을 적용해도 무방하다
- 한국어의 경우 형태소 분석기(mecab등)를 통한 tokenization(->normalization) 후, Subword Segmentaion을 적용하는걸 권장한다.
'딥러닝 > 이론 정리' 카테고리의 다른 글
NLP 자연어를 표현하기 위한 벡터 (0) | 2021.09.14 |
---|---|
NLP의 기본 자연어 처리 (0) | 2021.08.02 |
파이토치 오토인코더 이론에 대해 알아보자 (0) | 2021.07.30 |
원 핫 인코딩의 한계와 Vector Embeding의 필요성 (0) | 2021.07.30 |
딥러닝 입문( DNN 이진분류) (0) | 2021.07.22 |
댓글