토큰화(Tokenization)
토큰화는 문장을 토큰 시퀀스로 분할하는 과정
토큰나이저(Tokenizer)
- 토큰나이저는 토큰화를 수행하는 프로그램
- 토큰화뿐만 아니라 품사 부착(Part-of-Speech Tagging)까지 수행
- 예시: 한국어 토크나이저
- 은전한잎(mecab)
- 꼬꼬마(kkma)
토큰의 3가지 단위
1. 단어(어절) 단위 토큰화
- 공백으로 분리
- 장점: 토크나이저가 필요 없음
- 단점: 어휘 집합의 크기가 커질 수 있음
- 예시:
어제 카페 갔었어 -> 어제, 카페, 갔었어
어제 카페 갔었는데요 -> 어제, 카페, 갔었는데요
- 학습된 토크나이저 사용
- 어휘 집합 확장이 완화되나 여전히 크다
- 예시:
어제 카페 갔었어 -> 어제, 카페, 갔었, 어 어제 카페 갔었는데요 -> 어제, 카페, 갔었, 는데요
2. 문자 단위 토큰화
- 장점: 어휘 집합 크기가 작음, 미등록 토큰 문제에서 자유로움
- 단점: 의미 파악이 어려움, 토큰 시퀀스 길이 증가로 모델 학습 성능 감소
- 예시:
어제 카페 갔었어 -> 어, 제, 카, 페, 갔, 었, 어 // 문장 시퀀스 길이 7 어제 카페 갔었는데요 -> 어, 제, 카, 페, 갔, 었, 는, 데, 요 // 문장 시퀀스 길이 9
3. 서브워드(Subword) 단위 토큰화
- 단어와 문자 단위 토큰화의 장점 취합
- 어휘 집합 크기, 미등록 토큰 문제, 토큰 시퀀스 길이에 대한 최적화
- 예시: 바이트 페이 인코딩
'CS > NLP' 카테고리의 다른 글
이론 2-3. 실습 - 어휘 집합 구축 (0) | 2023.11.10 |
---|---|
이론 2-3. 워드피스(wordpiece) (0) | 2023.11.10 |
이론 2-2. 바이트 페이 인코딩(BPE) (0) | 2023.11.10 |
이론 모델 학습 파이프라인 (0) | 2023.10.19 |
이론 1장 NLP 기초 지식 (0) | 2023.10.16 |