Latent Dirichlet Allocation (LDA)-Algorithmus - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Latent Dirichlet Allocation (LDA)-Algorithmus

Der Amazon SageMaker Latent Dirichlet Allocation (LDA) -Algorithmus ist ein Algorithmus für unbeaufsichtigtes Lernen, der versucht, eine Reihe von Beobachtungen als eine Mischung verschiedener Kategorien zu beschreiben. LDA wird in erster Linie verwendet, um eine vom Benutzer angegebene Anzahl von Themen in Dokumenten innerhalb eines Textkorpus zu erkennen. Hier ist jede Beobachtung ein Dokument, die Funktionen sind das Vorhandensein (oder Anzahl des Auftretens) einzelner Worte und die Kategorien sind die Themen. Da diese Methode unüberwacht ist, können die Themen nicht im Voraus spezifiziert werden. Zudem ist nicht gewährleistet, dass die Ergebnisse mit der natürlichen menschlichen Kategorisierung dieser Dokumente übereinstimmen. Die Themen werden als Wahrscheinlichkeitsverteilung der Worte, die in den Dokumenten verwendet werden, gelernt. Jedes Dokument wird wiederum als Mischung von Themen beschrieben.

Der genaue Inhalt von zwei verschiedenen Dokumenten mit ähnlichen Themenmischungen kann nicht identisch sein. Jedoch kann davon ausgegangen werden, dass in diesen Dokumenten dieselbe Teilmenge an Wörtern insgesamt häufiger verwendet wird als in Dokumenten, die unterschiedliche Themenmischungen aufweisen. Somit kann LDA diese Wortgruppen erkennen und sie zur Bildung von Themen verwenden. Als ganz einfaches Beispiel kann eine Reihe von Dokumenten dienen, in denen nur die Wörter essen, schlafen, spielen, miauen und bellen vorkommen. Von LDA werden daraus die folgenden Themen erzeugt:

Topic

essen schlafen spielen miauen bellen
Thema 1 0.1 0.3 0.2 0.4 0.0
Thema 2 0.2 0.1 0.4 0.0 0.3

Sie können daraus rückschließen, dass es in Dokumenten, die Thema 1 zugeordnet sind, um Katzen geht (diese miauen und schlafen). Dokumente im Thema 2 beschäftigen sich mit Hunden (die gerne spielen und auch bellen). Diese Themen werden erkannt, auch wenn die Worte Hund und Katze in keinem der Texte vorkommen.

Wahl zwischen Latent Dirichlet Allocation (LDA) und Neural Topic Model (NTM)

Themenmodelle werden üblicherweise verwendet, um aus einem Korpus Themen zu erzeugen, die (1) die semantische Bedeutung kohärent kapseln und (2) die Dokumente gut beschreiben. Daher zielen Themenmodelle darauf ab, die Verwirrung zu minimieren und die Themenkohärenz zu maximieren.

Ratlosigkeit ist eine intrinsische Bewertungsmetrik zur Sprachmodellierung, mit der die Umkehrung des geometrischen Mittelwerts der Wahrscheinlichkeit pro Wort in Ihren Testdaten gemessen wird. Ein niedrigerer Wert für Verwirrung weist auf eine bessere Generalisierungsleistung hin. Untersuchungen haben gezeigt, dass die pro Wort berechnete Wahrscheinlichkeit oft nicht dem menschlichen Urteilsvermögen entspricht und völlig unkorreliert sein kann, weshalb Themenkohärenz eingeführt wurde. Jedes abgeleitete Thema aus Ihrem Modell besteht aus Wörtern, und die Themenkohärenz wird anhand der wichtigsten N Wörter für dieses bestimmte Thema aus Ihrem Modell berechnet. Es wird häufig als Durchschnitt oder Median der paarweisen Wortähnlichkeitswerte der Wörter in diesem Thema definiert, z. B. Pointwise Mutual Information (PMI). Ein vielversprechendes Modell generiert kohärente Themen oder Themen mit hohen Punktzahlen für die Themenkohärenz.

Das Ziel besteht zwar darin, ein Themenmodell zu trainieren, das Verwirrung minimiert und die Themenkohärenz maximiert, aber es gibt oft Kompromisse sowohl bei LDA als auch bei NTM. Jüngste Untersuchungen von Amazon, Dinget et al., 2018 haben gezeigt, dass NTM vielversprechend ist, um eine hohe Themenkohärenz zu erreichen, aber LDA, das mit kollabierten Gibbs-Samples trainiert wurde, erzielt eine bessere Verwirrung. Es gibt einen Kompromiss zwischen Verwirrung und Themenkohärenz. Aus praktischer Sicht in Bezug auf Hardware und Rechenleistung ist SageMaker NTM-Hardware flexibler als LDA und kann besser skaliert werden, da NTM auf CPU und GPU ausgeführt und über mehrere GPU-Instanzen parallelisiert werden kann, wohingegen LDA nur CPU-Training für einzelne Instanzen unterstützt.

E/A-Schnittstelle für den LDA-Algorithmus

Für LDA müssen die Daten über den Trainingskanal bereitgestellt werden. Optional wird ein Testkanal unterstützt, der vom finalen Modell bewertet wird. LDA unterstützt die Dateiformate recordIO-wrapped-protobuf (mit hoher und geringer Dichte) und CSV. Bei CSV müssen die Daten eine hohe Dichte sowie eine Dimension gleich Anzahl der Datensätze * Größe des Vokabulars aufweisen. Der LDA-Algorithmus kann im Datei- oder Pipe-Modus trainiert werden bei der Verwendung des recordIO-protobuf-Formats, jedoch nur im Dateimodus, wenn das CSV-Format verwendet wird.

Für die Inferenz werden die Inhaltstypen text/csv, application/json und application/x-recordio-protobuf unterstützt. Daten mit geringer Dichte können auch für application/json und application/x-recordio-protobuf übergeben werden. Die LDA-Inferenz gibt – application/jsonoder application/x-recordio-protobuf-Prognosen zurück, in denen der topic_mixture-Vektor für jede einzelne Beobachtung enthalten ist.

Weitere Informationen zu Trainings- und Inferenzformaten finden Sie unter LDA-Musternotebooks.

EC2-Instance-Empfehlung für den LDA-Algorithmus

LDA unterstützt derzeit nur Trainings auf Einzel-Instance-CPUs. Für Hosting/Inferenz werden CPU-Instances empfohlen.

LDA-Musternotebooks

Ein Beispielnotizbuch, das zeigt, wie der SageMaker Latent Dirichlet Allocation-Algorithmus an einem Datensatz trainiert wird und wie das trainierte Modell anschließend eingesetzt wird, um Rückschlüsse auf die Themenmischungen in Eingabedokumenten zu ziehen, finden Sie unter An Introduction to SageMaker LDA. Anweisungen zum Erstellen und Zugreifen auf Jupyter-Notebook-Instanzen, in denen Sie das Beispiel ausführen können, finden Sie unter. SageMaker Amazon SageMaker Notebook-Instances Nachdem Sie eine Notebook-Instanz erstellt und geöffnet haben, wählen Sie die Registerkarte SageMaker Beispiele, um eine Liste aller Beispiele anzuzeigen. SageMaker Die Beispiel-Notebooks zur Themenmodellierung unter Verwendung der NTM-Algorithmen finden Sie im Abschnitt Einführung in die Amazon-Algorithmen. Zum Öffnen eines Notebooks klicken Sie auf die Registerkarte Use (Verwenden) und wählen Sie Create copy (Kopie erstellen) aus.