CN102023984B - 甄别重复实体数据的方法和装置 - Google Patents

甄别重复实体数据的方法和装置 Download PDF

Info

Publication number
CN102023984B
CN102023984B CN2009101705511A CN200910170551A CN102023984B CN 102023984 B CN102023984 B CN 102023984B CN 2009101705511 A CN2009101705511 A CN 2009101705511A CN 200910170551 A CN200910170551 A CN 200910170551A CN 102023984 B CN102023984 B CN 102023984B
Authority
CN
China
Prior art keywords
participle
database
speech
title
entity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2009101705511A
Other languages
English (en)
Other versions
CN102023984A (zh
Inventor
莫正华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Taobao China Software Co Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN2009101705511A priority Critical patent/CN102023984B/zh
Publication of CN102023984A publication Critical patent/CN102023984A/zh
Priority to HK11105866.7A priority patent/HK1152126A1/xx
Application granted granted Critical
Publication of CN102023984B publication Critical patent/CN102023984B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种甄别重复实体数据的方法和系统。所述方法包括:S1:服务器获取待甄别的实体数据;S2:服务器将待甄别的实体数据的名称与数据库中预定量的实体数据的名称逐一进行比较实体名称并得到评分:S3:服务器通过比较评分与预定标准分来判断所述待甄别的实体数据与比较的数据库中的实体数据重复;S4:服务器将判断为不重复的所述待甄别的实体数据添加入数据库。利用本方法,可以高效的甄别出重复的实体数据。

Description

甄别重复实体数据的方法和装置
技术领域
本发明涉及互联网技术领域,特别涉及一种甄别重复实体数据的方法和装置。
背景技术
搜索引擎技术可以实现根据一定的策略、运用特定的计算机程序搜集互联网上的信息,在对信息进行组织和处理后,为用户提供检索服务。搜索引擎技术诞生以来,互联网中提供搜索服务的网站为了更好的提供用户身边信息的搜索服务,进一步推出了生活搜索。生活搜索指的是在搜索引擎中有明确的生活信息,针对生活信息深度处理,为用户带来极大的方便。如选中一个生活的类别、地域等标签,然后再使用搜索引擎,则可以帮助搜索用户方便地寻找身边的分类生活信息。目前,可以搜索的信息类型较多,包括房屋租售、工作机会、火车票、物品交易和餐饮等。
提供生活搜索的网站,其数据库中需要预先存储有大量丰富的数据。以实现店铺这类实体的生活搜索为例,网站需要预先收集尽量多的店铺的信息。然而,随着生活服务行业不断发展,网站还需要不断地将网站数据库中的店铺数据进行扩充、更新。
随之而来的问题是,如果待导入的店铺数据与网站数据库中的某已有店铺数据相同,即待导入的店铺实际在网站数据库中已经存在,则,导入新的店铺数据后,将造成网站数据库中数据的重复,显然,这些重复的数据会浪费数据库宝贵的存储空间。另一方面,当用户发起店铺搜索,而网站数据库中存在重复店铺数据,这样,网站会返回这些重复的店铺数据给用户,而返回的这些重复店铺数据实际上仅代表了较少的店铺,则这样是搜索结果并不是用户希望获得的结果,也不利于用户的搜索体验。为了保证用户体验,为用户提供精准的搜索服务,就必须保证数据库中的所有店铺的唯一性。
然而,现有技术中还没有高效的甄别重复实体数据的方法。
发明内容
本申请实施例的目的是提供一种甄别重复实体数据的方法和装置,以实现高效的甄别重复实体数据。
为解决上述技术问题,本申请实施例提供一种甄别重复实体数据的方法和系统是这样实现的:
一种甄别重复实体数据的方法,包括:
S1:服务器获取待甄别的实体数据;
S2:服务器将待甄别的实体数据的名称与数据库中预定量的实体数据的名称通过下述方式逐一比较实体名称:
利用预置的不同词性的分词词库对待甄别实体名称及数据库中的实体名称进行分词并确定词性;
将经过分词并确定词性的待甄别店名及数据库中的实体名称分别填入预定的模板;
通过比较待甄别店名和数据库中实体店名在所述模板中对应词性的词是否相同得到实体名称比较的评分;
S3:服务器通过比较评分与预定标准分来判断所述待甄别的实体数据与比较的数据库中的实体数据重复;
S4:服务器将判断为不重复的所述待甄别的实体数据添加入数据库。
一种甄别重复实体数据的装置,包括:
获取单元,用于获取待甄别的实体数据;
名称比较单元,用于将待甄别实体数据的名称与数据库中预定量的实体数据的名称通过下述方式逐一比较实体名称:
利用预置的不同词性的分词词库对待甄别实体名称及数据库中的实体名称进行分词并确定词性;将经过分词并确定词性的待甄别店名及数据库中的实体名称分别填入预定的模板;通过比较待甄别店名和数据库中实体店名在所述模板中对应词性的词是否相同得到实体名称比较的评分;
判断单元,用于通过比较评分与预定标准分来判断所述待甄别的实体数据与比较的数据库中的实体数据是否重复;
添加单元,用于将判断为不重复的实体数据添加入所述数据库中。
由以上本申请实施例提供的技术方案可见,服务器获取待甄别的实体数据,服务器将待甄别的实体数据与数据库中预定量的实体数据对实体名称逐一进行比较并得到评分,服务器通过比较评分与预定标准分来判断所述待甄别的实体数据与数据库中的实体数据重复,可以高效的甄别出重复的实体数据,并将不重复的实体数据添加入所述数据库中。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请涉及的系统结构图;
图2为本申请甄别重复实体数据方法实施例的流程图;
图3为本申请postgresql数据库集群拓扑图;
图4为本申请S202中实体名称比较的实现方式流程图;
图5为本申请对机构词分类采用优先匹配的原则示意图;
图6为本申请一服务器实施例的框图;
图7为本申请另一服务器实施例的框图;
图8为本申请另一服务器实施例的框图;
图9为本申请另一服务器实施例的框图;
图10为本申请另一服务器实施例的框图。
具体实施方式
本申请实施例提供一种甄别重复实体数据的方法和系统。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本申请涉及的系统结构可以如图1所示,包括服务器和数据库。
以下介绍本申请甄别重复实体数据方法实施例,图2示出了该方法实施例的流程,如图2所示:
S201:服务器获取待甄别的实体数据。
这里的实体在可以具体化为店铺,在后续中以店铺实体为例进行说明。
待甄别的店铺实体的数据包括店铺名称、店铺地址和店铺电话号码等属性的数据。这些数据可以作为比较待甄别店铺是否与数据库中已有店铺重复的依据。
S202:服务器将待甄别的实体数据与数据库中预定量的实体数据逐一比较实体名称,该逐一比较过程包括:
利用预置的不同词性的分词词库对待甄别实体名称及数据库中的实体名称进行分词并确定词性;其中,数据库中的实体名称分词、确定词性可以提前完成;
将经过分词并确定词性的待甄别店名及数据库中的实体名称分别填入预定的模板;
通过比较待甄别店名和数据库中实体店名在所述模板中对应词性的词是否相同得到实体名称比较的评分。
S203:服务器通过比较评分与预定标准分来判断所述待甄别的实体数据与数据库中的实体数据是否重复。
以下具体介绍S202中实体名称比较的实现方式,其是将待甄别的实体的名称与数据库中的实体名称进行比较,这个比较过程,包括图4所示的步骤:
S401:利用预置的不同词性的分词词库对待甄别实体名称及数据库中的实体名称进行分词并确定词性。
通过分词词库将店名进行分词,将店名中的各个词按其所属的预定义词库,并按照该预定义词库的词性,为店名中的词标记词性(这里的例子中设定不同词性标记为S、P、C、O、N、X等)。
例如,“西安华德餐饮有限公司德克士高新餐厅”这样的店名通过店名分词处理可以得到“西安_S华德_X餐饮有限公司_O德克士_N高新_S餐厅_O”这样的结果。
为了对实体名称进行分词,并在分词之后能够标识各个分词标识属性(地点、机构、行业等),需要预先保存按词性分类的分词库,比如地域词库,地点词库,机构词库,行业词库,方位词库、主店名、分店名等。为了提高分词准确率,添加品牌分词库,在该词库中收集了店铺的店铺品牌名称,例如,麦当劳,肯德基,外婆家等店铺的品牌名称。
本实施例的例子中,对实体名称(如店铺名称)做以下维度切分:
Figure GDA00002711190400051
表2
以下分别对上面的各分词库加以介绍:
地域词库:其中收录的是全中国各省,市,镇,乡,村的名称。另外在该词库中还会保留一份去除地区谓词的分词,例如,会同时收录浙江省和浙江,杭州市和杭州,萧山市和萧山,华西村和华西。省,市,镇,乡,旗,村也作为地域分词收录在本词库中。本词库相对比较固定不会有很大变化。
地点词库:其中收录地点中以街道,社区,路,街,巷,里,弄,大道,新村,市场,广场,大厦,厂房,店,路口,胡同结尾的地点名词,街道,社区,路,街,巷,里,弄,大道,新村,市场,广场,大厦,厂房,店,路口,胡同本身也是该词库中的分词。
机构词库:将所有机构词分成8个类别。分别是综合服务,休闲娱乐,购物广场,餐饮美食,生活资讯,出行/旅游,地物,公司/工厂。另外,对于店铺的分类存在模糊区域,就是一家店有可能既属于生活资讯类别又属于出行/旅游类别。在这种情况下对机构词分类采用优先匹配的原则,如图5所示。通过图5所示,机构词分类优先级别按照箭头所指的方向由高到低排列。例如,有一个机构分词“网吧”既有可能出现在休闲娱乐类别中,也有可能出现在生活资讯中。按照图5优先级所示,休闲娱乐的有限级要比生活资讯的优先级高,因此,“网吧”应该属于休闲娱乐类的机构分词。本申请对机构的分类方法以及机构分类的优先匹配原则并不做限定。
行业词库:类似于店,分店,总店,苑,轩,多个行业类别公用的分词会放入一个独立的词库。例如:杭州东方建材公司萧山分店,和知味观上城分店,店名中都有“分店”这个词,但是“分店”既属于公司/工厂有属于餐饮,所以并不能将“分店”收入在其中一个词库中,必须将“分店”这个词收录到一个无行业机构的单独的文件词库中。类似于“分店”的词还有,店,队,楼,城,座,社,行,店,会,堂,室,铺等。
主店名词库、分店名词库:为了提高分词准确率,添加品牌分词库,在该库中搜集了口碑网(www.koubei.com)所有店铺的店铺品牌名称,例如,麦当劳,肯德基,外婆家店铺的品牌名称。
词库中的词有以下特点,品牌词小于两个字,或者大于六个字的不收录。不能存在和店铺行业或者机构词库中已经存在的分词。
这里对词性作出介绍:
N品牌词
O机构词
C行业词
S地域词
P地点词
X未分出的词
SN分店名品牌词
PS地域词
FN附属机构分词
对于FN,例如某酒店XX洗浴中心,其中XX的词性就是FN,再例如某公司XX停车场,其中的XX的词性就是FN。
利用上述分词词库对待甄别实体名称及数据库中的实体名称进行分词并确定词性,具体可以如下执行:
A1:利用预置的不同词性的分词词库对待甄别实体名称及数据库中的实体名称进行正向分词和反向分词。
正向分词是按照词库将店名从左到右进行分词,反向分词是按照词库将店名从右到左进行分词。例如,将店名为“洋芋餐馆航天桥店”的店铺按照正向分词得到的结果为“洋芋_餐馆_航_天桥_店”,按照反向分词得到的结果为“洋芋_餐馆_航天_桥_店”。“洋芋餐馆航天桥店”分别进行正向分词和反向分词得到的词表如下面表3和表4所示:
分词 词长度 词性
洋芋 2 N
餐馆 2 C
航天 2 N
1 N
1 N
表3.正向分词结果
分词 词长度 词性
洋芋 2 N
餐馆 2 C
1 N
天桥 2 N
1 N
表4.反向分词结果
这里分词采用短路方法,每个词只有一个词性。所谓短路方法,就是在第一步分词,到词库中查找匹配的词,如果找到了匹配的词就马上退出,进而转向下一词的匹配,这样就能保证按照词库分出词的词性没有二义性。
最大匹配字数可以设定为10,从左到右对这最大为10个字的词进行分词。一次性获取这10个字,在词库中验证这10个字是否是一个词,如果是,则将这10个字组成的词标注词性并且结束,如果不是,则从左到右取9个字,验证是否能组成一个词,经过验证如果能在词库中找到匹配的词,则结束。如果不是则将原字串减少一个字,再到词库中进行匹配,以此类推直到字串中只剩下一个字为止。
由上面的例子,显然的,通过正向分词和反向分词得到了不同的分词结果,那么就需要一个选择采纳哪个结果作为最后分词结果的处理流程。这个流程就是下一步需要说明的消歧。
A2:对正向分词和反向分词得到的词表进行消歧处理以得到唯一的分词结果。
这里消岐处理包括如下三个规则:
规则I:以划分出非X词性的词为主进行消岐。
例如:上海_S南站_P餐馆_O,上_X海南_S站_X餐馆_O,其中歧义词是“上海_S南站_P”,“上_X海南_S站_X”,这时取第一个分出非X词性的词即“上海_S南站_P”为正确结果。
规则II:以X词性最少的词为主进行消岐。如对“美食馆”按照A1进行正向分词和反向分词的结果分别为“美食_C馆_O”,“美_X食馆_O”,而,前者分出的词性“美食_C馆_O”中X词性的词最少,按照规则II,以“美食_C馆_O”为准。
规则III:以反向分词结果为正确结果。
分词 词长度 词性
洋芋 2 N
餐馆 2 C
1 N
天桥 2 N
1 N
表5.进行消岐处理后得到的分词结果
另外,分词优先顺序可以设定为如下:品牌(N),机构(O),行业(C),无行业机构(O),地点(P),地域(S)。例如,如果在词库中在品牌库和机构库的字典中都有一个词是“小店”,此时正好有一个店铺叫“美食小店”,那么分词之后的结果是“美食_C小店_N”,而不是“美食_C小店_O”,因为N词库中的优先级比词库O词库中的词的优先级高。
还可以包括A3:单字词处理过程。
消歧之后可能存在无法识别的部分,当不能识别的X词性部分的长度只有一个字的时候就需要进行单字词处理,以识别其词性。例如:
如果右单字词是餐饮行业后缀词,左词是行业词或品牌词,左词和右词合并,词性以左词为准。
如上例,分词结果为”航天C_桥X_店O”,将中间的“桥”消歧之后与左词和右词合并成为一个新的词“航天桥店_C”
如果右词是餐饮行业前缀词,右后词(右词后第一个词)是行业词或品牌词,将右词与右后词合并,以右后词词性为准。
如果右词是机构后缀词,左词是机构词或品牌词,将左,右词合并,以左词词性为谁。
如果右词是机构前缀词,右后词是机构或品牌词性,右词和右后词合并,以右后词词性为准。
S402:将经过分词并确定词性的待甄别店名及数据库中的实体名称分别填入预定的模板。
例如,模板的格式可以如下,其中的数字表示该词性在这个模板中的前后顺序排序号:
0:N 1:S 2:P 3:PS 4:C(描述主店行业)5:O 6:SN(描述SN的行业)7:C 8:O9:FN
将得到的分词结果,即前述经过分词并确定词性的待甄别店名及数据库中的实体名称,按照词性填入模板之中。
例如,待甄选的店铺分别为“佐登妮丝国际美容建国店”和“佐登妮丝”。
“佐登妮丝国际美容建国店”分词分成:0-N|1-C|2-SN|3-O(品牌|行业|分店|机构)
“佐登妮丝”分词分成:0-N(品牌)
将这两个待甄选的店铺名称填入模板后结果为:
Figure GDA00002711190400101
表6
S403:通过比较待甄别店名和数据库中实体店名在所述模板中对应词性的词是否相同得到实体名称比较的评分。
通过比较待甄别店名和数据库中实体店名在所述模板中对应词性的词是否相同,可以得到实体名称比较的评分。例如:
将填入模板的待甄别店名与实体店名进行比较,具体的,每个位进行比较,1是相同,0是不同;将各位比较结果存放在一个二进制数组中,将二进制数组转化为十进制数作为比较结果的一部分返回。
标记店铺两两比较过程中各个分店名,主行业,主机构词是否是相同状态,所谓是否是相同状态,就是两个分店名是否都是空或者是否都是有数据的。
店名比较评分结果是依据店名各词性的比较结果来决定的,比较规则如下:
Figure GDA00002711190400111
至于如何得到实体名称比较的评分,这里仅给出一些示例性的例子,例如:
I:如果店铺的店名主体不相等的话直接返回0;
II:如果比较结果是511(511通过二进制转换得来,转换方式参考下文论述),且4个位上的比较结果都是1,那么店名判断结果为完全相等,返回100;
否则:
各个位比较的结果与16进行与操作,结果不等于16,则返回75;或,
各个位比较的结果与32进行与操作或与64进行与操作,如有一个以上的结果为0,则返回75;或,
各个位比较结果中分店名的状态(SN)返回为0,则返回75;或,
各个位比较的结果与1进行与操作,如果结果为0,则返回2;或,
各个位比较的与8进行与操作,如果结果为0,则返回2;或,
各个位比较的结果如果大于0,则返回75;或,
其它情况返回0。
按照上述规则,将表6中的各分词词性进行比较,可以得到下面的表7,其中y表示相同:
N S P PS C O SN C O FN
y y y y y y y y y y
表7
各个词性比较结果如上所示。
如果两个词性相同的分词比较结果是y则权值为1,并且得分要去除最前面的品牌词N。留下9位比较结果为111111111,得分为1×29+1×28+1×27+1×26+1×25+1×24+1×23+1×22+1×2+1×20=511。最后得分为511,说明店名完全相等,返回100。
再例如,有待甄选的店铺如下:
店铺名称 店铺地址 电话号码
水晶月设计中心 文一路217号(杭州师范学院斜对面) 88828282
水晶月发艺沙龙 文一路217号 88828282
表8
以上表格中两家店铺进行比较首先将店名进行分词:
“水晶月设计中心”分词分成:1-N|2-O(品牌|机构)
“水晶月发艺沙龙”分词分成:1-N|2-O(品牌|机构)
按照店名比较规则将分词之后的各分词词性进行比较如下表:
N S P PS C O SN C O FN
y y y y y n y y y y
表9
按照比较结果主店名机构不相等,比较结果为495,与25做与操作的结果为0,因此店名不相等。
但是对于表8中的例子,根据店铺地址和电话号码,很明显的,“水晶月设计中心”和“水晶月发艺沙龙”这两个实体为重复实体。对于这种情况,在实体名称比较评分的基础上,还可以包括:根据实体名称比较结果和电话号码确定实体数据是否重复,或根据实体名称比较结果和地址确定实体数据是否重复。如上面表8的例子中,尽管名称比较结果的评分为不重复,但是参考电话号码为相同,可以确定结果为重复。再或者,尽管名称比较结果的评分为不重复,但是参考地址为相同,可以确定结果为重复。
S401中还可以包括:
S401’:将经过分词并确定词性的待甄别店名及数据库中的实体名称分别进行模式匹配,从模式规则文件中找到该规则所匹配的模式规则,从而将名称中的分词标记上词性。
经过S401处理后,店名中还有部分词我们无法识别,而且,标识为N的词可能是店铺主店名,也可能是店铺分店名,而分店名和主店名在店铺名称对比过程中起的作用是不同的。这样,就需要将分词结果匹配成不同的模式。比如,“西安_S华德_X餐饮有限公司_OD德克士_N高新_S餐厅_OD”的规则是S-X-O-N-S-O,在已经得到结果中规则是S-X-O-N-S-O,大部分的结果都可以将第二个X认定为一个品牌,第四个N认定为SN分店名称,所以,可以将S-X-O-N-S-O规则匹配为0-S|1-N|2-O|3-SN|4-S|5-O,经过统计这些规则可以枚举出将近400条,占到了总规则的90%以上。
以下是存在的一些常用规则:
Figure GDA00002711190400131
Figure GDA00002711190400141
其中,X表示未确定词性的分词。
以上是截取了规则文件中的某一段规则,每条规则的格式以等号为分界分为左右两部分,左边的是店名分词之后标注了词性的分词结果(词性标识顺序,按照分词在店名中的先后顺序排列),右边部分是将左边分词结果按照概率统计的原则匹配成的规则模式。
生成这份规则文件的过程如下:
B1:将现有所有黄页店铺的店名用分词模块分词并且标注词性。
B2:将分词结果按照词性分类。
例如,将所有分词结果属性为“X-O-O”的分到一个组中,并且统计每组中的个数。
B3:剔除个数不超过一个的低频率组不作后续处理。因为这些店铺名称不具有共性因而不具有参考价值。
还可以引入人工操作,凭借人工的经验,判断分词结果中的“X”部分应该标为哪个词性。也有可能,原先是“C”、“O”、“P”词性的分词根据判断有可能应该为其他词性。
规则匹配的作用就是将原先机器判断有可能失误,通过实现人工筛选校验生成规则文件,在自动化处理的时候有效地纠正机器的错误判断,因此可以提高最终分词判断的正确性。
在本处理步骤执行中,当得到一个规则,就从模式规则文件中查找该规则所匹配的模式规则,当找到后就可以将店名中的分词标记上词性了。
所述方法实施例还可以包括:
S204:服务器将判断为不重复的实体数据添加入所述数据库中。
S202中,以店铺作为实体为例,存储现有黄页店铺数据可以采用postgresql数据库,由于postgresql支持全文索引,并且支持分布式集群,由于这两个优点,可以在本步骤中使用postgresql数据库来存储现有店铺数据。图3示出了postgresql数据库集群拓扑图。在进行店铺去重之前首先需要将现有所有黄页店铺数据存入四个数据节点,具体一个店铺数据保存在哪个数据节点上,是按照事先定好的hash算法规则制定的,规则如下:
店铺id是32位的guid,取主键的第一位,当第一位的值为0~3存储在newkoubei节点上,当第一位的值为4~7存储在datanode1节点上,当第一位的值为8~b存储在datanode2节点上,当第一位的值为c~f存储在newkoubei节点上。
S202中,所述数据库中预定量的实体数据,可以是数据库中的所有实体数据。这样意味着S202中需要将待甄别的实体数据与数据库中所有的实体数据进行逐一的比较。
此外,数据库中预定量的实体数据,可以是数据库中的部分实体数据,例如,本实施例中给出,这个部分实体数据为从数据库的所有实体数据中筛选出来的怀疑实体数据。这样意味着,S202中将待甄别的实体数据与筛选出的怀疑实体数据进行逐一对比。
实体以店铺为例,部分实体数据这里具体为怀疑店铺。怀疑店铺,基于上述利用postgresql数据库的全文索引机制进行全文匹配查找,可以找到所有匹配的店铺数据。
在系统构建过程中,可以将所有黄页店铺数据导入到图3所示的分布式数据库中,根据数据分发hash算法会将所有黄页店铺数据平均地分发到图3的四个数据节点中。
每个数据节点中可以保存有黄页店铺的表,表的结构可以如下所示:
Figure GDA00002711190400151
表1
以上表格中的indexcontent字段的数据类型是tsvector类型的,在系统初始化过程中会将店铺名称与地址名通过分词处理,生成以空格符作为分界的字符串作为indexcontent字段的初始化值。
查找怀疑店铺的流程分为以下步骤:
将待查找的黄页店铺的店铺名和分店名以空格连接,生成以空格分界的分词串;
通过上述得到的分词串,与表1中的indexcontent(倒排索引类型字段)进行匹配查找;
合并各个数据节点上的查询结果,生成怀疑店铺查询结果集合。例如这里是四个数据节点。
生成怀疑店铺查询结果集,可以按照分词串在各个数据节点上1中的indexcontent进行匹配得到。具体过程可以是:首先通过上一步生成的以空格分隔的查询字符串和店铺所在城市id(city)组合生成sql语句。例如,有一家店铺的名称为“水晶月设计中心”将店名分词之后得到“水晶月_N,发艺_X,设计中心_OB”的结果,然后将分词属性去掉,组装成“水晶月设计中心”,然后组装生成sql语句:
Figure GDA00002711190400171
用该sql语句对数据节点进行查询,生成的结果集就是下一步需要的店铺重复怀疑对象。
由以上本申请实施例提供的技术方案可见,服务器获取待甄别的实体数据,服务器将待甄别的实体数据与数据库中预定量的实体数据对实体名称逐一进行比较并得到评分,服务器通过比较评分与预定标准分来判断所述待甄别的实体数据与数据库中的实体数据重复,可以高效的甄别出重复的实体数据。
以下介绍本发明一种服务器的实施例,图6示出了该服务器实施例的框图,包括:
获取单元61,用于获取待甄别的实体数据;
名称比较单元62,用于将待甄别实体数据的名称与数据库中预定量的实体数据的名称通过下述方式逐一比较实体名称:
利用预置的不同词性的分词词库对待甄别实体名称及数据库中的实体名称进行分词并确定词性;将经过分词并确定词性的待甄别店名及数据库中的实体名称分别填入预定的模板;通过比较待甄别店名和数据库中实体店名在所述模板中对应词性的词是否相同得到实体名称比较的评分;其中,数据库中的实体名称分词、确定词性可以提前完成;
判断单元63,用于通过比较评分与预定标准分来判断所述待甄别的实体数据与比较的数据库中的实体数据是否重复;
添加单元64,用于将判断为不重复的实体数据添加入所述数据库中。
优选地,所述数据库中预定量的实体数据包括数据库中的所有实体数据或部分实体数据。
优选地,所述部分实体数据包括从所述数据库的所有实体数据中的筛选出来的怀疑实体的数据。
优选地,所述服务器还可以如图7所示,还包括筛选单元65,用于将待查找出的店铺名和分店名以空格连接,生成以空格分界的分词串;
通过上述所得到分词串,与表1中的indexcontent(即倒排索引类型字段)进行匹配查找;
合并四个数据节点上的查询结果,生成怀疑店铺查询结果集合。
优选地,所述服务器还可以如图8所示,所述名称比较单元62包括:
分词单元621,利用预置的不同词性的分词词库对待甄别实体名称及数据库中的实体名称进行分词并确定词性;
模板单元622,将经过分词并确定词性的待甄别店名及数据库中的实体名称分别填入预定的模板;
评分单元623,通过比较待甄别店名和数据库中实体店名在所述模板中对应词性的词是否相同得到实体名称比较的评分。
优选地,所述服务器还可以如图9所示,所述分词单元621包括正向分词单元6211和反向分词单元6212,分别利用预置的不同词性的分词词库对待甄别实体名称及数据库中的实体名称进行正向分词和反向分词;
相应地,所述分词单元621还包括消岐单元6213,用于对正向分词和反向分词得到的词表进行消歧处理以得到唯一分词结果。
优选地,所述服务器还可以如图10所示,还包括模式匹配单元624,用于将经过分词并确定词性的待甄别店名及数据库中的实体名称分别进行模式匹配,从预置的模式规则文件中找到所述名称所匹配的模式规则,从而将所述名称中的分词标记上词性。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。

Claims (14)

1.一种甄别重复实体数据的方法,其特征在于,包括:
S1:服务器获取待甄别的实体数据;
S2:服务器将待甄别的实体数据的名称与数据库中的实体数据的名称通过下述方式逐一比较实体名称:
利用预置的不同词性的分词词库对待甄别实体名称及数据库中的实体名称进行分词并确定词性;
将经过分词并确定词性的待甄别店名及数据库中的实体名称分别填入预定的模板;
比较待甄别店名和数据库中实体店名在所述模板中对应词性的词是否相同,依据店名各词性的比较结果得到实体名称比较的评分;
S3:服务器通过比较评分与预定标准分来判断所述待甄别的实体数据与比较的数据库中的实体数据是否重复;
S4:服务器将判断为不重复的所述待甄别的实体数据添加入数据库。
2.如权利要求1所述的方法,其特征在于,所述数据库中预定量的实体数据包括数据库中的所有实体数据或部分实体数据。
3.如权利要求2所述的方法,其特征在于,所述部分实体数据包括从所述数据库的所有实体数据中筛选出来的怀疑实体数据。
4.如权利要求3所述的方法,其特征在于,所述筛选出来的怀疑实体数据由以下方式得到:
将待查找的黄页店铺的店铺名和分店名以空格连接,生成以空格分界的分词串;
通过上述所得到分词串,与倒排索引类型字段进行匹配查找;
合并各数据节点上的查询结果,生成怀疑店铺查询结果集合。
5.如权利要求1所述的方法,其特征在于,所述服务器利用预置的不同词性的分词词库对待甄别实体名称及数据库中的实体名称进行分词并确定词性,包括:
服务器利用预置的不同词性的分词词库对待甄别实体名称及数据库中的实体名称进行正向分词和反向分词;
服务器对正向分词和反向分词得到的词表进行消歧处理以得到唯一分词结果。
6.如权利要求1所述的方法,其特征在于,所述服务器利用预置的不同词性的分词词库对待甄别实体名称及数据库中的实体名称进行分词并确定词性之后中,还包括:
服务器将经过分词并确定词性的待甄别店名及数据库中的实体名称分别进行模式匹配,从预置的模式规则文件中找到所述名称所匹配的模式规则,从而将所述待甄别实体名称及数据库中的实体名称中的分词标记上词性。
7.一种甄别重复实体数据的装置,其特征在于,包括:
获取单元,用于获取待甄别的实体数据;
名称比较单元,用于将待甄别实体数据的名称与数据库中预定量的实体数据的名称通过下述方式逐一比较实体名称:
利用预置的不同词性的分词词库对待甄别实体名称及数据库中的实体名称进行分词并确定词性;将经过分词并确定词性的待甄别店名及数据库中的实体名称分别填入预定的模板;比较待甄别店名和数据库中实体店名在所述模板中对应词性的词是否相同,依据店名各词性的比较结果得到实体名称比较的评分;
判断单元,用于通过比较评分与预定标准分来判断所述待甄别的实体数据与比较的数据库中的实体数据是否重复;
添加单元,用于将判断为不重复的实体数据添加入所述数据库中。
8.如权利要求7所述的装置,其特征在于,所述数据库中预定量的实体数据包括数据库中的所有实体数据或部分实体数据。
9.如权利要求8所述的装置,其特征在于,所述部分实体数据包括从所述数据库的所有实体数据中筛选出来的怀疑实体的数据。
10.如权利要求8所述的装置,其特征在于,还包括筛选单元,用于将待查找的黄页店铺的店铺名和分店名以空格连接,生成以空格分界的分词串;
通过上述所得到分词串,与倒排索引类型字段进行匹配查找;
合并各个数据节点上的查询结果,生成怀疑店铺查询结果集合。
11.如权利要求7所述的装置,其特征在于,还包括添加单元,用于将判断为不重复的实体数据添加入所述数据库中。
12.如权利要求7所述的装置,其特征在于,所述名称比较单元包括:
分词单元,利用预置的不同词性的分词词库对待甄别实体名称及数据库中的实体名称进行分词并确定词性;
模板单元,将经过分词并确定词性的待甄别店名及数据库中的实体名称分别填入预定的模板;
评分单元,通过比较待甄别店名和数据库中实体店名在所述模板中对应词性的词是否相同得到实体名称比较的评分。
13.如权利要求12所述的装置,其特征在于,所述分词单元包括正向分词单元和反向分词单元,分别利用预置的不同词性的分词词库对待甄别实体名称及数据库中的实体名称进行正向分词和反向分词;
相应地,所述分词单元还包括消岐单元,用于对正向分词和反向分词得到的词表进行消歧处理以得到唯一分词结果。
14.如权利要求12所述的装置,其特征在于,所述名称比较单元还包括模式匹配单元,用于将经过分词并确定词性的待甄别店名及数据库中的实体名称分别进行模式匹配,从预置的模式规则文件中找到所述名称所匹配的模式规则,从而将所述待甄别实体名称及数据库中的实体名称中的分词标记上词性。
CN2009101705511A 2009-09-10 2009-09-10 甄别重复实体数据的方法和装置 Active CN102023984B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2009101705511A CN102023984B (zh) 2009-09-10 2009-09-10 甄别重复实体数据的方法和装置
HK11105866.7A HK1152126A1 (en) 2009-09-10 2011-06-10 Method and apparatus of discriminating reduplicate entity data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101705511A CN102023984B (zh) 2009-09-10 2009-09-10 甄别重复实体数据的方法和装置

Publications (2)

Publication Number Publication Date
CN102023984A CN102023984A (zh) 2011-04-20
CN102023984B true CN102023984B (zh) 2013-12-04

Family

ID=43865292

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101705511A Active CN102023984B (zh) 2009-09-10 2009-09-10 甄别重复实体数据的方法和装置

Country Status (2)

Country Link
CN (1) CN102023984B (zh)
HK (1) HK1152126A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722562B (zh) * 2012-06-01 2014-11-26 浙江灵玖天下软件有限公司 基于互联网的组织机构信息整合与更新方法
CN103544165A (zh) * 2012-07-12 2014-01-29 腾讯科技(深圳)有限公司 新词挖掘方法和系统
CN105718595A (zh) * 2016-02-17 2016-06-29 无线生活(杭州)信息科技有限公司 一种关键词提取方法及装置
CN106528748B (zh) * 2016-10-27 2019-09-20 百度在线网络技术(北京)有限公司 一种用于确定地域词库的方法与装置
CN107133335B (zh) * 2017-05-15 2020-06-02 北京航空航天大学 一种基于分词与索引技术的重复记录检测方法
CN108376365B (zh) * 2018-03-22 2021-06-18 中国银行股份有限公司 一种银行编号确定方法及装置
CN109003133B (zh) * 2018-07-20 2022-10-14 创新先进技术有限公司 一种线下店铺识别的方法及装置
CN109033370A (zh) * 2018-07-27 2018-12-18 阿里巴巴集团控股有限公司 一种查找相似店铺的方法及装置、店铺接入的方法及装置
CN109726312B (zh) * 2018-12-25 2021-10-08 广州虎牙信息科技有限公司 一种正则表达式检测方法、装置、设备和存储介质
CN109977951B (zh) * 2019-03-22 2021-10-15 北京泰迪熊移动科技有限公司 一种用于识别服务门店名的方法、设备及存储介质
CN109977287B (zh) * 2019-03-28 2021-02-02 国家计算机网络与信息安全管理中心 一种不同信息源的房产数据同一性判别方法
CN111639253B (zh) * 2020-05-22 2023-08-01 北京百度网讯科技有限公司 一种数据判重方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101499056A (zh) * 2008-01-28 2009-08-05 徐文新 倒排参考句型语言分析方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101499056A (zh) * 2008-01-28 2009-08-05 徐文新 倒排参考句型语言分析方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘哲等.一种中文地址类相似重复信息的检测方法.《小型微型计算机系统》.2008,第29卷(第4期),第726-729页. *

Also Published As

Publication number Publication date
CN102023984A (zh) 2011-04-20
HK1152126A1 (en) 2012-02-17

Similar Documents

Publication Publication Date Title
CN102023984B (zh) 甄别重复实体数据的方法和装置
CN103488648B (zh) 一种多语种混合检索方法和系统
CN104200369B (zh) 一种确定商品配送范围的方法和装置
US20020156779A1 (en) Internet search engine
US20080228719A1 (en) People and business search result optimization
CN106547796A (zh) 数据库的执行方法及装置
US20140222799A1 (en) Determining core geographical information in a document
CN107145496A (zh) 基于关键词将图像与内容项目匹配的方法
CN103605752A (zh) 一种基于语义识别的地址匹配方法
CN101350013A (zh) 一种地理信息的搜索方法和系统
CN102483748A (zh) 用于地图搜索的查询解析
CN106021336A (zh) 一种对批量地址信息进行自动行政区划划分的方法
CN111639253B (zh) 一种数据判重方法、装置、设备及存储介质
Pham et al. The structure of the computer science knowledge network
CN106383836A (zh) 将可操作属性归于描述个人身份的数据
CN106815265B (zh) 裁判文书的搜索方法及装置
WO2015021532A1 (en) Data sanitization and normalization and geocoding methods
Christen et al. A probabilistic geocoding system based on a national address file
CN105718580A (zh) 一种提供招投标信息搜索服务的方法和装置
CN103020038A (zh) 一种网络舆情地域相关度的计算方法
CN107608981B (zh) 基于正则表达式的字符匹配方法及系统
CN103076894A (zh) 一种用于根据对象标识信息构建输入词条的方法与设备
CN106407221B (zh) 地址数据检索方法及装置
CN112948429B (zh) 一种数据报送方法、装置和设备
WO2001065410A2 (en) Search engine for spatial data indexing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1152126

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1152126

Country of ref document: HK

TR01 Transfer of patent right

Effective date of registration: 20211110

Address after: Room 554, floor 5, building 3, No. 969, Wenyi West Road, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province

Patentee after: Taobao (China) Software Co., Ltd

Address before: P.O. Box 847, 4th floor, capital building, Grand Cayman, British Cayman Islands

Patentee before: Alibaba Group Holdings Limited

TR01 Transfer of patent right