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

选择Levenshtein vs Jaro Winkler?

仲孙绍元
2023-03-14

例子:

facebook vs facebo0k.com
linkedIn vs linkedln.com
stackoverflow vs stckoverflow

我在想,如果仅仅为了比较两个字符串并检测细微的变化,两个算法都满足了这个目的,那么除非是为了提高性能,否则选择一个而不是另一个就没有附加值了?

共有1个答案

从烈
2023-03-14

如果您只考虑Levenshtein或Jaro-Winkler距离,那么您可能希望使用Jaro-Winkler,因为它只考虑匹配字符和任何所需的换位(字符交换),并且它的值介于0和1之间,如果没有紧密匹配的字符(使得很容易过滤掉任何明显的不匹配),它将等于1(没有相似性)。

Levenshtein距离将为任意距离的字符串对提供一个值,无论它们有多不同,这要求您选择一个要考虑的截止阈值。

然而,Jaro-Winkler对前缀相似度(匹配字符串开头附近的字符)给予了额外的权重。如果这不是想要的,比常规的Jaro距离可能是你想要的。

 类似资料:
  • 问题内容: 如果我只需要2/3列,而是查询而不是在select查询中提供这些列,那么关于更多/更少I / O或内存的性能是否会有所下降? 如果我确实选择了*,则可能会出现网络开销。 但是在选择操作中,数据库引擎是否总是从磁盘中提取原子元组,还是仅提取在选择操作中请求的那些列? 如果它总是拉一个元组,则I / O开销是相同的。 同时,如果它拉出一个元组,从元组中剥离请求的列可能会占用内存。 因此,在

  • 我在xaml中创建了一个树景。 树结构如下图所示。每个家长可以有任意数量的孩子 我有所有级别的复选框。我不知道如何单独访问它的节点,也不知道如何使用树数据。 在我的VM类中,我将TreeView的datacontext设置为3类列表,如下所示: 我的要求是: 选择父项应选择其所有子项和孙子项 如何在代码中标识所选的项目?需要它做进一步的处理 请帮忙。

  • 一个选择就是从当前文档中抽取的一组元素。D3使用[[CSS3|http://www.w3.org/TR/css3-selectors/]]来选择页面元素。例如,你可以使用的选择方式有标签 ("div")、类(“.awesome”)、唯一标识符(“#foo”)、属性(“[color=red]”)、或者包含(“parent child”)。选择器可以是交叉(".this.that" 表示逻辑与)的也可

  • Action is similar to “Go to Edit Point”, but selects important code parts. 这个功能类似于编辑点间移动功能,但是选择重要的代码部分。 In HTML, these are tag name, full attribute and attribute value. For class attribute it also sel

  • 我希望,如果我选择“mammals”,动物选择选项只显示值为1的选项data-animal_class。 我知道如何获得哺乳动物值,但我不知道如何使用过滤器 这是我的代码:

  • 问题内容: 我想设置一个先前选择的要在页面加载时显示的选项。我用以下代码尝试了它: 与 但这是行不通的。有任何想法吗? 问题答案: 这绝对应该工作。确保已将代码放入:

  • 我想调用一个函数时,选择的任何选项。类似于这样: 但不知何故不起作用。有人能帮忙吗。 请注意 我不想捕获更改事件,如果我选择已经选择选项,则不会触发更改事件

  • 问题内容: 我正在尝试从以下查询中获取行数。我只得到行计数为1,但有35条记录。您能否让我知道如何从内部查询中获取计数? 谢谢 问题答案: 您缺少FROM,需要为子查询指定别名。