728x90
하위 단어 토큰화 알고리즘
vocab에 존재하지 않는 단어를 대상으로 OOV가 발생하지 않도록 단어를 분해해서 vocab에 저장하는 알고리즘을 말한다. 단어 분해을 통해 vocab에 포함되는 단어를 찾을 수 있다. ex) pretraining → “pre”, “train”, “ing”
BPE
- Byte pair encoding의 줄임말이며, 각각의 단어를 문자 단위로 쪼개어 두 묶음, 세묶음 또는 그 이상의 묶음으로 sequential하게 묶어보며 그 중 빈도수가 높은 묶음을 vocab에 등록하는 방식이다.
- 단계는 아래와 같다.
- 각 단어와 빈도수를 함께 추출한다.
- vocab의 크기(한도)를 정의한다.
- 각 단어를 문자 단위로 분할한다.
- 모든 고유 문자를 어휘 사전에 추가한다.
- 문자 묶음을 빈도가 높은 순으로 vocab에 등록한다.
- vocab의 크기가 한도에 다다를 때까지 반복
BBPE
- Byte-level byte pair encoding의 줄임말이며, BPE와 유사하게 작동하지만 단어를 문자 단위로 분해하는 것이 아닌 byte 단위로 분해한다.
- 위 방식을 활용하면 다국어가 포함된 단어 처리에 용이하므로 OOV 단어 발생 감소에 효과적이다.
WordPiece
- BPE에서 빈도수를 기준으로 문자 쌍을 병합한다면 WordPiece는 likelihood를 기준으로 문자 쌍을 병합한다.
- 가령 “ed”라는 단어에 대해 $\frac{P(ed)}{P(e)P(d)}$를 계산한다.
- likelihood 계산을 위해 BPE와 같이 모든 문자 쌍에 대한 빈도수를 구해야 하는 건 변함 없다.
728x90
728x90
'데이터사이언스 이론 공부' 카테고리의 다른 글
BERT의 파생 모델 [ALBERT] (1) | 2022.12.20 |
---|---|
BERT 모델에서의 임베딩 벡터 추출 방식에 관하여 (0) | 2022.12.17 |
역전파 알고리즘 손계산 (0) | 2022.12.12 |
BERT 모델에 대한 기본이해 (0) | 2022.12.12 |
Transformer(트랜스포머)에 대한 간략 정리 (0) | 2022.12.05 |