POI数据处理方法、装置、设备及介质转让专利

申请号 : CN201811614295.6

文献号 : CN111382138B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王世民

申请人 : 中国移动通信集团辽宁有限公司中国移动通信集团有限公司

摘要 :

本发明实施例提供了一种POI数据处理方法、装置、设备及介质。该POI数据处理方法包括:根据预设的最小元素集,将兴趣点POI数据对中的每个POI划分为基础字段,并确定每个POI的基础字段所属的最小元素;根据每个POI的基础字段所属的最小元素以及最小元素组合情形,确定每个POI的基础字段所属的最小元素组合情形;根据每个POI的基础字段所属的最小元素组合情形,对每个POI的基础字段进行拆分,确定每个POI的结构化字段;根据每个POI的结构化字段,确定每个POI的结构字段之间的相似度值,并根据相似度值,判断POI数据对是否为重复数据对。本发明实施例能够提高数据处理效率,并精准判断重复POI数据对,不需要通过人工重复确定POI数据对,缩短数据整体作业处理周期。

权利要求 :

1.一种POI数据处理方法,其特征在于,所述方法包括:

根据预设的最小元素集,将兴趣点POI数据对中的每个POI划分为基础字段,并确定所述每个POI的基础字段所属的最小元素;

根据所述每个POI的基础字段所属的最小元素以及元素组合情形库中的最小元素组合情形,确定每个POI的基础字段所属的最小元素组合情形,所述元素组合情形库是对POI数据分析得到的基础字段的最小元素组合情形保存而形成的,所述最小元素组合情形是指最小元素组合在一起后形成基础字段后,对应的最小元素所属的类别组合在一起后的情形;

根据所述每个POI的基础字段所属的最小元素组合情形,对所述每个POI的基础字段进行拆分,确定所述每个POI的结构化字段;

根据所述每个POI的结构化字段,确定每个POI的结构字段之间的相似度值,并根据所述相似度值,判断所述POI数据对是否为重复数据对。

2.根据权利要求1所述的方法,其特征在于,所述基础字段包括如下字段中的一项或多项:POI名称字段、POI地址字段、POI电话号码字段。

3.根据权利要求2所述的方法,其特征在于,所述POI名称字段包括以下最小元素中的至少一种最小元素:本地地名、外地地名、POI名称前缀、品牌纯名、分类词以及POI名称后缀;

根据所述每个POI的基础字段所属的最小元素组合情形,对所述每个POI的基础字段进行拆分,确定所述每个POI的结构化字段,包括:根据预设的地名词库以及所述分类词词库,识别所述每个POI对应的POI名称字段中除括号以外的错误字符,并将所述错误字符删除;

判断所述每个POI对应的名称字段是否包含括号,对于名称字段中包含括号的POI,将所述括号部分的名称字段以及非括号部分的名称字段进行拆分;

识别所述每个POI对应的名称字段中的分类词,将识别出来的分类词删除,并拆分剩余的名称字段中的地名,判断并记录所述地名在所述名称字段中的位置;

根据所述每个POI中最小元素之间的相对位置关系,识别所述名称前缀以及所述名称后缀。

4.根据权利要求2所述的方法,其特征在于,所述POI地址字段包括以下至少一种最小元素:省、市、区/县、乡镇/街道、道路、道路门牌号、小区/楼宇名/单位名/自然村、门、楼栋号/村内编号、房号/户名、楼层号、方位词;

当所述基础字段包括POI地址字段的时,对所述POI的基础字段进行拆分之前,所述方法还包括:调取地名词库,根据所述地名词库,判断所述POI与省、市、区、乡镇轮廓之间的位置关系;

根据所述位置关系,确定所述POI所属的省、市、区以及乡镇。

5.根据权利要求4所述的方法,其特征在于,所述根据所述每个POI的基础字段所属的最小元素组合情形,对所述每个POI的基础字段进行拆分,确定所述每个POI的结构化字段,包括:根据所述地名词库,识别所述每个POI对应的POI地址字段中除括号以外的错误字符,并将所述错误字符删除;

判断所述每个POI对应的地址字段是否包含括号,在所述每个POI对应的地址字段包含括号的情况下,将所述括号部分的地址字段以及非括号部分的地址字段进行拆分;

识别所述每个POI对应的地址字段中的省、市、区/县、乡镇/街道、道路、道路门牌号,将识别出来的省、市、区/县、乡镇/街道、道路、道路门牌号删除,并拆分剩余的地址字段中的小区/楼宇名/单位名/自然村、门、楼栋号/村内编号、房号/户名、楼层号;

识别所述每个POI对应的地址字段中的方位词,并拆分所述方位词。

6.根据权利要求1所述的方法,其特征在于,所述对所述POI的基础字段进行拆分,确定所述每个POI的结构化字段还包括:对所述POI的基础字段进行拆分后,判断拆分后的结构化字段是否能够对应所述元素组合情形库的元素组合情形;

如果拆分后的结构化字段能够对应所述元素组合情形库的元素组合情形,将所述拆分后的结构化字段保存至对应的最小元素中;

