问题标签 [murmurhash]

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 回答
94 浏览

javascript - Javascript 中的 Murmur3_128

我很难找到一种在 javascript 中生成 HASH 的方法,该方法等同于使用此代码在 java 中生成的方法

有没有人知道我是否可以在 javascript 中生成与从 java 中的此类代码生成的哈希相同的哈希?我找不到任何可以让我得到相同结果的东西..

0 投票
0 回答
14 浏览

murmurhash - 删除哈希函数中的“雪崩操作”?

我们正在使用散列函数(例如 murmurhash3)来有效地检查数据的修改。在实现 murmurhash3 时,我们注意到它在结尾处为雪崩效果添加了额外的操作。我们可以在保持抗碰撞性的同时去除这些操作以获得更高的速度吗?

0 投票
1 回答
924 浏览

python-3.x - 需要 Python 3.7 spaCy 帮助 - 环境不一致问题?

尝试将 spaCy 调用到我的 Jupyter 笔记本时遇到问题。当我运行时, import spacy我得到以下信息: 在此处输入图像描述

我以前多次使用 spaCy 都没有问题,但我注意到这个问题是在我尝试安装之后开始的,我from neuralcoref import Coref不确定这是否导致了这个问题。

当我进入终端并运行conda list spacy时,看起来 spaCy 可用: 在此处输入图像描述

我不太明白错误的含义,但我尝试使用重新安装 murmurhash,conda install -c anaconda murmurhash之后我得到了这个。这只是前几个的屏幕截图,但据称有许多软件包会导致不一致:

在此处输入图像描述

在导致不一致的软件包列表之后,我得到了这个: 在此处输入图像描述

作为参考,我使用的是 MacOS 和 python 3.7。我怎样才能解决这个问题?

0 投票
1 回答
331 浏览

ubuntu-18.04 - ImportError:无法导入名称“hash_unicode”

使用“import spacy”导入 spacy 时,出现此错误。

系统是 ubuntu,GPU 不可用。如何解决这个问题。

另外,有没有办法通过删除所有 spacy 包来完全重新安装 spacy,因为我认为这可能会解决问题。

0 投票
1 回答
62 浏览

hash - Murmurhash 在 32 位输入上有冲突吗?

考虑标准 Murmurhash,给出 32 位输出值。

假设我们将其应用于 32 位输入——是否存在冲突?

换句话说,当应用于 32 位输入时,Murmurmash 是否基本上对排列进行编码?如果存在冲突,谁能举个例子(扫描随机输入没有产生任何结果)?

0 投票
0 回答
20 浏览

java - 使用java复制python featurehashing不起作用

我正在尝试编写一个将 python FeatureHasher 复制到 Java 替代方案中的 java 方法。

https://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.FeatureHasher.html

下面是python代码。

我正在使用 guava 库 (guava:29.0-jre) 使用下面的代码来模拟上述转换,但是在使用 murmurhash3 之后,java 代码返回一个字节数组。我的要求是创建一个稀疏指标,如上面的 python 代码结果。

这是java代码:

如何使用这个 guava 库生成稀疏指标?

0 投票
0 回答
19 浏览

python - murmurhash 没有 string_hash 属性

我尝试像在旧的 murmur 模块(murmur.string_hash)中一样应用 murmurhash.string_hash,但它给了我一个错误,即 murmurhash 模块不包含 strin_hash 属性有人知道如何解决这个问题我尝试使用 murmur 模块但它没有不再使用 python3

0 投票
1 回答
29 浏览

cassandra - Cassandra 中的 partitioner 如何为特定的数据集确定哈希函数,以确保数据在多个集群中均匀分布?

正如我们从 Cassandra 的文档 [ Link to doc ] 中知道的那样,分区器应该使数据均匀分布在多个节点上,以避免读取热点。Cassandra 为此提供了各种分区算法 - Murmur3Partitioner、RandomPartitioner、ByteOrderedPartitioner。

Murmur3Partitioner 是 Cassandra 设置的默认分区算法。它对分区键进行哈希处理并转换为范围从 -2^63 到 +2^63-1 的哈希值。我的查询是,我们有不同的数据集,它们有不同的分区键。例如,可以使用 uuid 类型的数据设置分区键,其他可以设置名字和姓氏作为分区键,其他可以设置时间戳作为分区键,还可以在分区键中设置城市名称。

现在假设一个以城市为分区键的数据集,假设

节点 1 存储休斯顿数据

节点 2 存储芝加哥数据

Node 3 故事 Phoenix 数据等等……

并且我们的数据在某一时刻获得更多与芝加哥市的数据条目,然后节点 2 将拥有我们数据库的最大记录,并且在这种情况下会有热点。在这种情况下,Cassandra 将如何设法在这些节点之间均匀分布数据?

0 投票
0 回答
74 浏览

python - Python字符串散列没有冲突

有没有什么方法可以在 python 3 中实现散列而不发生任何冲突?

我正在使用 mmh3 提供的 mmh3

为了避免冲突,我正在实施 Salt(或种子)。这对独特性来说足够了吗?

目的:

我的字符串包含特殊字符和长字符串,我需要在数据库中更新并索引它。我假设(可能是错误的),带有特殊字符的查询导致问题。这就是我生成散列并存储在数据库中的原因。如果我的假设是错误的,那么我可以存储原始值

0 投票
0 回答
19 浏览

python - 具有 Kirsch Mitzenmacher 优化的布隆过滤器

我最近开始玩布隆过滤器,我有一个用例,这个计算器建议使用 15 个不同且不相关的哈希函数。对一个字符串进行 15 次散列运算会占用大量计算资源,因此我开始寻找更好的解决方案。

很高兴,我遇到了Kirsch-Mitzenmacher 优化,它提出了以下建议:hash_i = hash1 + i * hash2, 0 ≤ i ≤ k - 1,其中 K 是建议的哈希函数的数量。

在我的具体情况下,我正在尝试创建一个 0.5MiB 的布隆过滤器,它最终应该能够有效地存储 200,000 (200k) 条信息。使用 15 个哈希函数,这将导致p = 0.000042214, 或 23,689 (23k) 中的 1。

我尝试在python中实现优化如下:

但与创建只有两个哈希值的经典布隆过滤器相比,它的结果似乎要差得多(就误报而言,它的性能要差 10 倍)。

我在这里做错了什么?我是完全误解了优化 - 因此以错误的方式使用公式 - 还是我只是使用了错误的哈希“部分”(这里我在计算中使用了完整的哈希,也许我应该使用前 32 位在一个和另一个的后 32 位上)?或者问题是我在散列之前对数据进行了编码?

我还发现了这个 git 存储库,它讨论了 Bloom Filters 和优化,使用它时的结果在计算时间和误报数量方面都非常好。

*在示例中,我使用 python,因为这是我最熟悉的编程语言来测试,但在我的项目中,我实际上将使用 JavaScript 来执行整个过程。无论如何,非常感谢您选择的任何编程语言的帮助。