使用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计算相似度距离相关推荐

  1. 如何用python写一个计算日期间隔的程序?

    如何用python写一个计算日期间隔的程序? 文章目录 如何用python写一个计算日期间隔的程序? 前言 问题梳理 问题解决 写在后面 前言 为什么想起来写一个这样的程序呢? 前几天聊天的时候,突然 ...

  2. 【安安教具】-【数学】-【有理数计算】模拟器 教你如何用python制作有理数计算模拟器 python项目小发明 eval函数

    今天教大家用python模拟有理数计算,首先展示功能页面: 啊这?怎么用这个东西呀?我们来看看~ 有理数计算模拟器 哇,功能这么强大?那实现起来一定很难吧??? 其实也没那么难...因为python早 ...

  3. python衡量数据分布的相似度/距离(KL/JS散度)

    背景 很多场景需要考虑数据分布的相似度/距离:比如确定一个正态分布是否能够很好的描述一个群体的身高(正态分布生成的样本分布应当与实际的抽样分布接近),或者一个分类算法是否能够很好地区分样本的特征(在两 ...

  4. python科学计算基础教程pdf下载-用Python做科学计算 高清晰PDF

    用Python做科学计算一书介绍如何用Python开发科学计算的应用程序,除了介绍数值计算之外,我们还将着重介绍如何制作交互式的2D.3D图像:如何设计精巧的程序界面:如何和C语言所编写的高速计算程序 ...

  5. python科学计算基础教程pdf下载-用Python做科学计算 pdf版

    本书将介绍如何用Python开发科学计算的应用程序,除了介绍数值计算之外,我们还将着重介绍如何制作交互式的2D.3D图像:如何设计精巧的程序界面:如何和C语言所编写的高速计算程序结合:如何编写声音.图 ...

  6. python程序设计与科学计算pdf_用Python做科学计算 pdf版

    本书将介绍如何用Python开发科学计算的应用程序,除了介绍数值计算之外,我们还将着重介绍如何制作交互式的2D.3D图像:如何设计精巧的程序界面:如何和C语言所编写的高速计算程序结合:如何编写声音.图 ...

  7. python 科学计算设计_用Python做科学计算 高清晰PDF

    用Python做科学计算一书介绍如何用Python开发科学计算的应用程序,除了介绍数值计算之外,我们还将着重介绍如何制作交互式的2D.3D图像:如何设计精巧的程序界面:如何和C语言所编写的高速计算程序 ...

  8. getprofile()获取不到路径_做一款RPG游戏,几乎都会用到的Python坐标最短路径计算...

    角色扮演游戏(Role-playing game),简称为RPG,是游戏类型的一种.在游戏中,玩家负责扮演这个角色在一个写实或虚构世界中活动. 玩家负责扮演一个或多个角色,并在一个结构化规则下通过一些 ...

  9. python 科学计算设计_用Python做科学计算 pdf版

    本书将介绍如何用Python开发科学计算的应用程序,除了介绍数值计算之外,我们还将着重介绍如何制作交互式的2D.3D图像:如何设计精巧的程序界面:如何和C语言所编写的高速计算程序结合:如何编写声音.图 ...

最新文章

  1. Vue.js 跟踪对象新增属性
  2. 数据中台实战(六):交易分析
  3. SpringBoot+Vue博客系统---后端接口开发
  4. 036、JVM实战总结:糟糕!运行着的线上系统突然卡死无法访问,万恶的JVM GC!
  5. 运维小白的成长日记第四天-基础网络构建OSI七层模型-物理层基础知识
  6. SQL Server:如何加入第一行
  7. 取消Eclipse的自动代码格式化
  8. CSDN APP又出错了,看不到博文
  9. 微信小程序:调用API接口
  10. 挑战程序设计竞赛2 算法与数据结构 笔记
  11. 神舟bios更改第一启动项为u盘
  12. java登录验证_java实现登录验证码
  13. Matlab求解数组中的最大值以及它所在的位置
  14. matlab中功率因数模块,最经典的功率因数控制器设计方案
  15. 【电脑修复小知识】电脑网络正常连接,但是浏览器却无法打开网页是什么原因?三招教你修复!
  16. 还在用 Guava Cache?它才是 Java 本地缓存之王!
  17. JavaScript:实现计算二维平面上两点之间的距离算法(附完整源码)
  18. 比 OpenAI 更好!!谷歌发布 20 亿参数通用语音模型——USM
  19. 读《与赛博空间共存》
  20. python爬取今日头条手机app广告_今日头条App广告采集器的实现

热门文章

  1. 如何搭建一个完整的Vue3.0 + ts 的项目
  2. mysql数据库关联练习_mysql数据库建立数据表的练习(附代码)
  3. 前端插件——Bootstrap Dual Listbox 简介
  4. linux 查看设备 中断号,查看powerpc linux 软件中断号 硬件中断号映射关系
  5. derby mysql 同步_[Derby]数据库操作说明
  6. win10更新不动_win10沙盒功能和其他同类程序的区别
  7. html标签名都是小写,到底啥是w3c标准(示例代码)
  8. mysql max字符串报错_mysql [Warning] max_join_size报错问题解决办法
  9. php黄页,PHP 黄页的url
  10. 搜狗浏览器怎么保存账号密码 搜狗浏览器保存账号密码教程