我正在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
即使它们完全相同,为什么它们具有所有不同的值。
答案 0 :(得分:0)
TFIDF代表术语频率与文档频率成反比。这意味着对于每个文档中的每个令牌,TFIDF向量化将首先计算文档中令牌的频率。然后,它将按其中也包含令牌的文档的比例反比权重令牌频率。
结果是,每个文档中的每个令牌都将具有一个值,该值反映其对该特定文档的重要性,而该值因其在所有文档中的存在而受到负面加权。
某些TFIDF处理器还可能根据每个文档中还有多少其他标记来增加权重。
简而言之,同一令牌在不同文档中的得分不同,因为该令牌在某些文档中可能比其他文档更普遍地出现。这种流行是由于它的使用频率更高,或者是由于占了文档令牌的较大比例。