【发布时间】:2019-07-19 19:10:54
【问题描述】:
我在相似性测量中使用了 here 提供的 Damerau-Levenshtein 代码。问题是,当我将 Damerau-Levenshtein 应用于 cat sat on a mat 和 dog sat mat 等两个字符串时,我得到的编辑距离为 8。这种相似性结果可以得到关于插入、删除或替换的任何数字,例如从 0 开始的任何范围, 1, 2, ....现在我想知道是否有任何方法可以假设或找到该距离(相似性)的最大值并在 0 和 1 之间转换,或者我们如何设置至少我可以说的最大值:distance =1 - similarity。
这篇文章的原因是我为余弦、列文斯坦和 damerau 列文斯坦等一些距离指标设置了一个阈值,所有的输出都应该在 0 和 1 之间。
【问题讨论】:
-
逻辑上对我来说似乎上限是较长字符串的长度?它可能更复杂,但这似乎是一个不错的近似值,并且可以快速实施和测试
-
@pjmaracs 感谢您的评论。根据你说的,如果我有下界和上界,那么我应该在 0 和 1 之间进行归一化。这是你的意思吗?
-
看我的回答。我想这就是你想要的。你是如何获得这些数据的,它是否总是必须以相同的比例绘制?您是否使用多个数据列表更新数据?如果是这种情况,我的答案将不起作用,因为它不会是一致的比例,您将不得不选择一些您将比较的最大长度字符串
标签: python distance similarity levenshtein-distance damerau-levenshtein