在我的SEO不常见的几个工具分享这篇文章中,介绍了一个页面相似度查询的工具页面,即Similar Page Checker,这个工具很好用,输入两个你要比较的页面,即可以查看出两个页面的相似程度,这个工具可以让你尽量降低页面的相似度,以免被搜索引擎惩罚。本月中,我们自己也需要实现这个功能,做一个这样的SEO工具,其实,这个功能看似简单,但却包含了不少核心算法的东西在里面,本篇就这个相似度的问题,引申出一些相似度查询的算法来。
相似度查询的一些算法,列表如下:
1,cosine similarity。它是评测两个向量的相似度,通过两个夹角的cos值来实现。给定向量A和B,cosine相似度θ就可以通过以下公司计算:
2,Jaccard similarity。即Jaccard Index,是用来统计样本集合的相似度的,它采用两个集合的交集除以两个集合的并集来实现:
3,Dice’s coefficient。
4,Overlap coefficient。类似Jaccard index。
5,Edit distance。即Levenshtein distance,在信息理论或者计算机科学中,是用来在文本阵列中测量两段文字的不同量。
6,Plagiarism detection。即剽窃检测。随着互联网的高速发展,人们对于信息和文章的来源获取变得异常方便,而抄袭就变得一下子那么容易,剽窃检测就变得尤为重要起来,剽窃检测一般用于科学论文的鉴定、艺术设计的评测,以及源代码的比较等方面。
该算法的应用场景及引申:
1,代码比较。做过开发的人肯定知道一些代码比对工具,这个在版本管理工具中很重要,比如svn中check下来的代码,经过修改后,你想提交到服务器,在提交之前,你需要跟现有版本做一下比对,确认一下修改的具体代码片段,以此来作个验证,是个很好的习惯。当然,在linux中,也有这样一个工具,叫diff,它可以让你通过命令方式来比较两个文件的不同之处。
2,作业检查。老师布置给学生作业,如何检查学生的抄袭现象?通过计算机的使用,使用文本相似度比较,就可以很容易得出答案。
3,版权保护。如何拒绝剽窃和抄袭现象,更好的保护知识产权,通过文本相似度的比对,也可以很轻易的做到。
4,指纹匹配,人脸识别。对于指纹以及人脸识别,其实就涉及到了图形图像的相似度比对中来了,这里可能引申的有点大,但是乐天SEO培训学院认为算法还是有其相同之处吧。
5,文本数据挖掘。即text mining,也可以说text analytics,它是一个从文本海量数据中挖掘出高质量的信息的一个过程。
这次就算泛泛而谈吧,希望我们自己能够加快研究步伐,将这个页面相似度工具尽快研发出来。
文章评论 本文章有个评论