Einführung in die Vorverarbeitung von Text

Deep Learning für Text mit PyTorch

Shubham Jain

Data Scientist

Was wir lernen werden

"- Textklassifikation

  • Textgenerierung
  • Kodierung
  • Deep-Learning-Modelle für Text
  • Transformer-Architektur
  • Schutz von Modellen {{6}}"

"Anwendungsfälle:

  • Sentiment-Analyse
  • Textzusammenfassung
  • Maschinelle Übersetzung

Stimmungsanalyse {{7}}"

Deep Learning für Text mit PyTorch

Was du wissen solltest

"Voraussetzungskurs: Intermediate Deep Learning mit PyTorch

  • Deep-Learning-Modelle mit PyTorch
  • Trainings- und Evaluationsschleifen
  • Convolutional Neural Networks (CNNs) und Recurrent Neural Networks (RNNs) {{3}}"
Deep Learning für Text mit PyTorch

Textverarbeitungspipeline

Pytorch-Verarbeitungspipeline

Deep Learning für Text mit PyTorch

Textverarbeitungspipeline

PyTorch-Verarbeitungspipeline

  • Text bereinigen und vorbereiten
Deep Learning für Text mit PyTorch

PyTorch und NLTK

"PyTorch-Logo"

"NLTK-Logo

  • Natural Language Toolkit
    • Rohtext in verarbeiteten Text umwandeln {{2}}"
Deep Learning für Text mit PyTorch

Vorverarbeitungstechniken

"- Tokenisierung

  • Entfernen von Stoppwörtern
  • Stammformreduktion
  • Entfernen seltener Wörter {{4}}"
Deep Learning für Text mit PyTorch

Tokenisierung

"- Token oder Wörter werden aus Text extrahiert

  • Tokenisierung mit torchtext
from torchtext.data.utils import get_tokenizer

tokenizer = get_tokenizer(\"basic_english\")
tokens = tokenizer(\"I am reading a book now. Ich lese gerne Bücher!\") print(tokens)

out [\"Ich\", \"lese\", \"gerade\", \"ein\", \"Buch\", \".\", \"Ich\", \"lese\", \"gerne\", \"Bücher\", \"!\"]{{5}}"

Deep Learning für Text mit PyTorch

Stoppwort-Entfernung

"- Entfernen Sie gebräuchliche Wörter, die nicht zur Bedeutung beitragen

  • Stoppwörter: „a“, „the“, „and“, „or“ und weitere
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)

out [\"reading\", \"book\", \".\", \"love\", \"read\", \"books\", \"!\"]{{5}}"

Deep Learning für Text mit PyTorch

Stemming

"- Reduzierung von Wörtern auf ihre Grundform

  • Zum Beispiel: \"running\", \"runs\", \"ran\" wird zu 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)

out [\"read\", \"book\", \".\", \"love\", \"read\", \"book\", \"!\"]{{7}}"

Deep Learning für Text mit PyTorch

Entfernung seltener Wörter

"- Entfernen von seltenen Wörtern, die keinen Mehrwert bieten

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)

out [\"read\", \"book\", \"read\", \"book\"]{{5}}"

Deep Learning für Text mit PyTorch

Vorverarbeitungstechniken

Tokenisierung, Stoppwortentfernung, Stemming und Entfernung seltener Wörter

  • Reduzieren die Merkmale
  • Sauberere, repräsentativere Datensätze
  • Es existieren weitere Techniken
Deep Learning für Text mit PyTorch

Nun kannst du wieder etwas üben!

Deep Learning für Text mit PyTorch

Preparing Video For Download...