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 SageMaker-Latent Dirichlet Allocation (LDA) -Algorithmus von ist ein nicht ü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 neuronalem Themenmodell (NTM)

Themenmodelle werden üblicherweise verwendet, um Themen aus Korpussen zu produzieren, die (1) die semantische Bedeutung kohärent kapseln und (2) Dokumente gut beschreiben. Themenmodelle zielen daher darauf ab, die Ratlosigkeit zu minimieren und die Kohärenz der Themen zu maximieren.

Ratlosigkeit ist eine Evaluierungsmetrik für die intrinsische Sprachmodellierung, die die Umkehrung der Wahrscheinlichkeit des geometrischen Mittels pro Wort in Ihren Testdaten misst. Ein niedrigerer Ratlosigkeit deutet auf eine bessere Generalisierungsleistung hin. Untersuchungen haben gezeigt, dass die pro Wort berechnete Wahrscheinlichkeit oft nicht dem menschlichen Urteilsvermögen entspricht 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 aus Ihrem Modell auf die obersten N Wörter für dieses bestimmte Thema berechnet. Es wird oft als Durchschnitt oder Median der paarweisen Wortähnlichkeitswerte der Wörter in diesem Thema definiert, z. B. Ein vielversprechendes Modell generiert kohärente Themen oder Themen mit hohen Themenkohärenzwerten.

Während das Ziel darin besteht, ein Themenmodell zu trainieren, das die Ratlosigkeit minimiert und die Themenkohärenz maximiert, gibt es oft einen Kompromiss sowohl mit LDA als auch mit NTM. Jüngste Forschungen von Amazon, Dinget et al., 2018 haben gezeigt, dass NTM vielversprechend ist, eine hohe Themenkohärenz zu erreichen, aber LDA, das mit kollabierter Gibbs-Probenahme trainiert wurde, erreicht eine bessere Ratlosigkeit. Es besteht ein Kompromiss zwischen Ratlosigkeit 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 laufen kann und über mehrere GPU-Instanzen parallelisiert werden kann, während LDA nur CPU-Training mit einer Instanz 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 unterEine Einführung in SageMaker LDAaus. Anweisungen zum Erstellen von und Zugreifen auf Jupyter-Notebook-Instances, die Sie zum Ausführen des Beispiels in SageMaker verwenden können, finden Sie unterVerwenden von Amazon SageMaker Notebook Instancesaus. Sobald Sie eine Notebook-Instance erstellt und geöffnet haben, wählen Sie die OptionBeispiele für SageMakerum 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.