python - 相似文本百分比和容忍度

标签 python algorithm dictionary

案例场景:

想象一个包含以下数据的键值对象(字典):

{ 
   'www.example.com/':2,
   'www.example.com/happy/':4
}

我从包含以下数据的来源收到一个值:

{
    'www.example.com//':4
}

很明显,www.example.com//与 www.example.com/非常相似。我不想在我的字典中创建一个新条目,而是希望代码根据文本相似性查看我的字典中最接近的键,然后对数字求和。因此,字典的最终状态将如下所示:

{ 
   'www.example.com/':6,
   'www.example.com/happy/':4
}

求和部分很容易,反弹容差也很容易,但具有挑战性的部分是随着字典的增长,最好的算法是什么?

即我是否必须每次都遍历字典并检查 key (像这样:

for key in dictionary:
    if tolerance > diff(key,collected_data):
        dictionary[key] += collected_data[value]
        break

)

但是上面的例子在找到最佳值之前不会停止,这并不理想。

最佳答案

我猜你想要某种局部敏感哈希 (LSH),我以前从未尝试过,但你可以尝试类似 http://nearpy.io/ 的东西

关于python - 相似文本百分比和容忍度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35643124/

相关文章:

python - reshape 字典键

java - 我应该如何改进DFS Java实现来解决这个问题?

dictionary - 解码到 map 中

c# - Dictionary 的时间和空间复杂度是多少?

python - 如何有效地将整数映射到多维数组中的 URI?

python - 使用 Opencv 比较签名

python - 使用 pyinstaller 从 webpy 构建 exe

python - F2PY 在 Windows 7 上找不到 intel fortran 编译器

java - 在网格图中查找空白地形矩形

用于字符串相似性的 Python 摘要/哈希