当前位置: 首页 > 面试题库 >

相似度得分-Levenshtein

古畅
2023-03-14
问题内容

我用Java实现了Levenshteinhtml" target="_blank">算法,现在可以通过算法进行更正,也就是成本。这确实有一点帮助,但并没有太大帮助,因为我希望将结果表示为百分比。

所以我想知道如何计算那些相似点。

我也想知道你们的人民是如何做的以及为什么。


问题答案:

两个字符串之间的Levenshtein距离定义为将一个字符串转换为另一个字符串所需的最小编辑次数,允许的编辑操作为单个字符的插入,删除或替换。(维基百科)

  • 因此,Levenshtein距离为0意味着:两个字符串相等
  • Levenshtein的最大距离(所有字符不同)为max(string1.length,string2.length)

因此,如果需要一个百分比,则必须使用该百分比来缩放。例如:

“ Hallo”,“ Hello”-> Levenstein距离1这两个字符串的最大Levenstein距离为:5.因此20%的字符不匹配。

String s1 = "Hallo";
String s2 = "Hello";
int lfd = calculateLevensteinDistance(s1, s2);
double ratio = ((double) lfd) / (Math.max(s1.length, s2.length));


 类似资料:
  • 有没有办法在elasticsearch中查询一组术语的相似性(匹配分数)? 简单的例子: 数据: 查询: 后果 说明:doc1包含搜索中存在的所有标记。doc2包含搜索中存在的3个标记中的2个 所以基本上查询将返回按匹配排序的文档列表,其中匹配=文档中的标签与查询中的标签有多相似。不需要模糊性。返回%只是一个例子,返回点或其他单位就可以了。标签的数量可以不同。 我正在设计系统,因此可以以任何格式存

  • 问题内容: 我计算了两个文档的tf / idf值。以下是tf / idf值: 这些文件就像: 如何使用这些值来计算余弦相似度? 我知道我应该计算点积,然后找到距离并除以点积。如何使用我的值来计算? 还有一个问题: 两个文档的字数相同是否重要? 问题答案: a * b是点积 一些细节: 是。在某种程度上,a和b必须具有相同的长度。但是a和b通常具有稀疏表示,您只需要存储非零条目,就可以更快地计算范数

  • 问题内容: 是否有用于计算一对句子的语义相似性评分的库? 我知道WordNet的语义数据库,以及如何生成2个单词的分数,但是我正在寻找可以对整个句子和输出执行所有预处理任务(例如端口阻止,停止单词删除等)的库两个句子之间的相关程度得分。 我发现使用.NET框架编写的工作正在进行中,该框架使用一系列预处理步骤来计算分数。有没有在python中执行此操作的项目? 我不是在寻找可以帮助我找到分数的操作序

  • 我正在使用最新版本的elasticsearch(在docker中)和spring boot(最新版本)应用程序,试图在其中搜索类似的文档。我的文档类有一个字符串字段: 当我使用内置的方法时,我的查询得到了很多结果: 然而,我不知道这些文档有多相似,因为它只是我的文档对象的一个页面。在执行查询时,能够看到相似性分数或设置相似性阈值将非常棒。我应该做些不同的事情吗?

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

  • 相似度模型的配置 既然已经了解了如何为索引的每个域设置相似度模型,接下来就了解如何根据需要来配置相似度模型的参数,不用担心,操作非常简单。我们所需要做的就是在索引settgings中添加similarity对象。例如,如下的配置文本(该样例已经保存在posts_custom_similarity.json文件中): { "settings" : { "index" : {