需求,2组数据
基本数据:
微软(中国)有限公司
北京三立众合科技发展有限责任公司
合肥铭云软件科技有限公司
慧舟软件技术(上海)有限公司
昆明海惠通科技有限公司
深圳市奥怡轩实业有限公司
无锡艾斯科信息技术有限公司
厦门市领航科技有限公司
青岛北兴电子科技有限公司需要匹配的数据:
无锡艾斯科信息技术
厦门市领航科技有限公司
北兴电子科技有限公司
北京艾提
北京迈拓晨峰科技发展有限公司
宁波胜达高科信息工程有限公司用需要匹配的数据去基本数据库里查询匹配相似度最高的记录
我现在的做法是把一些区域性的字符都去掉,还有一些什么有限公司的字符都去掉,只保留关键字
然后逐字匹配,逐个字的拼音进行匹配这样就会有北京XXX公司和上海XXX公司前完全匹配,其实这是2个完全不一样的公司
不知道大家还有什么方法
比如分词匹配(有免费的分词组件吗?)谢谢
基本数据:
微软(中国)有限公司
北京三立众合科技发展有限责任公司
合肥铭云软件科技有限公司
慧舟软件技术(上海)有限公司
昆明海惠通科技有限公司
深圳市奥怡轩实业有限公司
无锡艾斯科信息技术有限公司
厦门市领航科技有限公司
青岛北兴电子科技有限公司需要匹配的数据:
无锡艾斯科信息技术
厦门市领航科技有限公司
北兴电子科技有限公司
北京艾提
北京迈拓晨峰科技发展有限公司
宁波胜达高科信息工程有限公司用需要匹配的数据去基本数据库里查询匹配相似度最高的记录
我现在的做法是把一些区域性的字符都去掉,还有一些什么有限公司的字符都去掉,只保留关键字
然后逐字匹配,逐个字的拼音进行匹配这样就会有北京XXX公司和上海XXX公司前完全匹配,其实这是2个完全不一样的公司
不知道大家还有什么方法
比如分词匹配(有免费的分词组件吗?)谢谢
create function Comparability(@a varchar(1000),@b varchar(1000))
RETURNS int
begin
declare @al int,@bl int,@i int,@ac int,@bc int
select @al=len(@a),@bl=len(@b),@i=1,@ac=0,@bc=0while @i<=@al
begin
if charindex(substring(@a,@i,1),@b)>0
select @ac=@ac+1
select @i=@i+1
endselect @i=1while @i<=@bl
begin
if charindex(substring(@b,@i,1),@a)>0
select @bc=@bc+1
select @i=@i+1
end return (@ac+@bc)*100/(@al+@bl)
end
goselect dbo.Comparability('^_^谢客气','^^谢谢气')go
create table a
(
a varchar(100)
)
go
insert into a
select
'微软(中国)有限公司'
union
select
'北京三立众合科技发展有限责任公司'
union
select
'合肥铭云软件科技有限公司'
union
select
'慧舟软件技术(上海)有限公司'
union
select
'昆明海惠通科技有限公司'
union
select
'深圳市奥怡轩实业有限公司'
union
select
'无锡艾斯科信息技术有限公司'
union
select
'厦门市领航科技有限公司'
union
select
'青岛北兴电子科技有限公司'
gocreate table b
(
b varchar(100)
)
go
insert into b
select
'无锡艾斯科信息技术'
union select
'厦门市领航科技有限公司'
union select
'北兴电子科技有限公司'
union select
'北京艾提'
union select
'北京迈拓晨峰科技发展有限公司'
union select
'宁波胜达高科信息工程有限公司'
go
select * from
(
select a.a,b.b ,dbo.Comparability(a.a,b.b) as xsd
from a join b on 1=1
) as ab
order by xsd deschttp://www.mybuffet.cn
青岛北兴电子科技有限公司 北兴电子科技有限公司 90
无锡艾斯科信息技术有限公司 无锡艾斯科信息技术 81
北京三立众合科技发展有限责任公司 北京迈拓晨峰科技发展有限公司 66
昆明海惠通科技有限公司 北兴电子科技有限公司 57
厦门市领航科技有限公司 北兴电子科技有限公司 57
合肥铭云软件科技有限公司 北兴电子科技有限公司 54
昆明海惠通科技有限公司 厦门市领航科技有限公司 54
北京三立众合科技发展有限责任公司 北兴电子科技有限公司 53
青岛北兴电子科技有限公司 北京迈拓晨峰科技发展有限公司 53
无锡艾斯科信息技术有限公司 北兴电子科技有限公司 52
青岛北兴电子科技有限公司 厦门市领航科技有限公司 52
合肥铭云软件科技有限公司 厦门市领航科技有限公司 52
无锡艾斯科信息技术有限公司 宁波胜达高科信息工程有限公司 51
无锡艾斯科信息技术有限公司 厦门市领航科技有限公司 50
昆明海惠通科技有限公司 北京迈拓晨峰科技发展有限公司 48
厦门市领航科技有限公司 北京迈拓晨峰科技发展有限公司 48
合肥铭云软件科技有限公司 北京迈拓晨峰科技发展有限公司 46
无锡艾斯科信息技术有限公司 北京迈拓晨峰科技发展有限公司 44
北京三立众合科技发展有限责任公司 厦门市领航科技有限公司 44
深圳市奥怡轩实业有限公司 厦门市领航科技有限公司 43
慧舟软件技术(上海)有限公司 北兴电子科技有限公司 41
微软(中国)有限公司 北兴电子科技有限公司 40
厦门市领航科技有限公司 宁波胜达高科信息工程有限公司 40
昆明海惠通科技有限公司 宁波胜达高科信息工程有限公司 40
慧舟软件技术(上海)有限公司 厦门市领航科技有限公司 40
微软(中国)有限公司 厦门市领航科技有限公司 38
青岛北兴电子科技有限公司 宁波胜达高科信息工程有限公司 38
合肥铭云软件科技有限公司 宁波胜达高科信息工程有限公司 38
深圳市奥怡轩实业有限公司 北兴电子科技有限公司 36
慧舟软件技术(上海)有限公司 北京迈拓晨峰科技发展有限公司 35
微软(中国)有限公司 北京迈拓晨峰科技发展有限公司 33
北京三立众合科技发展有限责任公司 宁波胜达高科信息工程有限公司 33
微软(中国)有限公司 宁波胜达高科信息工程有限公司 33
深圳市奥怡轩实业有限公司 宁波胜达高科信息工程有限公司 30
深圳市奥怡轩实业有限公司 北京迈拓晨峰科技发展有限公司 30
慧舟软件技术(上海)有限公司 宁波胜达高科信息工程有限公司 28
北京三立众合科技发展有限责任公司 北京艾提 20
厦门市领航科技有限公司 无锡艾斯科信息技术 20
昆明海惠通科技有限公司 无锡艾斯科信息技术 20
青岛北兴电子科技有限公司 无锡艾斯科信息技术 19
合肥铭云软件科技有限公司 无锡艾斯科信息技术 19
慧舟软件技术(上海)有限公司 无锡艾斯科信息技术 17
北京三立众合科技发展有限责任公司 无锡艾斯科信息技术 16
青岛北兴电子科技有限公司 北京艾提 12
无锡艾斯科信息技术有限公司 北京艾提 11
厦门市领航科技有限公司 北京艾提 0
深圳市奥怡轩实业有限公司 北京艾提 0
微软(中国)有限公司 北京艾提 0
合肥铭云软件科技有限公司 北京艾提 0
慧舟软件技术(上海)有限公司 北京艾提 0
昆明海惠通科技有限公司 北京艾提 0
深圳市奥怡轩实业有限公司 无锡艾斯科信息技术 0
微软(中国)有限公司 无锡艾斯科信息技术 0http://www.mybuffet.cn
http://blog.csdn.net/lkf0217/archive/2009/08/20/4466952.aspx