Latent Dirichlet Allocation (LDA) und Hierarchical Dirichlet Process (HDP) sind beide Themenmodellierungsprozesse. Der Hauptunterschied ist, dass LDA die Angabe der Anzahl der Themen erfordert und HDP nicht. Warum ist das so? Und was sind die Unterschiede, Vor- und Nachteile beider Methoden zur Themenmodellierung?
nlp
topic-model
lda
alvas
quelle
quelle
Antworten:
HDP ist eine Erweiterung von LDA, die entwickelt wurde, um den Fall anzugehen, dass die Anzahl der Gemischkomponenten (die Anzahl der "Themen" in Bezug auf die Dokumentmodellierung) a priori nicht bekannt ist. Das ist der Grund, warum es einen Unterschied gibt.
Unter Verwendung von LDA für die Dokumentenmodellierung behandelt man jedes "Thema" als eine Wortverteilung in einem bekannten Vokabular. Für jedes Dokument wird eine Mischung von Themen aus einer Dirichlet-Verteilung gezeichnet, und dann ist jedes Wort im Dokument eine unabhängige Zeichnung von dieser Mischung (das heißt, es wird ein Thema ausgewählt und dann verwendet, um ein Wort zu generieren).
Bei HDP (angewendet auf die Dokumentenmodellierung) wird auch ein Dirichlet-Prozess verwendet, um die Unsicherheit in der Anzahl der Themen zu erfassen. Daher wird eine gemeinsame Basisverteilung ausgewählt, die die unzähligen möglichen Themen für das Korpus darstellt, und dann wird die endliche Themenverteilung für jedes Dokument anhand dieser Basisverteilung abgetastet.
In Bezug auf Vor- und Nachteile hat HDP den Vorteil, dass die maximale Anzahl von Themen unbegrenzt und aus den Daten gelernt werden kann, anstatt im Voraus festgelegt zu werden. Ich nehme an, die Implementierung ist komplizierter und in Fällen, in denen eine begrenzte Anzahl von Themen akzeptabel ist, unnötig.
quelle
Anekdotischerweise war ich noch nie von den Ergebnissen der hierarchischen LDA beeindruckt. Es scheint einfach kein optimales Maß an Granularität für die Auswahl der Anzahl der Themen zu finden. Ich habe viel bessere Ergebnisse erzielt, indem ich einige Iterationen der regulären LDA ausgeführt, die erstellten Themen manuell überprüft, entschieden habe, ob die Anzahl der Themen erhöht oder verringert werden soll, und weiter iteriert habe, bis ich die gesuchte Granularität erlangt habe.
Denken Sie daran: Die hierarchische LDA kann Ihre Gedanken nicht lesen. Sie weiß nicht, wofür Sie die Themenmodellierung tatsächlich verwenden möchten. Genau wie bei k-means Clustering sollten Sie das k auswählen, das für Ihren Anwendungsfall am sinnvollsten ist.
quelle
Da dies einer der Top-Treffer von Google zu diesem Thema ist, möchte ich darauf hinweisen, dass Latent Dirichlet Allocation (LDA), Hierarchical Dirichlet Processes (HDP) und Hierarchical Latent Dirichlet Allocation (hLDA) unterschiedliche Modelle sind.
LDA-Modelle dokumentieren als Dirichletmischungen einer festen Anzahl von Themen, die vom Benutzer als Parameter des Modells ausgewählt wurden und wiederum Dirichletmischungen von Wörtern sind. Dies erzeugt eine flache, weiche probabilistische Gruppierung von Begriffen in Themen und Dokumenten in Themen.
HDP modelliert Themen als Wortmischungen, ähnlich wie LDA, aber anstelle von Dokumenten, die aus einer festen Anzahl von Themen bestehen, wird die Anzahl der Themen durch einen Dirichlet-Prozess generiert, was dazu führt, dass die Anzahl der Themen ebenfalls eine Zufallsvariable ist. Der "hierarchische" Teil des Namens bezieht sich auf eine andere Ebene, die dem generativen Modell hinzugefügt wird (der Dirichlet-Prozess, der die Anzahl der Themen erzeugt), nicht auf die Themen selbst - die Themen sind immer noch flache Cluster.
hLDA hingegen ist eine Adaption von LDA, die Themen als Mischungen aus einer neuen, unterschiedlichen Ebene von Themen modelliert, die aus Dirichlet- Verteilungen stammenund nicht verarbeitet. Die Anzahl der Themen wird weiterhin als Hyperparameter behandelt, dh unabhängig von den Daten. Der Unterschied besteht darin, dass das Clustering jetzt hierarchisch ist - es lernt ein Clustering der ersten Gruppe von Themen selbst, wodurch allgemeinere, abstraktere Beziehungen zwischen Themen (und damit Wörtern und Dokumenten) entstehen. Stellen Sie sich vor, Sie würden den Stapelaustausch in Mathematik, Naturwissenschaften, Programmierung, Geschichte usw. gruppieren, statt Data Science und Cross Validation in ein abstraktes Statistik- und Programmierthema zu gruppieren, das einige Konzepte mit beispielsweise Software-Engineering teilt, aber das Software-Engineering Der Austausch wird auf einer konkreteren Ebene mit dem Austausch der Informatik gebündelt, und die Ähnlichkeit zwischen allen genannten Börsen tritt erst in der oberen Schicht der Cluster auf.
quelle
Ich habe eine Situation, in der HDP im Vergleich zu LDA gut funktioniert. Ich habe ungefähr 16000 Dokumente, die verschiedenen Klassen angehören. Da ich nicht weiß, wie viele verschiedene Themen ich für jede Klasse sammeln kann, ist HDP in diesem Fall wirklich hilfreich.
quelle