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 unüberwachter Lernalgorithmus, der versucht, eine Reihe von Beobachtungen als Mischung unterschiedlicher 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.

Auswahl zwischen Latent Dirichlet Allocation (LDA) und neuronale Themenmodell (NTM)

Themenmodelle werden häufig verwendet, um Themen aus Körpern zu erzeugen, die (1) kohärent semantische Bedeutung kapseln und (2) Dokumente gut beschreiben. Daher zielen Themenmodelle darauf ab, die Verwirrtheit zu minimieren und die Themenkohärenz zu maximieren.

Perplexity ist eine Auswertungsmetrik für die interne Sprachmodellierung, die die Umkehrung des geometrischen Mittelwerts pro Wort Wahrscheinlichkeit in Ihren Testdaten misst. Ein niedrigerer Perplexitätswert weist auf eine bessere Verallgemeinerungsleistung hin. Die Forschung hat gezeigt, dass die pro Wort berechnete Wahrscheinlichkeit oft nicht auf das menschliche Urteilsvermögen ausgerichtet ist und völlig nicht korreliert sein kann, daher wurde die Themenkohärenz eingeführt. Jedes abgeleitete Thema aus Ihrem Modell besteht aus Wörtern, und die Themenkohärenz wird zu den obersten N Wörtern für dieses bestimmte Thema aus Ihrem Modell berechnet. Es wird oft als Durchschnitt oder Median der paarweisen Wortähnlichkeitswerte der Wörter in diesem Thema definiert, z. B. Pointwise Mutual Information (PMI). Ein vielversprechendes Modell erzeugt kohärente Themen oder Themen mit hoher Themenkohärenz.

Während das Ziel darin besteht, ein Themenmodell zu trainieren, das die Verwirrtheit minimiert und die Themenkohärenz maximiert, gibt es oft einen Kompromiss sowohl mit LDA als auch mit NTM. Jüngste Untersuchungen von Amazon, Dinget et al., 2018 haben gezeigt, dass NTM für die Erreichung einer hohen Themenkohärenz vielversprechend ist, aber LDA, die mit kollabierter Gibbs-Sampling trainiert wurde, erreicht eine bessere Perplexität. Es gibt einen Kompromiss zwischen Verwirrtheit und Themenkohärenz. Aus praktischer Sicht in Bezug auf Hardware und Rechenleistung ist die SageMaker NTM-Hardware flexibler als LDA und kann besser skaliert werden, da NTM auf CPU und GPU ausgeführt werden kann und über mehrere GPU-Instanzen hinweg parallelisiert werden kann, während LDA nur eine Instanz CPU-Schulung unterstützt.

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

Für LDA müssen die Daten über den Schulungskanal 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 geschult 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/json- oder application/x-recordio-protobuf-Prognosen zurück, in denen der topic_mixture-Vektor für jede einzelne Beobachtung enthalten ist.

Weitere Informationen zu Schulungs- und Inferenzformaten finden Sie unter LDA-Beispiel-Notebooks.

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

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

LDA-Beispiel-Notebooks

Ein Beispiel-Notebook, das zeigt, wie Sie den SageMaker Latent Dirichlet Allocation-Algorithmus in einem Dataset schulen und das geschulte Modell bereitstellen, um Inferenzen zu den Themenmischungen in Eingabedokumenten vorzunehmen, finden Sie unterEinführung in SageMaker LDAaus. Anweisungen zum Erstellen von und Zugreifen auf Jupyter-Notebook-Instances, die Sie verwenden können, um das Beispiel in SageMaker auszuführen, finden Sie unter.Verwenden von Amazon SageMaker Notebook-Instancesaus. Sobald Sie eine Notebook-Instance erstellt und geöffnet haben, wählen Sie die RegisterkarteSageMaker Beispiele, um eine Liste aller SageMaker Beispiele anzusehen. 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.