如果拆分后的结构化字段不能够对应所述元素组合情形库的元素组合情形,学习拆分后的结构化字段对应的最小元素组合情形,并将学习到的最小元素组合情形保存至所述元素组合情形库。

7.根据权利要求1所述的方法,其特征在于,使用POI数据对排重算法,根据所述每个POI的结构化字段,确定每个POI的结构字段之间的相似度值,判断所述POI数据对是否为重复数据对;

所述POI数据对排重算法包括以下判断逻辑至少一个判断逻辑:

判断所述POI数据对是否属于同一地理范围;

判断所述POI数据对的分类词是否属于同一小分类;

判断所述POI数据对的品牌纯名是否相同;

判断所述POI数据对的地址信息是否一致;

判断所述POI数据对中包含的字符是否一致。

8.根据权利要求7所述的方法,其特征子在于,所述POI数据对排重算法还包括:根据所述POI所属的预设的城市距离参数、所述POI所在行政区的居民使用面积、POI所在行政区的POI总量以及所述POI所属分类下的POI数量,确定POI数据对中所述每个POI之间的距离阈值;

根据所述距离阈值以及所述每个POI的平面距离,判断所述POI数据对是否为重复数据对。

9.根据权利要求8所述的方法,其特征在于,所述距离阈值 满足下述公式:;

其中, 表示城市距离参数, 表示POI在所属分类下的POI数量,表示POI所在行政区的POI总量, 表示POI所在行政区的居民使用面积。

10.根据权利要求7所述的方法,其特征在于,所述POI数据对排重算法还包括以下判断逻辑中至少一种判断逻辑:判断所述POI数据对中每个POI中是否至少有一个包含名称前缀;

判断所述POI数据对中每个POI中是否至少有一个包含名称后缀。

11.一种POI数据处理装置,其特征在于,所述装置包括:

划分模块,用于根据预设的最小元素集,对兴趣点POI数据对中的每个POI划分为基础字段,并确定所述每个POI的基础字段所属的最小元素;

确定模块,用于根据所述每个POI的基础字段所属的最小元素以及元素组合情形库中的最小元素组合情形,确定每个POI的基础字段所属的最小元素组合情形,所述元素组合情形库是对POI数据分析得到的基础字段的最小元素组合情形保存而形成的,所述最小元素组合情形是指最小元素组合在一起后形成基础字段后,对应的最小元素所属的类别组合在一起后的情形;

拆分模块,用于根据所述每个POI的基础字段所属的最小元素组合情形,对所述POI的基础字段进行拆分,确定所述每个POI的结构化字段;

判断模块,用于根据所述每个POI的结构化字段,确定每个POI的结构字段之间的相似度值,并根据所述相似度值,判断所述POI数据对是否为重复数据对。

12.一种POI数据处理设备,其特征在于,包括:至少一个处理器、至少一个存储器以及存储在所述存储器中的计算机程序指令,当所述计算机程序指令被所述处理器执行时实现如权利要求1‑10中任一项所述的方法。

13.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,当所述计算机程序指令被处理器执行时实现如权利要求1‑10中任一项所述的方法。

说明书 :

POI数据处理方法、装置、设备及介质

技术领域

[0001] 本发明涉及电子地图技术领域,尤其涉及一种POI数据处理方法、装置、设备及介质。

背景技术

[0002] 随着互联网与物联网技术的发展,越来越多的用户花费大量的时间与精力体验各类互联网与物联网的产品,而产品体验的核心是真实地物抽象而来的兴趣点(PointofInterest,POI)。经实验验证,影响用户体验效果的关键因素包括:POI数据的重复率、正确率、现势性程度、基础字段完备率、增值字段完备率,在这里,POI数据重复率的高低是影响用户体验度的高低最核心、最重要的影响因子。
[0003] 目前,POI数据供应商在处理POI数据重复问题时,计算POI中包括的名称、地址、电话、坐标等基础字段的相似度值,并将每个基础字段的相似度值进行线性组合,得出POI数据对的相似度计算总值。当前数据供应商主要使用的相似度算法能够识别一定程度的重复数据对,但是计算效率低,且不具有语义特征。同时,为保证数据质量,当前的相似度算法将导致大量疑似重复数据对生成,需要数据供应商提供质检员进行人工处理,从疑似重复数据中确认真正的重复数据。
[0004] 因此,使用上述方式确定POI数据重复率的高低,计算效率低,且判定出的疑似重复POI数据对数量大,需质检员进行大量质检工作,降低了数据正确性,拉长了数据整体作业的处理周期。

发明内容

