最小编辑距离

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如何在数据库中插入行时自动发送电子邮件?   从进程输出读取的Java问题   java质疑StyledDocument和JTextPane之间的关系,以及接口的正确使用   java错误getPlayer(args[0]);   java如何使Spring引导在重新打包的WAR中包含清单文件?   Java中的除法与模   java使用2d数组和JfreeChart制作散点图   java扩展SonarQube FindBugs插件和自定义FindBugs插件   javaspring:hibernate+ehcache   具有不正确的equals和HashCode实现的java HashMap   java Jaspersoft报告网。旧金山。jasperreports。发动机例外:net。旧金山。jasperreports。发动机填满JRepressionEvalException:计算表达式时出错   java如果输入与其变量不匹配,如何添加错误   在java中使用简单数组[]实现队列   无法启动上下文路径/hsx上的java FAIL应用程序