用Python计算文本的相似度

本文最后更新于2014年11月8日,已超过 1 年没有更新,如果文章内容失效,还请反馈给我,谢谢!

Python计算文本的相似度

因为后期会需要用到这方面的知识,所以先提前准备准备;如何判断网页返回内容的相似度?

准备好关键字,然后开始搜索:http://search.aol.com/aol/search?q=use+python+to+calculate++text+similarity

找到了几个Python的方法和库:

下面主要记录用不同的Python库来计算两段文本之间的相似度(最后要得到的就是一个百分比):

方法一:difflib

方法二:Levenshtein

import Levenshtein 报错:ImportError: No module named Levenshtein

于是去:python-Levenshtein 下载源码进行安装(在http://www.lfd.uci.edu/~gohlke/pythonlibs/#python-levenshtein 其实也有编译好的exe),第一次安装的时候报错:error: Unable to find vcvarsall.bat ,但其实我是装了VS2010的,所以执行如下步骤正常安装:

1.设置环境变量,执行:

SET VS90COMNTOOLS=%VS100COMNTOOLS%

2.再去安装:

setup.py install

就可以正常,编译,安装了。

方法三:FuzzyWuzzy

方法四:google-diff-match-patch

上面这段代码的思路也是先计算Levenshtein距离,然后再将其和两字符串的最大长度相除,得到相似度(不清楚这样和直接使用Levenshtein扩展有什么区别,毕竟那个直接是用C写成的,速度可能还要快一些,直接一些)

 

参考链接:

声明: 除非注明,ixyzero.com文章均为原创,转载请以链接形式标明本文地址,谢谢!
https://ixyzero.com/blog/archives/1555.html

《用Python计算文本的相似度》上有5条评论

  1. 高效相似度计算 LSH minHash simHash的学习
    https://blog.csdn.net/u011467621/article/details/49685107

    文本内容相似度计算方法:simhash
    https://www.biaodianfu.com/simhash.html

    三种重要哈希介绍
    https://blog.csdn.net/ACdreamers/article/details/45462881

    一致性哈希
    局部敏感哈希
    GeoHash

    一致性hash算法释义
    http://www.cnblogs.com/haippy/archive/2011/12/10/2282943.html
    局部敏感哈希(Locality-Sensitive Hashing, LSH)方法介绍
    https://blog.csdn.net/icvpr/article/details/12342159

发表评论

电子邮件地址不会被公开。 必填项已用*标注