CN101963961B - 兴趣点数据关联方法及装置 - Google Patents
兴趣点数据关联方法及装置 Download PDFInfo
- Publication number
- CN101963961B CN101963961B CN 200910089541 CN200910089541A CN101963961B CN 101963961 B CN101963961 B CN 101963961B CN 200910089541 CN200910089541 CN 200910089541 CN 200910089541 A CN200910089541 A CN 200910089541A CN 101963961 B CN101963961 B CN 101963961B
- Authority
- CN
- China
- Prior art keywords
- interest point
- point data
- grouping
- hash table
- title
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种兴趣点数据关联方法及装置。所述方法包括:读取两个批次的兴趣点数据;对所述兴趣点数据进行分组,得到两个批次兴趣点数据各自的分组集合及分组标识列表;通过两个分组标识列表,从两个分组集合中各读取一个分组;以一个分组兴趣点数据的属性为关键字建立哈希表;用另一个分组兴趣点数据的属性与哈希表的关键字进行匹配,得到两个分组相同的兴趣点数据。相应地,本发明实施例还提供了一种兴趣点数据关联装置。采用本发明实施例提供的方法或者装置可以有效地关联出不同批次POI数据之间的重复数据。
Description
技术领域
本发明涉及信息处理技术领域,尤其涉及一种兴趣点数据关联方法及装置。
背景技术
目前,在地理信息系统(Geographic Information System,GIS)中,兴趣点(Point Of Interest,POI)数据的采集方式主要有实地采集,互联网采集等。由于采集POI数据时,采集人员并不会考虑该POI数据是否已被采集过,因此,造成不同批次采集的POI数据之间存在很多重复的POI数据。
在对现有技术的研究和实践过程中,发明人发现由于重复POI数据的存在,使POI数据的应用出现了一些问题。比如,在某网站提供的电子地图服务中以“东来顺”为关键词查找与之相关的POI数据,该网站电子地图显示的POI数据查询结果中,西单有两个距离很近的“东来顺西单店”和“东来顺饭庄”,虽然这两个POI数据的名称不完全相同,但它们的地址都是“西单灵镜胡同23号”,这两个POI数据属于重复数据,这样的查询结果很容易使用户产生误解。因此,发明人认为目前亟需提供一种能够将相同POI数据关联在一起的技术,以便有效地解决POI数据重复的问题,使POI数据的应用更为完美。
发明内容
本发明实施例要解决的技术问题是提供一种能够将相同兴趣点数据关联在一起的兴趣点数据关联方法及装置。
为解决上述技术问题,本发明的目的是通过以下技术方案实现的:
本发明实施例提供了一种兴趣点数据关联方法,所述方法包括:
读取两个批次的兴趣点数据;
对所述兴趣点数据进行分组,得到两个批次兴趣点数据各自的分组集合及分组标识列表;
通过两个分组标识列表,从两个分组集合中各读取一个分组;
以一个分组中兴趣点数据的属性为关键字建立哈希表;
用另一个分组中兴趣点数据的属性与哈希表的关键字进行匹配,得到两个分组相同的兴趣点数据。
本发明实施例还提供了一种兴趣点数据关联装置,所述装置包括:
数据读取单元,用于读取两个批次的兴趣点数据;
分组单元,用于对所述兴趣点数据进行分组,得到两个批次兴趣点数据各自的分组集合及分组标识列表;
分组读取单元,用于通过两个分组标识列表,从两个分组集合中各读取一个分组;
哈希表创建单元,用于以一个分组中兴趣点数据的属性为关键字建立哈希表;
第一关联单元,用于用另一个分组中兴趣点数据的属性与哈希表的关键字进行匹配,得到两个分组相同的兴趣点数据。
上述技术方案具有如下有益效果:
本发明实施例提供的兴趣点数据关联方法,以一个分组中POI数据的属性为关键字建立哈希表,通过用另一个分组中POI数据的属性与哈希表的关键字进行匹配,得到两个分组相同的POI数据,有效地解决了POI数据重复的问题。
附图说明
图1为本发明实施例提供的兴趣点数据关联方法流程图;
图2为本发明实施例提供的兴趣点数据分组方法流程图;
图3为本发明实施例提供的分组读取方法流程图;
图4为本发明实施例提供的以名称为关键字进行POI数据关联的方法流程图;
图5为本发明实施例提供的以品牌代码为关键字进行POI数据关联的方法流程图;
图6为本发明实施例提供的以简称代码为关键字进行POI数据关联的方法流程图;
图7为本发明实施例提供的以主体名称为关键字进行POI数据关联的方法流程图;
图8为本发明实施例提供的通过名称相似度进行POI关联的方法流程图;
图9为本发明实施例提供的通过距离进行POI数据关联的方法流程图;
图10为本发明实施例提供的POI数据关联装置组成示意图。
具体实施方式
为使本发明实施例的目的、技术方案、及优点更加清楚明白,以下参照附图对本发明实施例提供的技术方案进行详细说明。
请参见图1,为本发明实施例提供的POI数据关联方法,该方法包括如下步骤:
步骤101:读取两个批次的POI数据;
在本发明实施例中,可以通过文件适配模块读取两个批次的POI数据。
采用文件适配模块读取POI数据好处在于:文件适配模块可以读取不同格式的数据文件(比如,*.CSV,*.XLS,*.DBF,*.DAT等),即不论POI数据存储在哪种格式的数据文件中,文件适配模块都可以读取,具体地:
当POI数据存储在DBF、MDB等文件数据库时,文件适配模块逐条从文件数据库中读取POI数据,并按数据库字段,读取POI属性;
当POI数据存储在CSV、TXT等文本文件时,文件适配模块按行或者按POI分割标记读取POI数据,按POI属性分割标记读取POI属性;
当POI数据存储在DAT等二进制文件中时,文件适配模块按POI分隔符或者长度读取POI数据,按POI属性分隔符或者长度读取POI属性;
当POI数据存储在XLS、XLSX等EXCEL文件时,按行读取POI数据,按EXCEL列读取POI属性;
当POI数据存储在XML等标记文件时,按POI标记读取POI数据,按POI属性标签读取POI属性。
步骤102:对步骤101读取的POI数据进行分组,得到两个批次POI数据各自的分组集合及分组标识列表;
比如,读取A批次和B批次的POI数据后,对A批次的POI数据和B批次的POI数据分别进行分组,得到A批次POI数据的分组集合及其分组标识列表和B批次POI数据的分组集合及其分组标识列表。
步骤103:通过两个分组标识列表,从两个的分组集合中各读取一个分组;
步骤104:以一个分组中POI数据的属性为关键字建立哈希表;
步骤105:用另一个分组中POI数据的属性与哈希表的关键字进行匹配,得到两个分组中相同的POI数据;
步骤106:判断两个分组集合中是否有分组未读取,如果是,则返回步骤103,如果否,则结束该流程。。
以上为本发明实施例提供的POI数据关联方法,上述方法适用于关联POI数据结构相同的两个批次的POI数据。如果两个批次的POI数据的结构存在差异,则需要预先将两个批次的POI数据转换为结构相同的POI数据,或者,在读取两个批次的POI数据的同时将两个批次的POI数据转换为结构相同的POI数据。其中,将两个批次的POI数据转换为结构相同的POI数据具体为:按照用户选择的版本名称,在预置的版本库中查找该版本名称对应的POI属性说明,按POI属性说明,将两个批次的POI数据的属性值分别赋给各自的内部POI数据,得到两个批次结构相同的POI数据。
以下结合附图对上述实施例采用的每一个技术手段的具体实现方式进行详细介绍。
首先,以一个批次的POI数据为例介绍本发明实施例提供的POI数据分组方法(假设批次为A),请参见图2,该方法包括:
步骤1021:从A批次的POI数据中读取一条POI数据;
步骤1022:从步骤1021读取的POI数据中提取类型代码,查询类型代码对应的分组标识;
在实际应用中,类型代码和分组标识的对应关系保存在类型库中,并且,多个相近的类型代码在类型库中对应着同一个分组标识,由于类型代码相近POI数据的类型相似,因此,这样做可以在分组过程中将类型相似的POI数据分入同一个分组,减少分组的数量,提高数据关联速度。
步骤1023:将POI数据分入分组标识在A批次分组集合中对应的分组;
步骤1024:判断分组标识是否记录在A批次的分组标识列表中,如果是,则丢弃该分组标识,进入步骤1026,如果否,则进入步骤1025;
步骤1025:将分组标识记录在A批次POI数据的分组标识列表中;
步骤1026:判断A批次POI数据是否完成分组,如果没完成,则返回步骤1021,如果完成,则结束A批次POI数据的分组。
以上以A批次POI数据的分组过程为例介绍了本发明实施例提供的POI数据分组方法,在本发明实施例中,对任意批次的POI数据都可以采用上述方法进行分组,并且,对于两个批次的POI数据,优选,一个批次一个批次地采用上述方法进行分组;次优选,两个批次同时采用上述方法进行分组。
其次,结合附图介绍本发明实施例提供的从分组集合中读取分组的方法。
请参见图3,为本发明实施例提供的分组读取方法流程图,该方法包括:
步骤1031:在两个分组标识列表中,查找相同的分组标识,当查找到一个相同的分组标识后,就进入步骤1032;
步骤1032:从两个分组集合中,读取步骤1031查找到的分组标识对应的分组;
步骤1032从两个分组集合中读取出的两个分组的分组标识相同,根据前文记载可知,这两个分组中的POI数据类型相似。
另外,为了提高关联速度,使后续的关联过程更容易进行,可以进一步将步骤1032读取的两个分组中的POI数据存入各自的待关联数据列表中,亦可不存入待关联数据列表,并不影响本发明实施例的实现。
最后,结合附图对本发明实施例提供通过POI属性关联相同POI数据的方法。
请参见图4,为以名称为关键字进行POI数据关联的方法流程图,该方法包括:
步骤401:将一个待关联数据列表(一个分组)中,名称相同的POI数据存入哈希表中所述名称为关键字的位置;
在实际应用中,可以选择POI数据多的一个关联数据列表创建哈希表。
步骤402:从另一个待关联数据列表(另一个分组)中,读取一个POI数据的名称;
步骤403:用步骤402读取的名称与哈希表的关键字进行匹配,如果没有匹配到,则进入步骤405,如果匹配到,则所述匹配的关键字在哈希表中对应的POI数据与步骤402读取的POI为相同的数据,进入步骤404;
步骤404:将相同的POI数据移入关联结果队列;
步骤405:判断另一个待关联数据列表中是否有POI数据的名称未读取,如果有,则返回步骤402,如果没有,则结束该流程。
请参见图5,为本发明实施例提供的以品牌代码为关键字进行POI数据关联的方法流程图,该方法包括:
步骤501:识别两个待关联数据列表中POI数据的名称是否包含品牌名称,如果包含,则将品牌名称对应的品牌代码添加到POI数据的属性中;
在实际应用中,可以采用如下方法识别POI数据的名称是否包含品牌名称:
判断POI数据的名称是否包含预置品牌库中的品牌名称,如果包含,则从品牌库中获取品牌名称对应的品牌代码,并将该品牌代码添加到POI数据的属性中,如果名称中不包含品牌,则认为品牌识别失败,转入识别另一个POI数据的名称,直到识别完所有POI数据。
步骤502:将一个待关联数据列表中品牌代码相同的POI数据存入哈希表中该品牌代码为关键字的位置;
在实际应用中,可以选择品牌识别成功数多的一个待关联数据列表创建哈希表。
步骤503:从另一个待关联数据列表中,读取一个POI数据的品牌代码;
步骤504:用步骤503读取的品牌代码与哈希表的关键字进行匹配,如果没有匹配到,则进入步骤506,如果匹配到,则所述匹配的关键字在哈希表中对应的POI数据与步骤503读取的POI为相同数据,进入步骤505;
步骤505:将相同的POI数据移入关联结果队列;
步骤506:判断另一个待关联数据列表中是否有POI数据的品牌代码未读取,如果有,则返回步骤503,如果没有,则结束该流程。
请参见图6,为本发明实施例提供的以简称代码为关键字进行POI数据关联的方法流程图,该方法包括:
步骤601:识别两个待关联数据列表中POI数据的名称是否有简称,如果有,则将所述简称对应的简称代码添加到所述POI数据属性中;
在实际应用中,可以采用如下方法识别POI数据的简称:
判断POI数据的名称在预置的简称库中是否有对应的简称,如果有,则从简称库中获取该简称的简称代码,将该简称代码添加到POI数据的属性中,如果没有,则认为简称识别失败,转入识别下一个POI数据的简称,直到识别完所有POI数据的简称。
步骤602:识别两个待关联数据列表中POI数据的名称是否以预置的后缀库中的词为后缀,如果是,则将所述后缀对应的后缀代码添加到所述POI数据的属性中;
在本发明实施例中,后缀是指:包含名称末尾字符的词。
步骤603:将一个待关联数据列表中简称代码相同的POI数据存入哈希表中简称代码为关键字的位置;
在实际应用中,可以选简称代码多的一个待关联数据列表创建哈希表。
步骤604:从另一个待关联数据列表中,读取一个POI数据的简称代码;
步骤605:用步骤604读取出的简称代码与哈希表中的关键字进行匹配,如果没有匹配到,则进入步骤608,如果匹配到,则进入步骤606;
步骤606:从匹配的关键字在哈希表中对应的POI数据中,选择与步骤604读取的POI数据的后缀代码一致的POI数据,该POI数据与步骤604读取的POI数据为相同的数据;
步骤607:将相同的POI数据移入关联结果队列;
步骤608:判断另一个待关联数据列表中是否有POI数据的简称代码未读取,如果有,则返回步骤604,如果没有,则进入步骤609;
步骤609:判断两个待关联列表中是否都有POI数据剩余,如果有,则进入步骤610,如果没有,则结束该关联流程;
步骤610:用另一个待关联数据列表中剩余POI数据的简称代码与哈希表的关键字进行匹配,得到相同的POI数据。
请参见图7,为本发明实施例提供的以主体名称为关键字进行POI数据关联的方法流程图,该方法包括:
步骤701:识别两个待关联数据列表中POI数据的主体名称;
在实际应用中,可以采用如下方法识别POI数据的主体名称:
先判断POI数据的名称是否以括号为结尾,如果是,则删除名称中的括号及括号内的字符,再判断名称是否以预置的行政区划库中的行政区划为前缀,如果是,则判断该行政区划相邻的词是否为预置的后缀库中的词,如果否,则删除名称中的行政区划,判断名称是否以后缀库中的词为后缀,如果是,则判断与后缀相邻的词是否为行政区划库中的词,如果否,则删除名称的后缀,得到名称的主体名称。
步骤702:将一个待关联数据列表中主体名称相同的POI数据存入哈希表中所述主体名称为关键字的位置;
在实际应用中,可以选择主体名称多的一个待关联数据列表创建哈希表。
步骤703:从另一个待关联数据列表中,读取一个POI数据的主体名称;
步骤704:用步骤703读取的主体名称与哈希表的关键字进行匹配,如果主体名称匹配,则匹配的关键字的哈希表中对应的POI数据与步骤703读取的POI数据为相同的数据,进入步骤705,否则,进入步骤706;
步骤705:将相同的POI数据移入关联结果队列;
步骤706:判断另一个待关联数据列表中是否有POI数据的主体名称未读取,如果有,则返回步骤703,如果没有,则结束该流程。
请参见图8,为本发明实施例提供的通过主体名称相似度对POI数据进行关联的方法流程图,如果分组经过图4至图7的方法关联后还有分组剩余,则需要进一步通过主体名称相似度对剩余分组进行关联,该方法包括:
步骤801:遍历两个分组集合剩余分组中的POI数据;
步骤802:计算不同批次两个POI数据主体名称的相似度;
在实际应用中,计算两个POI数据的主体名称相似度,具体包括:
计算两个POI数据主体名称的最大公共子字符串的数值;
用最大公共子字符串的数值除以所述两个POI数据主体名称长度值大的一个长度值,得到主体名称相似度;
步骤803:判断步骤802计算的主体名称相似度是否超过预设的值(比如:0.8),如果是,则所述两个POI数据为相同的POI数据,进入步骤804,如果否,则转入步骤801计算下一对POI数据的主体名称相似度;
步骤804:将这两个POI数据移入关联结果队列。
以上为本发明实施例提供的POI数据关联方法及其所采用技术手段的具体实现方式。采用前文所述方法,匹配的关键字在哈希表中可能对应了多个POI数据,因此,为了进一步提高POI数据的关联精度,本发明实施例还提供了一种POI数据的关联方法,该方法与前文所示方法的区别仅在于:
在两个分组标识列表中,查找相同的分组标识之后,进一步包括:
查找所述分组标识对应的关联距离S,若关联距离S小于零,则按照前文所述方法进行POI数据关联,若所述关联距离S大于零,则用另一个分组中POI数据的属性与哈希表的关键字进行匹配之后,进一步包括:
判断匹配的关键字在哈希表中对应的POI数据是否为多个,如果是,则计算所述哈希表中的POI数据到所述另一分组POI数据的距离,得到哈希表中距离所述另一分组POI数据距离最短的POI数据,该POI数据与另一分组POI数据为相同的数据,将该POI数据与另一分组中相应的POI数据移入关联结果队列。
请参见图9,为本发明实施例提供的通过距离关联POI数据的方法流程图,假设用分组b中的POI数据1的属性,与根据分组a的属性创建的哈希表的关键字进行匹配,匹配的关键字在哈希表中对应了多个POI数据(至少两个),则该方法包括:
步骤901:根据POI数据1和哈希表中多个POI数据的经纬度坐标,计算POI数据1到多个POI数据的距离L;
步骤902:从步骤901计算的距离中任取一个距离Li与关联距离S进行比较,若前者小于后者,则进入步骤903,如果前者大于后者,则进入步骤904;
步骤903:将关联距离S的取值替换为距离Li的值;
步骤904:判断是否还有距离未读取,如果是,则返回步骤902,如果否,则进入步骤905;
步骤905:将距离Li对应的POI数据和POI数据1移入关联结果队列。
以下以POI数据a关联了POI数据b,c及d为例,对图9所示方法进行详细介绍。
第一步、根据POI数据a,b,c及d的经纬度坐标,计算得到POI数据a到POI数据b,c及d的距离L1,L2及L3;
第二步、判断L1是否小于关联距离S,如果大于,则进入第三步,如果小于,则进入第四步;
第三步、判断L2是否小于关联距离S,如果小于,则进入第五步,如果大于,则进入第六步;
第四步、判断L2是否小于L1,如果小于,则进入第五步,如果大于,则进入第七步;
第五步、判断L3是否小于L2,如果小于,则进入第十步,如果大于,则进入第九步;
第六步、判断L3是否小于关联距离S,如果小于,则进入第十步,如果大于,则结束该流程;
第七步、判断L3是否小于L1,如果小于,则进入第十步如果大于,则进入第八步;
第八步、将POI数据a和b移入关联结果队列;
第九步、将POI数据a和c移入关联结果队列;
第十步、将POI数据a和d移入关联结果队列。
以上结合附图对本发明实施例提供的POI数据关联方法进行了详细介绍,在实际应用中可以选择上述任意一种方法或者方法的组合对POI数据进行关联。以下对上述多个方法的一种组合使用方式进行详细介绍。
在读取两个分组的POI数据之后,若该分组的分组标识对应的关联距离S大于零,则
第一步、按照图4所示方法对两个分组的POI数据进行关联,若匹配的名称在哈希表中对应的POI数据为多个,则再按照图9所示方法进行POI数据关联,得到相同的POI数据;
若两个分组的POI数据在经过第一步处理后都有POI数据剩余,则进入第二步;
第二步、按照图5所示方法对两个分组中剩余的POI数据进行关联,若匹配的品牌代码在哈希表中对应的POI数据为多个,则再按照图9所示方法进行POI数据关联,得到相同的POI数据;
若两个分组的POI数据在经过第二步处理后都有POI数据剩余,则进入第三步;
第三步、按照图6所示方法对两个分组中剩余的POI数据进行关联,若哈希表中简称代码匹配且后缀代码一致的POI数据为多个,按照图9所示方法进行POI数据关联,得到相同的POI数据,若哈希表中简称代码一致的POI数据也为多个,则再按照图9所示方法进行POI数据关联;
若两个分组的POI数据在经过第三步处理后都有POI数据剩余,则进入第四步;
第四步、按照图7所示方法对两个分组中剩余的POI数据进行关联,在得到匹配的关键字在哈希表中对应的POI数据后,若哈希表中的POI数据为多个,则再按照图9所示方法进行POI数据关联,得到相同的POI数据;
循环第一步到第四步,关联两个分组集合中所有的分组后,若两个分组集合中还有分组的POI数据未关联到相同的POI数据,则进入第五步;
第五步、按照图8所示方法对剩余分组的POI数据进行关联,得到相同的POI数据。
采用上述组合方式进行POI数据关联,由于每一步都是对前一步关联剩余的POI数据进行关联,不会受到已关联POI数据的影响,明显提高了关联效率,并且,通过哈希表显著提高了关联检索的速度。
以上介绍了本发明实施例提供的POI数据关联方法,以下结合附图对本发明实施例提供的POI数据关联装置进行详细介绍。
请参见图10,为本发明实施例提供的一种POI数据关联装置,该装置包括:
数据读取单元110,用于读取两个批次的POI数据;
分组单元111,用于对所述POI数据进行分组,得到两个批次POI数据各自的分组集合及分组标识列表;
分组读取单元112,用于通过两个分组标识列表,从两个分组集合中各读取一个分组;
哈希表创建单元113,用于以一个分组中POI数据的属性为关键字建立哈希表;
第一关联单元114,用于用另一个分组中POI数据的属性与哈希表的关键字进行匹配,得到两个分组相同的POI数据。
在实际应用中,分组单元111具体包括:
分组标识查询单元,用于从POI数据中提取类型代码,查询所述类型代码对应的分组标识;
数据分组单元,用于将所述POI数据分入其所属批次分组集合中所述分组标识对应的分组;
列表维护单元,用于判断所述POI数据所属批次的分组标识列表中是否记录了所述分组标识,如果否,则将所述分组标识记录在所述分组标识列表中。
在实际应用中,分组读取单元112具体包括:
相同标识查找单元,用于在两个分组标识列表中,查找相同的分组标识;
分组读取子单元,用于从两个分组集合中读取所述分组标识对应的分组。
为了提高关联的精确度,上述POI数据关联装置可以进一步包括:关联距离查找单元,第二关联单元;
关联距离查找单元,查找所述相同标识查找单元查找到的分组标识对应的关联距离,若所述关联距离大于零,则所述第一关联单元得到相同的POI数据之后触发第二关联单元;
第二关联单元,用于判断匹配的关键字在哈希表中对应的POI数据是否为多个,如果是,则计算所述哈希表中的POI数据到所述另一分组POI数据的距离,选择距离哈希表中距离所述另一分组POI数据最短的POI数据,所述POI数据与另一分组POI数据为相同的数据。
对于上述任一种POI数据关联装置,哈希表创建单元113和第一关联单元114有如下几种不同的实现方式:
第一种,若所述属性为名称,则哈希表创建单元为名称哈希表创建单元,第一关联单元为名称一致关联单元:
名称哈希表创建单元,用于将一个分组中名称相同的POI数据存入哈希表中所述名称为关键字的位置;
名称一致关联单元,用于用另一个分组中POI数据的名称与哈希表的关键字进行匹配,得到两个分组相同的POI数据。
第二种,若所述属性为品牌代码,哈希表创建单元113具体包括:
品牌识别单元,用于识别两个分组POI数据的名称是否包含品牌名称,如果包含,则将所述品牌名称对应的品牌代码添加到所述POI数据的属性中;
品牌代码哈希表创建单元,用于将一个分组中品牌代码相同的POI数据的存入哈希表中所述品牌代码为关键字的位置;
第一关联单元114为品牌一致关联单元:
所述品牌一致关联单元,用于用另一个分组中POI数据的品牌代码与哈希表的关键字进行匹配,得到两个分组相同的POI数据。
第三种、所述属性为简称代码,哈希表创建单元113具体包括:
简称识别单元,用于识别两个分组POI数据的名称是否有简称,如果有,则将所述简称对应的简称代码添加到所述POI数据的属性中;
后缀识别单元,用于识别所述两个分组POI数据的名称中是否以预置的后缀库中的词为后缀,如果是,则将所述后缀对应的后缀代码添加到所述POI数据的属性中;
简称代码哈希表创建单元,用于将一个分组中简称代码相同的POI数据存入哈希表中所述简称代码为关键字的位置;
第一关联单元114具体包括:
简称代码关联单元,用于用另一个分组中POI数据的简称代码与哈希表的关键字进行匹配;
相同POI第一关联单元,用于从匹配的关键字在哈希表中对应的POI数据中,得到与另一个分组中POI数据后缀代码相同的POI数据,所述POI数据与另一个分组中POI数据为相同的数据;
若经过相同第一关联单元处理后分组中还有POI数据剩余,则上述第一关联单元进一步包括:相同POI第二关联单元;
相同POI第二关联单元,用于用另一个分组剩余POI数据的简称代码与哈希表中的关键字进行匹配,得到两个分组中相同的POI数据。
第四种、若所述属性为主体名称,哈希表创建单元113具体包括:
主体名称识别单元,用于识别两个分组POI数据的主体名称;
主体名称哈希表创建单元,用于将一个分组中主体名称相同的POI数据存入哈希表中所述主体名称为关键字的位置;
所述第一关联单元114为主体名称一致关联单元:
所述主体名称一致关联单元,用于用另一个分组中POI数据的主体名称与哈希表中的关键字进行匹配,得到两个分组中相同的POI数据。
经过上述任一种装置的处理后,若两个分组集合中还有分组剩余,则上述装置进一步包括:
第三关联单元,用于遍历两个分组集合剩余分组中的POI数据,计算不同批次两个POI数据主体名称的相似度,若相似度超过预置值,则所述两个POI数据为相同的POI数据。
在实际应用中可以选择上述任意一种装置或者装置的组合对POI数据进行关联,组合方式请参照前文方法部分的描述,此处不再赘述。
以上对本发明所提供的一种兴趣点数据关联方法及装置进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (19)
1.一种兴趣点数据关联方法,其特征在于,所述方法包括:
读取两个批次的兴趣点数据;
对所述兴趣点数据进行分组,得到两个批次兴趣点数据各自的分组集合及分组标识列表;
通过两个分组标识列表,从两个分组集合中各读取一个分组,读取的分组的分组标识相同;
以一个分组中兴趣点数据的属性为关键字建立哈希表;
用另一个分组中兴趣点数据的属性与哈希表的关键字进行匹配,得到两个分组中相同的兴趣点数据;
其中,所述对所述兴趣点数据进行分组,得到两个批次兴趣点数据各自的分组集合及分组标识列表具体包括:
从兴趣点数据中提取类型代码,查询所述类型代码对应的分组标识;
将所述兴趣点数据分入其所属批次分组集合中所述分组标识对应的分组;
判断所述兴趣点数据所属批次的分组标识列表中是否记录了所述分组标识,如果否,则将所述分组标识记录在所述分组标识列表中。
2.如权利要求1所述的兴趣点数据关联方法,其特征在于,通过两个分组标识列表,从两个分组集合中各读取一个分组具体包括:
在两个分组标识列表中,查找相同的分组标识;
从两个分组集合中读取所述分组标识对应的分组。
3.如权利要求2所述的兴趣点数据关联方法,其特征在于,所述属性为名称,以一个分组中兴趣点数据的属性为关键字建立哈希表具体包括:
将一个分组中名称相同的兴趣点数据存入哈希表中所述名称为关键字的位置;
用另一个分组中兴趣点数据的属性与哈希表的关键字进行匹配,得到两个分组中相同的兴趣点数据具体包括:
用另一个分组中兴趣点数据的名称与哈希表的关键字进行匹配,若所述另一个分组中兴趣点数据的名称与哈希表的关键字匹配,则所述另一个分组中兴趣点数据与所述匹配的名称在哈希表中对应的兴趣点数据为两个分组中相同的兴趣点数据。
4.如权利要求2所述的兴趣点数据关联方法,其特征在于,所述属性为品牌代码,以一个分组中兴趣点数据的属性为关键字建立哈希表具体包括:
识别两个分组兴趣点数据的名称是否包含品牌名称,如果包含,则将所述品牌名称对应的品牌代码添加到所述兴趣点数据的属性中;
将一个分组中品牌代码相同的兴趣点数据存入哈希表中所述品牌代码为关键字的位置;
用另一个分组中兴趣点数据的属性与哈希表的关键字进行匹配,得到两个分组中相同的兴趣点数据具体包括:
用另一个分组中兴趣点数据的品牌代码与哈希表的关键字进行匹配,若所述另一个分组中兴趣点数据的品牌代码与哈希表的关键字匹配,则所述另一个分组中兴趣点数据与所述匹配的品牌代码在哈希表中对应的兴趣点数据为两个分组中相同的兴趣点数据。
5.如权利要求2所述的兴趣点数据关联方法,其特征在于,所述属性为简称代码,以一个分组中兴趣点数据的属性为关键字建立哈希表具体包括:
识别两个分组兴趣点数据的名称是否有简称,如果有,则将所述简称对应的简称代码添加到所述兴趣点数据的属性中;
识别所述两个分组兴趣点数据的名称是否以预置的后缀库中的词为后缀,如果是,则将所述后缀对应的后缀代码添加到所述兴趣点数据的属性中;
将一个分组中简称代码相同的兴趣点数据存入哈希表中所述简称代码为关键字的位置;
用另一个分组中兴趣点数据的属性与哈希表的关键字进行匹配,得到两个分组中相同的兴趣点数据具体包括:
用另一个分组中兴趣点数据的简称代码与哈希表的关键字进行匹配;
从匹配的关键字在哈希表中对应的兴趣点数据中,得到与另一个分组中兴趣点数据后缀代码相同的兴趣点数据,所述兴趣点数据与另一个分组中兴趣点数据为相同的数据。
6.如权利要求5所述的兴趣点数据关联方法,其特征在于,若所述另一个分组有兴趣点数据未关联到相同的兴趣点数据,则所述从匹配的关键字在哈希表中对应的兴趣点数据中,得到与另一个分组中兴趣点数据后缀代码相同的兴趣点数据之后,所述方法进一步包括:
用另一个分组剩余兴趣点数据的简称代码与哈希表的关键字进行匹配,若所述另一个分组剩余兴趣点数据的简称代码与哈希表的关键字匹配,则所述另一个分组剩余兴趣点数据与所述匹配的简称代码在哈希表中对应的兴趣点数据为两个分组中相同的兴趣点数据。
7.如权利要求2所述的兴趣点数据关联方法,其特征在于,所述属性为主体名称,以一个分组中兴趣点数据的属性为关键字建立哈希表具体包括:
识别两个分组兴趣点数据的主体名称,其具体包括:
先判断兴趣点数据的名称是否以括号为结尾,如果是,则删除名称中的括号及括号内的字符,再判断名称是否以预置的行政区划库中的行政区划为前缀,如果是,则判断该行政区划相邻的词是否为预置的后缀库中的词,如果否,则删除名称中的行政区划,判断名称是否以后缀库中的词为后缀,如果是,则判断与后缀相邻的词是否为行政区划库中的词,如果否,则删除名称的后缀,得到名称的主体名称;
将一个分组中主体名称相同的兴趣点数据存入哈希表中所述主体名称为关键字的位置;
用另一个分组中兴趣点数据的属性与哈希表的关键字进行匹配,得到两个分组中相同的兴趣点数据具体包括:
用另一个分组中兴趣点数据的主体名称与哈希表的关键字进行匹配,得到两个分组中相同的兴趣点数据。
8.如权利要求7所述的兴趣点数据关联方法,其特征在于,若两个分组集合有分组的兴趣点数据未关联到相同兴趣点数据,则所述方法进一步包括:
遍历两个分组集合剩余分组中的兴趣点数据;
计算不同批次两个兴趣点数据主体名称的相似度,若相似度超过预置值,则所述两个兴趣点数据为相同的兴趣点数据。
9.如权利要求8所述的兴趣点数据关联方法,其特征在于,所述计算不同批次两个兴趣点数据主体名称的相似度具体包括:
计算不同批次两个兴趣点数据主体名称的最大公共字符串的长度值;
用最大公共子字符串的长度值除以所述两个兴趣点数据主体名称长度值中最大的长度值,得到所述两个兴趣点数据主体名称的相似度。
10.如权利要求2至9中任一项权利要求所述的兴趣点数据关联方法,其特征在于,在两个分组标识列表中,查找相同的分组标识之后,所述方法进一步包括:
查找所述分组标识对应的关联距离,若所述关联距离小于零,则执行所述用另一个分组中兴趣点数据的属性与哈希表的关键字进行匹配的步骤,若所述关联距离大于零,则执行所述用另一个分组中兴趣点数据的属性与哈希表的关键字进行匹配的步骤,并在该步骤之后进一步执行步骤:
判断匹配的关键字在哈希表中对应的兴趣点数据是否为多个,如果是,则计算所述哈希表中的兴趣点数据到所述另一分组兴趣点数据的距离,得到哈希表中距离所述另一分组兴趣点数据距离最短的兴趣点数据,该兴趣点数据与另一分组兴趣点数据为相同的数据。
11.一种兴趣点数据关联装置,其特征在于,所述装置包括:
数据读取单元,用于读取两个批次的兴趣点数据;
分组单元,用于对所述兴趣点数据进行分组,得到两个批次兴趣点数据各自的分组集合及分组标识列表;
分组读取单元,用于通过两个分组标识列表,从两个分组集合中各读取一个分组,读取的分组的分组标识相同;
哈希表创建单元,用于以一个分组中兴趣点数据的属性为关键字建立哈希表;
第一关联单元,用于用另一个分组中兴趣点数据的属性与哈希表的关键字进行匹配,得到两个分组中相同的兴趣点数据;
其中,所述分组单元具体包括:
分组标识查询单元,用于从兴趣点数据中提取类型代码,查询所述类型代码对应的分组标识;
数据分组单元,用于将所述兴趣点数据分入其所属批次分组集合中所述分组标识对应的分组;
列表维护单元,用于判断所述兴趣点数据所属批次的分组标识列表中是否记录了所述分组标识,如果否,则将所述分组标识记录在所述分组标识列表中。
12.如权利要求11所述的兴趣点数据关联装置,其特征在于,分组读取单元具体包括:
相同标识查找单元,用于在两个分组标识列表中,查找相同的分组标识;
分组读取子单元,用于从两个分组集合中读取所述分组标识对应的分组。
13.如权利要求12所述的兴趣点数据关联装置,其特征,所述装置进一步包括:关联距离查找单元,第二关联单元;
所述关联距离查找单元,查找所述相同标识查找单元查找到的分组标识对应的关联距离,若所述关联距离小于零,则触发所述第一关联单元,若所述关联距离大于零,则触发所述第一关联单元,并在所述第一关联单元得到相同的兴趣点数据之后触发所述第二关联单元;
所述第二关联单元,用于判断匹配的关键字在哈希表中对应的兴趣点数据是否为多个,如果是,则计算所述哈希表中的兴趣点数据到所述另一分组兴趣点数据的距离,选择哈希表中距离所述另一分组兴趣点数据最短的兴趣点数据,所述兴趣点数据与另一分组兴趣点数据为相同的数据。
14.如权利要求13所述的兴趣点数据关联装置,其特征在于,所述属性为名称,所述哈希表创建单元为名称哈希表创建单元,所述第一关联单元为名称一致关联单元:
所述名称哈希表创建单元,用于将一个分组中名称相同的兴趣点数据存入哈希表中所述名称为关键字的位置;
所述名称一致关联单元,用于用另一个分组中兴趣点数据的名称与哈希表的关键字进行匹配,若所述另一个分组中兴趣点数据的名称与哈希表的关键字匹配,则所述另一个分组中兴趣点数据与所述匹配的名称在哈希表中对应的兴趣点数据为两个分组中相同的兴趣点数据。
15.如权利要求13所述的兴趣点数据关联装置,其特征在于,所述属性为品牌代码,哈希表创建单元具体包括:
品牌识别单元,用于识别两个分组兴趣点数据的名称是否包含品牌名称,如果包含,则将所述品牌名称对应的品牌代码添加到所述兴趣点数据的属性中;
品牌代码哈希表创建单元,用于将一个分组中品牌代码相同的兴趣点数据的存入哈希表中所述品牌代码为关键字的位置;
所述第一关联单元为品牌一致关联单元:
所述品牌一致关联单元,用于用另一个分组中兴趣点数据的品牌代码与哈希表的关键字进行匹配,若所述另一个分组中兴趣点数据的品牌代码与哈希表的关键字匹配,则所述另一个分组中兴趣点数据与所述匹配的品牌代码在哈希表中对应的兴趣点数据为两个分组中相同的兴趣点数据。
16.如权利要求13所述的兴趣点数据关联装置,其特征在于,所述属性为简称代码,哈希表创建单元具体包括:
简称识别单元,用于识别两个分组兴趣点数据的名称是否有简称,如果有,则将所述简称对应的简称代码添加到所述兴趣点数据的属性中;
后缀识别单元,用于识别所述两个分组兴趣点数据的名称中是否以预置的后缀库中的词为后缀,如果是,则将所述后缀对应的后缀代码添加到所述兴趣点数据的属性中;
简称代码哈希表创建单元,用于将一个分组中简称代码相同的兴趣点数据存入哈希表中所述简称代码为关键字的位置;
所述第一关联单元具体包括:
简称代码关联单元,用于用另一个分组中兴趣点数据的简称代码与哈希表的关键字进行匹配;
相同兴趣点第一关联单元,用于从匹配的关键字在哈希表中对应的兴趣点数据中,得到与另一个分组中兴趣点数据后缀代码相同的兴趣点数据,所述兴趣点数据与另一个分组中兴趣点数据为相同的数据。
17.如权利要求16所述的兴趣点数据关联装置,其特征在于,若所述另一个分组有兴趣点数据未关联到相同的兴趣点数据,则所述第一关联单元进一步包括:相同兴趣点第二关联单元;
所述相同兴趣点第二关联单元,用于用另一个分组剩余兴趣点数据的简称代码与哈希表中的关键字进行匹配,若所述另一个分组剩余兴趣点数据的简称代码与哈希表的关键字匹配,则所述另一个分组剩余兴趣点数据与所述匹配的简称代码在哈希表中对应的兴趣点数据为两个分组中相同的兴趣点数据。
18.如权利要求13所述的兴趣点数据关联装置,其特征在于,所述属性为主体名称,哈希表创建单元具体包括:
主体名称识别单元,用于识别两个分组兴趣点数据的主体名称,包括:先判断兴趣点数据的名称是否以括号为结尾,如果是,则删除名称中的括号及括号内的字符,再判断名称是否以预置的行政区划库中的行政区划为前缀,如果是,则判断该行政区划相邻的词是否为预置的后缀库中的词,如果否,则删除名称中的行政区划,判断名称是否以后缀库中的词为后缀,如果是,则判断与后缀相邻的词是否为行政区划库中的词,如果否,则删除名称的后缀,得到名称的主体名称;
主体名称哈希表创建单元,用于将一个分组中主体名称相同的兴趣点数据存入哈希表中所述主体名称为关键字的位置;
所述第一关联单元为主体名称一致关联单元:
所述主体名称一致关联单元,用于用另一个分组中兴趣点数据的主体名称与哈希表中的关键字进行匹配,得到两个分组中相同的兴趣点数据。
19.如权利要求18所述的兴趣点数据关联装置,其特征在于,若两个分组集合有分组的兴趣点数据未关联到相同的数据,则所述装置进一步包括:
第三关联单元,用于遍历两个分组集合剩余分组中的兴趣点数据,计算不同批次两个兴趣点数据主体名称的相似度,若相似度超过预置值,则所述两个兴趣点数据为相同的兴趣点数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910089541 CN101963961B (zh) | 2009-07-23 | 2009-07-23 | 兴趣点数据关联方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910089541 CN101963961B (zh) | 2009-07-23 | 2009-07-23 | 兴趣点数据关联方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101963961A CN101963961A (zh) | 2011-02-02 |
CN101963961B true CN101963961B (zh) | 2013-10-30 |
Family
ID=43516835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910089541 Active CN101963961B (zh) | 2009-07-23 | 2009-07-23 | 兴趣点数据关联方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101963961B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915311B (zh) * | 2011-08-03 | 2016-04-27 | 腾讯科技(深圳)有限公司 | 搜索方法及系统 |
CN103218375B (zh) * | 2012-01-20 | 2016-08-17 | 北京四维图新科技股份有限公司 | 一种poi信息补充方法及装置 |
CN103514199A (zh) * | 2012-06-25 | 2014-01-15 | 高德软件有限公司 | Poi数据处理方法及其装置、poi检索方法及其装置 |
CN103885950B (zh) * | 2012-12-19 | 2017-07-28 | 高德软件有限公司 | 一种获取缩略词与poi间对应关系的方法和装置 |
CN104572645B (zh) * | 2013-10-11 | 2020-07-10 | 阿里巴巴(中国)有限公司 | 兴趣点数据关联方法及装置 |
CN104679794A (zh) * | 2013-12-03 | 2015-06-03 | 中兴通讯股份有限公司 | 数据差异分析方法及装置 |
JP5987134B2 (ja) * | 2014-04-09 | 2016-09-07 | 三菱電機株式会社 | 地図描画装置及び地図描画方法及び地図描画プログラム |
CN105447002B (zh) * | 2014-08-07 | 2019-07-12 | 北京四维图新科技股份有限公司 | 一种点门牌数据补充处理方法及装置 |
CN105808609B (zh) * | 2014-12-31 | 2020-04-14 | 高德软件有限公司 | 一种信息点数据冗余的判别方法和设备 |
CN110110017B (zh) * | 2018-01-25 | 2024-03-15 | 阿里巴巴集团控股有限公司 | 一种兴趣点数据关联方法、装置及服务器 |
CN108363698B (zh) * | 2018-03-13 | 2021-05-14 | 腾讯大地通途(北京)科技有限公司 | 兴趣点关系识别方法及装置 |
CN111309834B (zh) * | 2020-01-20 | 2023-05-12 | 腾讯云计算(北京)有限责任公司 | 一种无线热点与兴趣点的匹配方法及装置 |
CN113255398B (zh) * | 2020-02-10 | 2023-08-18 | 百度在线网络技术(北京)有限公司 | 兴趣点判重方法、装置、设备和存储介质 |
CN111522888B (zh) | 2020-04-22 | 2023-06-20 | 北京百度网讯科技有限公司 | 挖掘兴趣点之间的竞争关系的方法和装置 |
CN111782979B (zh) * | 2020-06-30 | 2024-08-09 | 北京百度网讯科技有限公司 | 兴趣点的品牌分类方法、装置、设备以及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101192215A (zh) * | 2006-11-24 | 2008-06-04 | 中国科学院声学研究所 | 一种基于地理坐标的信息聚合与查询方法 |
CN101299217A (zh) * | 2008-06-06 | 2008-11-05 | 北京搜狗科技发展有限公司 | 一种地图信息处理的方法、装置和系统 |
CN101388023A (zh) * | 2008-09-12 | 2009-03-18 | 北京搜狗科技发展有限公司 | 电子地图兴趣点数据冗余检测方法和系统 |
-
2009
- 2009-07-23 CN CN 200910089541 patent/CN101963961B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101192215A (zh) * | 2006-11-24 | 2008-06-04 | 中国科学院声学研究所 | 一种基于地理坐标的信息聚合与查询方法 |
CN101299217A (zh) * | 2008-06-06 | 2008-11-05 | 北京搜狗科技发展有限公司 | 一种地图信息处理的方法、装置和系统 |
CN101388023A (zh) * | 2008-09-12 | 2009-03-18 | 北京搜狗科技发展有限公司 | 电子地图兴趣点数据冗余检测方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101963961A (zh) | 2011-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101963961B (zh) | 兴趣点数据关联方法及装置 | |
CN100514337C (zh) | 关键词的联想信息生成系统和生成方法 | |
CN100405371C (zh) | 一种提取新词的方法和系统 | |
CN102122285B (zh) | 一种数据缓存系统中的数据查询系统和数据查询方法 | |
CN101329687B (zh) | 一种新闻网页定位方法 | |
CN104537107A (zh) | 一种网址存储匹配方法及装置 | |
CN102710795B (zh) | 热点聚合方法及装置 | |
CN101454748A (zh) | 在诸如网站的网页的相关网页中传播有用信息 | |
US20110119268A1 (en) | Method and system for segmenting query urls | |
CN102375852A (zh) | 建立数据索引的方法、利用该索引查询数据的方法和系统 | |
CN102483752A (zh) | 用于部分输入的查询的自动完成 | |
CN104624509A (zh) | 一种快递自动分拣系统及自动分拣方法 | |
CN103631909A (zh) | 对大规模结构化和非结构化数据联合处理的系统及方法 | |
CN102804180A (zh) | 表征未经注册域名 | |
CN109547294B (zh) | 一种基于固件分析的联网设备型号探测方法、装置 | |
CN101630315B (zh) | 一种快速检索方法及系统 | |
CN102819384B (zh) | 一种输入栏处进行提示显示的方法和装置 | |
CN114328962A (zh) | 一种基于知识图谱的web日志异常行为识别方法 | |
CN111061972B (zh) | 一种用于url路径匹配的ac查找优化方法和装置 | |
CN111008625B (zh) | 一种地址校正方法、装置、设备及存储介质 | |
CN104317951B (zh) | 基于前缀型数据库的存储空间清理方法和装置 | |
Brisaboa et al. | Improved structures to solve aggregated queries for trips over public transportation networks | |
CN105095390A (zh) | 基于poi数据的连锁品牌采集方法及装置 | |
CN101261645B (zh) | 一种获取多层信息的方法和装置 | |
EP2417536A1 (en) | Domain status, purpose and categories |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200512 Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province Patentee after: Alibaba (China) Co.,Ltd. Address before: 100080 Beijing city Haidian District No. three Suzhou Street Daheng Technology Building South 18 Patentee before: AUTONAVI SOFTWARE Co.,Ltd. |