CN112287671A - 基于simhash的地址解析方法及系统 - Google Patents
基于simhash的地址解析方法及系统 Download PDFInfo
- Publication number
- CN112287671A CN112287671A CN202011050235.3A CN202011050235A CN112287671A CN 112287671 A CN112287671 A CN 112287671A CN 202011050235 A CN202011050235 A CN 202011050235A CN 112287671 A CN112287671 A CN 112287671A
- Authority
- CN
- China
- Prior art keywords
- address
- text entry
- sample
- simhash
- value
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000011218 segmentation Effects 0.000 claims abstract description 34
- 238000012545 processing Methods 0.000 claims abstract description 9
- 238000004364 calculation method Methods 0.000 claims description 25
- 238000002372 labelling Methods 0.000 claims description 7
- 238000012216 screening Methods 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 7
- 241000500437 Plutella xylostella Species 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Business, Economics & Management (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- Strategic Management (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于simhash的地址解析方法及系统,方法包括:将获取到的待解析地址根据分词字典进行分词处理,得到待解析地址文本词条;将各待解析地址文本词条与地址索引中的样本地址文本词条逐一进行精确匹配,若匹配成功,则输出该地址对应的经纬度信息作为解析结果;若匹配失败,则计算各待解析地址文本词条的simhash值;逐一将该各待解析地址文本词条的simhash值与地址索引中的样本地址文本词条的simhash值进行匹配,得到至少一个满足预设条件的样本地址文本词条;将地址层级最小的样本地址文本词条对应的经纬度信息作为解析结果。通过上述方式,提升了待解析地址的解析的准确率,同时提升了地址解析的效率。
Description
技术领域
本发明涉及物流运输技术领域,尤其涉及一种基于simhash的地址解析方法及系统。
背景技术
随着电子商务的发展,无论个人还是企业对物流系统的依赖都在不断增加,物流系统也因此得到快速的发展,同时这也对物流管理提出了更高的要求。在一次交易中,无论是寄件方还是收件方均希望货品能够安全快速的送达,因此对于物流企业来说如何做到快速准确的收寄货品、降低成本、提高效率在竞争激烈的市场环境中显得尤为重要。
一个完整的物流运输过程中,在寄件方提交寄送申请后,物流企业需要快速确定准确的取货位置;在货品运输的过程中,需要考虑如何将数量众多的货品运单进行有效的运输分配,提高资源利用率;在货品到达收件方范围时,需要考虑如何快速准确的送达到收件方,这些环节都与地理位置密切相关。然而在实际的寄递过程中,无论收件方地理位置还是寄件方地理位置,均是通过类似“xx省xx市xx区xx街道xx路xx号”的地址描述来表达的,而不是实际的地理经纬度坐标。因为经纬度坐标对于普通用户来说不易获取也不便于记忆,而地址描述是更通用易表达的形式。但是地址描述存在的问题是,不同人对同一地理位置的地址描述不尽相同,地址描述不规范,甚至出现错别字、同音同义字、形近字等等问题,严重影响了地址解析的准确率。因此如何正确的解析寄收地址获取正确的地理位置坐标,就显得尤为重要。
发明内容
本发明提供了一种基于simhash的地址解析方法及系统,以解决现有的地址解析方法解析结果准确率不高的问题。
为了解决上述问题,本发明提供了一种基于simhash的地址解析方法,包括:S1、将获取到的待解析地址根据预先构建的分词字典进行分词处理,得到至少一个待解析地址文本词条;S2、将各待解析地址文本词条与预先构建的地址索引中的样本地址文本词条逐一进行精确匹配,若匹配到完全一致的地址,则输出该地址对应的经纬度信息作为解析结果,若否,执行步骤S3;S3、计算各待解析地址文本词条的simhash值;S4、按照地址文本词条层级从大到小,逐一将该各待解析地址文本词条的simhash值与地址索引中的样本地址文本词条的simhash值进行匹配,得到至少一个满足预设条件的样本地址文本词条;S5、将地址层级最小的样本地址文本词条对应的经纬度信息作为解析结果。
作为本发明的进一步改进,步骤S3包括:S31、分别逐一将各待解析地址文本词条划分成地址块和地址关键词,并按照预设权重值规则确定每个地址块和地址关键词的权重值;S32、通过hash算法计算出每个地址块和地址关键词的hash值;S33、将每个地址块和地址关键词的hash值中为1的数值与对应的权重值正相乘,将每个地址块和地址关键词的hash值中为0的数值与对应的权重值负相乘;S34、将所有地址块和地址关键词计算后得到的数字序列按位对应进行累加,得到数字字符串;S35、将数字字符串中大于0的数值替换为1、小于0的数值替换为0,得到各地址文本词条的simhash值。
作为本发明的进一步改进,预先构建的地址索引通过如下步骤得到:将预先准备的样本地址根据分词字典切分为多个样本地址文本词条;计算每个样本地址文本词条的simhash值,并为每个样本地址文本词条分配相应的地址层级、行政区划归属、行政区划编码、经纬度信息;将样本地址文本词条的simhash值、地址层级、行政区划归属、行政区划编码、经纬度信息作为样本地址文本词条的属性,与样本地址本文词条共同组成地址索引。
作为本发明的进一步改进,步骤S4包括:S41、按照地址文本词条层级从大到小,逐一计算各待解析地址文本词条的simhash值与地址索引中样本地址文本词条的simhash值的海明距离;S42、当海明距离小于预设阈值时,则该样本地址文本词条满足预设条件;重复执行S41-S42的步骤,得到至少一个满足预设条件的样本地址文本词条。
作为本发明的进一步改进,步骤S5之后,还包括:S6、判断待解析地址文本词条是否全部匹配到地址索引中的样本地址文本词条;S7、若否,则输出解析结果的同时,标注出该经纬度信息对应的样本地址文本词条的地址层级。
为了解决上述问题,本发明还提供了一种基于simhash的地址解析系统,包括:分词模块,用于将获取到的待解析地址根据预先构建的分词字典进行分词处理,得到至少一个待解析地址文本词条;第一匹配模块,用于将各待解析地址文本词条与预先构建的地址索引中的样本地址文本词条逐一进行精确匹配,若匹配到完全一致的地址,则输出该地址对应的经纬度信息;计算模块,用于当精确匹配未匹配到完全一致的地址时,计算各待解析地址文本词条的simhash值;第二匹配模块,按照地址文本词条层级从大到小,逐一将该各待解析地址文本词条的simhash值与地址索引中的样本地址文本词条的simhash值进行匹配,得到至少一个满足预设条件的样本地址文本词条;结果输出模块,用于将地址层级最小的样本地址文本词条对应的经纬度信息或第一匹配模块输出的经纬度信息作为解析结果。
作为本发明的进一步改进,计算模块,包括:划分单元,用于分别逐一将各待解析地址文本词条划分成地址块和地址关键词,并按照预设权重值规则确定每个地址块和地址关键词的权重值;第一计算单元,用于通过hash算法计算出每个地址块和地址关键词的hash值;第二计算单元,用于将每个地址块和地址关键词的hash值中为1的数值与对应的权重值正相乘,将每个地址块和地址关键词的hash值中为0的数值与对应的权重值负相乘;第三计算单元,用于将所有地址块和地址关键词计算后得到的数字序列按位对应进行累加,得到数字字符串;simhash值输出单元,用于将数字字符串中大于0的数值替换为1、小于0的数值替换为0,得到各地址文本词条的simhash值。
作为本发明的进一步改进,其还包括构建模块,用于预先构建的地址索引,构建模块包括:切分单元,用于将预先准备的样本地址根据分词字典切分为多个样本地址文本词条;属性分配单元,用于计算每个样本地址文本词条的simhash值,并为每个样本地址文本词条分配相应的地址层级、行政区划归属、行政区划编码、经纬度信息;索引构建单元,用于将样本地址文本词条的simhash值、地址层级、行政区划归属、行政区划编码、经纬度信息作为样本地址文本词条的属性,与样本地址本文词条共同组成地址索引。
作为本发明的进一步改进,第二匹配模块包括:距离计算单元,用于按照地址文本词条层级从大到小,逐一计算各待解析地址文本词条的simhash值与地址索引中样本地址文本词条的simhash值的海明距离;词条筛选单元,用于当海明距离小于预设阈值时,则该样本地址文本词条满足预设条件;重复运行距离计算单元和词条筛选单元,得到至少一个满足预设条件的样本地址文本词条。
作为本发明的进一步改进,其还包括:判断模块,用于判断待解析地址文本词条是否全部匹配到地址索引中的样本地址文本词条;标注模块,用于当待解析地址文本词条未全部匹配到地址索引中的样本地址文本词条时,输出解析结果的同时,标注出该经纬度信息对应的样本地址文本词条的地址层级。
相比于现有技术,本发明的基于simhash的地址解析方法通过先将待解析地址划分为至少一个待解析地址文本词条,再利用每一个待解析地址文本词条与样本地址文本词条进行精确匹配,匹配成功则输出对样本地址文本词条对应的经纬度信息作为解析结果,匹配失败,则计算待解析地址文本词条的simhash值,再通过simhash值与样本地址文本词条的simhash值进行匹配,得到匹配的结果,其将simhash算法应用到地址编码解析中,从而提升地址解析的准确率,使得对地址中的不规范描述也有一个较高的解析成功率,并且,在使用simhash值进行匹配之前,先进行精确匹配,在精确匹配失败的情况下再使用simhash值进行匹配,而精确匹配的计算量远小于simhash值匹配的计算量,在地址书写规范的情况下,先进行精确匹配可以直接匹配成功,无需后续计算,进而降低了地址解析过程中的计算量,提升了解析效率。
附图说明
图1为本发明基于simhash的地址解析方法一个实施例的流程示意图;
图2为本发明计算待解析地址文本词条simhash值的流程示意图;
图3为本发明待解析地址文本词条simhash值与样本地址文本词条simhash值匹配的流程示意图;
图4为本发明基于simhash的地址解析方法另一个实施例的流程示意图;
图5为本发明基于simhash的地址解析系统一个实施例的功能模块示意图;
图6为本发明计算模块的功能模块示意图;
图7为本发明基于simhash的地址解析系统另一个实施例的功能模块示意图;
图8为本发明第二匹配模块的功能模块示意图;
图9为本发明基于simhash的地址解析系统又一个实施例的功能模块示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用来限定本发明。
图1展示了本发明基于simhash的地址解析方法的一个实施例。如图1所示,该基于simhash的地址解析方法包括以下步骤:
步骤S1、将获取到的待解析地址根据预先构建的分词字典进行分词处理,得到至少一个待解析地址文本词条。
具体地,在收到新的运单之后,对运单中的待解析地址进行规范化处理,比如繁简字体转换、全半角转换、删除待解析地址中的邮箱或电话等;然后利用分词字典对待解析地址进行分词,将待解析地址的描述划分为至少一个待解析地址文本词条,比如“北京市海淀区中关村东路财智大楼”经过分词后划分为“北京市(S)、海淀区(Q)、中关村东路(R)、财智大楼(P)”四个待解析地址文本词条。
需要说明的是,该分词字典预先构建。具体地,本实施例中,将地址中的词按照省、市、区、乡镇\街道、社区\村、道路、门牌、兴趣点等级别进行划分为词条,同时对每个级别给定特定词性标定,如:省(S)、市(C)、区(Q)、乡镇\街道(T)、社区\村(V)、道路(R)、门牌(N)、兴趣点(P)等,其中省、市、区等为级别,(S)、(C)、(Q)为对应的词性。分词字典的词条按照词性和名称的组合进行去重,即同一名称同一词性的词条仅存在一个,不附加其他属性,比如名称为“大洋百货”的兴趣点在全国多个城市都存在,但是分词字典中仅存在一个名称为“大洋百货”词性为兴趣点的词条。具体可参阅表1,表1展示了分词字典的示例:
表1分词字典
级别 | 词性 | 词条 |
省\直辖市 | S | 北京市、天津市、河北省…… |
市 | C | 石家庄市、保定市…… |
区县 | Q | 东城区、西城区、正定县…… |
乡镇\街道 | T | 北房镇、孙各庄乡、青园街道…… |
社区\村 | V | 翠湖社区居委会、石佛村委会…… |
道路 | R | 科兴路、关山大道…… |
…… | …… | …… |
步骤S2、将各待解析地址文本词条与预先构建的地址索引中的样本地址文本词条逐一进行精确匹配,若匹配到完全一致的地址,则执行步骤S2',若否,则执行步骤S3。
步骤S2':输出该地址对应的经纬度信息作为解析结果。
具体地,该地址索引预先构建;地址索引包括样本地址文本和样本地址文本对应的属性信息,其属性信息包括样本地址文本词条的地址层级、行政区划归属、行政区划编码、经纬度信息、以及simhash值等等。需要说明的是,地址索引与分词字典不同,对于同名称的地址文本词条的属性不同时,在地址索引中将同时存在多个,比如,“大洋百货”在北京市、深圳市均存在,但是其属性不同,地址索引中将会存在行政区划属性为北京市的“大洋百货”和行政区划属性为深圳市的“大洋百货”。
精确匹配是指将待解析地址文本词条与预先构建的地址索引中的样本地址文本词条在文本上逐字匹配,只有当待解析地址文本词条与样本地址文本词条文本上完全相同才能匹配成功,比如待解析地址文本词条为“中关村东路”,则样本地址文本词条必须同样为“中关村东路”才能精确匹配成功;匹配成功后,则输出待解析地址中地址层级最小的地址文本词条,对应地址索引中样本地址词条的经纬度信息,此经纬度信息则作为最终解析结果输出。
需要说明的是,精确匹配要求待解析地址中的地址文本词条与地址索引中样本地址文本词条的文本名称完全相同,通过文本名称获取到地址索引中的样本地址文本后,再通过行政区划归属以及地址级别等属性的限定筛选出符合条件的结果,比如,对待解析地址“北京市海淀区中关村东路财智大楼”进行精确匹配时,其中的地址本文词条“中关村东路”匹配到多个同文本名称的样本地址文本词条“中关村东路”,但只有行政区划归属为海淀区且地址级别为道路的“中关村东路”才是有效的匹配项。
步骤S3、计算各待解析地址文本词条的simhash值。
具体地,当精确匹配未匹配到完全一致的地址时,则说明精确匹配失败,此时则通过simhash算法计算出每个待解析地址文本词条的simhash值。
具体地,如图2所示,步骤S3包括以下步骤:
步骤S31、分别逐一将各待解析地址文本词条划分成地址块和地址关键词,并按照预设权重值规则确定每个地址块和地址关键词的权重值。
具体地,将各待解析地址文本词条划分成地址块和地址关键词,例如:“北京市海淀区中关村东路财智大楼”经过步骤S1的分词处理后划分为“北京市(S)、海淀区(Q)、中关村东路(R)、财智大楼(P)”四个待解析地址文本词条,然后将该四个待解析地址文本词条划分成地址块和地址关键词,例如“财智大楼”还可以分词为“财智”和“大楼”,其中“财智”则是地址块,“大楼”则是地址关键词。在划分完成之后,再按照预设权重值规则确定每个地址块和地址关键词的权重值,该预设权重规则可根据地址关键词的重要性来设定,例如,地址块“财智”和地址关键词“大楼”,其中“财智”的辨识度明显高于“大楼”的辨识度,因此,可以设置“财智”的权重值较高,“大楼”的权重值较低。
步骤S32、通过hash算法计算出每个地址块和地址关键词的hash值。
具体地,hash值是一种二进制数01组成的n位签名,例如,地址块“财智”通过hash算法计算得到的hash值为“1,0,0,1,0,1”,地址关键词“大楼”通过hash算法计算得到的hash值为“1,0,1,0,1,1”,通过将文本字符串转换为一串数字,从而方便计算文本之间的相似性。
步骤S33、将每个地址块和地址关键词的hash值中为1的数值与对应的权重值正相乘,将每个地址块和地址关键词的hash值中为0的数值与对应的权重值负相乘。
具体地,在得到hash值和权重值之后,利用地址块或地址关键词的hash值和权重值进行加权计算,具体为利用hash值中的1与权重值正相乘,利用hash值中的0与权重值负相乘,例如,通过hash算法计算地址块“财智”的hash值为“1,0,0,1,0,1”,而对“财智”的权重值设定为5,则“财智”加权计算后得到的结果为“5,-5,-5,5,-5,5”;通过hash算法计算地址关键词“大楼”的hash值为“1,0,1,0,1,1”,而对“大楼”的权重值设定为4,则“大楼”的加权计算后得到的结果为“4,-4,4,-4,4,4”;
步骤S34、将所有地址块和地址关键词计算后得到的数字序列按位对应进行累加,得到数字字符串。
具体地,继续以地址文本词条“财智大楼”为例进行说明,通过上述步骤中,地址块“财智”进行加权计算后得到的结果为“5,-5,-5,5,-5,5”,地址关键词“大楼”进行加权计算后得到的结果为“4,-4,4,-4,4,4”,将两个数字序列按位对应进行累加,即“5+4,-5+(-4),-5+4,5+(-4),-5+4,5+4”,得到数字字符串“9,-9,-1,1,-1,9”。
步骤S35、将数字字符串中大于0的数值替换为1、小于0的数值替换为0,得到各地址文本词条的simhash值。
具体地,继续以地址文本词条“财智大楼”为例进行说明,通过上述步骤中对“财智大楼”计算得到的数字字符串“9,-9,-1,1,-1,9”,第一位的9大于0,则该位的数值对应替换为1,第二位的-9小于0,则该位的数值对应替换为0,以此类推,最终得到“财智大楼”这一待解析地址文本词条的simhash值为“1,0,0,1,0,1”。
进一步的,本实施例中,地址索引中样本地址文本词条的属性中的simhash值也是通过步骤S31-S35的计算过程得到,具体地,该预先构建的地址索引的构建过程如下:
1、将预先准备的样本地址根据分词字典切分为多个样本地址文本词条。
该步骤的实施过程请参阅上述步骤S1中的切分待解析地址的过程,此处不再赘述。
2、计算每个样本地址文本词条的simhash值,并为每个样本地址文本词条分配相应的地址层级、行政区划归属、行政区划编码、经纬度信息。
具体地,计算样本地址文本词条的simhash值的过程请参阅步骤S31~步骤S35,此处不再赘述。在计算得到样本地址文本词条之后,为每个样本地址文本词条分配相应的地址层级、行政区划归属、行政区划编码、经纬度信息,其中,地址层级是指样本地址文本词条对应的级别,例如“北京市”对应省级,“海淀区”对应区级;行政区划归属是指不同地址层级的样本地址文本词条之间的归属关系,例如“海淀区”在行政区划上归属于“北京市”;行政区划编码是国家统一制定的代码,能够表示唯一的省市区信息;经纬度信息则是样本地址文本词条在地图上对应的地理位置。
3、将样本地址文本词条的simhash值、地址层级、行政区划归属、行政区划编码、经纬度信息作为样本地址文本词条的属性,与样本地址本文词条共同组成地址索引。
需要说明的是,样本地址文本词条的属性不限于simhash值、地址层级、行政区划归属、行政区划编码、经纬度信息,该属性可进行扩展。具体可参阅表2,表2展示了地址索引的示例:
表2地址索引
步骤S4、按照地址文本词条层级从大到小,逐一将该各待解析地址文本词条的simhash值与地址索引中的样本地址文本词条的simhash值进行匹配,得到至少一个满足预设条件的样本地址文本词条。
具体地,该预设条件可预先设置,将各待解析地址的文本词条的simhash值按照该预设条件与样本地址文本词条的simhash值进行匹配,从而得到满足预设条件的样本地址文本词条。
具体地,如图3所示,该步骤S4包括:
步骤S41、按照地址文本词条层级从大到小,逐一计算各待解析地址文本词条的simhash值与地址索引中样本地址文本词条的simhash值的海明距离。
其中,通过计算得到的simhash值是以数字字符串的形式表现,海明距离通过将两个simhash值进行异或,两个比较位相同时为0,不同时为1,异或后得到的数字字符串中为1的数量即海明距离。
需要说明的是,在进行simhash值匹配时,是将待解析地址中地址文本词条与之相对应地址层级的地址索引中样本地址文本词条进行匹配。
步骤S42、当海明距离小于预设阈值时,则该样本地址文本词条满足预设条件。
需要说明的是,该预设阈值预先设置,优选地,该预设阈值为3。当海明距离小于预设阈值时,则认为待解析地址文本词条与样本地址文本词条相似度较高,匹配成功。
例如,以地址文本词条“财智大楼”为例进行说明,通过步骤S3得到的地址文本词条“财智大楼”的simhash值为“1,0,0,1,0,1”,通过查询到与地址文本词条“财智大楼”相同地址层级对应地址索引中一个样本地址文本词条“财智大楼”,其simhash值为“1,0,0,1,1,0”,将两者进行异或得到“0,0,0,0,1,1”,该异或得到的数字字符串中1的数量为两个,即海明距离为2,若2小于预设阈值,则认为两者匹配成功。
重复执行S41-S42的步骤,得到至少一个满足预设条件的样本地址文本词条。
具体地,继续以“北京市(S)、海淀区(Q)、中关村东路(R)、财智大楼(P)”为例进行说明,该待解析地址按照地址文本词条层级从大到小依次为北京市、海淀区、中关村东路、财智大楼,因此,首先计算“北京市”的simhash值与地址索引中的每个样本地址文本词条的simhash值的海明距离,然后对海明距离进行判断,当海明距离小于预设阈值时,则匹配成功,该海明距离对应的样本地址文本词条满足预设条件;当“北京市”匹配成功后,再计算“海淀区”的simhash值,然后将“海淀区”的simhash值与样本地址文本词条进行海明距离计算,再进行海明距离匹配,依次类推,直至匹配到最后一个“财智大楼”,从而完成对“北京市(S)、海淀区(Q)、中关村东路(R)、财智大楼(P)”该待解析地址的simhash匹配。
需要说明的是,在simhash匹配过程中,若当前待解析地址文本词条匹配成功,在进下一个地址层级的待解析地址文本词条的匹配时,根据行政区划归属以当前待解析地址文本词条归属下的样本地址文本词条进行匹配。例如,当“北京市”匹配成功时,在进行“海淀区”匹配时,将“海淀区”与“北京市”归属下的所有样本地址文本词条进行匹配,其有效的减少了后续待解析地址文本词条匹配时的计算量,提升了匹配的效率。
在本发明实施例中,由于传统的hash算法是为了让计算结果分布相对均匀,而用户输入的地址信息往往与实际地址会有一些细小的差异,对于相似的地址,使用传统hash算法,将会产生相同或相近的hash值,从而通过hash值无法精准的判断地址是否匹配;而本发明采用了simhash算法提供了一种可行的途径,simhash算法针对的就是局部敏感,其主要思想是降维,将高维的特征向量映射为低维的特征向量,通过待解析地址的地址本文词条和地址索引中地址本文词条的海明距离来确定相似度,另外,对在计算simhash值的时候还增加权重值的设定,从而提高地址解析精准度。
步骤S5、将地址层级最小的样本地址文本词条对应的经纬度信息作为解析结果。
具体地,在各待解析地址文本词条均匹配完成之后,将匹配得到的样本地址文本词条中地址层级最小的样本地址文本词条对应的经纬度信息作为解析结果。
进一步的,在simhash匹配过程中,还可能出现部分待解析地址文本词条匹配失败的情况,因此,如图4所示,步骤S5之后,还包括:
步骤S6、判断待解析地址文本词条是否全部匹配到地址索引中的样本地址文本词条。若否,则执行步骤S7。
步骤S7、输出解析结果的同时,标注出该经纬度信息对应的样本地址文本词条的地址层级。
需要说明的是,在simhash匹配过程中,若某一待解析地址文本词条未匹配成功,则按照行政区划归属关系,以该待解析地址文本词条的上一地址层级的待解析地址文本词条作为输出,同时将该匹配成功的最小地址层级的样本地址文本词条的地址层级标注出来。例如,“北京市(S)、海淀区(Q)、中关村东路(R)、财智大楼(P)”,经simhash算法匹配后,只有“北京市(S)、海淀区(Q)、中关村东路(R)”匹配成功,而“财智大楼(P)”匹配失败,则将“中关村东路(R)”对应的经纬度信息作为最终结果输出,同时标注“路”这一地址层级。
本实施例的基于simhash的地址解析方法通过先将待解析地址划分为至少一个待解析地址文本词条,再利用每一个待解析地址文本词条与样本地址文本词条进行精确匹配,匹配成功则输出对样本地址文本词条对应的经纬度信息,匹配失败,则计算待解析地址文本词条的simhash值,再通过simhash值与样本地址文本词条的simhash值进行匹配,得到匹配的结果,其将simhash算法应用到地址编码解析中,从而提升地址解析的准确率,使得对地址中的不规范描述也有一个较高的解析成功率,并且,在使用simhash值进行匹配之前,先进行精确匹配,在精确匹配失败的情况下再使用simhash值进行匹配,而精确匹配的计算量远小于simhash值匹配的计算量,在地址书写规范的情况下,先进行精确匹配可以直接匹配成功,无需后续计算,进而降低了地址解析过程中的计算量,提升了解析效率。
图5展示了本发明基于simhash的地址解析系统的一个实施例的功能模块示意图。如图5所示,该基于simhash的地址解析系统100包括分词模块11、第一匹配模块12、计算模块13、第二匹配模块14和结果输出模块15。
其中,分词模块11,用于将获取到的待解析地址根据预先构建的分词字典进行分词处理,得到至少一个待解析地址文本词条。第一匹配模块12,用于将各待解析地址文本词条与预先构建的地址索引中的样本地址文本词条逐一进行精确匹配,若匹配到完全一致的地址,则输出该地址对应的经纬度信息。计算模块13,用于当精确匹配未匹配到完全一致的地址时,计算各待解析地址文本词条的simhash值。第二匹配模块14,按照地址文本词条层级从大到小,逐一将该各待解析地址文本词条的simhash值与地址索引中的样本地址文本词条的simhash值进行匹配,得到至少一个满足预设条件的样本地址文本词条。结果输出模块15,用于将地址层级最小的样本地址文本词条对应的经纬度信息或第一匹配模块输出的经纬度信息作为解析结果。
上述实施例的基础上,其他实施例中,如图6所示,计算模块13包括划分单元131、第一计算单元132、第二计算单元133、第三计算单元134和simhash值输出单元135。
其中,划分单元131,用于分别逐一将各待解析地址文本词条划分成地址块和地址关键词,并按照预设权重值规则确定每个地址块和地址关键词的权重值;第一计算单元132,用于通过hash算法计算出每个地址块和地址关键词的hash值;第二计算单元133,用于将每个地址块和地址关键词的hash值中为1的数值与对应的权重值正相乘,将每个地址块和地址关键词的hash值中为0的数值与对应的权重值负相乘;第三计算单元134,用于将所有地址块和地址关键词计算后得到的数字序列按位对应进行累加,得到数字字符串;simhash值输出单元135,用于将数字字符串中大于0的数值替换为1、小于0的数值替换为0,得到各地址文本词条的simhash值。
上述实施例的基础上,其他实施例中,如图7所示,其还包括构建模块16,用于预先构建的地址索引,构建模块16包括切分单元161、属性分配单元162和索引构建单元163。
其中,切分单元161,用于将预先准备的样本地址根据分词字典切分为多个样本地址文本词条;属性分配单元162,用于计算每个样本地址文本词条的simhash值,并为每个样本地址文本词条分配相应的地址层级、行政区划归属、行政区划编码、经纬度信息;索引构建单元163,用于将样本地址文本词条的simhash值、地址层级、行政区划归属、行政区划编码、经纬度信息作为样本地址文本词条的属性,与样本地址本文词条共同组成地址索引。
上述实施例的基础上,其他实施例中,如图8所示,第二匹配模块14包括距离计算单元141和词条筛选单元142。
其中,距离计算单元141,用于按照地址文本词条层级从大到小,逐一计算各待解析地址文本词条的simhash值与地址索引中样本地址文本词条的simhash值的海明距离;词条筛选单元142,用于当海明距离小于预设阈值时,则该样本地址文本词条满足预设条件;重复运行距离计算单元141和词条筛选单元142,得到至少一个满足预设条件的样本地址文本词条。
上述实施例的基础上,其他实施例中,如图9所示,其还包括判断模块17和标注模块18。
其中,判断模块17,用于判断待解析地址文本词条是否全部匹配到地址索引中的样本地址文本词条;标注模块18,用于当待解析地址文本词条未全部匹配到地址索引中的样本地址文本词条时,输出解析结果的同时,标注出该经纬度信息对应的样本地址文本词条的地址层级。
关于上述实施例基于simhash的地址解析系统中各模块实现技术方案的其他细节,可参见上述实施例中的基于simhash的地址解析方法中的描述,此处不再赘述。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对发明的具体实施方式进行了详细说明,但其只作为范例,本发明并不限制于以上描述的具体实施方式。对于本领域的技术人员而言,任何对该发明进行的等同修改或替代也都在本发明的范畴之中,因此,在不脱离本发明的精神和原则范围下所作的均等变换和修改、改进等,都应涵盖在本发明的范围内。
Claims (10)
1.一种基于simhash的地址解析方法,其特征在于,包括:
S1、将获取到的待解析地址根据预先构建的分词字典进行分词处理,得到至少一个待解析地址文本词条;
S2、将所述各待解析地址文本词条与预先构建的地址索引中的样本地址文本词条逐一进行精确匹配,若匹配到完全一致的地址,则输出该地址对应的经纬度信息作为解析结果,若否,执行步骤S3;
S3、计算所述各待解析地址文本词条的simhash值;
S4、按照地址文本词条层级从大到小,逐一将该各待解析地址文本词条的simhash值与地址索引中的样本地址文本词条的simhash值进行匹配,得到至少一个满足预设条件的样本地址文本词条;
S5、将地址层级最小的样本地址文本词条对应的经纬度信息作为解析结果。
2.根据权利要求1所述的基于simhash的地址解析方法,其特征在于,步骤S3包括:
S31、分别逐一将各待解析地址文本词条划分成地址块和地址关键词,并按照预设权重值规则确定每个地址块和地址关键词的权重值;
S32、通过hash算法计算出每个地址块和地址关键词的hash值;
S33、将每个地址块和地址关键词的hash值中为1的数值与对应的权重值正相乘,将每个地址块和地址关键词的hash值中为0的数值与对应的权重值负相乘;
S34、将所有地址块和地址关键词计算后得到的数字序列按位对应进行累加,得到数字字符串;
S35、将所述数字字符串中大于0的数值替换为1、小于0的数值替换为0,得到所述各地址文本词条的simhash值。
3.根据权利要求2所述的基于simhash的地址解析方法,其特征在于,所述预先构建的地址索引通过如下步骤得到:
将预先准备的样本地址根据分词字典切分为多个样本地址文本词条;
计算每个样本地址文本词条的simhash值,并为每个样本地址文本词条分配相应的地址层级、行政区划归属、行政区划编码、经纬度信息;
将样本地址文本词条的simhash值、地址层级、行政区划归属、行政区划编码、经纬度信息作为样本地址文本词条的属性,与样本地址本文词条共同组成地址索引。
4.根据权利要求2所述的基于simhash的地址解析方法,其特征在于,所述步骤S4,包括:
S41、按照地址文本词条层级从大到小,逐一计算所述各待解析地址文本词条的simhash值与地址索引中样本地址文本词条的simhash值的海明距离;
S42、当所述海明距离小于所述预设阈值时,则该样本地址文本词条满足预设条件;
重复执行S41-S42的步骤,得到至少一个满足预设条件的样本地址文本词条。
5.根据权利要求1所述的基于simhash的地址解析方法,其特征在于,所述步骤S5之后,还包括:
S6、判断待解析地址文本词条是否全部匹配到地址索引中的样本地址文本词条;
S7、若否,则输出解析结果的同时,标注出该经纬度信息对应的样本地址文本词条的地址层级。
6.一种基于simhash的地址解析系统,其特征在于,包括:
分词模块,用于将获取到的待解析地址根据预先构建的分词字典进行分词处理,得到至少一个待解析地址文本词条;
第一匹配模块,用于将所述各待解析地址文本词条与预先构建的地址索引中的样本地址文本词条逐一进行精确匹配,若匹配到完全一致的地址,则输出该地址对应的经纬度信息;
计算模块,用于当精确匹配未匹配到完全一致的地址时,计算所述各待解析地址文本词条的simhash值;
第二匹配模块,按照地址文本词条层级从大到小,逐一将该各待解析地址文本词条的simhash值与地址索引中的样本地址文本词条的simhash值进行匹配,得到至少一个满足预设条件的样本地址文本词条;
结果输出模块,用于将地址层级最小的样本地址文本词条对应的经纬度信息或第一匹配模块输出的经纬度信息作为解析结果。
7.根据权利要求6所述的基于simhash的地址解析系统,其特征在于,所述计算模块,包括:
划分单元,用于分别逐一将各待解析地址文本词条划分成地址块和地址关键词,并按照预设权重值规则确定每个地址块和地址关键词的权重值;
第一计算单元,用于通过hash算法计算出每个地址块和地址关键词的hash值;
第二计算单元,用于将每个地址块和地址关键词的hash值中为1的数值与对应的权重值正相乘,将每个地址块和地址关键词的hash值中为0的数值与对应的权重值负相乘;
第三计算单元,用于将所有地址块和地址关键词计算后得到的数字序列按位对应进行累加,得到数字字符串;
simhash值输出单元,用于将所述数字字符串中大于0的数值替换为1、小于0的数值替换为0,得到所述各地址文本词条的simhash值。
8.根据权利要求7所述的基于simhash的地址解析系统,其特征在于,其还包括构建模块,用于预先构建的地址索引,所述构建模块包括:
切分单元,用于将预先准备的样本地址根据分词字典切分为多个样本地址文本词条;
属性分配单元,用于计算每个样本地址文本词条的simhash值,并为每个样本地址文本词条分配相应的地址层级、行政区划归属、行政区划编码、经纬度信息;
索引构建单元,用于将样本地址文本词条的simhash值、地址层级、行政区划归属、行政区划编码、经纬度信息作为样本地址文本词条的属性,与样本地址本文词条共同组成地址索引。
9.根据权利要求7所述的基于simhash的地址解析系统,其特征在于,所述第二匹配模块包括:
距离计算单元,用于按照地址文本词条层级从大到小,逐一计算所述各待解析地址文本词条的simhash值与地址索引中样本地址文本词条的simhash值的海明距离;
词条筛选单元,用于当所述海明距离小于所述预设阈值时,则该样本地址文本词条满足预设条件;
重复运行所述距离计算单元和所述词条筛选单元,得到至少一个满足预设条件的样本地址文本词条。
10.根据权利要求6所述的基于simhash的地址解析系统,其特征在于,其还包括:
判断模块,用于判断待解析地址文本词条是否全部匹配到地址索引中的样本地址文本词条;
标注模块,用于当待解析地址文本词条未全部匹配到地址索引中的样本地址文本词条时,输出解析结果的同时,标注出该经纬度信息对应的样本地址文本词条的地址层级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011050235.3A CN112287671A (zh) | 2020-09-29 | 2020-09-29 | 基于simhash的地址解析方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011050235.3A CN112287671A (zh) | 2020-09-29 | 2020-09-29 | 基于simhash的地址解析方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112287671A true CN112287671A (zh) | 2021-01-29 |
Family
ID=74422267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011050235.3A Pending CN112287671A (zh) | 2020-09-29 | 2020-09-29 | 基于simhash的地址解析方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112287671A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113536070A (zh) * | 2021-08-11 | 2021-10-22 | 汉唐信通(北京)咨询股份有限公司 | 一种地址解析方法、系统、计算机设备和存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103914544A (zh) * | 2014-04-03 | 2014-07-09 | 浙江大学 | 一种基于地址特征词的多层次快速中文地址匹配方法 |
CN105404686A (zh) * | 2015-12-10 | 2016-03-16 | 湖南科技大学 | 一种基于地理特征层次分词的新闻事件地名地址匹配方法 |
CN105988988A (zh) * | 2015-02-13 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 文本地址处理方法及装置 |
CN106528510A (zh) * | 2016-11-18 | 2017-03-22 | 山东浪潮云服务信息科技有限公司 | 一种数据处理的方法及装置 |
CN107491525A (zh) * | 2017-08-17 | 2017-12-19 | 小草数语(北京)科技有限公司 | 分布式地址比对方法和装置 |
CN109241208A (zh) * | 2017-07-10 | 2019-01-18 | 阿里巴巴集团控股有限公司 | 地址定位、地址监测、信息处理方法及装置 |
CN111177719A (zh) * | 2019-08-13 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 地址类别判定方法、装置、计算机可读存储介质及设备 |
CN111414445A (zh) * | 2020-03-17 | 2020-07-14 | 周凯 | 一种应用地理信息的地址反解析方法 |
CN111522838A (zh) * | 2020-04-23 | 2020-08-11 | 数网金融有限公司 | 地址相似度计算方法及相关装置 |
-
2020
- 2020-09-29 CN CN202011050235.3A patent/CN112287671A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103914544A (zh) * | 2014-04-03 | 2014-07-09 | 浙江大学 | 一种基于地址特征词的多层次快速中文地址匹配方法 |
CN105988988A (zh) * | 2015-02-13 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 文本地址处理方法及装置 |
CN105404686A (zh) * | 2015-12-10 | 2016-03-16 | 湖南科技大学 | 一种基于地理特征层次分词的新闻事件地名地址匹配方法 |
CN106528510A (zh) * | 2016-11-18 | 2017-03-22 | 山东浪潮云服务信息科技有限公司 | 一种数据处理的方法及装置 |
CN109241208A (zh) * | 2017-07-10 | 2019-01-18 | 阿里巴巴集团控股有限公司 | 地址定位、地址监测、信息处理方法及装置 |
CN107491525A (zh) * | 2017-08-17 | 2017-12-19 | 小草数语(北京)科技有限公司 | 分布式地址比对方法和装置 |
CN111177719A (zh) * | 2019-08-13 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 地址类别判定方法、装置、计算机可读存储介质及设备 |
CN111414445A (zh) * | 2020-03-17 | 2020-07-14 | 周凯 | 一种应用地理信息的地址反解析方法 |
CN111522838A (zh) * | 2020-04-23 | 2020-08-11 | 数网金融有限公司 | 地址相似度计算方法及相关装置 |
Non-Patent Citations (3)
Title |
---|
张林曼;吴升;: "地理编码系统中地名地址分词算法研究", 测绘科学, no. 02, 20 March 2010 (2010-03-20), pages 46 - 48 * |
李晓林;黄爽;卢涛;李霖;: "非规范化中文地址的行政区划提取算法", 计算机应用, no. 03, 10 March 2017 (2017-03-10), pages 876 - 882 * |
潘晓;马昂;郭景峰;吴雷;刘风阳;: "基于时间序列的轨迹数据相似性度量方法研究及应用综述", 燕山大学学报, no. 06, 30 November 2019 (2019-11-30), pages 531 - 545 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113536070A (zh) * | 2021-08-11 | 2021-10-22 | 汉唐信通(北京)咨询股份有限公司 | 一种地址解析方法、系统、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109255564B (zh) | 一种取件点地址推荐方法及装置 | |
CN108628811B (zh) | 地址文本的匹配方法和装置 | |
Han et al. | A stacking-based approach to twitter user geolocation prediction | |
CN108153824B (zh) | 目标用户群体的确定方法及装置 | |
CN102819597B (zh) | 网页分类方法及设备 | |
CN110781246A (zh) | 一种企业关联关系构建方法及系统 | |
CN110851552A (zh) | 物流订单的自动分配方法及装置、电子设备、存储介质 | |
CN112650858B (zh) | 应急协助信息的获取方法、装置、计算机设备及介质 | |
CN110990520A (zh) | 一种地址编码方法、装置、电子设备和存储介质 | |
CN108733810B (zh) | 一种地址数据匹配方法及装置 | |
CN112069276A (zh) | 地址编码方法、装置、计算机设备及计算机可读存储介质 | |
CN111651574A (zh) | 事件类型识别方法、装置、计算机设备和存储介质 | |
CN113868351A (zh) | 一种地址聚类方法、装置、电子设备及存储介质 | |
CN116414823A (zh) | 一种基于分词模型的地址定位方法和装置 | |
CN112287671A (zh) | 基于simhash的地址解析方法及系统 | |
WO2015166352A2 (en) | Techniques for synchronized address coding and print sequencing | |
CN113434708A (zh) | 地址信息检测方法、装置、电子设备和存储介质 | |
CN110852620B (zh) | 物流订单的处理方法及装置、电子设备、存储介质 | |
CN114722824A (zh) | 地址处理方法、装置、存储介质及电子设备 | |
US11709856B2 (en) | Data mapper tool | |
CN112784040B (zh) | 基于语料库的垂直行业文本分类方法 | |
CN114036414A (zh) | 兴趣点的处理方法、装置、电子设备、介质及程序产品 | |
CN110311991B (zh) | 基于svm分类模型的街道级地标获取方法 | |
CN113590781A (zh) | 末端快递编码预测方法、系统、电子设备及可读存储介质 | |
CN113536781A (zh) | 地址识别方法及装置、可读存储介质、终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 518000 floor 4, building a, Lufthansa aviation Park, hourui community, Hangcheng street, Bao'an District, Shenzhen City, Guangdong Province Applicant after: Shenzhen Leap New Technology Co.,Ltd. Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.) Applicant before: Shenzhen Leap New Technology Co.,Ltd. |