fuzzy-search相关内容

模糊文本匹配C#

我正在编写一个桌面UI(.Net WinForms),以帮助摄影师清理其图像元数据.列出了66k +个词组.谁能建议我使用一个好的开源/免费.NET组件,该组件采用某种算法来识别潜在的合并候选人?例如,可能存在两个或多个条目,它们实际上是相同的单词或短语,只是空格或标点符号或什至轻微的拼写错误而有所不同.该应用程序最终将依靠用户来操作短语的合并,但事实证明,有效地自动找到潜在候选者将是无价之宝. ..
发布时间:2021-04-18 18:49:01 C#/.NET

如何模糊匹配仅相邻的单元格?

我在对应的两列中有10,000个名称行,每列10,000个. A列中的每个单元格都对应于B列中的相邻单元格.我想进行模糊匹配,并获得所有这些单元格与相邻单元格的兼容性得分.我不希望它搜索整个列还是整个列,仅搜索相邻的单元格,而我似乎无法使用Fuzzy Match Excel插件来实现这一点? 示例: Column A: Column B: Value: App ..
发布时间:2020-11-01 19:47:52 其他开发

弹性搜索中通配符和模糊查询一起

我正在尝试设计一个查询,在其中可以同时使用通配符和模糊查询。 根据我的说法,query_string用于通配符搜索,multi_match可以 我想要一个查询单词的查询:- “ elast”: -提供结果elastic和elasticsearch。 “ elasttc”:-还提供弹性和弹性搜索结果。 弹性搜索同时支持通配符和模糊查询? 谢谢... 解决方案 ..
发布时间:2020-10-28 02:19:33 其他开发

带有模糊性的多个字段上的ElasticSearch multi_match查询

