最小编辑距离

string-distance的Python项目详细描述


以cython为单位的最小编辑距离

Build Status

这在cython中提供字符串距离函数。

基于编辑

这些指标越小越好。

  • levenshtein(1表示插入,1表示删除,1表示替换)
  • levenshtein_no_sub(1表示插入,1表示删除,2表示替换)
  • brew(0.1表示插入,15表示删除,1表示替换)
  • dameran_levenshtein(1表示插入,1表示删除,1表示替换,1表示换位)

基于令牌的

  • cosine_distance
  • binary_cosine_distance
  • jaccard_distance

基于序列的

这些指标越大越好。

  • longest_common_subsequence
  • longest_common_substring
  • Ratcliff-Obershelft

扩展和滚动您自己的成本函数

动态规划最小编辑距离算法有两种定义代价的函数。第一个是ctypedef int (*cmp_func)(int c1, int c2),用于比较两个字符并返回成本。第二个是ctypedef int (*char_func)(int c1, int c2)。通过实现这些函数的您自己的版本(我建议您在cost.pxd中执行并内联函数),您可以将它们传递给距离解算器来实现您自己的权重方案。可以使用cmp_func对替换进行加权(例如,在键盘上彼此相邻的字母的成本较低,如we以及远键的成本较高,如zp)。可以使用char_func对插入或删除进行加权,例如,可以根据插入的可擦伤分数对其进行加权。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JAXB封送字符串,具有xml值,且不转义该值   java ModelMapper转换器不工作   java像HH000412或HCANN000001这样的前缀是什么意思?   验证日期输入修复java。lang.numberformatexception错误   当表具有外键时,java Telosys代码生成失败   如何使所有派生类一起只能实例化一个实例的单例抽象基类?(爪哇)   java如何在非静态服务类中使用广播接收器   java nutch爬虫相对URL问题   使用Jboss DMR下载/保存java附件   Rest模板:无法提取响应:当我们得到xml响应时,没有找到适合响应类型的HttpMessageConverter,没有绑定到JAVA对象   java如何编写可扩展窗格/面板/卡的代码   java是在ITreeViewerListener的treeExpanded()之前调用ContentProvider的getChildren()吗?   java将JComponent添加到小程序窗格   java混淆:使用简单逻辑的Flames程序