2016-04-15 24 views
4

私は、自分のTF-IDFスコアに基づいてコーパス内で最も重要な単語を見つけようとしています。Gensimを使用してTF-IDFスコアを取得する

https://radimrehurek.com/gensim/tut2.htmlの例に従ってください。

>>> for doc in corpus_tfidf: 
...  print(doc) 

に基づいて、各反復でTF-IDFスコアが更新されています。例えば、

  • ワード0(https://radimrehurek.com/gensim/tut1.htmlに基づいて "コンピュータ")は、0.5773(DOC#1)、0.4442(DOC#2)のTF-IDFスコアを有します。
  • のWord 10( "グラフ")0.7071(ドク#7)のTF-IDFスコアを有する、0.5080(ドク#8)、0.4588(ドク#9)

だからここに私は方法です現在、各単語の最終的なTF-IDFスコアを取得しています。

tfidf = gensim.models.tfidfmodel.TfidfModel(corpus) 
corpus_tfidf = tfidf[corpus] 
d = {} 
for doc in corpus_tfidf: 
    for id, value in doc: 
     word = dictionary.get(id) 
     d[word] = value 

良い方法はありますか?

ありがとうございます。

答えて

2

辞書の補完はどうですか?

d = {dictionary.get(id): value for doc in corpus_tfidf for id, value in doc} 
関連する問題