问题标签 [jaro-winkler]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
database - 大型数据库的搜索推荐/建议
我有数百万行的表。现在,当用户在从表中搜索字符串或单词时出现任何拼写错误时,我想建议用户从表中更正单词或字符串。我正在使用 jaro-winkler 算法来比较字符串的距离,但是由于我的数据库很大,我的查询在执行过程中花费了很多时间。在应用 jaro-winkler 算法之前,我必须如何最小化数据。
有没有其他更好的方法可以让我从大表中获得快速搜索推荐。
我想在没有自动建议的情况下构建类似谷歌搜索的搜索。我正在使用我的 sql 数据库。
请建议。
r - 加速循环计算R中的Jaro-Winkler距离
我在不止一种意义上是新来的。在我第一次尝试熟悉任何编程语言时,关于我的第一个脚本的第一篇文章。鉴于此,您可能会发现这个项目过于雄心勃勃,但是,嘿,边做边学一直是要走的路。我正在尽我所能在这里满足stackoverflow-etiquette,但如果我违反了任何规定,请告诉我。
我想编写一段代码,它可以应用某种模糊逻辑来匹配非结构化公司名称表(例如 Google)与结构化公司名称表(例如 Google Inc.)和丹麦公司标识符 ( CVR
)。
我可以通过谷歌搜索找到一些代码,并且我设法操纵它们来处理我的项目。我发现 Jaro-Winkler 算法包含在stringdist
package 特别适用于公司名称。当尝试将 40 个非结构化公司名称与数百个结构化名称进行比较和匹配时,该脚本工作得非常好,但我需要将大约 4000 个非结构化名称与包含 700k 个结构化名称的表进行比较和匹配。正如您可能已经猜到的那样,这需要很长时间。为了给您一个想法,我尝试将 6 个非结构化名称与 700k 匹配,这需要三个小时。快速计算告诉我,如果这是脚本的平均速度,我将需要将近 3 个月的时间来处理 4000 家公司,这有点让人不知所措。我知道它必须进行数十亿次计算,而这不可能在几分钟内完成。但是,如果我可以将其减少到可能只有几天,我会非常高兴,而且我觉得这一定是可能的。
所以,我正在寻找加速这段代码的方法。我已经设法通过最初将精确匹配与match()
函数配对来改进它,这使得大约 500 家公司需要使用模糊匹配算法进行进一步处理。不过,至少可以说这需要很长时间。
我希望我能清楚地解释自己!任何建议将不胜感激。
编辑:这里有一些可以使用的数据示例:structured_companies_w_CVR和unstructured_companies
sql-server - sql server 中的 Jaro Winkler
我试图为 sql server 找到 UDF dbo.fn_calculateJaroWinkler(用于计算 Jaro Winkler 距离)但找不到。有人写过可以分享吗?
similarity - 哈罗相似度
为了找到 Jaro 相似性,我找到了匹配的字符如下
t(0.5*transpositions) 的值是多少?(来源:维基百科)
java - 如何使用 Simmetrics java 计算重叠系数和 Jaro Winkler
我一直在尝试使用以下 Sim-metrics 库:
到目前为止,我正在使用以下方法计算 Jaro Winkler:
0.43055558
和余弦相似度:
0.25
但根据https://asecuritysite.com/forensics/simstring
jaro-winkler 应该是 0,重叠系数应该是 100。这甚至是使用这个库的正确方法吗?什么是正确的调用,比如说如果我想运行这两个指标来匹配我从 IMDB 获得的一个列表中的电影,我打算比较两个集合中的标题并获得两个分数的平均值并为两部电影的演员阵容。谢谢
sql - Transact SQL 中 Jaro Winkler 距离算法的实现
几个月来我一直想知道如何在 Transact SQL 中实现这个算法,https://en.wikipedia.org/wiki/Jaro%E2%80%93Winkler_distance
怎么做到呢?
database - 组合多个 Jaro-Winkler 计算的明智方法是什么?
假设我正在比较两个人,每个人都有名字、姓氏、邮政编码、地址(line1)、地址(line2)和电话号码。这些都具有不同的可靠性和确定匹配的重要性。
我可以毫无问题地为每个字段生成 JW 距离。我如何将这些结合起来,对两个人的相似度进行合理的评价?
到目前为止,我所想到的只是权衡不同的 JW 评级,使其与它们的相关性成比例,然后取一个加权平均值。我觉得必须有一些更好的技术。
java - 使用 oracle db 上的动态 where 列进行更快的搜索查询
我有一个表(ResponseData),其中列 RESPONSE_ID、RESPONSEDATA、KEY1、KEY2、KEY3、KEY4、VALUE1、VALUE2、VALUE3、VALUE4 用户可以插入以下任何类别的数据。
- 1,"我的回复一","姓名",null,null,null,"Apple",null,null,null
- 2、"我的回复二","姓名","年龄",null,null,"Apple","22",null,null
稍后在不同页面中,当用户请求 name="Apple",age="32" 的 Responsedata 应该返回记录 1,因为如果用户请求 name="Apple" age="22" 应该返回记录 1 和2 因为它与记录 1 按名称匹配,记录 2 按名称和年龄匹配。
在这种情况下我们如何形成搜索查询。我尝试使用utl_match.jaro_winkler_similarity如下表上的记录数。感谢您的投入。
algorithm - 哪种字符串距离算法最适合测量打字准确性?
我正在尝试编写一个函数来检测用户输入特定短语/句子/单词/单词的准确程度。我的目标是构建一个应用程序来训练用户输入某些短语的准确性。
我最初的直觉是使用基本的 levenshtein 距离算法(主要是因为这是我脑海中唯一知道的算法)。
但经过更多研究后,我发现Jaro-Winkler是一个稍微有趣的算法,因为它考虑了转置。
我什至找到了一个讨论这些算法之间差异的链接:
Jaro-Winkler 和 Levenshtein 距离之间的区别?
阅读完所有内容后,除了各自的维基百科帖子之外,我仍然对哪种算法最适合我的目标一无所知。
lua - 你如何在lua中制作一个字符串字典函数?
如果字符串接近表中的字符串,是否有办法将其替换为表中的字符串?
就像一个拼写检查功能,它搜索一个表,如果输入接近表中的一个,它会修复它,所以表中的那个和字符串是一样的?