算法 - 字符串相似度分数/散列

2024-01-03

有没有一种方法可以计算字符串的一般“相似度分数”?在某种程度上,我不是将两个字符串比较在一起,而是为每个字符串获取一些数字/分数(哈希),这些数字/分数可以稍后告诉我两个字符串是否相似。两个相似的字符串应该具有相似(接近)的分数/哈希值。

让我们以这些字符串和分数为例:

你好世界1000

你好世界! 1010

你好地球1125

富酒吧 3250

富巴巴 3750

福酒吧! 3300

福世界! 2350

你可以看到Hello world!和 Hello world 相似,得分也接近。

这样,找到与给定字符串最相似的字符串可以通过从其他分数中减去给定字符串分数然后对它们的绝对值进行排序来完成。

我的最终目标是:会有流日志消息(仅纯消息),我想找到这些消息的模式(某种正则表达式类型)。但是只有当我可以存储类似的字符串时,这才开始。我再次强调我应该为每个字符串获取一些数字/分数(哈希),稍后可以告诉我两个字符串是否相似


看一下局部敏感哈希 http://en.wikipedia.org/wiki/Locality_sensitive_hashing.

基本思想是对输入项进行哈希处理,以便相似的项以高概率映射到相同的桶(桶的数量远小于可能输入项的范围)。

有一个很好的解释here http://d3s.mff.cuni.cz/~holub/sw/shash/以及一些示例代码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

