Skip to main content
 首页 » 编程设计

python之关于在 gensim 中如何实现 tf-idf 模型的一些困惑

2025年05月04日11EasonJim

我正在研究 tf-idf 模型。我不太清楚这个模型是如何实现的。当我尝试打印模型时,我现在已经构建了模型,它为同一术语提供了不同的值。以下两个术语给出了这些结果:

doc_bow = [(0, 1), (1, 1)] 
val1= tf_idf_corpus[doc_bow]  
 
doc_bow = [(0,1)] 
val2=tf_idf_corpus[doc_bow]  

结果如下:

val1= [(0, 0.56486634414605663), (1, 0.82518241210720711)] 
val2=[(0, 1.0)] 

我只是想知道,为什么第 0 项的 tf-idf 值在 val1 中为 0.5648 而在 val2 中为 1.0。

请您参考如下方法:

文档可能有助于消除您的困惑:http://radimrehurek.com/gensim/models/tfidfmodel.html

I am just curious to know, why tf-idf value of term 0 is 0.5648 in val1 and 1.0 in val2.

输出向量被归一化为单位(欧氏)长度。您可以使用 normalize 构造函数参数将其关闭。