Úvod do předzpracování textu

Deep Learning for Text with PyTorch

Shubham Jain

Data Scientist

Co se naučíme

  • Klasifikace textu
  • Generování textu
  • Kódování
  • Modely hlubokého učení pro text
  • Architektura Transformer
  • Ochrana modelů

Případy užití:

  • Analýza sentimentu
  • Sumarizace textu
  • Strojový překlad

Analýza sentimentu

Deep Learning for Text with PyTorch

Co byste měli znát

Předchozí kurz: Intermediate Deep Learning with PyTorch

  • Modely hlubokého učení s PyTorch
  • Smyčky trénování a vyhodnocování
  • Konvoluční (CNN) a rekurentní neuronové sítě (RNN)
Deep Learning for Text with PyTorch

Pipeline pro zpracování textu

 

 

Pipeline pro zpracování textu v PyTorch

Deep Learning for Text with PyTorch

Pipeline pro zpracování textu

 

 

Pipeline pro zpracování textu v PyTorch

 

  • Čištění a příprava textu
Deep Learning for Text with PyTorch

PyTorch a NLTK

Logo PyTorch

Logo NLTK

  • Nástroj pro zpracování přirozeného jazyka
    • Transformace surového textu na zpracovaný text
Deep Learning for Text with PyTorch

Techniky předzpracování

  • Tokenizace
  • Odstranění stop slov
  • Stemming
  • Odstranění vzácných slov
Deep Learning for Text with PyTorch

Tokenizace

  • Z textu se extrahují tokeny nebo slova
  • Tokenizace pomocí 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", "!"]
Deep Learning for Text with PyTorch

Odstranění stop slov

  • Odstranění běžných slov, která nepřispívají k významu
  • Stop slova: "a", "the", "and", "or" a další
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", "!"]
Deep Learning for Text with PyTorch

Stemming

  • Redukce slov na jejich základní tvar
  • Např.: "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", "!"]
Deep Learning for Text with PyTorch

Odstranění vzácných slov

  • Odstranění méně častých slov bez přidané hodnoty
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"]
Deep Learning for Text with PyTorch

Techniky předzpracování

Tokenizace, odstranění stop slov, stemming a odstranění vzácných slov

  • Redukce příznaků
  • Čistší a reprezentativnější datové sady
  • Existují i další techniky
Deep Learning for Text with PyTorch

Pojďme procvičovat!

Deep Learning for Text with PyTorch

Preparing Video For Download...