1.jaccard相似度:字符级别——相同字符的个数占总字符的个数

参考文档:https://blog.csdn.net/u012836354/article/details/79103099

只是衡量两个字符串之间的相同字符的占比,而未考虑字符的排序导致的两个字符的差异

s1="艾伦图灵传"
s2="艾伦图灵传"
def jaccard_score(s1,s2):print("s1",set(s1))print("s2", set(s2))print("s1&s2", set(s1)&set(s2))print("s1 | s2", set(s1)|set(s2))return len(set(s1)&set(s2))/len(set(s1)|set(s2))print(jaccard_score(s1,s2))
s1 {'灵', '传', '艾', '图', '伦'}
s2 {'灵', '传', '艾', '图', '伦'}
s1&s2 {'灵', '传', '艾', '图', '伦'}
s1 | s2 {'灵', '传', '艾', '图', '伦'}
score 1.0

2.最长公共子字符串的长度*2/(两个字符串的长度和)

动态规划:https://blog.csdn.net/qq_42233538/article/details/103433377

3.Levenshtein距离/编辑距离

是指两个字串之间,由一个转成另一个所需的最少的编辑操作次数。编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。一般来说,编辑距离越小,两个串的相似度越大。

参考文档: https://blog.csdn.net/ustbclearwang/article/details/81288815

https://www.jb51.net/article/98449.htm

Levenshtein的使用方法

安装方式:pip install python-Levenshtein

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

s1="艾伦 图灵传"
s2="艾伦•图灵传"
print(Levenshtein.distance(s1,s2))

输出:

1

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

s1="艾伦 图灵传"
s2="艾伦•图灵传"
print(Levenshtein.hamming(s1,s2))

输出:

1

Levenshtein.ratio(str1,str2)计算莱文斯坦比。计算公式其中sum1是指str1和str2字串的长度总和,ldist是类编辑距离。注意这里是类编辑距离,在类编辑距离中删除、插入依然+1,但是替换+2。

s1="艾伦 图灵传"
s2="艾伦•图灵传"
print(Levenshtein.ratio(s1,s2))
0.8333333333333334 (12-2)/10
Levenshtein.jaro(str1,str2)  计算Jaro距离

参考:https://zhuanlan.zhihu.com/p/99788854

Levenshtein.jaro_winkler(str1,str2)  计算Jaro-Winkler距离

计算两个字符串之间的相似度相关推荐

  1. 计算两个字符串之间是否包含的简单方法

    在前面介绍了两个字符串之间的匹配度 的算法 计算字符串相似度算法-Levenshtein 它解决了字符串A和B之间的相识度的问题,但是我现在遇到了一个新的问题,就是有字符串A是固定值,字符串C包括了字 ...

  2. ITK:计算两个图像之间的均方度量值

    ITK:计算两个图像之间的均方度量值 内容提要 输出结果 C++实现代码 内容提要 计算两个图像之间的均方根度量. 输出结果 来自2张图像的数据通过输出传递: [-10, -10]: 23101.7 ...

  3. python 两个word文档之间的相似度_如何用 word2vec 计算两个句子之间的相似度?

    现在是2018年7月,在这里总结这个问题下已有的答案,并补充一些2017年以来这方面研究的新进展. 从大类上分,计算句子相似度的方法可以分为两类: 1)无监督的方法,即不使用额外的标注数据,常用的方法 ...

  4. python计算两字符串中的位置_python – 计算两个字符串之间距离的算法

    是否有任何字符串距离算法没有考虑到单词的顺序? 以下算法未提供所需结果(在该示例中,所需结果应为1): import jaro jaro.jaro_winkler_metric(u'Michael J ...

  5. 如何计算两个字符串之间的文本相似度?

    如何计算两个字符串之间的文本相似度? 前言 平时的编码中,我们经常需要判断两个文本的相似性,不管是用来做文本纠错或者去重等等,那么我们应该以什么维度来判断相似性呢?这些算法又怎么实现呢?这篇文章对常见 ...

  6. similartext php,使用PHPsimilartext计算两个字符串相似度,similartext_PHP教程

    使用PHP similar text计算两个字符串相似度,similartext 在网站开发中,我们经常使用php similar text 计算两个字符串相似度; 1,similar_text的用法 ...

  7. python 句子相似度 库_利用python语句的word2vec查找两个句子之间的相似度

    我想用word2vectors计算两个句子之间的相似度,我试图得到一个句子向量的向量,这样我就可以计算出一个句子向量的平均值来找到余弦相似度.我试过这个代码,但它不起作用.它给出的输出是带有一的句子向 ...

  8. Java计算两个字符串日期之间的天数差

    Java计算两个字符串日期之间的天数差 调用方法: public static void main(String[] args) throws ParseException {String a = & ...

  9. 编程之美3.3 计算两个字符串的相似度

          假如有两个字符串分别是:abcd,bbcd,那么,这两个字符串不相同的字符个数是1,即第一个字符时不相同的,定义字符串的相似度为 1 / (x + 1),其中,x 就是不相同的字符个数. ...

最新文章

  1. Redis 到底是怎么实现“附近的人”这个功能的?
  2. Maven(3)--聚合与继承
  3. SAP License:SAP顾问该不该参与数据搜集
  4. Leetcode每日一题:29.divide-two-integers(两数相除)
  5. python写web界面读取txt_web端自动化——Python读取txt文件、csv文件、xml文件
  6. qq android qav,33 BK.QQAVManager 音视频管理
  7. 自动驾驶全球产业链全景图
  8. origin2021软件
  9. [Trie树] BZOJ3689: 异或之
  10. QS世界大学综合最新排名前100名
  11. 终极dos批处理循环命令详解
  12. 关于假如有Thread1、Thread2、Thread3、Thread4四条线程分别统计C、D、E、F四个盘的大小,所有线程都统计完毕交给Thread5线程去做汇总,应当如何实现?
  13. linux c 编译 未定义的引用,c – Linux makefile中的未定义引用
  14. 微信小程序添加开发者、赋予权限、添加体验者
  15. SaaS前端规范架构
  16. 2022年氯化工艺考试内容及氯化工艺考试报名
  17. PXE-MOF:EXITING INTEL PXE ROM是什么意思
  18. Note of Numerical Optimization Ch.3
  19. slax linux安装到硬盘,在硬盘上完美运行SLAX/FanX
  20. Error: Could not find tools necessary to compile a package/compilation failed for package

热门文章

  1. 第十章:如何制定项目目标?
  2. 志愿人生——带给你每一次温暖
  3. mac更新go到最新版本
  4. 满分室间质评之GATK Somatic SNV+Indel+CNV+SV(下)性能优化
  5. Installation failed due to: ‘‘cmd package install-create -r -t --user current --full --dont-kill -t
  6. zabbix4.4 启动失败分析
  7. 【LeetCode】初级算法:数组
  8. 这是?国内跨境电商降本增收营销神器
  9. iOS 警告 Local declaration of 'XXX' hides instance
  10. 微信定位真的泄露了你的精确位置