如何为模糊匹配查询添加模糊性?因此,如果有人要搜索“棒球”,它仍然会找到“棒球”文章。当前我的查询如下: POST / newspaper / articles / _search { “ query” :{{ “ function_score”:{ “ query”:{ “ multi_match”:{ “ query”:“棒球”, “ type”:“短语”, “字段”:[ “ su ..
发布时间:2020-10-28 01:31:51 其他开发

Apache Spark中的高效字符串匹配

使用OCR工具,我从屏幕截图中提取了文本(每个文本约1-5个句子).但是,当手动验证提取的文本时,我注意到不时出现一些错误. 给出文字“你好,😊!我真的很喜欢Spark❤️!",我注意到了: 1)诸如"I",“!"和"l"之类的字母被"|"替换. 2)表情符号未正确提取并替换为其他字符,或者被忽略了. 3)不时删除空格. 结果,我可能会得到一个像这样的字符串:“你好 ..

Ruby中的字符串字典中的快速模糊/近似搜索

我有一个50K到100K字符串的字典(最多可以包含50个以上的字符),我试图查找字典中给定的字符串是否具有一定的“编辑"距离公差. (例如,Levenshtein).在进行搜索之前,我可以很好地预先计​​算任何类型的数据结构. 我的目标是尽可能快地对该字典运行数千个字符串,并返回最接近的邻居.我会得到一个布尔值,说一个给定是否在字典中,如果有一个更快的算法可以这样做 为此,我首先尝试计 ..

如何找到最佳的模糊字符串匹配?

Python的新的正则表达式模块支持模糊字符串匹配.大声赞美(现在). 根据文档: ENHANCEMATCH标志进行模糊匹配尝试以提高拟合度 找到的下一个匹配项. BESTMATCH标志使模糊匹配搜索最佳匹配 而不是下一场比赛 与 一样,使用(?e)设置ENHANCEMATCH标志 regex.search("(?e)(dog){e ..
发布时间:2020-08-05 22:11:24 Python

音译和模糊搜索,例如Google的建议

我需要用字符的音译进行模糊搜索,例如: 我有一个ASP.NET应用程序数据库,它有一个带有西班牙语单词列表的表(200,000个条目),还有一个带有输入字段的页面.关键是我不懂西班牙语,也不知道如何用西班牙语拼写搜索词,但我知道它的发音.因此,在文本框中输入搜索词,例如"beautiful",但是在记录错误中显示"prekieso",并且我需要从数据库中获取正确的版本:"precioso". ..

如何在大型字符串数据库中找到字符串的最佳模糊匹配

我有一个字符串数据库(任意长度),其中包含超过一百万个项目(可能更多). 我需要将用户提供的字符串与整个数据库进行比较,并检索相同的字符串(如果存在),否则返回最接近的模糊匹配(相似度为60%或更高).理想情况下,搜索时间应在一秒以内. 我的想法是在根据候选数据库的长度缩小候选数据库的范围后,使用编辑距离将每个数据库字符串与搜索字符串进行比较. 但是,由于我将需要经常执行此操作, ..
发布时间:2020-07-10 02:20:20 其他开发

如何在有序键值存储中进行大于内存字典的模糊字符串匹配?

我正在寻找一种算法和存储模式来对比内存字典更大的字符串进行匹配. 我的最初尝试是受 https://swtch.com/~rsc/regexp的启发/regexp4.html ,用于存储字典中每个单词的三元组合,例如单词apple在索引处被拆分为$ap,app,ppl,ple和le$时间.所有与它们来自的单词相关的三字母组合. 然后,我查询时间,对必须匹配的输入字符串执行相同的操作.我 ..

SQL模糊联接-MSSQL

我有两组数据.现有客户和潜在客户. 我的主要目标是弄清楚是否有任何潜在客户已经是现有客户.但是,跨数据集的客户命名约定不一致. 现有客户 Customer / ID Ed's Barbershop / 1002 GroceryTown / 1003 Candy Place / 1004 Handy Man / 1005 潜在客户 Customer Eds ..
发布时间:2020-06-15 19:29:12 其他开发

q-gram近似匹配优化

我有一个表,其中包含300万个人记录,我希望使用q-gram(例如,在姓氏上)执行模糊匹配.我创建了一个2克表链接到此表,但是此数据量(约5分钟)的搜索性能并不理想. 我基本上有两个问题: (1)您能否提出任何提高性能的方法以避免表扫描(即必须对搜索字符串和300万个姓氏之间的常见q-gram进行计数) (2)对于q-gram,如果A与B相似,而C与B相似,是否暗示C与A相似? 亲切的 ..
发布时间:2020-06-15 19:29:09 数据库

模糊正则表达式

在我的工作中,我获得了很好的结果,使用了近似的字符串匹配算法(例如Damerau–Levenshtein距离),使我的代码更不会受到拼写错误的影响. 现在,我需要将字符串与简单的正则表达式(例如,TV Schedule for \d\d (Jan|Feb|Mar|...))进行匹配.这意味着字符串TV Schedule for 10 Jan应该返回0,而T Schedule for 10. ..
发布时间:2020-06-15 19:28:55 其他开发

如何匹配来自两个数据集的模糊匹配字符串?

我一直在研究一种基于不完善的字符串(例如公司名称)来联接两个数据集的方法.过去,我必须匹配两个非常脏的列表,一个列表包含名称和财务信息,另一个列表包含名称和地址.都没有唯一的ID可以匹配! 假定已经应用了清洁,并且可能存在打字和插入内容. 到目前为止,AGREP是我发现最有效的工具.我可以在AGREP包中使用levenshtein距离,该距离用于测量两个字符串之间的删除,插入和替换的数量. ..
发布时间:2020-06-15 19:28:52 其他开发

Google表格-匹配的公司名称

我有2个数据库,都有公司名称,但格式不同.我已经能够使用vlookup进行精确匹配.我想提取写不同的公司,但实际上它们是同一家公司,并提取数据. 下面是我拥有的数据库的一小部分 Database 1 Column A 1-800-Flowers.com Inc Abbott Laboratories (Abbott) 21st Century Fox America Inc (for ..
发布时间:2020-06-15 19:28:47 其他开发

Python模糊匹配列表性能中的字符串

我正在检查在4个相同的数据框列中是否有相似的结果(模糊匹配),并且以下面的代码为例.当我将其应用于实际的40.000行x 4列数据集时,将始终以整数运行.问题是代码太慢.例如,如果我将数据集限制为10个用户,则需要8分钟来计算,而要花20到19分钟.有什么我想念的吗?我不知道为什么要花这么长时间.我希望能在2小时或更短时间内获得所有结果.任何提示或帮助将不胜感激. from fuzzywuz ..
发布时间:2020-06-12 19:40:31 Python

编辑距离:忽略开始/结束

我正在寻找一种可以编辑距离的算法,但是会忽略一个字符串和空白中的开始和结束: edit(“ four”,“ foor”)= 1 edit(“ four”,“噪声或模糊”)= 1 是否存在现有的算法?甚至可能是Perl或Python库? 解决方案 执行此操作的代码在概念上很简单。您可以自己添加以下内容,这就是您要忽略的想法: #!perl 使用v5.2 ..
发布时间:2020-06-03 22:04:19 Python

Python中的模糊字符串匹配

我有2个超过一百万个名称的列表,它们的命名约定略有不同。这里的目标是匹配具有95%置信度的逻辑的相似记录。 我意识到我可以利用某些库,例如 但是在处理方面,似乎一个列表中的每个字符串要与另一个列表进行比较会占用太多资源。这种情况似乎需要一百万乘以另一百万的迭代次数。 还有其他更有效的方法来解决此问题吗? 更新: 所以我创建了一个存储桶函数,并应用了一个简单的规范化功能 ..
发布时间:2020-06-03 20:03:09 Python