21

トピックの曖昧さの解消と割り当てのために潜在的なディリクレ割り当てを試しており、アドバイスを求めています。

  1. どのプログラムが「最良」であるか、最も使いやすい、最良の事前推定、高速の組み合わせ
  2. 話題性についての直感をどのように取り入れるか。同じ著者によるすべての記事のように、コーパス内のいくつかのアイテムが実際には同じカテゴリにあることを知っているとしましょう。それを分析に追加できますか?
  3. 乗船する前に知っておくべき予期しない落とし穴やヒントはありますか?

どのようなプログラムでも R または Python のフロント エンドがあればいいのですが、C を扱うことになると思います (そして受け入れます)。

4

6 に答える 6

17
  1. http://mallet.cs.umass.edu/は、最も優れたプラグアンドプレイの LDA パッケージです。Gibbs サンプリングを使用してトピックを推定し、多くの余分なベルを備えた非常に簡単なコマンドライン インターフェイスを備えています。 -n-whistles (いくつかのより複雑なモデル、ハイパーパラメーターの最適化など)

  2. アルゴリズムに仕事を任せるのが最善です。LDA (および pLSI など) の変種が存在する可能性があります。これにより、ある種の半教師付き処理が可能になります..現時点では何も知りません。

  3. ストップワードやその他の非常に頻度の高い単語を削除すると、トピックの品質が大幅に向上するように見えました(厳密なメトリックではなく、各トピックのトップワードを見て評価されます)。良い。

于 2010-04-15T22:01:58.793 に答える
6
  1. Rの好みについて言及しましたが、topicmodels(遅い)またはlda(速い)の2つのパッケージを使用できます。Python にはdeltaLDApyLDAGensimなどがあります。

  2. 特定のトピックまたは単語を使用したトピック モデリングは、そのままではトリッキーです。David Andrzejewskiは、それを行うように思われる Python コードをいくつか持っています。監視対象 LDA の C++ 実装がここにあります。そして、関連するアプローチに関する多くの論文(DiscLDALabeled LDAですが、とにかく使いやすい形式ではありません...

  3. @adi92 が言うように、ストップワード、空白、数字、句読点、ステミングをすべて削除すると、大幅に改善されます。考えられる落とし穴の 1 つは、トピックの数が間違っている (または不適切な) ことです。現在、与えられたサイズのコープルに最適なトピックの数などを簡単に診断する方法はありません。MALLET (最速) には、非常に便利なトピックの品質を測定する手段がいくつかあります。

于 2011-11-10T21:07:54.973 に答える
1

通常の 情報源に加えて、これについて話している最も活発な分野はトピックモデルlistservにあるようです。私の最初の調査から、理解するのが最も簡単なパッケージはLDAMatlabパッケージです。

これはまったく軽量なものではないので、良いリソースを見つけるのが難しいのは驚きではありません。

于 2008-10-10T21:10:28.077 に答える
1

この種の分析には、LingPipeを使用しました:http://alias-i.com/lingpipe/index.html。これはオープンソースのJavaライブラリであり、その一部を直接または移植して使用しています。独自のデータを組み込むには、単純ベイズなどの分類器を組み合わせて使用​​できます。私の統計的nlpの経験は限られていますが、通常、分類子の設定、トレーニング、結果の確認、調整のサイクルに従います。

于 2008-10-10T21:17:22.273 に答える
0

i second that. Mallet's lda uses a sparselda data structure and distributed learning, so its v fast. switching on hyperparameter optimization will give a better result, imo.

于 2011-04-21T08:02:19.503 に答える