2

私は潜在的意味分析 (LSA) を学んでおり、用語文書マトリックスを構築し、その SVD 分解を見つけることができます。その分解からトピックを取得するにはどうすればよいですか?

たとえば、gensim では次のようになります。

topic #0(332.762): 0.425*"utc" + 0.299*"talk" + 0.293*"page" + 0.226*"article" + 0.224*"delete" + 0.216*"discussion" + 0.205*"deletion" + 0.198*"should" + 0.146*"debate" + 0.132*"be"
topic #1(201.852): 0.282*"link" + 0.209*"he" + 0.145*"com" + 0.139*"his" + -0.137*"page" + -0.118*"delete" + 0.114*"blacklist" + -0.108*"deletion" + -0.105*"discussion" + 0.100*"diff"
topic #2(191.991): -0.565*"link" + -0.241*"com" + -0.238*"blacklist" + -0.202*"diff" + -0.193*"additions" + -0.182*"users" + -0.158*"coibot" + -0.136*"user" + 0.133*"he" + -0.130*"resolves"
4

1 に答える 1

3

SVD 分解の U、S、V 行列を取得できます: https://github.com/piskvorky/gensim/wiki/Recipes-&-FAQ#wiki-q4-how-do-you-output-the-us -vt-matrix-of-lsi

EDITコメントからの質問への回答:

印刷されたトピックは、単位長に正規化された行列 U (=左特異ベクトル) からの単純なベクトルです。

おそらくhttp://radimrehurek.com/gensim/tut2.html#transforming-vectorsのチュートリアルが役立つかもしれません。

実際に印刷されるのは、その特定のトピックに最も貢献した上位 N 語です (デフォルト = 上位 10 語を印刷)。

これらのトピックが計算される正確な方法はこちらで確認できます。かなり単純です: https://github.com/piskvorky/gensim/blob/0.8.9/gensim/models/lsimodel.py#L447

于 2014-01-30T20:43:15.157 に答える