其实这是一个很简单的算法。
先来学习一下概念:
DOCNUM 这个参数是全局文档数目
TF (term frequency)
这个参数可以理解为词频,即一个词在一篇内容中出现的词数。这个数越大可以认为该词对这篇内容的贡献度越高DF (document frequency)
文档频率,这个参数是某个词在全局的文档中出现的篇数
如果DF越大可以认为词越重要,但是这样很多常用词也会变成重要词,所以进行IDF计算IDF (inverse DF)
这个为一个计算值,公式可以为log(docnum/DF)或者log(docnum/(DF+1)),这样,如果一个词在所有的内容上都有出现,那么说明这个词是一个很普通的词,实际对语义的贡献很小。TFIDF
用TF * IDF就可以了
在实际的使用过程中,实际上先使用历史存量数据计算出每个词的IDF值,作为一个原始信息,在对新内容进行处理时,只需要计算出TF值就可以了,然后对这篇内容的所有词计算出TFIDF值,然后进行排序就ok了。
TFIDF是一种十分简单的关键词提取方案,在实际的应用中,还可以进行多种算法的融合,之后我再慢慢介绍。
当然了,该算法还有一些变种,基本上基于下面几种方法,有兴趣的可以了解一下。