问题标签 [sequencematcher]

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 投票
1 回答
1482 浏览

python - Python Comparing text files for similar or equal lines

I have 2 text files, my goal is to find the lines in file First.txt that are not in Second.txt and output said lines to a third text file Missing.txt, i have that done:

But after running the script i've come to a problem, there are lines that are very similar, examples:

and (No space after the bracket)

or

and (capital F letter)

I have found SequenceMatcher, which does what i require, but how do i implement this into the comparison, since those are not just two strings, but a string and a set

0 投票
1 回答
777 浏览

string - python3,difflib序列匹配器

下面接受两个字符串,比较差异并将它们作为相同以及它们的差异返回,用空格分隔(保持最长字符串的长度。

代码中的注释区域是应该返回的 4 个字符串。

在将块排列成有组织的格式bla1之后,bla2每个差异都存储为一个字符串,其中包含其开始和结束位置,例如['v', 33, 34]每个单独的字符串。在此之后,我尝试插入空格以匹配必要的长度和分隔因子,这就是代码开始中断的地方。

如果有人可以看看,请!

0 投票
0 回答
107 浏览

python - 在python中比较一个非常大的列表中的项目的最快方法

我有很长的推文列表存储在 python 列表中(超过 50k)。我正处于比较每个项目与其他项目的阶段,以通过使用 difflib 找到推文之间的相似性(删除那些相似的 755 条,同时只保留一条相似的推文)。我使用 itertools.combinations 循环遍历所有项目,但花了很长时间(即几天)。这是我的代码:

有更快的方法吗?

0 投票
1 回答
99 浏览

python - python中基于优先级序列的序列匹配器

我正在尝试从股票名称列表中找到最匹配的单词,并且我希望将更多优先级放在前面的单词而不是后面的单词上,尽管后面的单词可能有更多的字符。

例如。

“SG HOLDINGS”与“S2 HOLDINGS”

与“SG HOLDING”与“SG Corp”相比,序列匹配器将显示这两个词具有更高的相似率,但后者实际上是我正在寻找的公司。我怎样才能让股票名称前面的单词更重?还有其他我可以使用的库吗?

谢谢

0 投票
1 回答
521 浏览

python - 当匹配长字符串时,SequenceMatcher 的 get_matching_blocks

在:

出去:

显然,对于第一个 match_result,'gks' 处于临时状态,但 get_matching_blocks 没有返回该块。

然后我删除了 temp 的第一个“g”,它返回了正确的块。

我尝试缩短温度,但仍然不以“gks”开头,它也返回了正确的块。

所以我很困惑。为什么第一次尝试没有成功?

0 投票
1 回答
278 浏览

python - difflib 序列匹配器缺少公共子字符串

在尝试查找两个字符串之间的公共子字符串时,SequenceMatcher不会返回所有预期的公共子字符串。

输出:

s1"gs%29+" 是和之间的公共子字符串s2,但SequenceMatcher.

我错过了什么吗?

谢谢

0 投票
2 回答
1934 浏览

python - 查找两个字符串之间的匹配百分比,同时考虑单词的顺序 - Python

我正在寻找一种在两个字符串(例如:名称)之间输出匹配百分比的方法,同时还考虑到它们可能相同但单词的顺序不同。我尝试使用 SequenceMatcher() 但结果只是部分令人满意:

除了第二个结果,我对所有结果都满意。我注意到它没有考虑到c is 包含与 a 相同但顺序不同的单词。

在我上面提到的情况下,有没有其他方法可以匹配字符串并获得更高的匹配百分比。还应考虑到名称可能包含两个以上的单词。

谢谢!

0 投票
2 回答
214 浏览

sql - SQL Server 中是否有与 pythons 的 SequenceMatcher 等效的方法来连接相似的列?

在 python 中有一个很好的内置函数,可以让我检查两个字符串序列之间的差异。下面的例子:

例子:

SQL中是否有等效的功能?

我需要做的是在一个列上连接两个表。在表 A 上,此列是他们的实际帐号,在另一张表上,该列是用户添加他们的帐号,这不是必填字段,因此我注意到他们的实际帐号略有不同.

表 A

表 B

预期输出:

0 投票
3 回答
18398 浏览

python - 使用fuzzywuzzy 时出错:UserWarning: Using slow pure-python SequenceMatcher。安装 python-Levenshtein 以删除此警告

我得到以下错误。有没有办法在不安装 python-Levenshtein 的情况下修复它,如果没有,那么如何在 linux 上安装 python-Levenshtein。

0 投票
2 回答
2068 浏览

python - SequenceMatcher - 查找两个或多个数据列表中最相似的两个元素

我试图将一组字符串与一组已经定义的字符串进行比较。例如,您想查找一封信的收件人,该文本通过 OCR 数字化。

有一个地址数组,其中有字典作为元素。每个元素都是唯一的,包含 ID、名称、街道、邮政编码和城市。该列表将包含 1000 个条目。

由于 OCR 扫描的文本可能不准确,因此我们需要找到与包含地址的列表的最佳匹配候选字符串。

正文长 750 字。我们通过使用适当的过滤函数来减少单词的数量,它首先按空格分割,从每个元素中去除更多的空格,删除所有少于 5 个字符的单词并删除重复项;结果列表是 200 字长。

由于每个收件人有 4 个字符串(名称街道、邮政编码和城市),并且剩余的字母长度为 200 个字,因此我的比较必须运行 4 * 1000 * 200 = 800'000 次。

我使用 python 取得了中等成功。已正确找到匹配项。但是,该算法需要很长时间来处理大量字母(每 1500 个字母最多需要 50 小时)。列表理解已被应用。有没有办法正确(而不是不必要)实现多线程?如果此应用程序需要在低规格服务器上运行怎么办?我的 6 核 CPU 不会抱怨此类任务,但是,我不知道在小型 AWS 实例上处理大量文档需要多少时间。

我希望每个文档的处理速度更快。(最多 1 分钟),而不是每 1500 个字母 50 小时。我确信这是瓶颈,因为其他任务运行迅速且完美无缺。

有没有更好(更快)的方法来做到这一点?