Kodierung von Textdaten

Deep Learning für Text mit PyTorch

Shubham Jain

Data Scientist

Textkodierung

"Pytorch-Verarbeitungspipeline

  • Text in maschinenlesbare Zahlen umwandeln
  • Analyse und Modellierung ermöglichen{{2}}"

"Bild sequenzieller Daten zur Gewinnung von Erkenntnissen{{3}}"

Deep Learning für Text mit PyTorch

Kodierungstechniken

"- One-hot-Encoding: wandelt Wörter in eindeutige numerische Repräsentationen um

  • Bag-of-Words (BoW): erfasst die Wortfrequenz und ignoriert die Reihenfolge
  • TF-IDF: balanciert Einzigartigkeit und Wichtigkeit aus
  • Embedding: wandelt Wörter in Vektoren um und erfasst die semantische Bedeutung (Kapitel 2) {{4}}"
Deep Learning für Text mit PyTorch

One-Hot-Encoding

"- Abbildung jedes Wortes auf einen eindeutigen Vektor

  • Binärvektor:
    • 1 für das Vorhandensein eines Wortes
    • 0 für das Fehlen eines Wortes {{1}}"

"- ['Katze', 'Hund', 'Kaninchen']

  • 'Katze' [1, 0, 0]
  • 'Hund' [0, 1, 0]
  • 'Kaninchen' [0, 0, 1] {{5}}"
Deep Learning für Text mit PyTorch

One-hot-Encoding mit PyTorch

"`py import torch vocab = ['cat', 'dog', 'rabbit']


----CODE_GLUE----
```py
vocab_size = len(vocab)

one_hot_vectors = torch.eye(vocab_size)
one_hot_dict = {word: one_hot_vectors[i] for i, word in enumerate(vocab)}
print(one_hot_dict)

out {'cat': tensor([1., 0., 0.]), 'dog': tensor([0., 1., 0.]), 'rabbit': tensor([0., 0., 1.])}{{5}}"

Deep Learning für Text mit PyTorch

Bag-of-words

"- Beispiel: \"Die Katze saß auf der Matte\"

  • Bag-of-Words:
    • {'the': 2, 'cat': 1, 'sat': 1, 'on': 1, 'mat': 1} {{4}}"

"- Jedes Dokument wird als Sammlung von Wörtern betrachtet, ohne dass die Reihenfolge eine Rolle spielt.

  • Es geht allein darum, wie häufig die Wörter auftauchen – nicht darum, wo sie stehen. {{2}}"
Deep Learning für Text mit PyTorch

CountVectorizer

from sklearn.feature_extraction.text import CountVectorizer

vectorizer = CountVectorizer()
corpus = ['This is the first document.', 'This document is the second document.', 'And this is the third one.', 'Is this the first document?']
X = vectorizer.fit_transform(corpus)
print(X.toarray())
print(vectorizer.get_feature_names_out())

out [[0 1 1 1 0 0 1 0 1] [0 2 0 1 0 1 1 0 1] [1 0 0 1 1 0 1 1 1] [0 1 1 1 0 0 1 0 1]] DNT_CURLY_TAG_5 out ['and' 'document' 'first' 'is' 'one' 'second' 'the' 'third' 'this']

Deep Learning für Text mit PyTorch

TF-IDF

"- Termfrequenz-Inverse Dokumentfrequenz

  • Bewertet die Wichtigkeit von Wörtern in einem Dokument
  • Seltene Wörter erhalten eine höhere Bewertung
  • Häufige Wörter erhalten eine niedrigere Bewertung
  • Hebt informative Wörter hervor {{5}}"
Deep Learning für Text mit PyTorch

TfidfVectorizer

from sklearn.feature_extraction.text import TfidfVectorizer
vectorizer = TfidfVectorizer()

corpus = ['Dies ist das erste Dokument.','Dieses Dokument ist das zweite Dokument.', 'Und dies ist das dritte.','Ist dies das erste Dokument?']
X = vectorizer.fit_transform(corpus)
print(X.toarray())
print(vectorizer.get_feature_names_out())
[[0.         0.         0.68091856 0.51785612 0.51785612 0.        ] [0.         0.         0.          0.51785612 0.51785612 0.68091856] [0.85151335 0.42575668 0.         0.32274454 0.32274454 0.        ] [0.         0.         0.68091856 0.51785612 0.51785612 0.        ]] ```
Deep Learning für Text mit PyTorch

TfidfVectorizer

"TFIDF-Code"

Deep Learning für Text mit PyTorch

Kodierungstechniken

"Techniken: One-hot-Encoding, Bag-of-Words und TF-IDF

  • Ermöglichen es Modellen, Text zu verstehen und zu verarbeiten
  • Wählen Sie eine Technik, um Redundanz zu vermeiden
  • Es existieren weitere Techniken {{3}}"
Deep Learning für Text mit PyTorch

Nun kannst du wieder etwas üben!

Deep Learning für Text mit PyTorch

Preparing Video For Download...