2015-04-22 9 views
11

Ich versuche zu verstehen, warum Latent Dirichlet Allocation (LDA) schlecht in kurzen Textumgebungen wie Twitter funktioniert. Ich habe gelesen A biterm topic model for short text, aber ich verstehe immer noch nicht "die Seltenheit von Wort Co-Vorkommen".Was ist der Nachteil von LDA für kurze Texte?

Aus meiner Sicht ist der Generierungsteil von LDA für jede Art von Text sinnvoll, aber was in kurzen Texten zu schlechten Ergebnissen führt, ist das Stichprobenverfahren. Ich rate, LDA Proben ein Thema für ein Wort basierend auf zwei Teilen: (1) Themen anderer Wörter in der gleichen Doc (2) Thema Zuordnungen von anderen Vorkommen dieses Wortes. Da der (1) Teil eines kurzen Textes nicht seine wahre Verteilung wiedergeben kann, führt dies zu einer schlechten Themenzuordnung für jedes Wort.

Wenn Sie diese Frage gefunden haben, zögern Sie nicht, Ihre Idee zu veröffentlichen und mir zu helfen, dies zu verstehen.

Antwort

14

Probabilistische Modelle wie LDA nutzen statistische Inferenz, um latente Datenmuster zu entdecken. Kurz gesagt, sie schließen Modellparameter aus Beobachtungen ab.Zum Beispiel gibt es eine schwarze Box, die viele Bälle mit verschiedenen Farben enthält. Du zeichnest einige Kugeln aus der Schachtel und folgst dann den Farbverteilungen der Kugeln. Das ist ein typischer Prozess der statistischen Schlussfolgerung. Die Genauigkeit der statistischen Inferenz hängt von der Anzahl Ihrer Beobachtungen ab.

Betrachten Sie nun das Problem von LDA über kurze Texte. LDA modelliert ein Dokument als eine Mischung von Themen, und dann wird jedes Wort von einem seiner Themen abgeleitet. Sie können sich vorstellen, dass eine Black Box Tonnen von Wörtern enthält, die aus einem solchen Modell generiert wurden. Jetzt haben Sie ein kurzes Dokument mit nur wenigen Wörtern gesehen. Die Beobachtungen sind offensichtlich zu wenig, um auf die Parameter zu schließen. Es ist das Problem der Datensparsamkeit, das wir erwähnt haben.

Eigentlich, neben dem Fehlen von Beobachtungen, kommt das Problem auch von der Überkomplexität des Modells. Normalerweise erfordert ein flexibleres Modell mehr Beobachtungen, um daraus zu schließen. Die Biterm Topic Model versucht, die These zu vereinfachen, indem die Modellkomplexität reduziert wird. Erstens modelliert es den gesamten Korpus als eine Mischung von Themen. Das Schlussfolgern der Themenmischung über den Korpus ist einfacher als das Ableiten der Themenmischung über ein kurzes Dokument. Zweitens nimmt es an, dass jedes Bitmer von einem Thema stammt. Es ist auch einfacher, das Thema eines Biterms zu verstehen, als das Thema eines einzelnen Wortes in LDA abzuleiten, da mehr Kontext hinzugefügt wird.

Ich hoffe, dass die Erklärung für Sie sinnvoll ist. Danke, dass Sie unsere Zeitung erwähnt haben.

4

Ein bisschen Graben, Hong and Davison (2010) zeigte sich als ein gutes Beispiel für diese nicht gut zum Klassifizieren Tweets. Leider geben sie nicht wirklich viel Einblick, warum es nicht funktioniert.

Ich vermute, es gibt zwei Gründe, warum LDA nicht gut für kurze Dokumente funktioniert.

Zunächst einmal, wenn Sie an kleineren Dokumenten arbeiten, fügt die zusätzliche Topic-Ebene nichts zur Klassifikation hinzu, und was nicht hilft, tut wahrscheinlich weh. Wenn Sie sehr kurze Dokumente haben, wie Tweets, ist es wirklich schwierig, Dokumente in Themen zu zerlegen. Es gibt schließlich nur wenig Platz für ein Thema in einem Tweet. Da die Themenschicht nicht viel zur Klassifizierung beitragen kann, ist es möglich, dass Fehler im System auftreten.

Zweitens bevorzugen Twitter-Nutzer, "unnötigen Fluff" beim Twittern zu entfernen. Wenn Sie mit vollständigen Dokumenten arbeiten, gibt es Funktionen - Wörter, Wortkollokationen usw. - die wahrscheinlich spezifisch, häufig und oft innerhalb eines Genres wiederholt werden. Beim Twittern werden diese gemeinsamen Elemente jedoch zuerst fallengelassen, weil das, was interessant, neu und perplexer ist, übrig bleibt, wenn der Flaum entfernt wird.

Zum Beispiel schauen wir uns an myowntweets, weil ich in schamlose Eigenwerbung glauben:

Progressbar.py is a fun little package, though I don't get 
a chance to use it too often. it even does ETAs for you 
https://pypi.python.org/pypi/progressbar … 

From a capitalist perspective, the social sciences exist so 
idiot engineers don't waste money on building **** no one needs. 

Abstract enough to be reusable, specific enough to be useful. 

Die erste ist über Python. Wenn Sie die URLs analysieren, erhalten Sie das - und die .py würde es Ihnen auch geben. In einem expressiveren Medium hätte ich wahrscheinlich irgendwo das Wort "Python" eingefügt. Die zweite ist Programmierung, aber ein bisschen mehr auf das Business-Ende. Nicht einmal erwähnt es überhaupt etwas spezifisch für die Programmierung. Das letzte ist auch programmierbezogen, aber es verbindet sich mehr mit der Kunst des Programmierens, das beim Codieren eine Art Double-Bind-Programmierer-Gesicht ausdrückt. Es ist so schwierig wie das zweite Feature.

In beiden dieser letzten zwei Beispiele, hätte ich nicht einen Microblog-Beitrag geschrieben, wären diese sofort gefolgt von Beispielen, die für einen Klassifikator sehr nützlich gewesen wären oder selbst mehr Daten enthalten hätten. Twitter hat jedoch keinen Platz für solche Sachen, und der Inhalt, der das Genre kennzeichnet, zu dem ein Tweet gehört, ist ausgeblendet.

Also, am Ende haben wir zwei Probleme. Die Länge ist ein Problem für LDA, da die Themen einen zusätzlichen, unnötigen Freiheitsgrad hinzufügen und die Tweets ein Problem für jeden Klassifizierer darstellen, da die für die Klassifizierung typischen Merkmale von den Autoren selektiv entfernt werden.

+0

Stimmen Sie mit Ihrer Idee überein, dass der Dokument-Themen-Layer von LDA für kurze Texte nicht erforderlich ist. Möchtest du noch weitere Erklärungen, vielleicht eine Prozedur von LDA, die im kurzen Text falsch läuft, oder theoretisch erklären? –

Verwandte Themen