[0005] 本发明实施例提供了POI数据处理方法、装置、设备及介质,能够提高数据处理效率,并精准判断重复POI数据对,进而不需要通过人工重复确定POI数据对,缩短数据整体作业处理周期。
[0006] 第一方面,本发明实施例提供了一种POI数据处理方法,方法包括:
[0007] 根据预设的最小元素集,将兴趣点POI数据对中的每个POI划分为基础字段,并确定所述每个POI的基础字段所属的最小元素;
[0008] 根据所述每个POI的基础字段所属的最小元素以及元素组合情形库中的最小元素组合情形,确定每个POI的基础字段所属的最小元素组合情形;
[0009] 根据所述每个POI的基础字段所属的最小元素组合情形,对所述每个 POI的基础字段进行拆分,确定所述每个POI的结构化字段;
[0010] 根据所述每个POI的结构化字段,确定每个POI的结构字段之间的相似度值,并根据所述相似度值,判断所述POI数据对是否为重复数据对。
[0011] 第二方面,本发明实施例提供了一种POI数据处理装置,装置包括:
[0012] 划分模块,用于根据预设的最小元素集,对兴趣点POI数据对中的每个POI划分为基础字段,并确定所述每个POI的基础字段所属的最小元素;
[0013] 确定模块,用于调取元素组合情形库中的最小元素组合情形,根据每个所述POI的基础字段所属的最小元素以及所述元素组合情形,确定每个 POI的基础字段所属的最小元素组合情形;
[0014] 拆分模块,用于根据所述每个POI的基础字段所属的最小元素组合情形,对所述POI的基础字段进行拆分,确定所述每个POI的结构化字段;
[0015] 判断模块,用于根据所述每个POI的结构化字段,确定每个POI的结构字段之间的相似度值,并根据所述相似度值,判断所述POI数据对是否为重复数据对。
[0016] 第三方面,本发明实施例提供了一种POI数据处理设备,包括:至少一个处理器、至少一个存储器以及存储在存储器中的计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。
[0017] 第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。
[0018] 本发明实施例提供的POI数据处理方法、装置、设备及介质,通过预设的最小元素集,将POI数据对中的每个POI划分为基础字段,并确定每个基础字段所属的最小元素,根据每个POI的基础字段所述的最小元素以及元素组合情形库中的最小元素组合情形,确定每个POI的基础字段所述的最小元素组合情形,并根据每个POI的基础字段所属的最小元素组合情形,对每个POI基础字段进行拆分,得到每个POI的结构化字段根据每个 POI的结构化字段,能够确定每个POI之间的相似度值,进而根据相似度值,判断POI数据对是否为重复数据对,本发明实施例能够提高数据处理效率,并精准判断重复POI数据对,进而不需要通过人工重复确定POI数据对,缩短数据整体作业处理周期。
[0019] 进一步地,本发明实施例使用排重处理算法简单使判断出的结果不会出现疑似重复的数据对,需要人工进一步进行查重。
[0020] 进一步地,本发明实施例通过将POI划分为POI名称字段、POI地址字段、POI电话号码字段,使得POI具有语义特征,并且POI基础字段的完备率较高,在确定POI数据对是否为重复数据对的时候,更加精准。

附图说明

[0021] 为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0022] 图1示出了根据本发明一些实施例提供的POI数据处理方法的流程图;
[0023] 图2示出了根据本发明一些实施例提供的POI数据处理装置的结构图;
[0024] 图3示出了根据本发明一些实施例提供的POI数据处理设备的结构图。

具体实施方式

