最小编辑距离

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中的PDF文件   linux Java打开文件,形成实际用户主页~/   java如何在时间线内维护TableView选择?   java Hibernate注释@Where vs@WhereJoinTable   Java读/写访问异常FileNotFoundException(访问被拒绝)   继承在Java中是否可以扩展最后一个类?   Android HttpClient使用java使应用程序崩溃。lang.OutOfMemoryError:pthread_create   java为什么即使我在proguardproject中添加了jar文件,也会出现这种错误。txt?   如果添加JButton,swing Java FocusListener和KeyListener将无法工作   java使用solrj检索json格式的SolrDocument   使用Microsoft Visual Studio代码进行Java编程   java NoClassDefFoundError:org/apache/log4j/Logger   哈希集中包含相等对象的java   java中的参数化构造函数是否需要有一个主体?   java类似于NetBeans不必要的代码检测器   Java实践问题   java Blackberry“[projectname].调试文件丢失”和“I/O错误:找不到程序”jar