搜索引擎词频算法_TF-IDF算法的原理和适用范围剖析

原创 明月SEO  2017-03-02 01:02  阅读 1,195 次

1.TF-IDF原理

TF-IDF(Term Frequency-Inverse Document Frequency),中文叫做词频-逆文档频率。在文本挖掘(Text Mining)和信息检索(Information Retrieval)领域具有广泛的应用。

其难能可贵之处在于:没有繁复的数学推导式,仅需要中学数学水平,便可以在一节课时间理解其原理并上手使用。 设想现在我们正在阅读新闻,如何最快速的了解新闻主旨?毫无疑问——关键词,TF-IDF就具有这样的能力:提取关键词!

假设一个词在一篇文章中出现的次数越多,那么它就越”紧扣主题”。以本文为例,我们可以统计词频(TF),不难发现TF-IDF,原理,应用是出现频率很高的词,后文称keywords。这符合我们的假设,但是有些词却出现的次数更多,如:,等。这类词语没有明确意义,我们称为停顿词(Stopwords)。

如果单纯按照词频算关键词,你会发现几乎所有的文章都是stopwords的词频最高。换句话说,像这种”万金油”,是没有区分度的词语,不能很好的起到将文章分类的作用。这时就需要祭出逆文档频率(IDF)来解决词语权重的问题。

虽然keywords词频不如stopwords高,但是纵观全网的所有文章中,本文的keywords并不是在每篇文章都出现的,而是在很小一部分文章中出现。所以这些keywords是具有高辨识度的,应该给一个更大的权重;相反那些几乎所有文章中都出现的stopwords,则应该给一个很小的权重。

最终,将TF*IDF得出的分值作为每一个词在本文的重要度,就提取出了文章的关键词。

公式化的说法如下,
对于在某一特定文件里的词语 ti 来说,它的重要性可表示为:

算法公式

以上式子中ni,j是该词在文件dj中的出现次数,而分母则是在文件dj中所有字词的出现次数之和。

算法公式2

|D|:语料库中的文件总数

|{ j: ti in dj}| :包含词语 ti的文件数目(即 ni,j != 0的文件数目)如果该词语不在语料库中,就会导致分母为零,因此一般情况下使用1 + |{j : ti in dj}|

算法公式

TF-IDF倾向于过滤掉常见的词语,保留重要的词语。

2.TF-IDF应用

通过Google搜索结果数为例,将含有中文”的”结果数15.8亿作为整个语料库大小,计算上一节中的keyword和stopword的TF-IDF值。为了计算简便,假设全文分词后一共500词,则结果如下:

算法统计结果

F-IDF的优点是计算简单,利于理解,性价比极高。但是它也有缺陷,首先单纯依据文章中的TF来衡量重要性,忽略了位置信息。如段首,句首一般权重更高;其次,有的文章可能关键词只出现1-2次,但可能通篇都是围绕其进行阐述和解释,所以单纯靠TF-IDF算法是不能解决问题的,需要配合其他算法一起使用。百度算法是非常多的,而且是动态的经常更新的。此算法只算是成百上千个算法中的一小个。

本文地址:http://www.brightmoonseo.com/advanced/algorithm/181.html
关注我们:请关注一下我们的微信公众号:扫描二维码,公众号:明月网络营销
版权声明:本文为原创文章,版权归 明月SEO 所有,欢迎分享本文,转载请保留出处!
PREVIOUS:已经是最后一篇了
西安网站制作

发表评论


表情