[0025] 下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
[0026] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0027] 目前,POI数据对重复率的确定方法中,相似度值的计算算法效率低,不具有语义特征,在完成相似度计算后,需要人工设定判断阈值,确定疑似重复数据对集。虽然,在计算相似度的时候采用的算法不同,疑似重复数据对集的数据量也不同,但是均需要质检员进行人工检查,进行 POI数据对再识别,会导致数据正确性降低、数据整体作业处理周期冗长。此外,由POI数据各基础字段的相似值进行线性组合而来。对于字段完备率较高的POI数据对而言处理效果较好,但是对于字段完备率低、距离较远的POI数据对无法进行精准识别,此类数据往往是POI数据库中无法处理的问题数据。
[0028] 基于此,本发明实施例提供了一种POI数据处理方法、装置、设备及介质,能够提高数据处理效率,并精准判断重复POI数据对,进而不需要通过人工重复确定POI数据对,缩短数据整体作业处理周期。
[0029] 参见图1所示,为本发明实施例提供的一种POI数据处理方法,包括下述步骤S101‑S104:
[0030] S101:根据预设的最小元素集,将兴趣点POI数据对中的每个POI划分为基础字段,并确定每个POI的基础字段所属的最小元素。
[0031] 在具体实施的时候,基础字段是指包括POI名称、地址以及电话号码的字段。最小元素是指POI每个基础字段内容的最短文字集,例如,POI 的名称字段的最小元素进行组合能够形成原POI名称字段,同时,每个文字集之间没有内容交叉,也即,每个文字集就是最小元素,最小元素能够表征POI基础字段所属的种类,是根据POI数据的真实数据,例如POI的名称、地址以及电话号码等数据得到的,每个POI的基础字段都包括名称字段、地址字段、以及电话号码字段,在对POI进行划分的时候,是指将 POI的名称字段、地址字段、电话字段划分出来,并确定POI的每个基础字段所属的最小元素。
[0032] 针对名称字段,由于POI名称在语法和表达方式各异,导致可识别度低,需要对名称进行统一的结构化、规范化后,再分析,根据对POI大数据的分析结果,得到的POI名称字段最小元素,其中,最小元素可以是本地地名、外地地名、POI名称前缀、品牌纯名、分类词以及POI名称后缀,其中,品牌纯名用于表征POI的品牌以及核心名称,分类词用于表征 POI名称所属的最低级别分类的短语,具体解释可以参见表一所示:
[0033] 表一
[0034]
[0035] 例如,中国人寿保险公司恒安营销中心,“中国人寿保险”为名称前缀,“恒安”为品牌纯名,“营销中心”为分类词;正德广场购物店,“正德广场”为名称前缀,“购物店”为分类词;FION(亲贤北街)停车场,“亲贤北街”为本地地名,“FION”为品牌纯名,“停车场”为分类词;联合一百便利店(华峰超市),“联合一百”为品牌纯名,“便利店”为分类词,“华峰超市”为名称后缀。
[0036] 针对地址字段,POI地址在语法和表达方式上具有一定的特征,但复杂度较高,最小元素种类较多,根据POI地址数据分析可知,地址是POI 所属道路门牌信息、所在小区楼栋信息、方位描述信息的组合,根据这些信息,我们可以得到如表二所示的POI地址最小元素。
[0037] 表二
[0038]
[0039] 例如:沈阳于家房镇107省道,“沈阳”为市信息,“于家房镇”为乡|镇|街道信息,“107省道”为道路信息;奉天街346号格林自由成B座 6层0604,“奉天街”为道路信息,“346号”为道路门牌号信息,“格林自由成”为小区/楼宇名/单位名/自然村信息,“B座”为楼栋号/村内编号信息,“6层”为楼层号信息,“0604”为房号/户名(号)信息;沈阳市和平区育才小学南,“沈阳市”为市信息,“和平区”为区/县信息,“育才小学”为小区/楼宇名/单位名/自然村信息,“南”为方位词。
[0040] 对于POI电话号码字段,由于电话号码信息的编号具有规律性,因此,在确定电话号码最小元素的时候,仅需要对电话号码转化为标准格式即可,其中标准格式与作业步骤可参见表三所示:
[0041] 表三
[0042]
[0043] S102:根据每个POI的基础字段所属的最小元素以及元素组合情形库中的最小元素组合情形,确定每个POI的基础字段所属的最小元素组合情形。
[0044] 在具体实施的时候,最小元素组合情形是指最小元素组合在一起后形成基础字段后,对应的最小元素所属的类别组合在一起后的情形,例如, POI的名称字段为中国人寿保险公司恒安营销中心,其最小元素为:“中国人寿保险”为名称前缀,“恒安”为品牌纯名,“营销中心”为分类词,那么,其最小元素所属类别组合在一起后的情形为:名称前缀+品牌纯名+分类词。
[0045] 对于不同的基础字段,其最小元素的组合情形时不同的,针对基础字段是名称字段的情况,在确定最小元素组合情形的时候,可以是以某个行政区域内的POI数据作为样本数据,也可以是以某个省份的POI数据作为样本数据,对POI数据进行多轮分析与总结,得到最小元素组合情形。例如,以辽宁省沈阳市的POI数据作为第一轮样例数据,根据最小元素定义,利用工具逐条对沈阳市POI数据进行元素组合情形分析,完成此步操作后,形成基于第一轮样例数据的元素组合情形。然后,选取辽宁省全量 POI数据作为第二轮样例数据,分析新增的元素组合情形与情形演化规律,最终形成名称字段元素组合情形集合,参见表四所示,为部分POI名称结构化情形库的样例。
[0046] 表四
[0047] 编号 名称结构化情形样例1 本地地名+品牌纯名+本地地名+品牌纯名+分类词
2 本地地名+外地地名+名称前缀+分类词+名称后缀
3 品牌纯名+本地地名
4 品牌纯名+分类词+本地地名+名称后缀
5 分类词+本地地名
6 分类词+本地地名+名称后缀
7 分类词+本地地名+名称后缀+本地地名
8 名称前缀+分类词
9 名称前缀+分类词+本地地名+名称后缀
10 外地地名+本地地名+分类词
[0048] 针对基础字段是地址字段的情况,在确定最小元素组合情形的时候,可以是以某个行政区域内的POI数据作为样本数据,也可以是以某个省份的POI数据作为样本数据,对POI数据进行多轮分析与总结,得到最小元素组合情形。例如,以辽宁省沈阳市的POI数据作为第一轮样例数据,根据情形最小元素定义,利用工具逐条对沈阳市数据进行最下元素组合情形分析,完成此步操作后,形成基于第一轮样例数据的最小元素组合情形。然后,选取辽宁省全量POI数据作为第二轮样例数据,分析新增的最小元素组合情形与情形演化规律。最终形成地址字段元素组合情形集合,共组合出1170种地址情形,参见表五所示,为部分POI地址结构化情形库的样例。
[0049] 表五
[0050]
[0051]
[0052] 将通过对POI数据的分析得到的名称字段的最小元素组合情形以及地址字段的最小元素组合情形保存,形成元素组合情形库。当获得每个POI 的及基础字段所属的最小元素后,调取元素组合情形库中的最小元素组合情形,进而确定每个POI的基础字段所属的最小元素组合情形。
[0053] S103:根据每个POI的基础字段所属的最小元素组合情形,对每个 POI的基础字段进行拆分,确定每个POI的结构化字段。
[0054] 具体地,针对POI的基础字段为名称字段的情况,根据预设的地名词库以及分类词词库,识别每个POI对应的POI名称字段中除括号以外的错误字符,并将错误字符删除;
[0055] 判断每个POI对应的名称字段是否包含括号,在每个POI对应的名称字段包含括号的情况下,将括号部分的名称字段以及非括号部分的名称字段进行拆分;
[0056] 识别每个POI对应的名称字段中的分类词,将识别出来的分类词删除,并拆分剩余的名称字段中的地名,判断并记录地名在名称字段中的位置;
[0057] 根据每个POI中最小元素之间的相对位置关系,识别名称前缀以及名称后缀。
[0058] 在具体实施的时候,针对POI的基础字段为名称字段的情况,借助于中国移动位置服务中心自有的地名词库(省、市、区、乡镇、村、道路、道路门牌)、分类词词库,按POI名称字段的最小元素元素组合情形进行POI名称结构化,得到结构化字段,按以下POI名称结构化流程进行结构化处理:程序读入基础文件库,判断待处理的POI数据文件的合法性;在文件合法的基础上,将文件存入缓存,识别每个POI对应的POI名称字段中除括号以外的错误字符,并将错误字符删除,例如,POI的名称字段为“正德广场购物店‑3”,其包含了“‑3”这个错误字符,则将其删除;判断每个POI的名称字段是否有括号,对于名称字段中包含括号的POI,将括号部分的名称字段以及非括号部分的名称字段进行拆分;识别每个POI 对应的名称字段中的分类词,将识别出来的分类词删除,并拆分剩余的名称字段中的地名,判断并记录地名在名称字段中的位置;根据每个POI中最小元素之间的相对位置关系,识别名称前缀以及名称后缀,得到结构化字段,最后根据元素组合情形库,判断该条POI名称结构化字段对应最小元素组合情形,将对应的结构化字段保存至相应的最小元素中。
[0059] 针对POI的基础字段为地址字段的情况,借助于中国移动位置服务中心自有的地名词库,词库包括省、市、区、乡镇、道路、道路门牌、小区/ 楼宇名/单位名/自然村、楼栋号/村内编号关键词、房号/户名关键词、方位词关键词词库以及省、市、区、乡镇轮廓词库。首先,利用点与多边形判断逻辑,判断POI点与省、市、区、乡镇轮廓的位置关系,进而确定每条 POI所属的省、市、区、乡镇信息。下一步,再按以下POI地址字段结构化流程进行对每个POI地址字段进行结构化处理:程序读入各类基础文件库,判断待处理的POI数据文件的合法性;在文件合法的基础上,将文件存入缓存,判断每个POI的地址字段是否有括号,对于地址名称字段中包含括号的POI,将括号部分的地址字段以及非括号部分的地址字段进行拆分;识别POI地址字段中的省、市、区、乡镇、道路、道路门牌信息;在 POI地址中去掉省、市、区、乡镇、道路、道路门牌字符,并从地址剩余字符中拆分小区/楼宇名/单位名/自然村、楼栋号/村内编号关键词、房号/户名关键词;再从剩余字符中拆分方位词,最后根据元素组合情形库,判断该条POI地址结构化对应的最下元素组合情形以及情形编号,将POI地址字段的每个结构化字段存入各个最小元素中。
[0060] 在一些实施例中,若POI的结构化字段不存在对应的最小元素组合情形,则通过自学习算法更新元素组合情形库。
[0061] 具体地,本发明实施例还提供了对POI的基础字段进行拆分,确定每个POI的结构化字段的具体方法,包括:
[0062] 对POI的基础字段进行拆分后,判断拆分后的结构化字段是否能够对应元素组合情形库的元素组合情形。
[0063] 如果拆分后的结构化字段能够对应元素组合情形库的最小元素组合情形,将拆分后的结构化字段保存至对应的最小元素中。
[0064] 如果拆分后的结构化字段不能够对应元素组合情形库的元素组合情形,学习拆分后的结构化字段对应的最小元素组合情形,并将学习到的最小元素组合情形保存至元素组合情形库。
[0065] 在具体实施的时候,POI的每个基础字段具有不确定性的特性,对 POI的基础字段进行拆分后,首先要判断拆分后得到的结构化字段是否能够对应元素组合情形库的元素组合情形,若不能,则需要通过自学习算法学习拆分后的结构化字段对应的最小元素组合情形。
[0066] POI的基础字段具有不确定性,从整体上看是不具备系统分析条件的。但通过最小元素化处理后,对POI元素组合有了整体、全面的了解。通过大数据分析后,发现每条POI名称或者地址的最小元素,均可能多次出现,但具有一定的规律性。
[0067] 例如,对于POI的名称字段,每个最小元素间具有一定的位置关系:名称前缀位于品牌纯名之前,品牌纯名位于分类词之前,分类词位于名称后缀之前;最小元素具有一定的元素特征:如,每条POI名称必然存在一个或多个分类词;本地地名、外地地名、名称前缀、品牌纯名、名称后缀可以不存在;名称字段具有地名特征,如,本地地名主要是对品牌纯名主体的修饰,或者是该条POI名称的分支机构描述;外地地名主要是以特殊名称的形式,对POI进行补充修饰。
[0068] 根据名称字段的最小元素之间的位置关系、元素特征以及地名特征等规则,并结合名称字段最小元素的定义特点、最小元素组合情形,可自主认定分类词、品牌纯名、前缀、后缀,从而细化拆分本地地名与外地地名。如果分析过程中生成了未归纳总结出的各类最小元素组合情形,则记录下来,补充至元素组合情形库中。
[0069] 例如,对于POI地址字段,最小元素间具有一定的位置关系,如,市信息位于区县信息之前,区县信息位于乡|镇|街道信息之前,道路位于道路门牌号之前,小区/楼宇名/单位名/自然村位于门、楼栋号/村内编号、房号/户名(号)、楼层号、方位词之前,楼层号位于房号/户名(号)之前;POI的地址字段具有地名特征:如,地址元素虽多,但是组合逻辑简单明了。同时中国移动位置服务中心拥有完整的地名词库,可通过相关词库识别出全部地名信息、方位词信息。
[0070] 根据地址字段的最小元素之间的位置关系以及地名特征等规则,并结合名称字段最小元素的定义特点、最小元素组合情形,可自主识别市、区县、乡镇、道路、道路门牌、村、小区等信息,再根据标志性建筑物(小区/楼宇名/单位名/自然村)与门、楼栋号/村内编号、房号/户名(号)、楼层号的相应对照关系,进行进一步细化拆分。如果分析过程中生成未归纳总结出的最小元素组合情形,则记录下来,补充至元素组合情形库中。
[0071] 在完成POI名称、地址、电话结构化后,利用本发明创新的排重算法,进行数据对相似度值计算。
[0072] S104:根据每个POI的结构化字段,确定每个POI的结构字段之间的相似度值,并根据相似度值,判断POI数据对是否为重复数据对。
[0073] 具体地,本发明实施例提供的POI数据处理方法中,包括:
[0074] 使用POI数据对排重算法,根据每个POI的结构化字段,确定每个POI的结构字段之间的相似度值,判断POI数据对是否为重复数据对;
[0075] POI数据对排重算法包括以下判断逻辑至少一个判断逻辑:
[0076] 判断POI数据对是否属于同一地理范围。
[0077] 判断POI数据对的分类词是否属于同一小分类。
[0078] 判断POI数据对的品牌纯名是否相同。
[0079] 判断POI数据对的地址信息是否一致。
[0080] 判断POI数据对中包含的字符是否一致。
[0081] 在具体实施的时候,判断POI数据对是否属于同一地理范围:使用 POI地址结构化通过点与多边形位置关系判断结果得出的省、市信息,做 POI数据对的地理区域对比,如果不同,相似度值为“0”,则不为重复数据对,判断结束;如果完全相同,则相似度值为“1”,继续判断POI数据分类词是否属于同一小分类。
[0082] 判断POI数据分类词是否属于同一小分类,根据POI名称字段的结构化字段得出的分类词信息以及《中国移动位置服务中心分类词词库与分类清单》,确认分类词所属的小分类,并判断POI数据对中小分类是否一致。如果不一致,相似度值为“0”,则不为重复数据对,判断结束;如果一致,则相似度值为“1”,继续判断POI数据对的品牌纯名是否相同。
[0083] 判断POI数据对的品牌纯名是否相同:根据POI名称字段的结构化字段得出的品牌纯名进行比较。如果不同,相似度值为“0”,则不为重复数据对,判断结束;如果完全相同,则相似度值为“1”,继续判断POI 数据对的地址信息是否一致。
[0084] 判断POI数据对的地址信息是否一致:根据POI地址结构化得出的小区/楼宇名/单位名/自然村信息进行比较。如果数据对中有一条或以上数据不包含小区/楼宇名/单位名/自然村信息,则进行字符比较:如果POI数据对中包含的字符不一致,则相似度值为“0”,不为重复数据对,判断结束。完全一致,则POI数据对中每个POI之间的距离阈值。
[0085] 判断POI数据对内两点间距离阈值:在现实世界中,不同城市、不同分类类型的POI分布的密度是不同的。当前算法中的数据对距离阈值的设定是“一刀切”的方式,是固定的,与真实世界不符。因此,本发明提出一种按城市、按区域、按类型的两点间距离阈值动态计算方法,确保数据对中两点间距离判定时计算结果符合各城市POI分布的实际情况。
[0086] 具体地,根据POI所属的预设的城市距离参数、POI所在行政区的居民使用面积、POI所在行政区的POI总量以及POI所属分类下的POI数量,确定POI数据对中每个POI之间的距离阈值。
[0087] 根据距离阈值以及每个POI的平面距离,判断POI数据对是否为重复数据对。
[0088] 在具体实施的时候,距离阈值Sthreshold满足下述公式:
[0089]
[0090] 其中,LevelCity表示城市距离参数,NumTypePOI表示POI在所属分类下的POI数量, NumTotalPOI表示POI所在行政区的POI总量,Area表示POI所在行政区的居民使用面积。
[0091] 我国将城市等级分为6档:一线城市、新一线城市、二线城市、三线城市、四线城市、五线城市。本提案提出参考城市等级,设定各级城市距离参数。
[0092] 根据实际测算,以上6级城市级别参数:一线城市为LevelCity=0.5,新一线城市为LevelCity=0.8、二线城市为LevelCity=1、三线城市为LevelCity=1.5、四线城市为LevelCity=1.8、五线城市为LevelCity=2。
[0093] 完成两点间距离阈值计算后,判断阈值与数据对中两点间真实的平面距离。如果真实距离大于阈值,则相似度值为“0”,不为重复数据对,判断结束;如果真实距离小于等于阈值,则相似度值为“1”,继续判断 POI数据对中每个POI中是否至少有一个包含名称前缀。
[0094] 判断POI数据对中每个POI中是否至少有一个包含名称前缀:使用 POI名称结构化得出的名称前缀进行内容判断。如果POI数据对均无前缀信息或有一条无前缀信息,则相似度值为“1”,继续判断POI数据对中每个POI中是否至少有一个包含名称后缀。如果POI数据对均存在前缀,若前缀为相等或包含的关系,则相似度值为“1”,继续判断POI数据对中每个POI中是否至少有一个包含名称后缀。否则相似度值为“0”,不为重复数据对,相似度值为“0”,判断结束。
[0095] 判断POI数据对中每个POI中是否至少有一个包含名称后缀:使用 POI名称结构化得出的名称后缀进行内容判断。如果数据对均无后缀信息或有一条无后缀信息,则判断此条POI数据对为重复数据对。如果POI数据对均存后前缀,若后缀为相等或包含的关系,则相似度值为“1”,此条 POI数据对为重复数据对;否则相似度值为“0”,不为重复数据对,判断结束。
[0096] 本发明实施例提供的POI数据处理方法,通过预设的最小元素集,将 POI数据对中的每个POI划分为基础字段,并确定每个基础字段所属的最小元素,根据每个POI的基础字段的最小元素以及元素组合情形库中的最小元素组合情形,确定每个POI的基础字段的最小元素组合情形,并根据每个POI的基础字段所属的最小元素组合情形,对每个POI基础字段进行拆分,得到每个POI的结构化字段根据每个POI的结构化字段,能够确定每个POI之间的相似度值,进而根据相似度值,判断POI数据对是否为重复数据对,本发明实施例能够提高数据处理效率,并精准判断重复POI数据对,进而不需要通过人工重复确定POI数据对,缩短数据整体作业处理周期。
[0097] 进一步地,本发明实施例使用排重处理算法简单使判断出的结果不会出现疑似重复的数据对,需要人工进一步进行查重。
[0098] 进一步地,本发明实施例通过将POI划分为POI名称字段、POI地址字段、POI电话号码字段,使得POI具有语义特征,并且POI基础字段的完备率较高,在确定POI数据对是否为重复数据对的时候,更加精准。
[0099] 参见图2所示,本发明实施例还提供了一种POI数据处理装置200,包括:划分模块201、确定模块202、拆分模块203、判断模块204;
[0100] 划分模块201,用于根据预设的最小元素集,对兴趣点POI数据对中的每个POI划分为基础字段,并确定每个POI的基础字段所属的最小元素;
[0101] 确定模块202,用于根据每个POI的基础字段所属的最小元素以及元素组合情形库中的最小元素组合情形,确定每个POI的基础字段所属的最小元素组合情形;
[0102] 拆分模块203,用于根据每个POI的基础字段所属的最小元素组合情形,对POI的基础字段进行拆分,确定每个POI的结构化字段;
[0103] 判断模块204,用于根据每个POI的结构化字段,确定每个POI的结构字段之间的相似度值,并根据相似度值,判断POI数据对是否为重复数据对。
[0104] 在一些实施例中,基础字段包括如下字段中的一项或多项:POI名称字段、POI地址字段、POI电话号码字段。
[0105] 在一些实施例中,POI名称字段包括以下最小元素中的至少一种最小元素:本地地名、外地地名、POI名称前缀、品牌纯名、分类词以及POI 名称后缀;
[0106] 拆分模块203具体用于采用下述步骤根据每个POI的基础字段所属的最小元素组合情形,对每个POI的基础字段进行拆分,确定每个POI的结构化字段:
[0107] 根据预设的地名词库以及分类词词库,识别每个POI对应的POI名称字段中除括号以外的错误字符,并将错误字符删除。
[0108] 判断每个POI对应的名称字段是否包含括号,对于名称字段中包含括号的POI,将括号部分的名称字段以及非括号部分的名称字段进行拆分。
[0109] 识别每个POI对应的名称字段中的分类词,将识别出来的分类词删除,并拆分剩余的名称字段中的地名,判断并记录地名在名称字段中的位置。
[0110] 根据每个POI中最小元素之间的相对位置关系,识别名称前缀以及名称后缀。
[0111] 在一些实施例中,POI地址字段包括以下至少一种最小元素:省、市、区/县、乡镇/街道、道路、道路门牌号、小区/楼宇名/单位名/自然村、门、楼栋号/村内编号、房号/户名、楼层号、方位词;
[0112] 当基础字段包括POI地址字段的时,对POI的基础字段进行拆分之前,装置200中的拆分模块203还用于:调取地名词库,根据地名词库,判断POI与省、市、区、乡镇轮廓之间的位置关系。
[0113] 根据位置关系,确定POI所属的省、市、区以及乡镇。
[0114] 在一些实施例中,拆分模块203具体用于采用下述步骤根据每个POI 的基础字段所属的最小元素组合情形,对每个POI的基础字段进行拆分,确定每个POI的结构化字段:
[0115] 根据地名词库,识别每个POI对应的POI地址字段中除括号以外的错误字符,并将错误字符删除。
[0116] 判断每个POI对应的地址字段是否包含括号,在每个POI对应的地址字段包含括号的情况下,将括号部分的地址字段以及非括号部分的地址字段进行拆分。
[0117] 识别每个POI对应的地址字段中的省、市、区/县、乡镇/街道、道路、道路门牌号,将识别出来的省、市、区/县、乡镇/街道、道路、道路门牌号删除,并拆分剩余的地址字段中的小区/楼宇名/单位名/自然村、门、楼栋号/村内编号、房号/户名、楼层号。
[0118] 识别每个POI对应的地址字段中的方位词,并拆分方位词。
[0119] 在一些实施例中,拆分模块203还用于对POI的基础字段进行拆分后,判断拆分后的结构化字段是否能够对应元素组合情形库的元素组合情形。
[0120] 如果拆分后的结构化字段能够对应元素组合情形库的元素组合情形,将拆分后的结构化字段保存至对应的最小元素中。
[0121] 如果拆分后的结构化字段不能够对应元素组合情形库的元素组合情形,学习拆分后的结构化字段对应的最小元素组合情形,并将学习到的最小元素组合情形保存至元素组合情形库。
[0122] 在一些实施例中,判断模块204具体用于采用下述方式使用POI数据对排重算法,根据每个POI的结构化字段,确定每个POI的结构字段之间的相似度值,判断POI数据对是否为重复数据对;
[0123] POI数据对排重算法包括以下判断逻辑至少一个判断逻辑:
[0124] 判断POI数据对是否属于同一地理范围;
[0125] 判断POI数据对的分类词是否属于同一小分类;
[0126] 判断POI数据对的品牌纯名是否相同;
[0127] 判断POI数据对的地址信息是否一致;
[0128] 判断POI数据对中包含的字符是否一致。
[0129] 在一些实施例中,POI数据对排重算法还包括:
[0130] 根据POI所属的预设的城市距离参数、POI所在行政区的居民使用面积、POI所在行政区的POI总量以及POI所属分类下的POI数量,确定 POI数据对中每个POI之间的距离阈值;
[0131] 根据距离阈值以及每个POI的平面距离,判断POI数据对是否为重复数据对。
[0132] 在一些实施例中,距离阈值Sthreshold满足下述公式:
[0133]
[0134] 其中,LevelCity表示城市距离参数,NumTypePOI表示POI在所属分类下的POI数量,NumTotalPOI表示POI所在行政区的POI总量,Area表示POI所在行政区的居民使用面积。
[0135] 在一些实施例中,POI数据对排重算法还包括以下判断逻辑中至少一种判断逻辑:
[0136] 判断POI数据对中每个POI中是否至少有一个包含名称前缀;
[0137] 判断POI数据对中每个POI中是否至少有一个包含名称后缀。
[0138] 另外,结合图1描述的本发明实施例的POI数据处理方法可以由POI 数据处理设备来实现。图3示出了本发明实施例提供的POI数据处理设备的硬件结构示意图。
[0139] POI数据处理设备可以包括处理器301以及存储有计算机程序指令的存储器302。
[0140] 具体地,上述处理器301可以包括中央处理器(CPU),或者特定集成电路(ApplicationSpecificIntegratedCircuit,ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
[0141] 存储器302可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器302可包括硬盘驱动器(HardDiskDrive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(UniversalSerialBus, USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器302可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器
302可在数据处理装置的内部或外部。在特定实施例中,存储器302是非易失性固态存储器。
在特定实施例中,存储器302包括只读存储器 (ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程 ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM (EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
[0142] 处理器301通过读取并执行存储器302中存储的计算机程序指令,以实现上述实施例中的任意一种POI数据处理方法。
[0143] 在一个示例中,POI数据处理设备还可包括通信接口303和总线 310。其中,如图3所示,处理器301、存储器302、通信接口303通过总线310连接并完成相互间的通信。
[0144] 通信接口303,主要用于实现本发明实施例中各模块、装置、单元和/ 或设备之间的通信。
[0145] 总线310包括硬件、软件或两者,将POI数据处理设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输 (HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数 (LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连 (PCI)总线、PCI‑Express(PCI‑X)总线、串行高级技术附件(SATA) 总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线310可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
[0146] 另外,结合上述实施例中的POI数据处理方法,本发明实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种POI数据处理方法。
[0147] 需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
[0148] 以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、 ROM、闪存、可擦除ROM(EROM)、软盘、CD‑ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
[0149] 还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
[0150] 以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。