当前位置: 首页 > 知识库问答 >
问题:

如何将0到1之间的Levenshtein距离归一化

邢宏浚
2023-03-14

我必须将0到1之间的Levenshtein距离归一化。我看到不同的变化漂浮在所以。

    null

https://commons.apache.org/proper/commons-text/apidocs/org/apache/commons/text/similary/levenshteIndistance.html

共有1个答案

江凯风
2023-03-14

你的第一个答案以“两种变体的效果应该几乎相同”开始。规范化的LevenshteinDistance不存在的原因是因为您(或其他人)认为不适合实现它。此外,一旦你有了Levenshtein距离,这似乎是一个相当微不足道的问题:

private double normalizedLevenshteinDistance(double levenshtein, String s1, String s2) {
    if ((s1.length() > s2.length() || (s1.length() == s2.length()) {
        return levenshtein/s1.length();
    }
    else if (s2.length() > s1.length()) {
        return levenshtein/s2.length();
    }
}

3天后,一旦这篇文章被彻底撕成碎片,我会把它作为Github的一个问题添加到公共文本中。

 类似资料:
  • 我想有一个随机列表,其中1的出现率为10%,其余项目为零。这个列表的长度是1000。我希望这些值以随机顺序排列,以便它们之间有一个可调整的最小距离。例如,如果我选择一个值3,列表将如下所示: 实现这一点最优雅的方法是什么? 编辑我被要求提供更多的信息并表现出一些努力。 这是一项研究,其中0表示一种刺激,1表示另一种刺激,我们希望刺激类型1之间有一个最小距离。 到目前为止,我通过以下方式实现了这一目

  • 问题内容: 假设我有x1,y1,还有x2,y2。 我如何找到它们之间的距离?这是一个简单的数学函数,但是此在线代码段吗? 问题答案: dist = sqrt( (x2 - x1)2 + (y2 - y1)2 ) 正如其他人指出的那样,您也可以使用等效的内置函数:

  • 我使用Levenshtein距离算法将作为用户输入提供的公司名称与已知公司名称数据库进行比较,以找到最接近的匹配项。算法本身工作正常,但我想构建一个偏差,这样如果字符串的初始部分匹配,编辑距离就会被认为更低。 例如,如果搜索条件是“ABCD”,那么“ABCD Co.”和“XYX ABCD”具有相同的编辑距离。但是,我想增加一个事实,即第一个字符串的开头部分比第二个字符串更符合搜索条件。

  • 我使用Levenshtein算法来查找两个字符串之间的相似性。这是我正在制作的程序的一个非常重要的部分,所以它需要有效。问题是算法没有发现以下示例相似: CONAIR AIRCON 编辑:我还研究了“Damerau-Levenshtein”算法,它增加了换位。问题是这种转换只针对相邻的字符(而不是多个字符)。

  • 我使用行人库(使用ps源、ping Goto和ps汇),想要模拟人行道环境。这个模型的目标是得到行人之间的距离小于1m的数据。所以,我尝试计算行人之间的距离。在Any逻辑中,可以通过使用getX()、getY和getId(可以每秒计算)来收集行人的信息。但是我不知道如何选择行人代理并计算它们之间的距离。我的意思是,如果有10个行人(id:1, 2, 3...),如何每秒钟获得1和2、1和3、2和3

  • 问题内容: 在Python + Sqlite中是否有可用的字符串相似性度量,例如与模块有关? 用例示例: 此查询应匹配ID为1的行,但不匹配ID为2的行: 如何在Sqlite + Python中做到这一点? 关于我到目前为止发现的注释: 该Levenshtein距离,即单字符编辑(插入,删除或替换)的最小数量需要改变一个字到另一个,可能是有用的,但我不知道是否SQLite中存在的正式实施(我看到一