2017-06-21 15 views
0

マレットAPIでLDAトピックモデルがどのように実装されているかを理解しようとしています。 ParallelTopicModelクラスでは、typeTopicCountsと呼ばれる2D int配列を見ることができます。この配列は、ビット操作によってbuildInitialTypeTopicCounts()メソッドで初期化され、後で各ドキュメントで使用されます。私の質問は、この配列の値は何を意味していますか?ソースコードから得られる情報は、[機能索引、トピック索引]によって索引付けされていることだけです。トピックモデリングにおけるtypeTopicCountsの機能マレットAPIの実装

答えて

0

LDAのギブスサンプリングの計算パフォーマンスは、各ワードトークンのトピックにわたるサンプリング分布を計算することによって支配されます。トピック・モデルは、単語とトピックとの関係においてまばらなものがたくさんあるように設定されています。できるだけ多くの計算を1つの単語から次の単語に保存し、意味のある計算(ゼロで乗算しないなど)を行うだけで、この計算をより効率的にすることができれば、大きなスピードアップを得ることができます。

typeTopicCountsアレイには、各単語タイプがintの1つの配列を持っています。この配列内の各int値の意味は、とビットシフト演算子を使用するトークンカウントの両方をエンコードします。カウントは上位ビットにあるので、整数を「アンパック」せずにカウントでトピックを並べ替えることができます。この方法のためのチュートリアルから

スライドはここに用意されています

https://mimno.infosci.cornell.edu/slides/fast-sparse-sampling.pdf

関連する問題