使用Gensim获取单词的TF-IDF分数



我正试图根据语料库中最重要的单词的TF-IDF分数来找到它们。

一直以https://radimrehurek.com/gensim/tut2.html.基于

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

TF-IDF得分在每次迭代中被更新。例如,

  • Word 0("计算机"基于https://radimrehurek.com/gensim/tut1.html),TF-IDF得分为0.5773(Doc#1),0.4442(Doc#2)
  • Word 10("图表")的TF-IDF得分为0.7071(Doc#7)、0.5080(Doc#8)、0.4588(Doc#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

有更好的方法吗?

提前谢谢。

使用字典理解怎么样?

d = {dictionary.get(id): value for doc in corpus_tfidf for id, value in doc}

最新更新