Algorithmus für neuronale Themenmodellierung (NTM) - 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.

Algorithmus für neuronale Themenmodellierung (NTM)

Amazon SageMaker NTM ist ein unüberwachter Lernalgorithmus, der verwendet wird, um einen Korpus von Dokumenten in Themen zu organisieren, die Wortgruppierungen basierend auf ihrer statistischen Verteilung enthalten. Dokumente mit häufigen Vorkommen von Wörtern wie "Fahrrad", "Auto", "Zug", "Laufleistung" und "Geschwindigkeit" haben wahrscheinlich das gemeinsame Thema "Transport". Die Themenmodellierung kann verwendet werden, um Dokumente basierend auf den erkannten Themen zu klassifizieren oder zusammenzufassen oder um Informationen abzurufen oder Inhalte basierend auf Themengemeinsamkeiten zu empfehlen. Die Themen aus Dokumenten, die NTM lernt, werden als latente Darstellung bezeichnet, da die Themen aus den beobachteten Wortverteilungen im Datensatz abgeleitet werden. Die Semantik der Themen wird in der Regel abgeleitet, indem die enthaltenen Wörter mit dem höchsten Rang untersucht werden. Da die Methode unüberwacht ist, wird nur die Anzahl der Themen, jedoch nicht die Themen selbst vorab definiert. Darüber hinaus kann nicht garantiert werden, dass die Kategorisierung der Themen so aussieht, wie sie ein Mensch vornehmen würde.

Themenmodellierung bietet eine Möglichkeit zur Visualisierung der Inhalte eines großen Dokumentkorpus im Hinblick auf die gelernten Themen. Für das Thema relevante Dokumente können indiziert werden oder man kann auf der Basis weicher Themenkennzeichnungen nach ihnen suchen. Die latenten Darstellungen der Dokumente können auch verwendet werden, um ähnliche Dokumente im Themenraum zu finden. Sie können die latenten Darstellungen von Dokumenten, die das Themenmodell lernt, auch als Eingabe für einen anderen überwachten Algorithmus verwenden, wie z. B. einen Dokumenten-Classifier. Da latente Darstellungen von Dokumenten die Semantik der zugrunde liegenden Dokumente erfassen sollen, ist davon auszugehen, dass Algorithmen, die teilweise auf diesen Darstellungen basieren, bessere Ergebnisse liefern als Algorithmen, denen nur lexikalische Merkmale zugrunde liegen.

Obwohl Sie sowohl den Amazon SageMaker NTM- als auch den LDA-Algorithmus für die Themenmodellierung verwenden können, handelt es sich um unterschiedliche Algorithmen, die bei denselben Eingabedaten unterschiedliche Ergebnisse liefern können.

Weitere Informationen zu den mathematischen Hintergründen von NTM finden Sie unter Neural Variational Inference for Text Processing.

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

Amazon SageMaker Neural Topic Model unterstützt vier Datenkanäle: Training, Validierung, Test und Hilfsdaten. Die Validierungs-, Test- und Zusatzdatenkanäle sind optional. Wenn Sie einen der folgenden optionalen Kanäle angeben, legen Sie den Wert des S3DataDistributionType-Parameters für sie auf FullyReplicated fest. Wenn Sie die Validierungsdaten bereitstellen, wird der Datenverlust für jede Epoche protokolliert und das Modell stoppt die Schulung, sobald es erkennt, dass der Validierungsverlust sich nicht verbessert. Wenn Sie keine Validierungsdaten bereitstellen, stoppt der Algorithmus früh auf Basis der Schulungsdaten, dies kann jedoch weniger effizient sein. Wenn Sie die Testdaten bereitstellen, erfasst der Algorithmus den Testverlust des letzten Modells.

Die Schulungs-, Validierungs- und Testdatenkanäle für NTM unterstützen sowohl recordIO-wrapped-protobuf (mit hoher und niedriger Dichte) als auch CSV als Dateiformate. Wird das CSV-Format verwendet, muss jede Zeile dicht mit Nullzählern für Wörter dargestellt werden, die im entsprechenden Dokument nicht vorhanden sind und folgende Dimension haben: (Anzahl Datensätze) * (Vokabulargröße). Sie können entweder den Datei- oder den Pipe-Modus verwenden, um Modelle mit Daten, die als recordIO-wrapped-protobuf oder CSV formatiert sind, zu schulen. Der Zusatzkanal wird verwendet, um eine Textdatei mit Vokabular bereitzustellen. Durch Bereitstellen der Vokabulardatei können Benutzer die wichtigsten Wörter für jedes der Themen im Protokoll anstelle ihrer Ganzzahl-IDs sehen. Wenn die Vokabulardatei vorliegt, kann NTM außerdem die Word Embedding Topic Coherence (WETC)-Bewertungen berechnen. Diese neue Metrik wird im Protokoll zur effektiven Erfassung von Ähnlichkeiten zwischen den wichtigsten Wörtern in jedem Thema angezeigt. Der ContentType für den Zusatzkanal lautet text/plain, wobei jede Zeile ein einziges Wort enthält, und zwar in der Reihenfolge der in den Daten enthaltenen Ganzzahl-IDs. Die Vokabulardatei muss den Namen vocab.txt tragen. Derzeit wird nur UTF-8-Codierung unterstützt.

Für die Inferenz werden die Inhaltstypen text/csv, application/json, application/jsonlines 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 NTM-Inferenz gibt application/json- oder application/x-recordio-protobuf-Prognosen zurück, in denen der topic_weights-Vektor für jede einzelne Beobachtung enthalten ist.

Weitere Informationen zur Verwendung des Zusatzkanal und der WETC-Bewertungen finden Sie in unserem Blog-Beitrag und im begleitenden Notebook. Weitere Informationen zum Berechnen der WETC-Bewertung finden Sie unter Coherence-Aware Neural Topic Modeling. Wir haben die in dieser Arbeit beschriebene paarweise WETC für das Amazon SageMaker Neural Topic Model verwendet.

Weitere Informationen über die Eingabe- und Ausgabedateiformate finden Sie unter NTM-Antwortformate für Inferenz und unter NTM-Beispiel-Notebooks.

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

NTM-Schulungen unterstützen sowohl GPU- und CPU-Instance-Typen. Wir empfehlen GPU-Instances, aber bei bestimmten Arbeitslasten können CPU-Instances die Schulungskosten senken. CPU-Instances sollten für Inferenz ausreichend sein. NTM-Training unterstützt die GPU-Instanzfamilien P2, P3, G4dn und G5 für Training und Inferenz.

NTM-Beispiel-Notebooks

Ein Beispiel-Notizbuch, das den SageMaker NTM-Algorithmus verwendet, um Themen in Dokumenten aus einer synthetischen Datenquelle aufzudecken, bei der die Themenverteilungen bekannt sind, finden Sie in der Einführung in die Grundfunktionen von NTM. Anweisungen zum Erstellen von und Zugreifen auf Jupyter-Notebook-Instanzen, die Sie zum Ausführen des Beispiels in SageMaker verwenden können, finden Sie unter Amazon- SageMaker Notebook-Instances. Nachdem Sie eine Notebook-Instance erstellt und geöffnet haben, wählen Sie die Registerkarte SageMaker-Beispiele, um eine Liste aller SageMaker-Beispiele anzuzeigen. 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.