AI/Do It 공부단_자연어처리

[2일차] 문장을 작은 단위로 쪼개기

moviewine 2023. 9. 11. 09:31

< 문장을 작은 단위로 쪼개기 >
2-1. 토큰화(Tokenization)란?
2-2. 바이트 페어 인코딩이란?
2-3. 어휘 집합 구축
2-4. 토큰화하기

==========

2-1. 토큰화(Tokenization)란?


# 토큰화
- 문장을 토큰 시퀀스로 나누는 과정
- 문자, 단어, 서브워드 등 세 가지 방법이 있음.
- 문자 단위 토큰화는 어휘 집합의 크기가 매우 커질 수 있는 단점이 있고,
   단어 단위 토큰화는 각 문자 토큰이 의미 있는 단위가 되기 어려운 단점이 있음.
- 대표적인 서브워드 단위 토큰화는 바이트 페어 인코딩이 있음.


2-2. 바이트 페어 인코딩


# GPT는 BPE방식을 쓰고, BERT는 BPE와 유사 방식인 워드피스(wordpiece)를 토크나이저로 사용함.
# 바이트 페어 인코딩(Byte Pair Encoding; BPE)
- 원래 정보 압축하는 알고리즘으로 제안되었었음.
- 바이트 페어 인코딩(BPE)은 사전 크기 증가를 억제하면서 동시에 정보를 효율적으로 압축할 수 있는 알고리즘.
   => 프리토크나이즈(pre-tokenize) 후 바이그램(bigram)씩 묶어 빈도수를 합쳐줌
        (”BPE 어휘 집합은 고빈도 바이그램 쌍을 병합하는 방식으로 구축“)
# 워드피스(Wordpiece)
- 워드피스는 우도를 가장 높이는 글자 쌍을 병합함.


3-3. 어휘 집합 구축


# BPE기반 토크나이저 만들기(for GPT)


# 워드피스기반 토크나이저 만들기(for BERT)


3-4. 토큰화하기


# GPT 입력값 만들기



# BERT 입력값 만들기