对于完全相同的单词,tfidf的结果有所不同

时间:2019-02-14 06:23:04

标签: python pandas gensim tf-idf corpus

我正在python中运行tfidf模型。

texts=[**tokenized words**]
dictionary = corpora.Dictionary(texts)
corpus = list(map(dictionary.doc2bow,texts))
test_model = models.TfidfModel(corpus)
corpus_tfidf = test_model[corpus]  

并返回输出,该输出为完全相同的单词提供一些值模式。 例如,我选择了单词“ AAA”。

         key          score
0       "AAA"       1
2323    "AAA"       0.896502
4086    "AAA"       0.844922 

即使它们完全相同,为什么它们具有所有不同的值。

1 个答案:

答案 0 :(得分:0)

TFIDF代表术语频率与文档频率成反比。这意味着对于每个文档中的每个令牌,TFIDF向量化将首先计算文档中令牌的频率。然后,它将按其中也包含令牌的文档的比例反比权重令牌频率。

结果是,每个文档中的每个令牌都将具有一个值,该值反映其对该特定文档的重要性,而该值因其在所有文档中的存在而受到负面加权。

某些TFIDF处理器还可能根据每个文档中还有多少其他标记来增加权重。

简而言之,同一令牌在不同文档中的得分不同,因为该令牌在某些文档中可能比其他文档更普遍地出现。这种流行是由于它的使用频率更高,或者是由于占了文档令牌的较大比例。