资讯专栏INFORMATION COLUMN

[转载] Python的字符串相似度检测

biaoxiaoduan / 1992人阅读

摘要:要求和必须长度一致。是描述由一个字串转化成另一个字串最少的操作次数,在其中的操作包括插入删除替换。计算距离,其中的为的匹配长度,当某位置的认为匹配当该位置字符相同,或者在不超过是调换次数的一半计算距离原文相似度计算转载自蔡尐的博客

安装python-Levenshtein模块

  

pip install python-Levenshtein

使用python-Levenshtein模块

  

import Levenshtein

算法说明

1). Levenshtein.hamming(str1, str2)
计算汉明距离。要求str1和str2必须长度一致。是描述两个等长字串之间对应 位置上不同字符的个数。

2). Levenshtein.distance(str1, str2)
计算编辑距离(也称为 Levenshtein距离)。是描述由一个字串转化成另一个字串最少的操作次数,在其中的操作包括插入、删除、替换。
算法实现参考动态规划整理。

3). Levenshtein.ratio(str1, str2)
计算莱文斯坦比。计算公式r = (sum - ldist) / sum, 其中sum是指str1 和 str2 字串的长度总和,ldist是 类编辑距离
注意 :这里的类编辑距离不是2中所说的编辑距离,2中三种操作中每个操作+1,而在此处,删除、插入依然+1,但是替换+2
这样设计的目的:ratio("a", "c"),sum=2, 按2中计算为(2-1)/2 = 0.5,’a","c"没有重合,显然不合算,但是替换操作+2,就可以解决这个问题。

4). Levenshtein.jaro(s1 , s2 )
计算jaro距离,

其中的 m 为s1 , s2的匹配长度,当某位置的认为匹配当该位置字符相同,或者在不超过

t是调换次数的一半

5.) Levenshtein.jaro_winkler(s 1 , s 2 )
计算 Jaro–Winkler距离:


原文:Python相似度计算
转载自:蔡尐的博客

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/45374.html

相关文章

  • 利用python进行识别相似图片(二)

    摘要:上一篇文章的地址利用进行识别相似图片一安装官网在进行下一步操作时,我们需要安装,本来安装的步骤跟平常安装其他模块一样,而然由于的历史原因用过都懂,弄得一点都不友好。 前言 和网上各种首先你要有一个女朋友的系列一样,想进行人脸判断,首先要有脸,只要能靠确定人脸的位置,那么进行两张人脸是否相似的操作便迎刃而解了。 所以本篇文章着重讲述如何利用openCV定位人脸。 上一篇文章的地址: 利用...

    余学文 评论0 收藏0
  • 【手撕 - 自然语言处理】手撕 TextRank(01)大佬是怎么实现 Python

    摘要:开撕文件夹下的程序展示了怎么使用这个版本的。文件行数这句是重点摘要然后,我们知道重点函数是,我们再来看它是怎么工作的。再仔细阅读一遍,原来写这个库的大佬用种不同的方法实现了个函数,请收下我的膝盖。 作者:LogM 本文原载于 https://segmentfault.com/u/logm/articles ,不允许转载~ 1. 源码来源 TextRank4ZH 源码:https://g...

    JerryC 评论0 收藏0
  • Move Mirror:使用 TensorFlow.js 在浏览器中预测姿势之 AI 实验

    摘要:文和,创意实验室创意技术专家在机器学习和计算机视觉领域,姿势预测或根据图像数据探测人体及其姿势的能力,堪称最令人兴奋而又最棘手的一个话题。使用,用户可以直接在浏览器中运行机器学习模型,无需服务器。 文 /  Jane Friedhoff 和 Irene Alvarado,Google 创意实验室创意技术专家在机器学习和计算机视觉领域,姿势预测或根据图像数据探测人体及其姿势的能力,堪称最令人兴...

    MiracleWong 评论0 收藏0
  • 自然语言处理真实项目实战

    摘要:在自然语言处理中,一个很重要的技术手段就是将文档转换为一个矢量,这个过程一般是使用这个库进行处理的。自然语言处理中,一般来说,代表词。自然语言预处理中,一个很重要的步骤就是将你收集的句子进行分词,将一个句子分解成词的列表。 前言 本文根据实际项目撰写,由于项目保密要求,源代码将进行一定程度的删减。本文撰写的目的是进行公司培训,请勿以任何形式进行转载。由于是日语项目,用到的分词软件等,在...

    王岩威 评论0 收藏0
  • 用JPlag在一组程序中寻找抄袭行为(翻译)

    摘要:它在实践中被成功地用于检测学生程序提交中的剽窃行为。这项措施应该反映原始程序中由比赛覆盖的部分代币。这个程序集根本不包含任何剽窃行为,因此将其命名为。在节目集中有个抄袭对。 摘要:JPlag是一个Web服务,可以在给定的集合中找到类似的程序对的程序。它在实践中被成功地用于检测学生Java程序提交中的剽窃行为。能支持的语言除了java之外,还有C、C++和Scheme。我们描述Jpalg...

    Jacendfeng 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<