Einführung

Abgeschlossen

In diesem Modul untersuchen Sie verschiedene Architekturen für neuronale Netze für den Umgang mit natürlichsprachigen Texten. In den letzten Jahren hat die Verarbeitung natürlicher Sprache (Natural Language Processing, NLP) einen starken Anstieg erlebt. Dies ist vor allem auf die Leistungsfähigkeit der Sprachmodelle beim schnelleren „Verstehen“ der menschlichen Sprache zurückzuführen und darauf, das sie das unbeaufsichtigte Training mit riesigen Textmengen ermöglicht. Die Generierung von Sätzen mithilfe von GPT-3 oder vorab trainierten Textmodellen wie BERT hat beispielsweise viele NLP-Aufgaben vereinfacht und die Leistung drastisch verbessert.

Wir konzentrieren uns auf die grundlegenden Aspekte der Darstellung von NLP als Tensoren in PyTorch und auf klassische NLP-Architekturen wie die Verwendung von Bag-of-Words (BoW), Worteinbettungen, rekurrenten neuronalen Netzen und generativen Netzen.

Aufgaben für natürliche Sprache

Es gibt eine Reihe von NLP-Aufgaben, die wir üblicherweise mit neuronalen Netzen zu lösen versuchen:

  • Textklassifizierung wird verwendet, wenn wir Textfragmente in eine von mehreren vordefinierten Klassen klassifizieren müssen. Beispiele hierfür sind die E-Mail-Spamerkennung, die Kategorisierung von Nachrichten, das Zuweisen einer Supportanfrage zu einer der Kategorien und mehr.
  • Absichtsklassifizierung ist ein spezifischer Fall der Textklassifizierung, bei dem wir Eingabeäußerungen im KI-Unterhaltungssystem einer der Absichten zuordnen möchten, die die tatsächliche Bedeutung des Ausdrucks oder die Absicht des Benutzers darstellen.
  • Standpunktanalyse ist eine Regressionsaufgabe, bei der wir den Grad der Negativität eines bestimmten Stücks Text verstehen möchten. Es kann sinnvoll sein, Texte in einem Dataset vom negativsten (-1) bis zum positivsten Text (+1) zu bezeichnen und ein Modell zu trainieren, das eine Zahl für die „Positivität“ eines Texts ausgibt.
  • Erkennung benannter Entitäten (NER) ist die Aufgabe, einige Entitäten aus Text zu extrahieren, z. B. Datumsangaben, Adressen, Personennamen usw. Zusammen mit der Absichtsklassifizierung wird NER häufig in Dialogsystemen verwendet, um Parameter aus den Äußerungen des Benutzers zu extrahieren.
  • Eine ähnliche Aufgabe der Schlüsselwortextraktion kann verwendet werden, um die aussagekräftigsten Wörter in einem Text zu finden, die dann als Tags verwendet werden können.
  • Textzusammenfassung extrahiert die aussagekräftigsten Textteile und gibt einem Benutzer eine komprimierte Version an die Hand, die den größten Teil der Bedeutung enthält.
  • Frage/Antwort ist die Aufgabe, eine Antwort aus einem Stück Text zu extrahieren. Dieses Modell ruft Textfragmente und eine Frage als Eingabe ab und muss den genauen Ort im Text finden, der die Antwort enthält. Der Text „John is a 22 year old student who loves to use Microsoft Learn“ (John ist ein 22 Jahre alter Student, der gerne Microsoft Learn verwendet) und die Frage Wie alt ist John sollte uns die Antwort 22 geben.

In diesem Modul konzentrieren wir uns in erster Linie auf die Aufgabe der Textklassifizierung. Wir verwenden Text aus Nachrichtenschlagzeilen, um zu klassifizieren, zu welcher der vier Kategorien sie gehören: Welt, Sport, Wirtschaft und Wissenschaft/Technik. Wir werden auch generative Modelle einführen, die selbst menschenähnliche Textsequenzen generieren können.

Lernziele

Dieses Modul umfasst Folgendes:

  • Verstehen, wie Text für Verarbeitungsaufgaben von natürlicher Sprache verarbeitet wird
  • Einführung in die Verwendung von Recurrent Neural Networks (rekurrente neuronale Netze, RNNs) und Generative Neural Networks (generative neuronale Netze, GNNs)
  • Weitere Informationen zum Erstellen von Textklassifizierungsmodellen

Voraussetzungen

  • Grundlegendes zu Python
  • Grundlegende Kenntnisse zur Verwendung von Jupyter Notebooks
  • Grundlegende Kenntnisse des maschinellen Lernens