我在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
为什么即使它们完全相同,它们也具有各种不同的值。
TFIDF代表Term Frequency逆文档频率。这意味着对于每个文档中的每个标记,TFIDF向量化将首先计算文档中标记的频率。然后,它将通过在其中也具有令牌的文档的比例对令牌频率进行反向加权。
结果是每个文档中的每个标记都将具有反映其对该特定文档的重要性的值,并且通过其在所有文档中的存在而被加权。
一些TFIDF处理器还可以基于每个文档中有多少其他令牌来添加额外的加权维度。
简而言之,相同的令牌在不同的文档中具有不同的分数,因为该令牌可能在某些文档中比其他文档更普遍地发生。这种流行程度要么是因为它更频繁,要么占据了文档令牌的更大比例。