F****3 发帖数: 1504 | 1 我有两类公司的名字,分别来自两个不同的数据库。但是公司名字有些不同,比如
International Business Machine Inc. 或者 Intl. Bus. Mach Incorporated. 。请
问这种情况怎么match。我只知道spedis和complev功能。。。
谢谢! |
k*****u 发帖数: 1688 | |
S*x 发帖数: 705 | 3 手动的话有点难
如果这个任务很重要的话建议花钱找D&B来帮你们match
【在 F****3 的大作中提到】 : 我有两类公司的名字,分别来自两个不同的数据库。但是公司名字有些不同,比如 : International Business Machine Inc. 或者 Intl. Bus. Mach Incorporated. 。请 : 问这种情况怎么match。我只知道spedis和complev功能。。。 : 谢谢!
|
k*z 发帖数: 4704 | 4 这个用excel 比较好match, 先排序,然后text to box.再vlookup对比,对的上的话,
计数为1, count多少个列。和列数对比。我做过这个,虽然不多。但是有几千个。大
多数时候可以match上,match不对的手动调整一下就可以,简写的部分直接全部
replace掉。比如intl. |
F****3 发帖数: 1504 | 5 谢谢楼上各位。不要意思我列举的例子很特殊,一般的情况下公司名字还是比较好认的
。比如Dell Computer 或者 The Dell Corporation. 也就是string还是有重复,但是
必须去掉没有用的词,比如the,&, and, inc., co, company, 等。。。
请问kiz,请问你的方法网上有描述吗?好像这是目前最可行的办法。。。好像excel也
不能只想命令行,必须手动。。。谢谢! |
k*z 发帖数: 4704 | 6 比如 DEll的例子,
有两个方法。
第一个是删掉所有的the corp这些无关词组。replace所有缩写。然后只match第二组的
核心词用第一组做array,这样所有能有match的,把第一组的行号取出来跟在第二组的
对应词后面,可能有多个,然后自己手工调整一下。
第二个就是删除无关词汇,把所有缩写都取代掉。之后计算第二组一行里和第一
组的一行里有多少个词汇会相同,然后加起来。然后按大小排序取行号。
你的DEll的例子
第一个办法,直接就是 dell 对dell,
第二个办法 3*3对比后 count只有1,你就直接在第二组后面记录第一组的行号。
如果还有什么dell cookware,就要手动了。
这里面excel还是sas都所谓,我觉得excel简单,因为replace的时候只要ctrl+h就好了
。但是公司有10w的话,就比较头疼。 |
b*t 发帖数: 489 | 7 除掉Inc., corp. 之类的字符,然后把所有字符打碎计算matching score. 如果match
score 是1或者接近1可以rely,低于1的话手工check。
【在 F****3 的大作中提到】 : 我有两类公司的名字,分别来自两个不同的数据库。但是公司名字有些不同,比如 : International Business Machine Inc. 或者 Intl. Bus. Mach Incorporated. 。请 : 问这种情况怎么match。我只知道spedis和complev功能。。。 : 谢谢!
|
F****3 发帖数: 1504 | 8 只有500个公司,你说的Excel的那个功能我以前工作时候没有用到过。请问那个功能的
英文名是什么我到网上搜搜教程,估计就能看懂你的步骤了。实在太谢谢你的建议了,
这个东西看来是是手工搞快。 |
l******n 发帖数: 9344 | 9 除了上面说的办法,也可以match其他的,比如所在地区的zip,行业,成立时间
当然可能会有错,但是基本上zip,行业,成立时间就可以为以确定了
【在 F****3 的大作中提到】 : 我有两类公司的名字,分别来自两个不同的数据库。但是公司名字有些不同,比如 : International Business Machine Inc. 或者 Intl. Bus. Mach Incorporated. 。请 : 问这种情况怎么match。我只知道spedis和complev功能。。。 : 谢谢!
|
F****3 发帖数: 1504 | 10 这的确是个好办法。多几个match的criteria。 |
a****0 发帖数: 51 | |
a****0 发帖数: 51 | |
a****0 发帖数: 51 | 13 This one seems more appropriate.
Robust and efficient fuzzy match for online data cleaning (2003)
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.89.231 |
F****3 发帖数: 1504 | 14 太好了,真是谢谢楼上的几位,特别是kiz不厌其烦的解释给我。虽然我还是要钻研一
下他说的方法。真是太牛了!
请问有什么perl或者python code来做这些事情吗?我主要用的是SAS。看了一个人说要
用Levenshtein algorithm来处理distance,不知道是不是overkill |