如何用python计算levenshteindistance_Levenshtein计算相似度距离
使用Levenshtein计算相似度距离,装下模块,调用下函数就好。
拿idf还得自己去算权重,而且不一定准确度高,一般做idf还得做词性归一化,把动词形容词什么全部转成名词,很麻烦。
Levenshtein.distance(str1,str2)
计算编辑距离(也称Levenshtein距离)。是描述由一个字串转化成另一个字串最少的操作次数,在其中的操作包括插入、删除、替换。如
例如将eeba转变成abac:
① eba(删除第一个e)
② aba(将剩下的e替换成a)
③ abac(在末尾插入c)
所以eeba和abac的编辑距离就是3
备注:
http://www.lfd.uci.edu/~gohlke/pythonlibs/#python-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(s1, s2)
计算Jaro–Winkler距离
如何用python计算levenshteindistance_Levenshtein计算相似度距离相关推荐
- 如何用python写一个计算日期间隔的程序?
如何用python写一个计算日期间隔的程序? 文章目录 如何用python写一个计算日期间隔的程序? 前言 问题梳理 问题解决 写在后面 前言 为什么想起来写一个这样的程序呢? 前几天聊天的时候,突然 ...
- 【安安教具】-【数学】-【有理数计算】模拟器 教你如何用python制作有理数计算模拟器 python项目小发明 eval函数
今天教大家用python模拟有理数计算,首先展示功能页面: 啊这?怎么用这个东西呀?我们来看看~ 有理数计算模拟器 哇,功能这么强大?那实现起来一定很难吧??? 其实也没那么难...因为python早 ...
- python衡量数据分布的相似度/距离(KL/JS散度)
背景 很多场景需要考虑数据分布的相似度/距离:比如确定一个正态分布是否能够很好的描述一个群体的身高(正态分布生成的样本分布应当与实际的抽样分布接近),或者一个分类算法是否能够很好地区分样本的特征(在两 ...
- python科学计算基础教程pdf下载-用Python做科学计算 高清晰PDF
用Python做科学计算一书介绍如何用Python开发科学计算的应用程序,除了介绍数值计算之外,我们还将着重介绍如何制作交互式的2D.3D图像:如何设计精巧的程序界面:如何和C语言所编写的高速计算程序 ...
- python科学计算基础教程pdf下载-用Python做科学计算 pdf版
本书将介绍如何用Python开发科学计算的应用程序,除了介绍数值计算之外,我们还将着重介绍如何制作交互式的2D.3D图像:如何设计精巧的程序界面:如何和C语言所编写的高速计算程序结合:如何编写声音.图 ...
- python程序设计与科学计算pdf_用Python做科学计算 pdf版
本书将介绍如何用Python开发科学计算的应用程序,除了介绍数值计算之外,我们还将着重介绍如何制作交互式的2D.3D图像:如何设计精巧的程序界面:如何和C语言所编写的高速计算程序结合:如何编写声音.图 ...
- python 科学计算设计_用Python做科学计算 高清晰PDF
用Python做科学计算一书介绍如何用Python开发科学计算的应用程序,除了介绍数值计算之外,我们还将着重介绍如何制作交互式的2D.3D图像:如何设计精巧的程序界面:如何和C语言所编写的高速计算程序 ...
- getprofile()获取不到路径_做一款RPG游戏,几乎都会用到的Python坐标最短路径计算...
角色扮演游戏(Role-playing game),简称为RPG,是游戏类型的一种.在游戏中,玩家负责扮演这个角色在一个写实或虚构世界中活动. 玩家负责扮演一个或多个角色,并在一个结构化规则下通过一些 ...
- python 科学计算设计_用Python做科学计算 pdf版
本书将介绍如何用Python开发科学计算的应用程序,除了介绍数值计算之外,我们还将着重介绍如何制作交互式的2D.3D图像:如何设计精巧的程序界面:如何和C语言所编写的高速计算程序结合:如何编写声音.图 ...
最新文章
- Vue.js 跟踪对象新增属性
- 数据中台实战(六):交易分析
- SpringBoot+Vue博客系统---后端接口开发
- 036、JVM实战总结:糟糕!运行着的线上系统突然卡死无法访问,万恶的JVM GC!
- 运维小白的成长日记第四天-基础网络构建OSI七层模型-物理层基础知识
- SQL Server:如何加入第一行
- 取消Eclipse的自动代码格式化
- CSDN APP又出错了,看不到博文
- 微信小程序:调用API接口
- 挑战程序设计竞赛2 算法与数据结构 笔记
- 神舟bios更改第一启动项为u盘
- java登录验证_java实现登录验证码
- Matlab求解数组中的最大值以及它所在的位置
- matlab中功率因数模块,最经典的功率因数控制器设计方案
- 【电脑修复小知识】电脑网络正常连接,但是浏览器却无法打开网页是什么原因?三招教你修复!
- 还在用 Guava Cache?它才是 Java 本地缓存之王!
- JavaScript:实现计算二维平面上两点之间的距离算法(附完整源码)
- 比 OpenAI 更好!!谷歌发布 20 亿参数通用语音模型——USM
- 读《与赛博空间共存》
- python爬取今日头条手机app广告_今日头条App广告采集器的实现
热门文章
- 如何搭建一个完整的Vue3.0 + ts 的项目
- mysql数据库关联练习_mysql数据库建立数据表的练习(附代码)
- 前端插件——Bootstrap Dual Listbox 简介
- linux 查看设备 中断号,查看powerpc linux 软件中断号 硬件中断号映射关系
- derby mysql 同步_[Derby]数据库操作说明
- win10更新不动_win10沙盒功能和其他同类程序的区别
- html标签名都是小写,到底啥是w3c标准(示例代码)
- mysql max字符串报错_mysql [Warning] max_join_size报错问题解决办法
- php黄页,PHP 黄页的url
- 搜狗浏览器怎么保存账号密码 搜狗浏览器保存账号密码教程