TF-IDF和BM25算法对比:词频与逆文档频谁更重要
众多从事SEO工作的人员,历经了好几年的搜索优化操作。然而,却始终弄不明白TF-IDF以及BM25究竟存在着怎样的区别。简约来讲,这两种算法均是用于衡量关键词与文档相关性的工具。不过,BM25能够理解为是TF-IDF的一种升级版本,它解决了后者所具有的一些明显存在的缺陷。要是理解它们的原理,那么就能帮助你更加精准地判定页面内容是不是契合搜索引擎的喜好。
TF和IDF谁是主角
其被称作词频的TF,是指代某个词于页面里出现的次数。那作为逆文档频率的IDF,是用于衡量该词在整个文档库之中的稀有程度。于实际展开计算期间,这两者均不可或缺,然而所发挥的作用并不相同。
TF承担着捕捉页面内部信息的职责,一个词汇于页面之中出现的次数越多,从理论层面来讲这个词汇就越具重要性。然而仅仅使用TF会存在问题,比如说众多页面会对关键词进行重复堆砌,搜索引擎明显是不会对这种行为予以奖励的。
IDF是朝着全局视野去考量的,要是一个词汇在极其多的页面里出现,就像“的”、“是”这种属于停用词范畴的,其具备的区分特性便很低。真正能够起到决定性功用的是那些IDF数值高的稀罕词汇,它们才是页面所独具的特色之处。
BM25算法的核心构成
作为许多搜索引擎至今仍在使用的核心打分公式,BM25算法,也就是Best Matching第25版,在2000年左右被提出,其思路是先对查询语句作出分词处理,接着计算每个词跟文档的相关性得分,最后进行加权求和。
该算法涵盖三个能够调节的参数,分别是k1、k2以及b,k1把控词频的饱和度,避免某个词出现次数过多致使得分无限制增长,b参数用以调节文档长度对于得分的影响,一般设定为0.75,这意味着文档长度会对约75%的相关性判断产生作用。
词频在BM25中的计算方式
于BM25里,词频并非单纯简单的线性呈现增长态势。有一个词于文档之中出现了10次,然而其得分并非是出现1次所对应得分的10倍。该算法借助一个饱和样式的函数予以控制,一旦词频抵达一定界限值之后,增加的次数针对得分的贡献会变得越来越小。
这般去做所具备的好处是极为显著明晰的,能够起到防止关键词过度堆砌的作用。举例来说,有一篇文章特意将核心词语重复五十回呢,在传统的TF-IDF情形之下,或许能够获取超高的得分成效,然而在BM25的状况之下,那多出来的三十次重复基本上不会有额外的收益收获。
文档长度对得分的影响
BM25开展了文档长度的归一化处置,它将当前文档的长度与所有文档的平均长度予以比较,在长的文档里头,即便关键词出现的次数较多,也不会借此获取不公平的优势。
假定两篇文章均涵盖关键词“SEO培训”,一篇字数为500字,另一篇为2000字。要是它们这个词都出现了5次,那么短篇文章的相关性得分会显著高于长篇,原因在于长篇里这个词的密度比较低。
IDF在算法中的权重
逆文档频率在BM25里依旧是起着关键作用的,它是用来测定用语的稀罕程度的。要是有一个词在越少的文档当中被呈现,那它的逆文档频率数值就会越大,对于最终得分的有助含量也就会越高。
例如,当用户进行“SEO培训”的搜索时,此词汇较为常见,所以IDF值不会处于较高水平。然而,要是搜索“哈尔滨SEO培训”,那么后者的IDF值便会显著提高,原因在于包含这一完整长尾词的页面数量较少,一旦取得匹配成功的结果,得分就会有明显的提升。
实际应用中的参数调优
于实际的搜索引擎应用里,k1以及b这两个参数,会依据各异的业务场景予以调整,新闻搜索来讲,或许更看重时效方面,会相机降低b值,削减文档长度所带来的影响,学术搜索的话,则很可能提升k1值,使得关键词出现频率能发挥出更大的作用。
针对商业搜索引擎,像Elasticsearch里面是内置了BM25算法的,用户能够对这些参量进行自由调节,在默认情形下,k1选取的是1.2,b选取的是0.75,而这套参量是经过大量测试的,在多数场景当中呈现出良好的表现。
读完这一文章,你认为于实际的SEO工作当中,是更应当留意关键词于页面之上呈现的次数吗,还是更应当去挖掘那些竞争小的稀有词汇呢,欢迎于评论区分享你的看法,点个赞以使更多同行看到这一干货。


还没有评论,来说两句吧...