Introductie tot tekst-preprocessing

Deep Learning voor tekst met PyTorch

Shubham Jain

Data Scientist

Wat je gaat leren

  • Tekstclassificatie
  • Tekstgeneratie
  • Codering
  • Deep-learningmodellen voor tekst
  • Transformer-architectuur
  • Modellen beveiligen

Use cases:

  • Sentimentanalyse
  • Samenvatten van tekst
  • Machinevertaling

Sentimentanalyse

Deep Learning voor tekst met PyTorch

Wat je moet weten

Vereiste cursus: Intermediate Deep Learning with PyTorch

  • Deep-learningmodellen met PyTorch
  • Train- en evaluatielussen
  • Convolutionele neurale netwerken (CNN's) en recurrente neurale netwerken (RNN's)
Deep Learning voor tekst met PyTorch

Tekstverwerkingspijplijn

 

 

PyTorch-verwerkingspijplijn

Deep Learning voor tekst met PyTorch

Tekstverwerkingspijplijn

 

 

PyTorch-verwerkingspijplijn

 

  • Tekst opschonen en voorbereiden
Deep Learning voor tekst met PyTorch

PyTorch en NLTK

PyTorch-logo

NLTK-logo

  • Natural Language Toolkit
    • Ruwe tekst omzetten naar bewerkte tekst
Deep Learning voor tekst met PyTorch

Preprocessing-technieken

  • Tokenization
  • Stopwoorden verwijderen
  • Stemming
  • Zeldzame woorden verwijderen
Deep Learning voor tekst met PyTorch

Tokenization

  • Tokens of woorden halen we uit tekst
  • Tokenization met 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 voor tekst met PyTorch

Stopwoorden verwijderen

  • Verwijder veelvoorkomende woorden die weinig betekenis toevoegen
  • Stopwoorden: "a", "the", "and", "or", enz.
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 voor tekst met PyTorch

Stemming

  • Woorden terugbrengen tot hun stam
  • Bijvoorbeeld: "running", "runs", "ran" wordt 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 voor tekst met PyTorch

Zeldzame woorden verwijderen

  • Zeldzame woorden verwijderen die weinig waarde hebben
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 voor tekst met PyTorch

Preprocessing-technieken

Tokenization, stopwoorden verwijderen, stemming en zeldzame woorden verwijderen

  • Minder features
  • Schonere, representatieve datasets
  • Er zijn meer technieken
Deep Learning voor tekst met PyTorch

Laten we oefenen!

Deep Learning voor tekst met PyTorch

Preparing Video For Download...