3

全て、

私は一連のドキュメントに対して Y!LDA (https://github.com/shravanmn/Yahoo_LDA) を実行してきましたが、結果は素晴らしく見えます (または、少なくとも私が期待するもの)。次に、結果のトピックを使用して、コーパスに対して逆クエリを実行したいと考えています。learntopics 実行可能ファイルの実行後に生成される 3 つの人間が読めるテキスト ファイルが、このライブラリの最終出力であるかどうかは誰にもわかりませんか? もしそうなら、それはクエリを実行するために解析する必要があるものですか? この時点で少し肩をすくめたままです...

ありがとう、アダム

4

1 に答える 1

1

LDA が思い通りに動作している場合 (私は Java 実装を使用しているため、説明が異なる場合があります)、次の 3 つの結果が得られます。

  1. P(word,concept) -- 与えられた概念から単語を得る確率。したがって、LDA がコーパス内に存在する概念の把握を完了すると、この P(w,c) によって (理論的には) どの単語がどの概念に対応するかがわかります。

    概念を決定する非常に単純な方法は、このファイルをマトリックスにロードし、何らかの方法 (加算、乗算、二乗平均平方根) でテスト ドキュメントのすべての可能な概念のこれらすべての確率を結合し、概念をランク付けすることです。

    上記の方法では、LDA であまり表現されていないトピックや支配的なトピックによって導入されたさまざまなバイアスが認識されないことに注意してください。これに対応するには、より複雑なアルゴリズム (ギブス サンプリングなど) が必要ですが、これである程度の結果が得られます。

  2. P(concept,document) -- コーパス内のドキュメントに固有の概念を見つけようとしている場合は、ここを参照してください。ドキュメントを特定の概念分布を持つドキュメントの例として使用し、ドキュメントを LDA コーパス ドキュメントと比較できます...これには用途がありますが、P(w,c) ほど有用ではない場合があります。

  3. おそらく単語、文書、または概念の重みに関連する何か。これは、(概念の) ベータ ウェイトを使用した一連の概念の例、または LDA から出力されるその他の変数と同じくらい単純です。これらは、あなたが何をしているかによって、重要かもしれませんし、重要でないかもしれません。(ドキュメントを LDA スペースに追加しようとしている場合、アルファ値またはベータ値を持っていることが非常に重要です。)

「逆引き」の質問に答えて、テスト ドキュメントの概念を判断するには、テスト ドキュメント内の各単語 w に対して P(w,c) を使用します。

どのドキュメントがテスト ドキュメントに最も似ているかを判断するには、上記の概念を決定し、P(c,d) で見つかった各ドキュメントの概念と比較します (各概念をベクトル空間の次元として使用し、余弦を決定します)。 2 つのドキュメントの間で問題なく動作する傾向があります)。

2 つのドキュメント間の類似性を判断するには、上記と同じように、2 つの概念ベクトル間のコサインを判断するだけです。

それが役立つことを願っています。

于 2012-12-31T03:34:20.787 に答える