LDA gegen word2vec

39

Ich versuche zu verstehen, was Ähnlichkeit zwischen Latent Dirichlet Allocation und word2vec ist, um die Ähnlichkeit von Wörtern zu berechnen.

Soweit ich weiß, ordnet LDA Wörter einem Vektor der Wahrscheinlichkeiten latenter Themen zu, während word2vec sie einem Vektor reeller Zahlen zuordnet (im Zusammenhang mit der Singulärwertzerlegung punktweiser gegenseitiger Informationen, siehe O. Levy, Y. Goldberg, "Neural Word Embedding" als implizite Matrixfaktorisierung " ; siehe auch Wie funktioniert word2vec? ).

Ich interessiere mich sowohl für theoretische Beziehungen (kann man als Verallgemeinerung oder Variation der anderen betrachten) als auch für praktische (wenn man die eine, aber nicht die andere verwendet).

Verbunden:

Piotr Migdal
quelle
Ich fand diese Präsentation vor Ort: slideshare.net/ChristopherMoody3/…
Piotr Migdal
Sie sollten sich Doc2vec (aka. Paragraph2vec) ansehen. Dokumentvektoren fassen das Dokument anstelle von Wörtern zusammen.
sachinruk

Antworten:

19

Eine Antwort auf Topic-Modelle und Methoden für das gleichzeitige Auftreten von Wörtern deckt den Unterschied ab (Überspringen von Gramm word2vec ist die Komprimierung von pointwise mutual information (PMI) ).

So:

  • keine Methode ist eine Verallgemeinerung einer anderen,
  • vkingvman+vwomanvqueen
  • LDA sieht höhere Korrelationen als zwei Elemente,
  • LDA gibt interpretierbare Themen.

Einige Unterschiede werden in den Folien word2vec, LDA und Einführung eines neuen Hybridalgorithmus erläutert: lda2vec - Christopher Moody .

Piotr Migdal
quelle
1
Ich würde die Aussage "LDA gibt interpretierbare Themen" zurückhalten, um zu sagen, dass die Themen von LDA potenziell interpretierbar sind. Die LDA-Vorstellung von "Thema" ist ein rein mathematisches Konstrukt, das nicht immer dem entspricht, was ein Mensch als Thema ansieht.
Wayne
Ein wichtiges Konzept, das Sie ausgelassen haben, besteht darin, dass LDA einen Bag-of-Word-Ansatz verwendet, sodass es nur Informationen zu gleichzeitigen Vorkommen in einem Dokument gibt, während word2vec (oder besser gesagt doc2vec) den Kontext eines Wortes berücksichtigt.
Wayne
13

Die beiden Algorithmen unterscheiden sich erheblich in ihrem Zweck.

LDA zielt hauptsächlich darauf ab, Dokumente und Dokumentensammlungen zu beschreiben, indem Themenverteilungen zugewiesen werden, denen wiederum, wie Sie bereits erwähnt haben, Wortverteilungen zugewiesen werden.

word2vec versucht, Wörter in einen Latentfaktor-Vektorraum einzubetten, eine Idee, die aus den verteilten Darstellungen von Bengio et al. Es kann auch zur Beschreibung von Dokumenten verwendet werden, ist jedoch nicht für die jeweilige Aufgabe geeignet.

Bar
quelle
1
Sie könnten theoretisch etwas Analoges zu den Vektoreinbettungen von word2vec erhalten, indem Sie P (topic | word) aus LDA berechnen, aber wie @Bar sagte, wurden diese Modelle für verschiedene Aufgaben entwickelt. Wenn Sie die P (topic | word) -Distributionen von LDA mit den Vektoreinbettungen von word2vec vergleichen, bezweifeln Sie, dass sie sehr ähnlich sind. LDA erfasst Assoziationen auf Dokumentebene, während word2vec sehr lokale Assoziationen erfasst.
Zubin,
4

Topic2Vectogether with

D={w1:z1,...,wM:zM}ziwi

LCBOW(D)=1Mi=1M(logp(wi|wext)+logp(zi|wext))

LSkipgram(D)=1Mi=1Mkck,c0(logp(wi+c|wi)+logp(wi+c|zi))

COSINE SIMILARITY

Darüber hinaus finden Sie in dieser Arbeit einige Sätze wie:

"Wahrscheinlichkeit ist nicht die beste Wahl für die Darstellung von Merkmalen"

und

"LDA beschreibt lieber die statistische Beziehung von Ereignissen als echte semantische Informationen, die in Wörter, Themen und Dokumente eingebettet sind"

Dies wird Ihnen helfen, die verschiedenen Modelle besser zu verstehen.

Ricardo S.
quelle
2

Andere Antworten decken hier die technischen Unterschiede zwischen diesen beiden Algorithmen ab, aber ich denke, der Hauptunterschied liegt in ihrem Zweck: Diese beiden Algorithmen wurden entwickelt, um verschiedene Dinge zu tun:

word2vecletztendlich ergibt sich eine Abbildung zwischen Wörtern und einem Vektor fester Länge. Wenn wir es mit einem anderen bekannten Ansatz vergleichen würden, wäre es sinnvoller, ein anderes Tool zu verwenden, das für die gleiche Absicht entwickelt wurde, wie das Bag of Words (BOW-Modell). Dieser tut dasselbe, aber es fehlen einige erwünschte Merkmale, word2vecwie die Reihenfolge der Wörter zu verwenden und den Abständen zwischen Wortrepräsentationen eine semantische Bedeutung zuzuweisen.

LDAAndererseits wird eine Zuordnung von einem Dokument mit variabler Länge zu einem Vektor erstellt. Dieses Dokument kann ein Satz, ein Absatz oder eine Volltextdatei sein, es handelt sich jedoch nicht um ein einzelnes Wort. Es wäre sinnvoller, es mit doc2vecjenem zu vergleichen , der die gleiche Arbeit leistet und der von Tomas Mikolov hier vorgestellt wird (der Autor verwendet den Begriff paragraph vectors). Oder mit LSIfür diese Angelegenheit.

Beantworten Sie also direkt Ihre beiden Fragen:

  1. Keines von ihnen ist eine Verallgemeinerung oder Variation des anderen
  2. Verwenden Sie LDA, um ein Dokument einem Vektor fester Länge zuzuordnen . Sie können diesen Vektor dann in einem herkömmlichen ML-Algorithmus wie einem Klassifikator verwenden, der ein Dokument akzeptiert und beispielsweise eine sentimentale Bezeichnung vorhersagt.
  3. Verwenden Sie word2vecdiese Option , um ein Wort einem Vektor fester Länge zuzuordnen . Auf ähnliche Weise können Sie diese Vektoren verwenden, um ML-Modelle zu füttern, bei denen es sich bei der Eingabe um Wörter handelt, beispielsweise bei der Entwicklung eines Autokompleters, der sich auf vorherige Wörter stützt und versucht, das nächste vorherzusagen.
pilu
quelle
1

Aus praktischer Sicht ...

LDA beginnt mit einer Wortsammlung, in der berücksichtigt wird, welche Wörter in Dokumenten gleichzeitig vorkommen, ohne jedoch auf den unmittelbaren Kontext von Wörtern zu achten. Dies bedeutet, dass die Wörter an einer beliebigen Stelle im Dokument und in beliebiger Reihenfolge erscheinen können, wodurch eine bestimmte Informationsebene entfernt wird. Im Gegensatz dazu dreht sich bei word2vec alles um den Kontext, in dem ein Wort verwendet wird - wenn auch möglicherweise nicht in exakter Reihenfolge.

LDAs "Themen" sind ein mathematisches Konstrukt und Sie sollten sie nicht mit tatsächlichen menschlichen Themen verwechseln. Es können Themen entstehen, die keine menschliche Interpretation haben - sie sind eher Artefakte des Prozesses als tatsächliche Themen - und es können Themen auf verschiedenen Abstraktionsebenen entstehen, einschließlich Themen, die im Grunde dasselbe menschliche Thema behandeln. Es ist ein bisschen wie beim Lesen von Teeblättern.

Ich habe festgestellt, dass LDA nützlich ist, um Daten zu untersuchen, aber nicht so nützlich, um eine Lösung bereitzustellen, aber Ihr Kilometerstand kann variieren.

Word2vec erstellt Themen überhaupt nicht direkt. Es projiziert Wörter in einen hochdimensionalen Raum, der auf einer ähnlichen Verwendung basiert, sodass es seine eigenen Überraschungen in Bezug auf Wörter haben kann, die Sie als verschieden - oder sogar entgegengesetzt - betrachten und die sich im Raum möglicherweise nahe beieinander befinden.

Sie können entweder verwenden, um festzustellen, ob Wörter "ähnlich" sind. Mit LDA: Haben die Wörter ähnliche Gewichte in den gleichen Themen. Mit word2vec: Sind sie (in gewissem Maße) nahe im Einbettungsraum.

Sie können entweder verwenden, um festzustellen, ob Dokumente ähnlich sind. Mit LDA würden Sie nach einer ähnlichen Mischung von Themen suchen, und mit word2vec würden Sie so etwas wie das Aufsummieren der Vektoren der Wörter des Dokuments tun. ("Dokument" kann ein Satz, ein Absatz, eine Seite oder ein gesamtes Dokument sein.) Doc2vec ist eine modifizierte Version von word2vec, mit der Dokumente direkt verglichen werden können.

Während LDA mit seinem Bag-of-Word-Ansatz einige kontextbezogene Informationen wegwirft, hat es Themen (oder "Themen"), die word2vec nicht hat. Mit doc2vec können Sie also ganz einfach sagen: "Zeigen Sie mir Dokumente, die diesem ähnlich sind", während Sie mit LDA ganz einfach sagen können: "Zeigen Sie mir Dokumente, bei denen Thema A im Vordergrund steht". (Wenn Sie wieder wissen, dass "Thema A" aus einem mathematischen Prozess in Ihren Dokumenten hervorgeht, finden Sie heraus, zu welchen menschlichen Themen es am meisten gehört.)

Wayne
quelle