Überblick über die Textklassifikation

Deep Learning für Text mit PyTorch

Shubham Jain

Instructor

Textklassifizierung definiert

"- Texten Labels zuweisen

  • Wörtern und Sätzen Bedeutung geben

Arten der Klassifikation im maschinellen Lernen {{6}}"

"- Organisiert und strukturiert unstrukturierte Daten

  • Anwendungen:

    • Analyse der Kundenzufriedenheit in Bewertungen
    • Erkennung von Spam in E-Mails
    • Verschlagwortung von Nachrichtenartikeln mit relevanten Themen
  • Typen: binär, Mehrklassen, Mehrlabel {{6}}"

Deep Learning für Text mit PyTorch

Binäre Klassifikation

"- Sortierung in zwei Kategorien

  • Beispiel: Erkennung von E-Mail-Spam
  • E-Mails können als 'Spam' oder 'kein Spam' klassifiziert werden {{2}}"

"Binäre Klassifikation {{2}}"

1 https://storage.googleapis.com/gweb-cloudblog-publish/images/image4_v2LFcq0.max-1200x1200.png
Deep Learning für Text mit PyTorch

Mehrklassenklassifizierung

"Nachrichtenklassifizierung {{2}}"

"- Sortierung in mehrere Kategorien

  • Beispiel: Nachrichtenartikel können in verschiedene Kategorien wie
    1. Politik
    2. Sport
    3. Technologie {{5}} einsortiert werden."
Deep Learning für Text mit PyTorch

Multi-Label-Klassifikation

"- Jedem Text können mehrere Labels zugewiesen werden

  • Beispiel: Bücher können mehreren Genres zugeordnet werden
    • Action
    • Abenteuer
    • Fantasy {{4}}"
Deep Learning für Text mit PyTorch

Was sind Wort-Embeddings

"Word Embedding-Pipeline

Beispiel für Word Embedding {{3}}"

"- Frühere Codierungstechniken sind ein guter erster Schritt

- Oft werden zu viele Merkmale erstellt und ähnliche Wörter können nicht erkannt werden
  • Wort-Embeddings ordnen Wörtern numerische Vektoren zu
  • Beispiel für eine semantische Beziehung:
    • König und Königin
    • Mann und Frau {{4}}"
Deep Learning für Text mit PyTorch

Wort-zu-Index-Zuordnung

"- Beispiel:

  • „König“ -> 1
  • „Königin“ -> 2
    • Kompakt und recheneffizient
    • Folgt der Tokenisierung in der Pipeline {{3}}"
Deep Learning für Text mit PyTorch

Wort-Embeddings in PyTorch

"- torch.nn.Embedding:

  • Erstellt Wortvektoren aus Indizes
  • Eingabe: Indexes for ['The', 'cat', 'sat', 'on', 'the', 'mat']

out Embedding für 'the': tensor([-0.4689, 0.3164, -0.2971, -0.1291, 0.4064]) Embedding für 'cat': tensor([-0.0978, -0.4764, 0.0476, 0.1044, -0.3976]) Embedding für 'sat': tensor([ 0.2731, 0.4431, 0.1275, 0.1434, -0.4721]){{4}}"

Deep Learning für Text mit PyTorch

Verwendung von torch.nn.Embedding

"`py import torch from torch import nn


----CODE_GLUE----
```py
words = [\"The\", \"cat\", \"sat\", \"on\", \"the\", \"mat\"]
word_to_idx = {word: i for i, word in enumerate(words)}

inputs = torch.LongTensor([word_to_idx[w] for w in words])
embedding = nn.Embedding(num_embeddings=len(words), embedding_dim=10)
output = embedding(inputs)
print(output)

out tensor([[ 1.0624, 0.6792, 0.0459, ... -1.0828, -0.4475, 0.4868], ... [1.5766, 0.0106, 0.1161, ...,, -0.0859, 1.3160, 1.3621]){{6}}"

Deep Learning für Text mit PyTorch

Verwendung von Embeddings in der Pipeline

"`python def preprocess_sentences(text):

Tokenization

Stemming

...


----CODE_GLUE----
```python
  # Word to index mapping

----CODE_GLUE---- `python class TextDataset(Dataset): def init(self, encoded_sentences): self.data = encoded_sentences

def __len__(self):
    return len(self.data)

def __getitem__(self, index):
    return self.data[index]

`"

"`python def text_processing_pipeline(text): tokens = preprocess_sentences(text) dataset = TextDataset(tokens) dataloader = DataLoader(dataset, batch_size=2, shuffle=True) return dataloader, vectorizer


----CODE_GLUE----
```python

text = \"Ihr Beispieltext hier.\"
dataloader, vectorizer = text_processing_pipeline(text)

----CODE_GLUE---- `python embedding = nn.Embedding(num_embeddings=10, embedding_dim=50)

for batch in dataloader: output = embedding(batch) print(output) `{{1}}"

Deep Learning für Text mit PyTorch

Nun kannst du wieder etwas üben!

Deep Learning für Text mit PyTorch

Preparing Video For Download...