问题标签 [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.

0 投票
0 回答
57 浏览

r - 手动计算 Jaro 距离

我正在尝试stringdist从 library验证 R 函数stringdist

使用示例

1 - stringdist('John J Smith', 'John Smith', method = 'jw', p = 0)它返回0.9444444

其中p = 0暗示不使用 Jaro-Winkler 的 Winkler 组件。

我正在尝试使用Wikipedia和本文档中显示的公式来重现此结果,但是似乎无法使我的手动计算对齐。

在下面的示例中,有 5 个半转置,因此floor(5/2)结果为t = 2.

有10个匹配字符,保证匹配字符之间的距离不大于5。

在此处输入图像描述

结果计算为:

在此处输入图像描述

0 投票
1 回答
1838 浏览

python - 将 Jaro-Winkler 距离应用于数据帧

我有两列的数据框。第一个是正确的字符串,第二个是损坏的。我想应用 Jaro-Winkler 距离并将其存储在新的第三列中。

0 投票
0 回答
354 浏览

java - 哪种字符串距离算法可以检测微小的变化?

我正在开发一个网络钓鱼电子邮件过滤器项目,作为猜测电子邮件是否为网络钓鱼的第一步,我想在不使用外部 API 的情况下比较可见文本和链接的基础 URL。

例如:

<a href="http://faceb00k.com">Facebook</a>

<a href="http://facedook.com">Facebook</a>

是网络钓鱼的高指标。

最初,我只知道 Levenshtein 距离,我认为这是一个很好的衡量标准,但后来我意识到标准化后它并不是这类任务的一个很好的指标,因为它几乎不高于 0.5。

通过规范化,我的意思是:

其他似乎效果更好的算法是cosine distanceJaro-Winkler Distance

在上述情况下,将它们都小写和修剪,并删除协议和顶级域后,如下代码所示:

.

这些是我在控制台中得到的距离:

因此我们可以清楚地看到,余弦距离和Jaro-Winkler距离似乎对网络钓鱼链接检测具有正确的洞察力。

它们是否适合此目的,或者是否有其他距离函数更适合此任务?更好地解释我在寻找什么,如果一个字符被另一个看起来类似于人眼的字符替换,字符串之间是否有一些距离函数会给出更高的值/距离?

0 投票
0 回答
125 浏览

r - 距离/模糊匹配 2 列与 R 中的另外 2 列

在我的简化示例中,我有一个包含四个不同列的数据框。我希望能够将 main_name 和 main_dob 与 secondary_name 和 secondary_dob 一起匹配。行的实际顺序无关紧要,所以如果第 3 行和第 4 行有匹配,我希望它们返回相同的值并显示那里有匹配。

以下是我的示例数据。

我希望输出显示 Arthur Lee 最接近的匹配项是 David Lee,以及两者之间的距离,以及他们生日之间的距离。接下来,我想看看 Robert Frost 的匹配是否存在,但距离有点偏,因为 second_name 包含他的中间名,但生日帮助我验证它是同一个人。接下来,没有 Sarah Doe,所以我会显示最近距离匹配和最近生日距离。最后,我会让 Elizabeth Smith 与 Elizabeth Smith 匹配,即使它们位于两个数据中的不同行上。

我正在考虑使用 jaro-winkler (jw) 包进行距离,但我愿意接受任何想法和帮助。

0 投票
1 回答
54 浏览

python - 将 Python 函数应用于每一行并追加

我有以下数据:

在此处输入图像描述

我正在尝试使用库 - pyjarowinkler 并找到字符串之间的距离 - 我的 hello world 代码有效

当我尝试迭代每一行或使用 apply 我的代码失败。有人可以指出我正确的方向。

错误:

预期的输出是:

在此处输入图像描述

0 投票
3 回答
1516 浏览

algorithm - 选择 Levenshtein 和 Jaro Winkler?

我正在做一个应用程序来计算大量品牌/域并检测预先确定的关键字的变体。

例子:

我想知道是否出于比较两个字符串和检测细微变化的简单目的,两种算法都符合目的,因此除非是为了提高性能,否则选择一个而不是另一个没有附加价值?

0 投票
1 回答
97 浏览

list - 如何使用 jaro-winkler 相似性检查来处理巨大的列表

我有一个包含超过 1000 万个字符串的列表,我需要在使用相似度函数时对其进行迭代并获得得分百分比。我通过从另一个列表中获取一个项目来做到这一点,该项目将用于检查 giga 列表中的相似性,如下所示..

要使用的文本(text1、text2 等)大约为 50 到 100。如果药物列表有 10 个左右的项目,则代码运行良好且快速。我添加的项目越多,它变得越慢,问题越多,如果我有 500k 个项目,笔记本电脑可能会冻结。我有超过 1000 万个项目可用于药物清单。如何在不使系统崩溃的情况下加快速度?问候

0 投票
1 回答
79 浏览

r - RecordLinkage 包 jarowinkler 没有输出

我正在使用包版本 0.4-12 和 R 版本 4.0.0

我过去使用的数据链接代码不再像我使用 R 版本 3.6.3 时那样运行

除了 strcmpfun 参数设置为“jarowinkler”或“levenshtein”之外,下面两个链接的代码是相同的。

“levenshtein”代码运行良好,但 jarowinkler” 链接无法为“allpairs_jw”生成任何结果。

任何指导将不胜感激

0 投票
1 回答
135 浏览

python - 前一天我正确运行代码后,“未定义 jarowinkler”

我收到以下错误消息:

这个错误来自

在哪里words = df.Texts.tolist()

昨天我正确地运行了代码,没有任何问题。关于我现在收到此错误的原因的任何想法?

0 投票
1 回答
550 浏览

r - 如何在R中的数据库中将相似的字符串组合在一起

我只有一列名为“标题”的小标题。

我希望找到类似的记录并将它们组合在一起(同时保持它们的索引):

我正在使用下面的函数来查找彼此足够接近的字符串(cutoff = 0.75)

我已经实现了下面的循环,以便在一个新的数据框中一起“发送”类似的记录,但它不能正常工作,我尝试了一些变化,但还没有任何工作。

(我在循环中插入了打印“看看发生了什么”)

可重复的数据:

请问有什么建议吗?编辑:我还想要一个名为“组”的新索引列,如下所示: