问题标签 [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.
javascript - 比较文本:什么是最好的方法
我有一个存储文本文件的顺序版本的数据库。我想做的是允许用户调用任何两个历史文件(例如版本 1 和版本 4)并比较它们的差异:
- 拼写更改
- 新词/新句子/新段落
- 移动的段落
- ETC
基本上是一个在线 GIT,但文本文件不是代码。
我认为 JavaScript 可能是最好的方法,我认为必须有一个开源库,但我根本找不到。
任何帮助表示赞赏。
r - 检查 Small-String 中的所有字母是否包含在 Large-String 中
我正在尝试编写一些代码来确定小字符串中的字母是否包含在 R 中的较大字符串中。然后将按百分比返回准确性。
我在 StackOverflow 上找到了以下内容(检查一个字符串的所有字符是否存在于 r 中的另一个字符串中),但提供的代码将平均值计算为唯一重叠的计数除以唯一字母的计数。即它不允许重复的字母
理想情况下,上面的代码应该返回 0.9 的值,因为 9/10 的字母匹配而不是 8/9。
任何意见,将不胜感激。
python - 将字典中的单词“键”精确匹配到 Pandas DataFrame 列并返回适当的值
只想先说明这个问题是从我以前的问题演变而来的,可以在这里找到。我有一些后续行动最终改变了原来的问题,所以我们在这里..
假设我们有以下数据框:
然后创建一个字典,其中包含我想与 DataFrame 中的值匹配的关键字
提供给我的原始答案帮助解决了字典中匹配键的问题
但是,我遇到了部分匹配导致的匹配问题。在上面的输出中,请注意,cheapest将如何匹配“cheapest”,而pool将如何匹配“liverpool”
所以我的问题是:有没有办法让我的字典与关键字中的值完全匹配,从而跳过部分匹配?
我想要的结果是:
旁注 - 字典将扩展以包含绑定到相同值的键。这是为了捕获任何拼写变化或拼写错误,例如{'car' : 'Automobile', 'cars' : 'Automobile', 'carss' : 'Automobile'}
这就是为什么我想精确匹配以防止出现任何重复/不相关的值。
干杯
r - 大约同时进行文本匹配和更新
我有一个作为 df1 的数据框,其中包含作为 University_name 的大学名称的列,并且有 500000 行。现在我有另一个数据框作为 df2 ,它包含 2 列作为 university_name 和 university_aliases 并且有 150 行。现在,我想将 university_aliases 列中的每个大学别名与 university_name_new 中的大学名称进行匹配。
df1$university_name 的样本
df2 样本
我期待这样的输出
我正在使用以下代码,但它不起作用
r - 从R中的城市名称中提取国家名称
这个问题可能看起来像重复,但我在从字符串中提取国家名称时遇到了一些问题。我已经通过此链接 [链接]从作者附属机构中提取国家名称, 但我无法解决我的问题。我尝试使用 grepl 和 for 循环进行文本匹配和替换,我的数据列包含超过 300k 行,因此使用 grepl用于模式匹配的 for 循环非常非常慢。
我有一个这样的专栏。
该字符串可能包含州、城市或国家/地区的名称。我只想要 Country 作为输出。像这样
我正在尝试使用国家代码库将状态(如果找到匹配项)转换为其国家,但无法这样做。任何帮助都是不言而喻的。
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
我应该如何修改上面的正则表达式?
另外,如何仅提取匹配的价格,不包括它之前和之后的空格?
谢谢。
postgresql - 将查询的部分内容与 trigram 索引匹配
我有一个表格,events
其中每个事件都有一个title
和description
。搜索应搜索两列:
标题:Dick(ens) 和 Jane
描述:每周见面讨论经典书籍!
鉴于上述情况,我想要一个book club
匹配的查询。
我的索引:
我的查询:
我认为问题在于我从根本上误解了索引的工作原理,因此它试图将整个字符串book club
与各种三字母组合匹配,但我不确定如何解决这个问题。
matching - 记录与多个数据集的链接
问题
fastLink和RecordLinkage包在匹配从数据库 A 到数据库 B 的记录(行)方面做得非常好,反之亦然。开发人员正在努力从仅匹配 2 个数据库扩展到多个数据库。
我在这里给出了一个简单的例子。
同时,我们将如何匹配多个数据帧?例如,我有多个诊所 A、B、C、D、E、F 患者的医疗记录,我想将它们合并为一个。
一个可重现的例子:
预期结果 :
最后,我想要唯一标识的记录:
即使结果不像上面那样干净,也没关系。目标是从所有 6 条记录中找到一条统一的记录,并且属于同一个实体。fastLink和RecordLinkage都负责重复数据删除(删除重复项)。
在这种情况下,我如何开发一种方法来处理两个以上的数据库?
python - 将单词与列表中任何单词的前 3 个字母匹配
我有一个关键词列表(csv 格式),进入我的数据库的所有条目都应该匹配。我正在尝试编写一个 python 代码,如果输入的单词与列表中的任何单词匹配前 3 个或更多字母。
例如:
如果我的话是 ora
单词列表:
我想将单词 ora 分配给橙色键。有没有办法在 python 上做到这一点?
另一个例子是,如果单词是 orazzz,我仍然希望它拾取前 3 个字母与橙色匹配并将其分配给该键。
如果可能的话,我想把它放到一个 if 语句中