Rekurrente neuronale Netze für die Textklassifikation

Deep Learning für Text mit PyTorch

Shubham Jain

Data Scientist

RNNs für Text

"- Verarbeitung von Sequenzen unterschiedlicher Längen

  • Aufrechterhaltung eines internen Kurzzeitgedächtnisses
  • CNNs erkennen Muster in Abschnitten
  • RNNs erinnern sich an vorherige Wörter für ein besseres Verständnis {{4}}"
Deep Learning für Text mit PyTorch

RNNs für die Textklassifizierung

"Sarkasmus-Bild {{1}}"

"Warum?

  • RNNs können Sätze wie Menschen lesen, ein Wort nach dem anderen
  • Verstehen Kontext und Reihenfolge

Beispiel: Erkennung von Sarkasmus in einem Tweet

\"Ich liebe es einfach, im Stau zu stehen.\"

  • Sarkastisch {{5}}"
Deep Learning für Text mit PyTorch

"Zusammenfassung: Implementierung von Dataset und DataLoader"

"`py

Import libraries

from torch.utils.data import Dataset, DataLoader


----CODE_GLUE----
```py
# Create a class
class TextDataset(Dataset):

def __init__(self, text): self.text = text
def __len__(self): return len(self.text)

----CODE_GLUE---- py def __getitem__(self, idx): return self.text[idx]{{5}}"

Deep Learning für Text mit PyTorch

RNN-Implementierung

"`py sample_tweet = \"This movie had a great plot and amazing acting.\"

Preprocess the review and convert it to a tensor (not shown for brevity)

...

sentiment_prediction = model(sample_tweet_tensor)

  • Trainieren Sie ein RNN-Modell, um Tweets als positiv oder negativ zu klassifizieren
  • Ausgabe: \"Positiv\" {{2}}"
Deep Learning für Text mit PyTorch

"RNN-Variante: LSTM"

"Sentiment-Analyse Bild {{1}}"

"Tweet:

  \"Die Kameraführung geliebt, den Dialog gehasst.  Die schauspielerische Leistung war außergewöhnlich, aber die Handlung blieb flach.\"
  • Long Short Term Memory (LSTM) kann Komplexitäten erfassen, bei denen RNNs Schwierigkeiten haben können {{2}}"
Deep Learning für Text mit PyTorch

LSTM

"LSTM-Architektur: Eingangstor, Vergessenstor und Ausgangstor

class LSTMModel(nn.Module):

def __init__(self, input_size, hidden_size, output_size): super(LSTMModel, self).__init__() self.lstm = nn.LSTM(input_size, hidden_size, batch_first=True) self.fc = nn.Linear(hidden_size, output_size)

----CODE_GLUE---- py def forward(self, x): _, (hidden, _) = self.lstm(x) output = self.fc(hidden.squeeze(0)) return output{{4}}"

Deep Learning für Text mit PyTorch

"RNN-Variante: GRU"

"- E-Mail-Betreff:

     \"Herzlichen Glückwunsch! Sie haben eine kostenlose Reise nach Hawaii gewonnen!\"
  • Die Gated Recurrent Unit (GRU) kann spamartige Muster schnell erkennen, ohne den vollständigen Kontext zu benötigen {{3}}"

"E-Mail-Spam"

Deep Learning für Text mit PyTorch

GRU

"py class GRUModel(nn.Module): def __init__(self, input_size, hidden_size, output_size): super(GRUModel, self).__init__() self.gru = nn.GRU(input_size, hidden_size, batch_first=True) self.fc = nn.Linear(hidden_size, output_size)

----CODE_GLUE---- py def forward(self, x): _, hidden = self.gru(x) output = self.fc(hidden.squeeze(0)) return output{{2}}"

Deep Learning für Text mit PyTorch

Nun kannst du wieder etwas üben!

Deep Learning für Text mit PyTorch

Preparing Video For Download...