CS/NLP

이론 2-1. 토큰화

초코chip 2023. 11. 10. 16:26

토큰화(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