算法 - 字符串相似度分数/散列 的相关文章

  • Python有条件求解时滞微分方程

    我在用dde23 of pydelay包来求解延迟微分方程 我的问题 如何有条件地编写方程 例如目标方程有两个选项 when x gt 1 dx dt 0 25 x t tau 1 0 pow x t tau 10 0 0 1 x othe
  • Python 2.7 将比特币私钥转换为 WIF 私钥

    作为一名编码新手 我刚刚完成了教程 教程是这样的 https www youtube com watch v tX XokHf nI https www youtube com watch v tX XokHf nI 我想用 1 个易于阅读
  • Python从int到string的快速转换

    我正在用 python 求解大量阶乘 并发现当我完成计算阶乘时 需要相同的时间才能转换为字符串以保存到文件中 我试图找到一种将 int 转换为字符串的快速方法 我将举一个计算和 int 转换时间的例子 我正在使用通用的 a str a 但感
  • 为什么我的代码不能根据字典解码加密字符串?

    我有一本字典 其中包含代表字母的键和值 例如一个简单的 DICT CODE b g n a p o x d t y 我收到了一个加密代码 并将该字符串转换为一个列表 其中每个项目都是一个单词 我需要根据字典中的项目来解决它 代码示例是 wo
  • Tweepy StreamListener 到 CSV

    我是 python 新手 我正在尝试开发一个应用程序 使用 Tweepy 和 Streaming API 从 Twitter 检索数据并将数据转换为 CSV 文件 问题是此代码不会创建输出 CSV 文件 也许是因为我应该将代码设置为在实现例
  • 了解 Python 中的酸洗

    我最近接到一项作业 需要以腌制形式放置一本字典 其中每个键引用一个列表 唯一的问题是我不知道腌制形式是什么 谁能给我指出一些好的资源的正确方向来帮助我学习这个概念 pickle 模块实现了一个基本但强大的算法 用于序列化和反序列化 Pyth
  • numpy 使用 datetime64 进行数字化

    我似乎无法让 numpy digitize 与 datetime64 一起使用 date bins np array np datetime64 datetime datetime 2014 n 1 s for n in range 1 1
  • 登录网站并使用 python 请求下载文件

    我有一个带有 HTML 表单的网站 登录后 它会将我带到 start php 站点 然后将我重定向到overview php 我想从该服务器下载文件 当我单击 ZIP 文件的下载链接时 链接后面的地址是 getimage php path
  • 模式识别算法

    过去我必须开发一个充当规则评估器的程序 你有一个先行词和一些后续词 动作 所以如果先行词评估为真 则执行的动作 当时我用的是修改版RETE算法 http en wikipedia org wiki Rete algorithm RETE 有
  • 更改 python tkinter canvas 中的线坐标

    我画了一条线tkinter Canvas现在我想移动一端 这可能吗 例如和itemconfig import tkinter tk tkinter Tk canvas tkinter Canvas tk canvas pack line c
  • WindowsError:[错误 126] 使用 ctypes 加载操作系统时

    python代码无法在Windows 7平台上运行 def libSO lib ctypes cdll LoadLibrary ConsoleApplication2 so lib cfoo2 1 3 当我尝试运行它时 得到来自python
  • Apache Spark 中的高效字符串匹配

    我使用 OCR 工具从屏幕截图中提取文本 每个大约 1 5 句话 然而 当手动验证提取的文本时 我注意到时不时会出现一些错误 鉴于文本 你好 我真的很喜欢 Spark 我注意到 1 像 I 和 l 这样的字母被 替换 2 表情符号未被正确提
  • 在Python中计算内存碎片

    我有一个长时间运行的进程 不断分配和释放对象 尽管正在释放对象 但 RSS 内存使用量会随着时间的推移而增加 如何计算发生了多少碎片 一种可能性是计算 RSS sum of allocations 并将其作为指标 即便如此 我该如何计算分母
  • django-admin.py makemessages 不起作用

    我正在尝试翻译一个字符串 load i18n trans Well Hello there how are you to Hola amigo que tal 我的 settings py 文件有这样的内容 LOCALE PATHS os
  • 乘以行并按单元格值附加到数据框

    考虑以下数据框 df pd DataFrame X a b c d Y a b d e Z a b c d 1 2 1 3 df 我想在 列中附加数字大于 1 的行 并在该行中的数字减 1 df 最好应该 然后看起来像这样 或者它可能看起来
  • 使用 numpy 在 python 中执行最大方差旋转

    我正在研究矩阵的主成分分析 我已经找到了如下所示的组件矩阵 A np array 0 73465832 0 24819766 0 32045055 0 3728976 0 58628043 0 63433607 0 72617152 0 5
  • Pandas style.bar 颜色基于条件?

    如何渲染其中一列的 Pandas dfstyle bar color属性是根据某些条件计算的 Example df style bar subset before after color ff781c vmin 0 0 vmax 1 0 而
  • 为什么 n 按位和 -n 总是返回最右边的位(最后一位)

    这是Python代码片段 1 1 1 2 2 2 3 3 1 看来任何n n总是返回最右边 最后 位 我真的不知道为什么 有人可以帮助我理解这一点吗 这是由于负数以二进制表示的方式 称为二进制补码表示 创建某个数字 n 的补码 换句话说 创
  • Python 声音(“铃声”)

    我想让一个 python 程序在完成任务时通过发出嘟嘟声来提醒我 目前 我使用import os然后使用命令行语音程序说 进程完成 我更愿意它是一个简单的 铃 我知道有一个函数可以用于Cocoa apps NSBeep 但我认为这与此没有太
  • Python]将两个文本文件合并为一个(逐行)[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我是蟒蛇新手 我想做的是将文件 a 和文件 b 逐行合并到一个文件中 例如 text file a a n b n c text fi

随机推荐

  • 在查找上转换 MongoDB 数据

    是否可以转换 MongoDB 中查找查询返回的数据 举个例子 我有一个first and last用于存储用户名字和姓氏的字段 在某些查询中 我希望仅返回名字和姓氏首字母 例如 Joe Smith 返回为 Joe S 在 MySQL 中SU
  • 绕过路由处理中的身份验证

    我已经设置了一个带有注册主页和一些需要登录的内部页面的应用程序 我使用 Node 和 Express js 来设置服务器并控制路由和身份验证工作正常 如果我尝试访问 localhost port clientPage 如果我之前登录过 我会
  • Julia:从数组或矩阵中删除行和列

    如何从数组中删除一行或多列 合作 julia gt array 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 4 4 Array Int64 2 1 2 3 4 5 6 7 8 9 10 11 12 13 1
  • 基于百分比的布局间隙

    我在基于百分比的布局方面遇到问题 这是我的代码http jsfiddle net uHkXH http jsfiddle net uHkXH 如果您在 Mac 上使用 Safari 或 Opera 或者在 Windows 上使用 IE7 或
  • 设计自定义路由和登录页面

    我正在尝试让自定义路由在我的 Rails 应用程序中工作 Ruby 1 9 2 和 Rails 3 这是我的 config routes rb 文件 match dashboard gt home dashboard as gt user
  • C++ 推导“非类型函数指针”类模板参数

    考虑一个模板类 例如 template
  • .mp4 文件无法在 Chrome 中播放

    我想在我的网站上展示视频 我创建了一个 mp4 文件并使用 HTML5 视频标签将其添加到 html 中 问题是它没有在 chrome 中显示 我也想知道如何才能一次又一次地重播它 我也有同样的问题 我将编解码器更改为 H264 MPEG
  • Pyinstaller-python exe 停止工作:“无法打开自身”

    我一直在使用 Pyinstaller 将 python 脚本转换为可执行文件 过去它对我来说效果很好 但是现在 当我尝试运行可执行文件 旧的和新的 时 出现错误 无法打开自身 或存档 其中第一个空白是可执行文件的路径 第二个空白是存档的路径
  • 如何运行拉取的图像 - docker

    我正在尝试运行拉取的图像 但没有成功 我使用图像 URI 从 AWS 中提取了图像 当我跑步时docker images我可以看到我拉的图像 REPOSITORY TAG IMAGE ID CREATED SIZE alpine 3 9 0
  • 为什么 Excel 不根据 8 字节 IEEE 754 进行舍入

    以下表达式的计算结果为false in C 1 1 0 85 3 lt 0 95 我想它在大多数实现 IEEE 754 的其他编程语言中都是这样做的 因为 1 1 0 85 3评估为0 95000000000000007 大于0 95 然而
  • 如何在没有根项目的情况下在 Maven3 中执行 Reactor 构建?

    如何在没有根项目的情况下在多个 Maven 项目上执行临时反应器构建 这在 maven2 中曾经是可能的 通过调用带有 r 选项的 mvn 命令 该命令将从工作目录中递归搜索项目 并将它们组织在反应器中以正确的顺序构建 即使项目不共享公共资
  • 选择不适用于 Ionic Framework 的默认选项

    我正在使用离子框架 我想输入第一个选项作为默认值 但这样做不起作用 我能做些什么
  • 函数声明后的 __asm__("__isoc99_scanf")

    我在预处理的 C 代码中看到了以下代码 什么是asm函数声明后做什么 extern int scanf const char restrict format asm isoc99 scanf 显然 它使函数调用编译为 call isoc99
  • Android 谷歌分析 xml 文件

    我正在读一本新书谷歌 Android 分析教程 https developers google com analytics devguides collection android v4 很奇怪 首先当我在我的 gradle 中添加这个字符
  • 使用 OpenCV 扫描文档

    我正在开发一款适用于 Android 的文档扫描仪 类似于this https play google com store apps details id com intsig camscanner 我对此进行了搜索 发现可以使用 Open
  • BuildContext 在 Flutter 中做什么?

    什么是BuildContext我们可以从中得到什么信息 https docs flutter dev flutter widgets BuildContext class html https docs flutter dev flutte
  • 禁用特定语言功能的自动完成功能

    我导入vector from std using include
  • 将远程对象反序列化为最窄的可访问类

    In 共享 jar I have abstract class MyParent abstract class MyClass MyParent getFoo 服务器 jar包含 abstract class MyChild extends
  • android:textAllCaps="false" 不适用于 TabLayout 设计支持

    我已经设定android textAllCaps false in my android support design widget TabLayout认为它只显示全部大写的选项卡标题 如何删除所有大写字母 设计库更新 23 2 0 原始答
  • 算法 - 字符串相似度分数/散列

    有没有一种方法可以计算字符串的一般 相似度分数 在某种程度上 我不是将两个字符串比较在一起 而是为每个字符串获取一些数字 分数 哈希 这些数字 分数可以稍后告诉我两个字符串是否相似 两个相似的字符串应该具有相似 接近 的分数 哈希值 让我们