[英]How to get the tf-idf values in gensim in python
我正在使用genism計算我的tf-idf值,如下所示。
texts = [['human', 'interface', 'computer'],
['survey', 'user', 'computer', 'system', 'response', 'time'],
['eps', 'user', 'interface', 'system'],
['system', 'human', 'system', 'eps'],
['user', 'response', 'time'],
['trees'],
['graph', 'trees'],
['graph', 'minors', 'trees'],
['graph', 'minors', 'survey']]
dictionary = corpora.Dictionary(texts)
corpus = [dictionary.doc2bow(text) for text in texts]
tfidf = models.TfidfModel(corpus)
現在,我想獲得tf-idf值最高的3個單詞。 請幫我!
經過一番搜索后,您似乎可能需要這樣做-雖然不是最易讀,但可能會起作用。
top_3 = [t[0] for t in
sorted([(word, i, j) for j, text in enumerate(texts) for i, word in enumerate(text)],
key=lambda t: tfidf[t[2]][t[1]])[:3]]
我從文本中選取(word, i, j)
並使用形式為(word, i, j)
的元組跟蹤它們的行(如i)和列(如(word, i, j)
。 然后,我根據單詞在tfidf
的值對單詞進行排序。 然后,我取前3位(使用[:3]
),並用t[0] for t in ...
將該單詞從元組中取出,表示t[0] for t in ...
。
可以輕松地對其進行修改以按順序存儲任意數量的單詞。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.