NLTK实现TF-IDF,并结合余弦相似度进行文本相似度计算
TF-IDF(词频-逆文件频率)
TF-IDF(term frequency–inverse document frequency,词频-逆文件频率)是一种常用的加权技术,一般被用来寻找文本中的关键词。
TF-IDF实际上可分为TF(term frequency,词频)和IDF(inverse document frequency,逆文件频率):
T F i , j = n i , j ∑ k n k , j TF_{i,j}=\frac{n_{i,j}}{\sum _k n_{k,j}} TFi,j=∑knk,jni,j
其中 ni,j是该词在文件 dj 中出现的次数,分母则是文件 dj 中所有词汇出现的次数总和。
I D F i = log ∣ D ∣ ∣ { j : t i ∈ d j } ∣ IDF_i =\log \frac{|D|}{|\{j:t_i\in d_j\}|} IDFi=log∣{
j:ti∈dj}∣∣D∣
其中,|D|是语料库中的文件总数。 |{j:ti∈dj}| 表示包含词语 ti 的文件数目(即 ni,j≠0 的文件数目)。
文档中某个词的TF-IDF值计算方法即为:
T F − I D F =