Verwenden von von LDA generierten Themenwörtern zur Darstellung eines Dokuments

8

Ich möchte eine Dokumentklassifizierung durchführen, indem ich jedes Dokument als eine Reihe von Funktionen darstelle. Ich weiß, dass es viele Möglichkeiten gibt: BOW, TFIDF, ...

Ich möchte Latent Dirichlet Allocation (LDA) verwenden, um die Themenschlüsselwörter von JEDEM EINZELNEN Dokument zu extrahieren. Das Dokument wird durch diese Themenwörter dargestellt. Ich weiß jedoch nicht, ob dies sinnvoll ist, da meiner Meinung nach LDA normalerweise verwendet wird, um die von A BUNCH OF-Dokumenten gemeinsam genutzten Themenwörter zu extrahieren.

Kann LDA verwendet werden, um das Thema eines einzelnen Dokuments zu erkennen?

Münchenong
quelle

Antworten:

13

Kann LDA verwendet werden, um das Thema eines einzelnen Dokuments zu erkennen?

Ja, in seiner speziellen Darstellung von "Thema" und mit einem Schulungskorpus von (normalerweise verwandten) Dokumenten.

LDA repräsentiert Themen als Verteilungen über Wörter und Dokumente als Verteilungen über Themen. Das heißt, ein eigentlicher Zweck von LDA besteht darin, eine probabilistische Darstellung jedes Dokuments als eine Reihe von Themen zu erreichen. Beispielsweise kann die LDA-Implementierung in gensimdiese Darstellung für ein bestimmtes Dokument zurückgeben.

Dies hängt jedoch von den anderen Dokumenten im Korpus ab: Jedes Dokument hat eine andere Darstellung, wenn es als Teil eines anderen Korpus analysiert wird.

Dies wird normalerweise nicht als Mangel angesehen: Die meisten Anwendungen von LDA konzentrieren sich auf verwandte Dokumente. Das Papier, in dem LDA vorgestellt wird, wendet es auf zwei Korpora an, einen der Artikel von Associated Press und einen der Abstracts wissenschaftlicher Artikel. Edwin Chens gut zugänglicher Blog-Beitrag wendet LDA auf eine Tranche von E-Mails aus Sarah Palins Zeit als Gouverneur von Alaska an.

Wenn Ihre Anwendung die Trennung von Dokumenten in bekannte, sich gegenseitig ausschließende Klassen erfordert, können von LDA abgeleitete Themen als Funktionen für die Klassifizierung verwendet werden. In der Tat macht das erste Papier genau das mit dem AP-Korpus, mit guten Ergebnissen.

In ähnlicher Weise sortiert Chens Demonstration Dokumente nicht in exklusive Klassen, aber seine Dokumente konzentrieren ihre Wahrscheinlichkeit hauptsächlich auf einzelne LDA-Themen. Wie David Blei in dieser Videovorlesung erklärt , können die Dirichlet-Priors ausgewählt werden, um die Sparsamkeit zu fördern. Einfacher ausgedrückt: "Ein Dokument wird für die Verwendung vieler Themen bestraft", wie seine Folien es ausdrücken. Dies scheint, dass die LDA einem einzelnen, unbeaufsichtigten Thema am nächsten kommen kann, garantiert jedoch nicht, dass jedes Dokument als solches dargestellt wird.

Sean Easter
quelle
Danke für deine Antwort. Kann ich ein einzelnes Dokument anstelle einer Reihe von Dokumenten in LDA eingeben und die Ausgabewörter als Thema des Dokuments verwenden?
Munichong
Mit "ein einzelnes Dokument eingeben" meinen Sie "ein Trainingsset verwenden, das aus einem einzelnen Dokument besteht"? Oder "Themen mit einem trainierten Modell aus einem einzelnen Dokument extrahieren, das nicht der Stichprobe entspricht"?
Sean Easter
Ich meine "Verwenden Sie einen Schulungssatz, der aus einem einzelnen Dokument besteht" und geben Sie die Anzahl der Zielthemen auf 1 an, dh extrahieren Sie ein Thema (eine Reihe von Wörtern) aus dem einzigen Schulungsdokument.
Munichong
Ich habe es noch nie versucht, daher kann ich nicht eindeutig bestätigen, wie eine Implementierung diese Eingabe behandeln würde. Die Verwendung eines einzelnen Dokuments und eines einzelnen Themas würde jedoch bestimmten generativen Annahmen des Modells widersprechen. Sie würden im Wesentlichen davon ausgehen, dass jedes Wort im Dokument aus einer einzelnen multinomialen Verteilung stammt. Der hintere Wert für seinen Parameter wäre kaum mehr als eine normalisierte Anzahl von Wörtern im Dokument. All dies zu sagen, ich habe Mühe zu sehen, wie dies zu einer sinnvollen Ausgabe führen könnte. Es wäre, als würde man tf-idf auf einem Korpus von einem berechnen: Die Statistik basiert auf Merkmalen des breiteren Korpus.
Sean Easter