问题标签 [fuzzy-comparison]

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 投票
2 回答
5084 浏览

c# - 使用 MinHash 查找 2 个图像之间的相似性

我正在使用 MinHash 算法来查找图像之间的相似图像。我遇到过这篇文章,How can I recognize slightly modified images?它指向了MinHash算法。

我正在使用这篇博文中的 C# 实现,Set Similarity and Min Hash.

但是在尝试使用该实现时,我遇到了两个问题。

  • 我应该将值设置为什么值universe
  • 将图像字节数组传递给HashSet时,它只包含不同的字节值;因此比较 1 ~ 256 的值。

universeMinHash 中这是什么?
我可以做些什么来改进 C# MinHash 实现?

由于HashSet<byte>包含高达 256 的值,因此相似度值始终为 1。

以下是使用 C# MinHash 实现的源代码Set Similarity and Min Hash

0 投票
2 回答
421 浏览

comparison - 这个比较浮点数的函数有什么问题吗?

当我的浮点指南昨天在 slashdot 上发布时,我的建议比较函数受到了很多批评,这确实是不够的。所以我终于做了明智的事情,写了一个测试套件,看看我是否能让它们全部通过。到目前为止,这是我的结果。而且我想知道这是否真的和使用通用(即不是特定于应用程序)的浮点比较函数一样好,或者我是否仍然错过了一些边缘情况。

(代码已更新以修复错误)

0 投票
2 回答
947 浏览

sql - 模糊匹配两个哈希表?

我正在寻找有关如何最好地匹配两个包含字符串键/值对的哈希表的想法。

这是我面临的实际问题:我有导入到数据库中的结构化数据。我需要更新数据库中已经存在的记录,但是,源中的任何值都可能更改,因此我没有可靠的 ID。

我正在考虑模糊匹配两行,源和数据库,并做出“有根据”的猜测是否应该更新或插入。

任何想法将不胜感激。

解决方案

解决方案基于 Ben Robinson 的帖子。效果很好,允许在这里和那里有小的不匹配以及基于自定义键的权重。

0 投票
1 回答
2174 浏览

python - 在 Python 中生成两个文件的“模糊”差异,以及浮点数的近似比较

我有一个比较两个文件的问题。基本上,我想做的是两个文件之间的类 UNIX 差异,例如:

$ diff -u 左文件右文件

但是我的两个文件包含浮点数;并且因为这些文件是在不同的架构上生成的(但计算相同的东西),所以浮动值并不完全相同(它们可能相差 1e-10)。但是我通过“差异”文件寻求的是找到我认为有显着差异的内容(例如差异超过 1e-4);在使用 UNIX 命令 diff 时,我得到几乎所有包含浮动值的行都不同!那是我的问题:我怎样才能得到像 'diff -u' 提供的结果差异,但对浮动比较的限制较少?

我想我会写一个 Python 的脚本来做到这一点,并找到了模块 difflib,它提供了类似 diff 的比较。但是我找到的文档解释了如何按原样使用它(通过单一方法),并解释了内部对象,但我找不到任何关于如何自定义 difflib 对象以满足我的需求的信息(比如只重写比较方法或这样)......我想一个解决方案可能是检索统一的差异,并“手动”解析它以消除我的“错误”差异,这并不优雅;我更喜欢使用已经存在的框架。

那么,有人知道如何定制这个库,以便我可以做我想要的吗?或者至少为我指明了正确的方向......如果不是在 Python 中,也许 shell 脚本可以完成这项工作?

任何帮助将不胜感激!提前感谢您的回答!

0 投票
4 回答
3480 浏览

python - Python中的规范URL比较?

是否有任何工具可以在 Python 中进行 URL 比较?

例如,如果我有http://google.com并且google.com/我想知道它们很可能是同一个站点。

如果我要手动构建规则,我可能会将其大写,然后剥离该http://部分,并在最后一个字母数字字符之后删除任何内容。但我可以看到这个失败,我相信你也可以。

有没有这样做的图书馆?你会怎么做?

0 投票
3 回答
5223 浏览

fuzzy-comparison - 如何对相似的新闻文章进行分组/比较

在我正在创建的应用程序中,我想添加将新闻故事组合在一起的功能。我想将来自不同来源的关于同一主题的新闻故事分组到同一个组中。例如,来自 CNN 和 MSNBC 的关于 XYZ 的文章将属于同一组。我猜它是某种模糊逻辑比较。从技术角度来看,我将如何做到这一点?我有哪些选择?我们甚至还没有启动应用程序,因此我们可以使用的技术不受限制。

在此先感谢您的帮助!

0 投票
3 回答
6076 浏览

oracle - 如何使用 jaro-winkler 在表中找到最接近的值?

我的数据库中有一个 jaro-winkler 算法的实现。我没有写这个函数。该函数比较两个值并给出匹配的概率。

所以 jaro(string1, string2, matchnoofchars) 会返回一个结果。

我不想比较两个字符串,而是想发送一个带有 matchnoofchars 的字符串,然后得到一个概率高于 95% 的结果集。

例如,当前函数能够为 jaro("Philadelphia","Philadelphlaa",9) 返回 97.62%

我希望调整此功能,以便能够找到“Philadelphia”作为“Philadelphlaa”的输入。我需要做什么样的改变才能发生这种情况?

我正在使用 Oracle 9i。

0 投票
7 回答
806 浏览

c# - 使用具有模糊容差算法的笔画作为加密密钥

如何使用模糊容差加密/解密?

我希望能够在 InkCanvas 上使用 Stroke 作为我的加密密钥,但是当再次解密时,用户不必绘制完全相同的符号,只需相似即可。这可以在 .NET C# 中完成吗?

--- 更新(9 月 9 日) ---

我理想中想要的是一种加密算法,它可以接受基于某些基本密钥和定义允许差异的函数的特定范围内的任何密钥。

我在本地进行所有加密/解密,所以我不需要通过电线安全地发送任何东西。而且我不想存储用于加密的密钥,所以我没有什么可比较的。我可以想出一些方法来为每个相似的笔划生成相同的键,但如果想要接受任何类型的符号(不仅仅是字母),这并不容易。另一种选择是加密密钥是否可以通过设计以某种方式接受类似的密钥,我不知道这是否可能......?

0 投票
4 回答
1508 浏览

java - 一长串查询中的模糊匹配 API

我有一个应用程序可以让人们询问预定义的查询。但是,此类查询的列表太长。因此,当前的方法是让用户在搜索框中输入一个词,然后向他们显示查询列表中可能的匹配项。(很像谷歌的“你的意思是”功能。)

是否有可用的 Java API?我应该能够提供查询列表。API 应提供模糊匹配功能,因此不正确的拼写无关紧要。(这就是为什么精确的字符串匹配算法是不够的)

0 投票
1 回答
4031 浏览

lucene.net - Lucene.net 模糊短语搜索

我自己已经尝试了相当长的一段时间,并在网上到处寻找 - 但无法找到任何通过 Lucene.NET 2.9.2 搜索模糊短语的示例。( C# )

有什么东西能够详细建议如何做到这一点和/或提供一些示例代码 - 我会非常感谢任何帮助,因为我完全被困住了?