[SEO算法]TF-ID是什么,对SEO有什么作用

  • A+
所属分类:SEO优化

一、tf-idf算法简介:
tf-idf算法是信息检索和数据挖掘中常用的加权技术 Tf表示术语频率,IDF表示相反的文档频率。TF-IDF是一种传统的统计算法,用于评估文档集中单词对文档的重要性。 它与当前文档中该词的词频成正比,与文档集中的其他词频成反比。[SEO算法]TF-ID是什么,对SEO有什么作用

ii。tf-idf算法应用的自动关键词提取:
有一篇很长的文章。我想用电脑提取它的关键词(自动关键词提取),而不需要任何人工干预。我怎样才能正确地做这件事?这个问题涉及许多计算机前沿领域,如数据挖掘、文本处理、信息检索等。但是出乎意料的是,有一个非常简单的经典算法可以给出非常令人满意的结果。 它非常简单,不需要高等数学。普通人只需10分钟就能理解。这是我今天要介绍的tf-idf算法。 让我们从一个例子开始 假设有一篇很长的文章“seo在中国的未来发展方向在哪里”,我们将使用计算机来提取它的关键词。
一个简单的思考方法是找到出现频率最高的单词。 如果一个词很重要,它应该在本文中出现多次。 因此,我们进行术语频率统计(缩写为tf) 因此,你一定猜到了最经常出现的词是最常用的词,如“得”、“也”和“在” 它们被称为停止词,意思是对寻找结果没有帮助的词,必须被过滤掉。 假设我们过滤掉它们,只考虑剩下的有实际意义的单词。 这样,我们会遇到另一个问题。我们可能会发现,中国、发展和方向这三个词出现的次数是一样的。 这是否意味着作为关键词,它们同样重要?显然不是 因为中国是一个非常普通的词,相对来说,它的发展和方向就不那么普通了。 如果这三个词在一篇文章中出现多次,有理由相信发展和方向的重要性大于中国,也就是说,在关键词排名方面,发展和方向应该领先于中国。 因此,我们需要一个重要性调整系数来衡量一个词是否是一个普通的词。 如果一个词很少见,但在本文中出现过多次,那么它可能反映了本文的特点,这正是我们需要的关键词。
用统计语言表示,也就是说,根据词频,每个词都应被赋予一个重要权重。 最常见的词(的、是和是)的权重最小,更常见的词(中国)的权重较小,而不太常见的词(发展、方向)的权重较大。 这个权重被称为反向文档频率(缩写为idf),其大小与单词的共同程度成反比。
在知道单词频率(tf)和逆文档频率(idf)后,将这两个值相乘以获得单词的tf-idf值 一个词对文章越重要,它的tf-idf值就越大。 因此,前几个词是本文的关键词。
这是这个算法的细节
第一步,计算词频:

考虑到文章的长度,为了便于不同文章的比较,规范词频

步骤2,计算逆文档频率:
此时,需要一个语料库来模拟语言使用环境

如果一个单词更常见,分母更大,逆文档频率更小且更接近0 分母增加1以避免分母为0(即所有文档都不包含该单词) 对数意味着对获得的值取对数
步骤3,计算tf-idf:

可以看出,tf-idf与文档中某个单词的出现次数成正比,与整个语言中该单词的出现次数成反比。 因此,自动提取关键词的算法非常明确,即计算文档中每个单词的tf-idf值,然后按降序排列以取前几个单词
以《中国蜜蜂育种》为例,假设文章长度为1000字,中国、蜜蜂和育种各出现20次,三个词的词频(tf)为0.02 然后,搜索谷歌发现有250亿个网页包含单词,假设这是中国网页的总数。 包括中国在内共有62.3亿个网页,包括蜜蜂在内有4840万个网页,包括育种在内有9730万个网页 从上表可以看出,蜜蜂的tf-idf值最高,其次是栽培,中国最低。 (如果还计算了单词的tf-idf,它将是一个非常接近于0的值 因此,如果只选择一个词,蜜蜂就是本文的关键词。
tf-idf算法可用于除自动关键词提取之外的许多其他地方 例如,在信息检索中,对于每个文档,可以分别计算一组搜索词(中国、蜜蜂、育种)的tf-idf,并且可以通过将它们相加来获得整个文档的tf-idf 具有最高值的文档是与搜索词最相关的文档。
tf-idf算法具有简单快速的优点,其结果符合实际情况。 缺点是仅仅通过词频来衡量一个单词的重要性是不全面的。有时重要的词可能不会出现很多次。 此外,该算法不能反映单词的位置信息。出现在前面的单词和出现在后面的单词被认为具有相同的重要性,这是不正确的。 (一个解决办法是更加重视全文的第一段和每一段的第一句话。) )
3。在tf-idf算法的应用中找出类似的文章:
让我们再来研究另一个相关问题 有时,除了找到关键词,我们还希望找到与原始文章相似的其他文章。 例如,谷歌新闻也在主要新闻下提供了几个类似的新闻项目。

余弦相似性是寻找相似文章所必需的。 接下来,我将举一个例子来说明余弦相似性是什么。
为了简单起见,让我们从句子开始:
句子甲:我喜欢看电视,但我不喜欢看电影
句子乙:我不喜欢看电视,我也不喜欢看电影
我如何计算以上两个句子之间的相似性?
基本思想是,如果这两个句子中使用的词相似,它们的内容应该更相似。 因此,我们可以从词频开始计算它们的相似度。
第一步,分词
句子甲:我/喜欢/看/电视,不/喜欢/看/电影
句子乙:我/不/喜欢/看/电视,也/不/喜欢/看/电影
步骤2,列出所有单词
我喜欢看电视、电影,不,也喜欢
步骤3:计算词频
句子甲:我1岁,像2岁一样,看2部,看1部电视,看1部电影,也是0
句子乙:我喜欢2,看2,看电视1,电影1,第2,还有1
步骤4:写出单词频率向量
句子a: [1,2,2,1,1,1,0]
句子b: [1,2,2,1,1,2,1]
这里,问题变成如何计算两个向量之间的相似性
我们可以把它们看作空之间的两个线段,都从原点([0,0,...])并指向不同的方向 两条线段之间形成夹角。如果夹角为0度,表示方向相同,线段重合。如果夹角为90度,这意味着形成直角,方向完全不同。如果夹角是180度,这意味着方向正好相反。 因此,我们可以通过夹角的大小来判断向量的相似性。 夹角越小,越相似。

以二维空间空为例。上图中的a和B是两个向量。我们需要计算它们的夹角。 余弦定理告诉我们,我们可以使用以下公式:

假设向量a是[x1,y1]而向量b是[x2,y2],那么我们可以将余弦定理改写成以下形式:

数学家已经证明这种余弦计算方法对于n维向量也是有效的 假设a和b是两个n维向量,a是[a1,a2,。。。,an],b是[b1,b2,。。。,bn],那么a和b之间的夹角余弦等于:

使用这个公式,我们可以得到a句和b句之间的夹角余弦

的余弦值越接近1,夹角越接近0度,即两个向量越相似,这被称为余弦相似度。 因此,上面的句子甲和句子乙非常相似。事实上,它们的夹角约为20.3度。
这样,我们得到了一个查找相似文章的算法:
(1)使用tf-idf算法查找两篇文章的关键词;
(2)每篇文章取出若干关键词(如20个),并将其合并成一个集合,以计算该集合中单词的每篇文章的词频(为了避免文章长度的差异,可以使用相对词频);
(3)分别生成两篇文章的词频向量;
(4)计算两个向量的余弦相似度。值越大,越相似。
余弦相似度是一种非常有用的算法。只要它用于计算两个向量之间的相似性,就可以使用它。

胖虎SEO博客

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: