텍스트 분류
고객 피드백을 여러 카테고리로 분류
언어에 따라 고객 지원 요청 티켓을 전달 언어에 따라 그 요청을 적절한 담당자나 팀에 할당하는 과정 또는 시스템 기능
이메일의 스팸 필터가 받음 메일함에서 정크 메일을 걸러냄
텍스트의 감성분석 ex) 테슬라의 트위터 포스트 분석
이 장에서는 BERT에 비견하는 DistilBERT를 사용함
또한, 이 장에서 허깅페이스 생태계의 핵심 라이브러리인 데이터셋, 토크나이저, 트랜포머스를 사용함.
**load_dataset() 함수
**로 emotion 데이터셋을 로드함
from datasets import load_dataset
emotions = load_dataset('emotion')
Tokenization
함
트랜스포머는 사전 훈련된 모델에 연관된 토크나이저를 빠르게 로드하는 **AutoTokenizer class
**를 제공함.
**from_pretrained() method
**를 허브 모델 ID나 로컬 파일 경로와 함께 호출하면 됨.
from transformers import AutoTokenizer
model_ckpt = "distilbert-base-uncased"
**tokenizer** = AutoTokenizer.**from_pretrained**(model_ckpt)
tokenize
한 줄로 인코딩된 트윗을 input_ids로 반환하고, attention_mask 배열 리스트로 반환
def **tokenize**(batch):
return **tokenizer**(batch["text"], padding=True, truncation=True)
전체 emotions 데이터셋을 적용하기 위해 map()
함수를 사용
map()
: 모든 샘플에 개별적으로 적용한다는 뜻batched=True
: 트윗을 배치로 인코딩batch_size=None
: 전체 데이터셋이 하나의 배치로 적용emotions_encoded = **emotions**.map(**tokenize**, batched=True, batch_size=None)