텍스트 전처리 소개

PyTorch로 배우는 텍스트 딥러닝

Shubham Jain

Data Scientist

학습 내용

  • 텍스트 분류
  • 텍스트 생성
  • 인코딩
  • 텍스트용 딥러닝 모델
  • 트랜스포머 구조
  • 모델 보호

활용 사례:

  • 감성 분석
  • 텍스트 요약
  • 기계 번역

감성 분석

PyTorch로 배우는 텍스트 딥러닝

알고 오면 좋은 내용

선수 과정: Intermediate Deep Learning with PyTorch

  • PyTorch로 딥러닝 모델 구축
  • 학습 및 평가 루프
  • 합성곱 신경망(CNN), 순환 신경망(RNN)
PyTorch로 배우는 텍스트 딥러닝

텍스트 처리 파이프라인

 

 

Pytorch 처리 파이프라인

PyTorch로 배우는 텍스트 딥러닝

텍스트 처리 파이프라인

 

 

Pytorch 처리 파이프라인

 

  • 텍스트 정제 및 준비
PyTorch로 배우는 텍스트 딥러닝

PyTorch와 NLTK

PyTorch 로고

NLTK 로고

  • 자연어 툴킷
    • 원시 텍스트를 처리된 텍스트로 변환
PyTorch로 배우는 텍스트 딥러닝

전처리 기법

  • 토큰화
  • 불용어 제거
  • 어간 추출
  • 희귀 단어 제거
PyTorch로 배우는 텍스트 딥러닝

토큰화

  • 텍스트에서 토큰(단어) 추출
  • torchtext로 토큰화
from torchtext.data.utils import get_tokenizer

tokenizer = get_tokenizer("basic_english")
tokens = tokenizer("I am reading a book now. I love to read books!") print(tokens)
["I", "am", "reading", "a", "book", "now", ".", "I", "love", "to", "read", 
"books", "!"]
PyTorch로 배우는 텍스트 딥러닝

불용어 제거

  • 의미에 기여하지 않는 흔한 단어 제거
  • 불용어 예: "a", "the", "and", "or" 등
import nltk
nltk.download('stopwords')
from nltk.corpus import stopwords

stop_words = set(stopwords.words('english'))
tokens = ["I", "am", "reading", "a", "book", "now", ".", "I", "love", "to", "read", "books", "!"] filtered_tokens = [token for token in tokens if token.lower() not in stop_words]
print(filtered_tokens)
["reading", "book", ".", "love", "read", "books", "!"]
PyTorch로 배우는 텍스트 딥러닝

어간 추출

  • 단어를 기본 형태로 축소
  • 예: "running", "runs", "ran" → run
import nltk
from nltk.stem import PorterStemmer

stemmer = PorterStemmer()
filtered_tokens = ["reading", "book", ".", "love", "read", "books", "!"]
stemmed_tokens = [stemmer.stem(token) for token in filtered_tokens]
print(stemmed_tokens)
["read", "book", ".", "love", "read", "book", "!"]
PyTorch로 배우는 텍스트 딥러닝

희귀 단어 제거

  • 가치가 낮은 드문 단어 제거
from nltk.probability import FreqDist
stemmed_tokens= ["read", "book", ".", "love", "read", "book", "!"]  
freq_dist = FreqDist(stemmed_tokens)

threshold = 2
common_tokens = [token for token in stemmed_tokens if freq_dist[token] > threshold] print(common_tokens)
["read", "book", "read", "book"]
PyTorch로 배우는 텍스트 딥러닝

전처리 기법

토큰화, 불용어 제거, 어간 추출, 희귀 단어 제거

  • 특성 수 감소
  • 더 깔끔하고 대표성 있는 데이터셋
  • 추가 기법 존재
PyTorch로 배우는 텍스트 딥러닝

Vamos praticar!

PyTorch로 배우는 텍스트 딥러닝

Preparing Video For Download...