问题标签 [textmatching]

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

javascript - 比较文本:什么是最好的方法

我有一个存储文本文件的顺序版本的数据库。我想做的是允许用户调用任何两个历史文件(例如版本 1 和版本 4)并比较它们的差异:

  1. 拼写更改
  2. 新词/新句子/新段落
  3. 移动的段落
  4. ETC

基本上是一个在线 GIT,但文本文件不是代码。

我认为 JavaScript 可能是最好的方法,我认为必须有一个开源库,但我根本找不到。

任何帮助表示赞赏。

0 投票
1 回答
80 浏览

r - 检查 Small-String 中的所有字母是否包含在 Large-String 中

我正在尝试编写一些代码来确定小字符串中的字母是否包含在 R 中的较大字符串中。然后将按百分比返回准确性。

我在 StackOverflow 上找到了以下内容(检查一个字符串的所有字符是否存在于 r 中的另一个字符串中),但提供的代码将平均值计算为唯一重叠的计数除以唯一字母的计数。即它不允许重复的字母

理想情况下,上面的代码应该返回 0.9 的值,因为 9/10 的字母匹配而不是 8/9。

任何意见,将不胜感激。

0 投票
2 回答
2486 浏览

python - 将字典中的单词“键”精确匹配到 Pandas DataFrame 列并返回适当的值

只想先说明这个问题是从我以前的问题演变而来的,可以在这里找到。我有一些后续行动最终改变了原来的问题,所以我们在这里..

假设我们有以下数据框:

然后创建一个字典,其中包含我想与 DataFrame 中的值匹配的关键字

提供给我的原始答案帮助解决了字典中匹配键的问题

但是,我遇到了部分匹配导致的匹配问题。在上面的输出中,请注意,cheapest将如何匹配“cheapest”,而pool将如何匹配“liverpool”

所以我的问题是:有没有办法让我的字典与关键字中的值完全匹配,从而跳过部分匹配?

我想要的结果是:

旁注 - 字典将扩展以包含绑定到相同值的键。这是为了捕获任何拼写变化或拼写错误,例如{'car' : 'Automobile', 'cars' : 'Automobile', 'carss' : 'Automobile'}这就是为什么我想精确匹配以防止出现任何重复/不相关的值。

干杯

0 投票
2 回答
66 浏览

r - 大约同时进行文本匹配和更新

我有一个作为 df1 的数据框,其中包含作为 University_name 的大学名称的列,并且有 500000 行。现在我有另一个数据框作为 df2 ,它包含 2 列作为 university_name 和 university_aliases 并且有 150 行。现在,我想将 university_aliases 列中的每个大学别名与 university_name_new 中的大学名称进行匹配。

df1$university_name 的样本

df2 样本

我期待这样的输出

我正在使用以下代码,但它不起作用

0 投票
3 回答
2021 浏览

r - 从R中的城市名称中提取国家名称

这个问题可能看起来像重复,但我在从字符串中提取国家名称时遇到了一些问题。我已经通过此链接 [链接]从作者附属机构中提取国家名称, 但我无法解决我的问题。我尝试使用 grepl 和 for 循环进行文本匹配和替换,我的数据列包含超过 300k 行,因此使用 grepl用于模式匹配的 for 循环非常非常慢。

我有一个这样的专栏。

该字符串可能包含州、城市或国家/地区的名称。我只想要 Country 作为输出。像这样

我正在尝试使用国家代码库将状态(如果找到匹配项)转换为其国家,但无法这样做。任何帮助都是不言而喻的。

0 投票
1 回答
141 浏览

regex - 使用正则表达式匹配给定文本中的所有价格

我正在使用以下正则表达式来处理以下类型的文本

正则表达式:[\s](rs|price)?([\s.]*\d+[\s\d.]*)(pkg|k|(?:la(?:c|kh|k)|crore|cr)s?|l)[\s.]

文本:

65 lac this is 55 lac. and more price 100 lac. randome text to test price45 crs. and 65 cr and to test its matching rs 3244 k like rs 55k. to its matchibg 65 cr. but not 65 cr als not matching price 123 lac more of it 55 crs.

它不匹配上面提到的所有价格,但只有少数。我匹配的价格在价格正则表达式完全匹配之前和之后都有空格。

[\s.]在最后添加了以匹配价格,也以 . 并在其后有空格。例如像 55 crs。或 24 lac。同样,我添加了 '[\s]' 以仅匹配那些在匹配价格之前有空格的价格。

输出:

https://regex101.com/r/iHamwk/1/

示例输出 2:https ://regex101.com/r/h8NLhr/5

示例输出 3:https ://regex101.com/r/h8NLhr/8

我应该如何修改上面的正则表达式?

另外,如何仅提取匹配的价格,不包括它之前和之后的空格?

谢谢。

0 投票
1 回答
246 浏览

postgresql - 将查询的部分内容与 trigram 索引匹配

我有一个表格,events其中每个事件都有一个titledescription。搜索应搜索两列:

标题:Dick(ens) 和 Jane
描述:每周见面讨论经典书籍!

鉴于上述情况,我想要一个book club匹配的查询。

我的索引:

我的查询:

我认为问题在于我从根本上误解了索引的工作原理,因此它试图将整个字符串book club与各种三字母组合匹配,但我不确定如何解决这个问题。

0 投票
1 回答
383 浏览

python - 通过地址匹配连接两个表

我想通过地址的近似匹配来合并两个表。一张表有 10000 个地址,另一张表有 33000 个地址。

第一张桌子

第二张桌子

然后,为第一个表中的每个地址提取“属性 ID”。我该怎么做?

我用了

但是,这给了我一个错误。另外,代码需要几个小时才能运行。有什么提高效率的方法吗?

0 投票
0 回答
226 浏览

matching - 记录与多个数据集的链接

问题

fastLinkRecordLinkage包在匹配从数据库 A 到数据库 B 的记录(行)方面做得非常好,反之亦然。开发人员正在努力从仅匹配 2 个数据库扩展到多个数据库。

我在这里给出了一个简单的例子。

同时,我们将如何匹配多个数据帧?例如,我有多个诊所 A、B、C、D、E、F 患者的医疗记录,我想将它们合并为一个。

一个可重现的例子:

预期结果 :

最后,我想要唯一标识的记录:

即使结果不像上面那样干净,也没关系。目标是从所有 6 条记录中找到一条统一的记录,并且属于同一个实体。fastLink和RecordLinkage都负责重复数据删除(删除重复项)。

在这种情况下,我如何开发一种方法来处理两个以上的数据库?

0 投票
2 回答
94 浏览

python - 将单词与列表中任何单词的前 3 个字母匹配

我有一个关键词列表(csv 格式),进入我的数据库的所有条目都应该匹配。我正在尝试编写一个 python 代码,如果输入的单词与列表中的任何单词匹配前 3 个或更多字母。

例如:

如果我的话是 ora

单词列表:

我想将单词 ora 分配给橙色键。有没有办法在 python 上做到这一点?

另一个例子是,如果单词是 orazzz,我仍然希望它拾取前 3 个字母与橙色匹配并将其分配给该键。

如果可能的话,我想把它放到一个 if 语句中