问题标签 [fuzzywuzzy]

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

python - Pandas Dataframe 中行的 Python FuzzyWuzzy 分数

我想遍历 Pandas 数据框并仅获取每行对的 fuzz.ratio 分数(并非所有组合)。我的数据框如下所示:

Acct_Owner ,地址,地址 2

0, Name1, NaN, 33 Liberty Street
1, Name2, 330 N Wabash Ave Ste 39300, 330 North Wabash Avenue Suite 39300

有缺失值,所以我使用“try:”跳过缺失值行。以下是当前的 for 循环:

结果显示所有行的分数相同。 希望弄清楚为什么循环没有遍历并对每一行进行评分。 谢谢阅读...

0 投票
1 回答
54 浏览

python - 用常见的重要词匹配相似的字符串

我想用相同的重要词匹配相似的字符串。

问题:

我有两个文件一个主文件和一个输入文件。我必须遍历输入文件并从 master 中找到类似的记录。目前我已经在 ElasticSearch 中索引了主文件并尝试从 ElasticSearch 中获取类似的记录,但是由于 Master 包含许多类似的记录,它返回许多记录并从中找到合适的记录是问题所在。

样本输入记录:

ElasticSearch 的示例输出:

我曾尝试使用 POS 标记器来获取重要术语,但效果不佳。

POS标记器输出:

如何进行此操作?

编辑:

在上面的例子中,H1是重要项

样本输入记录:

ElasticSearch 的示例输出:

最初我需要识别重要的词。重要词中目前没有模式。

IE)

0 投票
1 回答
1349 浏览

python - 数据框中带有列的模糊匹配列表

我有一个字符串列表,我试图与列中的值匹配。如果它是低匹配(低于 95),我想返回当前列值,如果它高于 95,那么我想从列表中返回最佳模糊匹配。我正在尝试将所有返回的值放入一个新列中。我不断收到错误“元组索引超出范围”,我认为这可能是因为它想返回一个带有分数和名称的元组,但我只想要名称。这是我当前的代码:

期望的输出:

0 投票
1 回答
159 浏览

python-3.x - Python中的字符串匹配引用相同的实体

我正在处理一些实体匹配问题,我必须检查记录是否引用相同的业务实体,请看下面由管道分隔的两条记录,现在管道两侧的单词引用相同的实体,第一个记录是 Fairvill common,第二个记录是 walmart 901 common。是否有任何字符串匹配函数可以执行这种比较。

我在python中尝试了soundex和fuzzywuzzy,但结果并不那么有帮助,非常感谢任何帮助。

0 投票
1 回答
2426 浏览

java - 执行模糊包含检查

我想检查关键字字符串是否包含在文本字符串中。这一定是一个模糊的包含。

我的第一次尝试是使用库blurwuzzy。当使用部分比率时字符串差异很大时,这似乎具有产生高匹配值的意外行为。

我尝试使用 levenshtein 的距离,它可以将一个字符串与另一个字符串进行比较,但不能用于查找字符串是否包含关键字。
我尝试的一个想法是将文本拆分为单个单词,然后遍历它们,计算距离以查看是否匹配。问题是关键字中可能有空格,这意味着使用此方法找不到任何匹配项。

我现在尝试使用 Bitap 算法来查找关键字是否在文本中,但是当关键字和文本非常不同时,这会返回为真。该算法可以在这里找到。

我已经研究过使用 Lucene。这样做的问题在于,其中很多都是基于从所有数据创建索引然后执行搜索。在我的情况下,这是无法做到的,因为它需要是一种分别采用关键字和文本的方法。如果有任何资源可以在不使用 Lucene 索引的情况下执行模糊包含,这将非常有用。

最好的方法是什么?

0 投票
1 回答
4912 浏览

python - Pyspark levenshtein 加入错误

我想根据 Levenshtein 距离执行连接。

我有 2 张桌子:

  1. Data:这是 HDFS 文件存储库中的 CSV。其中一列是 Disease description, 15K 行。
  2. df7_ct_map:我从 Hive 调用的表。其中一列是 Disease Indication, 20K 行。

我试图通过将每个描述与指示相匹配来加入两个表(它们是疾病的文本描述)。理想情况下,它们需要相同,但如果两个文本不同,我希望选择包含最多常用词的匹配文本。

问题是DataDataFrame就是为什么我得到以下错误:

一些忠告?我可以使用 Fuzzywuzzy 包吗?如果是这样,怎么做?

0 投票
1 回答
114 浏览

python - 数据框 1 中的多个拼写结果

我有一些包含拼写错误的数据。我正在纠正它们并使用以下代码对拼写的接近程度进行评分:

这给出了结果:

对于“e”行,“potato”在第 1 行,“apple”在第 2 行。但是,apple 的得分高于土豆。这对我的申请来说是错误的。

请问如何获得更高的得分结果始终向左?

编辑1:我尝试了一个更简单的代码:

& 得到相同的结果:

我还尝试了一个更简单的评分代码:

&我再次得到相同的结果:

编辑2我用fuzzywuzzy试过了。由于fuzzywuzzy依赖于difflib,我再次得到了相同的结果:

0 投票
0 回答
95 浏览

python - 如何对数据集中的相似行进行分组?

我正在尝试一种组合多个数据集的好方法,其中每个数据集在同一组项目上的信息集略有不同,因此包含略有不同的数据。例如:

从那组行(即从 DBb和结合c,我想得到:

即 3 个非常相似的行已被合并,并且它们的数据不同,所有版本都被添加。

我正在尝试学习 python,所以找到了 pandas 的东西,使用 groupby,连接所有列并比较,以及模糊模糊,但似乎没有什么完全匹配的。我猜答案将涉及编辑/Levenshtein 距离,但我正在努力寻找一种方法。

谢谢你的帮助,

马特

0 投票
2 回答
502 浏览

python - 如何使用 Python FuzzyWuzzy 库匹配元组?

我正在使用 FuzzyWuzzy 将字符串与包含两个字符串的元组进行匹配。例如:

此代码返回错误,因为与之比较的列表animals, 不是字符串列表。我只想比较元组中的第一项。我想要返回的是:(('cat','owner1), 100)因为它是 100% 匹配的。

下面的代码工作,输出('cat', 100)但我需要元组的另一部分。

有任何想法吗?

编辑:我知道我可以通过列表理解获得第一个元素的列表,但是出于内存和速度的原因,我想在不创建新列表的情况下执行此操作,因为我正在处理大型数据集。

0 投票
0 回答
109 浏览

python - 使用fuzzywuzzy或其他一些包在python中对相似的三元组进行分组和替换

我有一组三元组让我们说

我想对所有三元组进行模糊匹配,并将相似的三元组替换为频率最高的三元组。例如,上表应该变成

我正在使用fuzzywuzzy 包来计算相似度,但不知道如何进行替换。提前致谢