针对词语在多个文件里该怎么使用TF-IDF计算词频?

针对词语在多个文件里该怎么使用TF-IDF计算词频?,第1张

TF-idf算法其实是一种用户资讯检索与资讯探勘的常用加权技术,常常被SEOER们应用到,而很多人或许不太知道,其实最直观的了解就是“网站关键词密度”。 直接切入主题,TF-idf算法到底是如何计算的: 公式: TF:词频 IDF:逆文本频率指数 TF-IDF=TF*IDF 我们举例说明,TF词频的意思,是指一个词出现在页面中的次数,如果一篇文章的总词语数是200,而“网站优化”这个词出现了4次,那么这个词频TF=4/200,也就是0.02。 而IDF也就是很文件频率,指这个词在多少页面出现过计数为N,文件总数计数为M,那么IDF=lg(M/N)。假设“网站优化”在2000个页面出现,总文件数为1亿,那么文件频率IDF=lg(100000000/2000)=4.69897,那么计算最后的TF-IDF=0.02*4.69897=0.0939794。 这只是一个判断一个页面的相关度的问题,而在SEO网站优化中,并不只是判断TF-IDF的值加分,我们需要一个识别度高的词来为页面加分。例如:搜索引擎收录一万亿个页面,应该说每个页面都会有“的、是、中、地、得”等等词,这些高频词也叫噪音词或停止词,搜索引擎会去除这些词,所以这些词的加分权重其实应该是0。计算公式:TF-IDF=log(1万亿/一万亿)=log1=0。 其实在搜索引擎检索中,计算权重的时候,会根据每个词分词来计算,例如:“SEO网站优化的技巧”这个词。 假设:SEO页面检索数位2000万,网站优化的检索数为1000万,技巧的检索数为50000万 搜索引擎索引总数假设为100亿。 SEO在www.ruihess.com这个网站中页面(页面总词数400)出现8次,网站优化出现10次,技巧出现16次。 那么各自的词频 TF(SEO)=8/400=0.02, TF(网站优化)=10/400=0.025 TF(技巧)=20/400=0.04 TF(的)=上面已近提到,的属于高频停止词,权重为0。 那么搜索“SEO网站优化的技巧”这个页面的相关度为:TF(总)=0.02+0.025+0.05=0.095。 而IDF(SEO)=LOG(10000000000/20000000)=2.69897 IDF(网站优化)= LOG(10000000000/10000000)=3 IDF(技巧)=log(10000000000/100000000)=1.69897 这么算下来之后,每个词为搜索“SEO网站优化的技巧”为页面的权重和相关度贡献的值分别为: Tf-idf(seo)=0.02*2.69897=0.0539794 Tf-dif(网站优化)=0.025*3=0.075 Tf-idf(技巧)=0.04*1.69897=0.0679588 由此可以看出,虽然技巧出现的频率更高,但识别度没有SEO和网站优化高,所以为页面的权重贡献度并不是太大。 一个词的预测能力也就是识别度越高,那么这个词的权重越大,反之则越小,看到“网站优化“可能你就已经基本了解这个页面要讲什么,但是看到技巧,你可能还不是太明白页面的主题。 当然这支持搜索引擎的算法的一个点,我们还要结合标签来实现权重的提升,例如H标签,而主关键词周边的词也会加分,这里周边是指在一个标签内的例如:SEO网站优化的技巧主要是一些搜索引擎优化

在信息检索中,tf-idf(词频-逆文档频率)是一种统计方法,用以评估一个单词在一个文档集合或语料库中的重要程度。经常被用作信息检索、文本挖掘以及用户模型的权重因素。tf-idf的值会随着单词在文档中出现的次数的增加而增大,也会随着单词在语料库中出现的次数的增多而减小。tf-idf是如今最流行的词频加权方案之一。

tf-idf的各种改进版本经常被搜索引擎用作在给定用户查询时对文档的相关性进行评分和排序的主要工具。tf-idf可以成功地用于各种主题字段的停用词过滤,包括文本摘要和分类。

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

通俗理解TF-IDF就是:TF刻画了词语t对某篇文档的重要性,IDF刻画了词语t对整个文档集的重要性。

TF(Term Frequency,词频)表示一个给定词语t在一篇给定文档d中出现的频率。TF越高,则词语t对文档d来说越重要,TF越低,则词语t对文档d来说越不重要。那是否可以以TF作为文本相似度评价标准呢?答案是不行的,举个例子,常用的中文词语如“我”,“了”,“是”等,在给定的一篇中文文档中出现的频率是很高的,但这些中文词几乎在每篇文档中都具有非常高的词频,如果以TF作为文本相似度评价标准,那么几乎每篇文档都能被命中。

对于在某一文档 d j 里的词语 t i 来说,t i 的词频可表示为:

IDF(Inverse Document Frequency,逆向文件频率)的主要思想是:如果包含词语t的文档越少,则IDF越大,说明词语t在整个文档集层面上具有很好的类别区分能力。IDF说明了什么问题呢?还是举个例子,常用的中文词语如“我”,“了”,“是”等在每篇文档中几乎具有非常高的词频,那么对于整个文档集而言,这些词都是不重要的。对于整个文档集而言,评价词语重要性的标准就是IDF。

某一特定词语的IDF,可以由总文件数除以包含该词语的文件数,再将得到的商取对数得到:

TFIDF算法是建立在这样一个假设之上的:对区别文档最有意义的词语应该是那些在文档中出现频率高,而在整个文档集合的其他文档中出现频率少的词语,所以如果特征空间坐标系取TF词频作为测度,就可以体现同类文本的特点。另外考虑到单词区别不同类别的能力,TF-IDF法认为一个单词出现的文本频数(即包含某个单词的文本数)越小,它区别不同类别文本的能力就越大。因此引入了逆文本频度IDF的概念,以TF和IDF的乘积作为特征空间坐标系的取值测度,并用它完成对权值TF的调整,调整权值的目的在于突出重要单词,抑制次要单词。但是在本质上IDF是一种试图抑制噪声的加权,并且单纯地认为文本频率小的单词就越重要,文本频率大的单词就越无用,显然这并不是完全正确的。IDF的简单结构并不能有效地反映单词的重要程度和特征词的分布情况,使其无法很好地完成对权值调整的功能,所以TF-IDF法的精度并不是很高。

此外,在TFIDF算法中并没有体现出单词的位置信息,对于Web文档而言,权重的计算方法应该体现出HTML的结构特征。特征词在不同的标记符中对文章内容的反映程度不同,其权重的计算方法也应不同。因此应该对于处于网页不同位置的特征词分别赋予不同的系数,然后乘以特征词的词频,以提高文本表示的效果。

其实这是一个很简单的算法。

先来学习一下概念:

在实际的使用过程中,实际上先使用历史存量数据计算出每个词的IDF值,作为一个原始信息,在对新内容进行处理时,只需要计算出TF值就可以了,然后对这篇内容的所有词计算出TFIDF值,然后进行排序就ok了。

TFIDF是一种十分简单的关键词提取方案,在实际的应用中,还可以进行多种算法的融合,之后我再慢慢介绍。

当然了,该算法还有一些变种,基本上基于下面几种方法,有兴趣的可以了解一下。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/748271.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-15
下一篇2023-08-15

发表评论

登录后才能评论

评论列表(0条)

    保存