LDA対word2vec


39

単語の類似性を計算するためのLatent Dirichlet Allocationword2vecの類似性を理解しようとしています。

私が理解しているように、LDAは単語を潜在トピックの確率のベクトルにマッピングし、word2vecはそれらを実数のベクトルにマッピングします(点ごとの相互情報の特異値分解に関連します。O。Levy 、Y. Goldberg、 "Neural Word Embedding暗黙的な行列因子分解として」 ; word2vecの仕組みも参照してください)。

理論的な関係(一方を他方の一般化、またはバリエーションと見なすことができます)と実用(一方を使用して他方を使用しない場合)の両方に興味があります。

関連:


私はこのプレゼンテーションは、上のスポットであることが判明:slideshare.net/ChristopherMoody3/...
ピョートルMigdal

Doc2vec(aka。paragraph2vec)を確認する必要があります。文書ベクトルは、単語の代わりに文書を要約します。
sachinruk 16

回答:


19

トピックモデルと単語の共起法に対する答えは、違いをカバーします(スキップグラムword2vecは、ポイントワイズ相互情報(PMI)の圧縮です)。

そう:

  • どちらの方法も別の方法の一般化ではなく、
  • vkingvman+vwomanvqueen
  • LDAでは、2要素よりも高い相関が見られます。
  • LDAは解釈可能なトピックを提供します。

いくつかの違いについては、word2vec、LDA、および新しいハイブリッドアルゴリズムlda2vec-Christopher Moodyのスライドで説明されています。


1
LDAのトピックは潜在的に解釈可能であると言うために、「LDAは解釈可能なトピックを提供する」というステートメントを警告します。LDAの「トピック」の概念は、人間がトピックと考えるものに常にマップされるわけではない、純粋に数学的な構成です。
ウェイン

省略した重要な概念は、LDAがバッグオブワードアプローチを使用しているため、word2vec(または比較的同等のdoc2vec)が単語のコンテキストを考慮しているのに対して、ドキュメント内の共起のみを認識していることです。
ウェイン

13

2つのアルゴリズムの目的はかなり異なります。

LDAの主な目的は、ドキュメントとドキュメントコレクションにトピックの分布を割り当てることにより、ドキュメントとドキュメントコレクションを記述することです。

word2vecは、潜在因子ベクトル空間に単語を埋め込むように見えます。これは、Bengio et al。の分散表現に由来するアイデアです。また、ドキュメントの説明にも使用できますが、実際にはタスク用に設計されていません。


1
理論的にはLDAからP(topic | word)を計算することでword2vecのベクトル埋め込みに似たものを得ることができますが、@ Barが言ったようにこれらのモデルは異なるタスク用に設計されています。LDAのP(topic | word)分布をword2vecのベクトル埋め込みと比較した場合、それらは非常に似ているとは思いません。LDAはドキュメントレベルの関連付けをキャプチャし、word2vecは非常にローカルな関連付けをキャプチャします。
ズビン

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

さらに、内部で次のようなフレーズが機能することがわかります。

「確率は、フィーチャ表現の最良の選択ではありません」

そして

「LDAは、単語、トピック、文書に埋め込まれた実際の意味情報よりも、発生の統計的関係を記述することを好みます。」

異なるモデルをよりよく理解するのに役立ちます。


2

ここでの他の答えは、これらの2つのアルゴリズムの技術的な違いをカバーしていますが、私はコアの違いはそれらの目的だと思います。

word2vec最終的には、単語と固定長ベクトル間のマッピングが生成されます。他のよく知られたアプローチと比較する場合、Bag of Words(BOWモデル)のような同じ意図のために設計された別のツールを使用して比較する方が理にかなっています。これは同じことを行いますがword2vec、単語の順序を使用し、単語表現間の距離に意味的意味を割り当てるなど、いくつかの望ましい機能が欠けています。

LDA一方、可変長ドキュメントからベクトルへのマッピングを作成します。このドキュメントは、文、段落、またはフルテキストファイルにすることができますが、単一の単語ではありません。doc2vec同じ仕事をするものと比較するのがより理にかなっているでしょう、そして、ここでトーマス・ミコロフによって紹介されます(著者は用語を使用しますparagraph vectors)。またはLSIそのことについて。

したがって、2つの質問に直接回答するには:

  1. それらのどれも他の一般化またはバリエーションではありません
  2. LDAを使用して、ドキュメントを固定長のベクトルにマップします。次に、このベクトルを、ドキュメントを受け入れて感傷的なラベルを予測する分類器などの従来のMLアルゴリズムで使用できます。
  3. 単語を固定長のベクトルword2vecにマッピングするために使用します。同様に、これらのベクトルを使用して、入力が単語であるMLモデルをフィードできます。たとえば、前の単語をフィードして次の単語を予測しようとするオートコンプリータを開発する場合です。

1

実用的な観点から...

LDAは、ドキュメント内でどの単語が共起するかを考慮するbag-of-words入力で始まりますが、単語の直接のコンテキストには注意を払いません。これは、単語がドキュメント内の任意の場所に任意の順序で表示されることを意味し、特定のレベルの情報を取り除きます。対照的に、word2vecは、単語が使用されるコンテキストに関するものです。ただし、おそらく正確な順序ではありません。

LDAの「トピック」は数学的構造であり、実際の人間のトピックと混同しないでください。人間の解釈を持たないトピックになる可能性があります-それらは実際のトピックよりもプロセスの成果物に似ています-そして、基本的に同じ人間のトピックをカバーするトピックを含む、さまざまな抽象化レベルのトピックになります。お茶の葉を読むようなものです。

LDAはデータを探索するのに便利ですが、ソリューションを提供するのにはあまり役立ちませんが、走行距離は異なる場合があります。

Word2vecはトピックを直接作成しません。同様の使用法に基づいて単語を高次元の空間に投影するため、空間内で互いに近接している、または反対であると考える単語に関して、独自の驚きがあります。

どちらかを使用して、単語が「類似」しているかどうかを判断できます。LDAを使用する場合:同じトピックで単語の重みが似ているかどうか。word2vecを使用する場合:埋め込みスペースで(ある程度)近接していますか。

いずれかを使用して、ドキュメントが類似しているかどうかを判断できます。LDAを使用すると、同様のトピックの混合物を検索し、word2vecを使用すると、ドキュメントの単語のベクトルを加算するなどの操作を行います。(「ドキュメント」は、文、段落、ページ、またはドキュメント全体である可能性があります。)Doc2vecは、ドキュメントを直接比較できるword2vecの修正バージョンです。

LDAは、バッグオブワードアプローチでいくつかのコンテキスト情報を破棄しますが、word2vecにはないトピック(または「トピック」)があります。したがって、doc2vecを使用して「これに類似するドキュメントを表示する」と言うのは簡単ですが、LDAでは「トピックAが目立つドキュメントを表示する」と言うのは簡単です。(繰り返しになりますが、「トピックA」はドキュメントの数学的プロセスから生まれることを知っているので、それが人間のトピックのほとんどに対応していることを理解します。)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.