python文本处理 – TF-IDF原理及实例演示
代码基于python 3.5.2
简要概述:
TF-IDF(Term Frequency-Inverse Document Frequency, 词频-逆文件频率).
是一种用于资讯检索与资讯探勘的常用加权技术。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。
简言之:一个词语在某一文本中出现越多,在其他文本中出现越少,越能代表这一文本。
原理解释:
在理解原理之前,先理解其中的几个专有词汇:
语料(corpus):一组原始文本的集合,用于无监督地训练文本主题的隐层结构。语料中不需要人工标注的附加信息。在Gensim中,corpora是文档集的表现形式,也是后续进一步处理的基础。从本质上来说,corpora其实是一种格式或者说约定,其实就是一个二维矩阵。
向量(vector):由一组文本特征构成的列表。是一段文本在Gensim中的内部表达。
词典(dictionary):是所有文档中所有单词的集合,而且记录了各词的出现次数等信息。
词频 (term frequency, TF) :
某一个给定的词语在该文件中出现的次数。这个数字通常会被归一化(一般是词频除以文章总词数), 以防止它偏向长的文件。(同一个词语在长文件里可能会比短文件有更高的词频,而不管该词语重要与否。)
公式: