【问题标题】:What is the logic of approximate string matching?近似字符串匹配的逻辑是什么?
【发布时间】:2020-06-12 15:08:09
【问题描述】:

有谁知道下面这个例子的原因是什么:

agrepl("cold", "cool")
#> [1] FALSE
agrepl("cool", "cold")
#> [1] TRUE

【问题讨论】:

  • 另外,您可能对stringdist 包中使用的方法感兴趣

标签: r agrep approximate


【解决方案1】:

由于max distance 默认为:

如果没有给出成本,则全部默认为 10%,其他转换数界限默认为全部。组件名称可以缩写。

还有:

表示为整数,或模式长度乘以最大转换成本的分数(将替换为不小于相应分数的最小整数)

长度为 4 的模式的默认最大转换量为 1。 cool 模式匹配 col 开头的 cold 仅使用 1 次删除。将cold 更改为匹配cool 至少需要进行两次转换(两次替换或一次删除和一次插入)。

这些例子可能会进一步解释它:

agrepl("cold", "cool",max.distance = 1) # two changes necessary
#> [1] FALSE
agrepl("cold", "cool",max.distance = 2)
#> [1] TRUE
agrepl("cold", "coold") # just one addition necessary
#> [1] TRUE

【讨论】:

    猜你喜欢
    • 2011-05-11
    • 2013-07-10
    • 1970-01-01
    • 2010-09-08
    • 2016-03-28
    • 2013-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多