TF-IDF基本原理

1.TF-IDF介绍

TF/IDF(term frequency–inverse document frequency)用以评估字词 对于一个文件集其中一份文件的重要程度。字词的重要性随着它在文件中出 现的次数成正比增加,随着它在语料库中出现的频率下降。注意前后的中心词不一样。

• 词频 (term frequency, TF) 词语在文件中出现的次数,一般进行归一化,防止长文件数字过大。(同一个词语在长文件里可能会比短文件有更高的词频,而不管该词语重要与否。)

• 逆向文件频率 (inverse document frequency, IDF) 是一个词语普遍重要性的度量。总文件数除以包含该词语文件数,再将得到的商取对数

• 结论:在某特定文件内的高频率词语,但是该词语在整个文件集合中在较少 文件中出现,TF-IDF值较高。

TF-IDF的主要思想:如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。TF-IDF实际上是:TF * IDF,TF词频(Term Frequency),IDF逆向文件频率(Inverse Document Frequency)。 

IDF的主要思想是:如果包含词条t的文档越少,也就是n越小,IDF越大,则说明词条t具有很好的类别区分能力。如果某一类文档C中包含词条t的文档数为m,而其它类包含t的文档总数为k,显然所有包含t的文档数n=m+k,当m大的时候,n也大,按照IDF公式得到的IDF的值会小,就说明该词条t类别区分能力不强。(另一说:IDF逆向文件频率(Inverse Document Frequency)是指果包含词条的文档越少,IDF越大,则说明词条具有很好的类别区分能力。)但是实际上,如果一个词条在一个类的文档中频繁出现,则说明该词条能够很好代表这个类的文本的特征,这样的词条应该给它们赋予较高的权重,并选来作为该类文本的特征词以区别与其它类文档。这就是IDF的不足之处.

公式:

 

ni,j表示某词在文件出现的次数,分母是文件中字数总和 

其中| D |表示语料库文件总数,表示包含某词的文件总数。

最后    TF-IDF=TFij*IDFi

2.TF-IDF文章相似度计算流程:

• A、使用TF-IDF算法,分别找出两篇文章的关键词;

• B、分别取每篇文章TF/IDF值top15(戒者其他值)的词,合并成一个 集合,计算该集合下,每篇文章关键词的相对词频;

• C、分别生成两篇文章的词频向量;

• D、计算两个向量的余弦相似度,值越大就表示越相似。 

3.应用举例

• S1:香蕉和苹果都是水果。 

• S2:香蕉和苹果都是水果,也是常见的水果。

• 1)分词:S1:香蕉/和/苹果/都/是/水果/。  S2:香蕉/和/苹果/都/是 /水果/,/也/是/常见/的/水果/。

• 2)合并所有的词为集合(无重复词)(香蕉  和  苹果  都  是  常见  的  水果 也)

• 3)计算每个句子词频向量: • v1=[1,1,1,1,1,0,0,1,0],v2=[1,1,1,1,2,1,1,2,1]

• 4)计算余弦相似度 

posted @ 2018-08-06 15:48  bep_code  阅读(901)  评论(0编辑  收藏  举报