【发布时间】:2016-02-29 03:04:36
【问题描述】:
CompanyName <- c('Kraft', 'Kraft Foods', 'Kfraft', 'nestle', 'nestle usa', 'GM', 'general motors', 'the dow chemical company', 'Dow')
我想要得到:
CompanyName2
Kraft
Kraft
Kraft
nestle
nestle
general motors
general motors
Dow
Dow
但绝对没问题:
CompanyName2
1
1
1
2
2
3
3
我看到了获取两个单词之间距离的算法,所以如果我只有一个奇怪的名字,我会将它与所有其他名字进行比较,然后选择距离最小的那个。但是我有成千上万个名字,我想把它们全部分组。
我对弹性搜索一无所知,但是elastic 包中的某个函数或其他一些函数可以帮助我吗?
很抱歉,这里没有编程。我知道。但这超出了我的正常专业领域。
【问题讨论】:
-
你可以用谷歌搜索“模糊匹配”。对于任何类型的输入,根本没有办法做到这一点。有很多不同公司名称非常相似的例子。
-
你可以试试
adist函数(近似字符串距离)。
标签: r elasticsearch nlp