Tokenization - 토큰화하기 1단계: 코랩 노트북 초기화 패키지를 설치해줍니다. !pip install ratsnlp 구글 드라이브 연동하기 튜토리얼에서 구축한 어휘 집합을 저장해 둔 구글 드라이브를 연결합니다. from google.colab import drive drive.mount('/gdrive', force_remount=True) 2단계: GPT 입력값 만들기 GPT 모델 입력값을 만들려면 Byte-level Byte Pair Encoding 어휘집합 구축 결과(`vocab.json`, `merges.txt`)가 자신의 구글 드라이브 경로(`/gdrive/My Drive/nlpbook/wordpiece`)에 있어야 합니다. 아래 코드를 수행해 이미 만들어 놓은 BBPE 어휘집합을 포..
Tokenization - 토큰화 1. 토큰화란? 💡 문장을 토큰 시퀀스로 나누는 과정 → 문자, 단어, 서브워드등 3가지 방법 토근화를 수행하는 프로그램을(Tokenizer)라고 한다. 토근화 방식에는 여러가지가 있음 → 단어(어절), 문자, 서브워드(Subword) 단위 단어 단위 토큰화 공백으로 분리 장점: Tokenizer를 사용하면 어휘 집합이 커지는거 완화 💡 Example 은전한닢으로 토큰화 → 그렇다고 은전한닢 같은 Tokenizer 사용해요 어휘집합 크기가 커지는건 막기 어려움 (어휘 집합 크기가 커질수록..) 문자 단위 토근화 💡 문자 단위 → 모든 문자를 어휘 집합에 포함함으로 미등록 토큰 문자로부터 자유롭다. 미등록 토큰: 어휘 집합에 없는 토큰 - 신조어등 에서 발생 단점: 각 문..
Word Tokenization - Morphemes Word-based tokenization - 사람이 쓰는 단어의 의미 큰 사전이 있어야 한다. 사전에 없는 단어가 있으면 처리 불가 → 해결하려면 사전이 엄청 커야해! 보이지 않는 단어나 희귀한 단어를 잘 처리할 수 없음 해결책 → subword tokenization Subword tokenization 보통 말뭉치 에 자주 등장하는 단어들의 집합, 빈도가 낮은 단어는 어휘가 부족할 수도 단어보다 더 쪼개. 그렇다고 단어 or 글자도 아님 , 그 중간에서 자른다. 빈도가 낮은건 최대한 자르고 싶은 욕구에 의하여 만들어짐 본적 없는 단어, 흔하지 않은 단어 기존의 NLP는 고정된 어휘로 작동 → 그 밖에 있는 모든 토큰은 UNK(알수없음)으로 축소 ..