发布时间:2025-08-27 20:41:22 点击量:
HASH GAME - Online Skill Game GET 300
本发明公开了一种基于simhash的地址解析方法及系统,方法包括:将获取到的待解析地址根据分词字典进行分词处理,得到待解析地址文本词条;将各待解析地址文本词条与地址索引中的样本地址文本词条逐一进行精确匹配,若匹配成功,则输出该地址对应的经纬度信息作为解析结果;若匹配失败,则计算各待解析地址文本词条的simhash值;逐一将该各待解析地址文本词条的simhash值与地址索引中的样本地址文本词条的simhash值进行匹配,得到至少一个满足预设条件的样本地址文本词条;将地址层级最小的样本地址文本词条对
(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 CN 112287671 A (43)申请公布日 2021.01.29 (21)申请号 5.3 G06Q 10/08 (2012.01) (22)申请日 2020.09.29 (71)申请人 深圳市跨越新科技有限公司 地址 518000 广东省深圳市前海深港合作 区前湾一路1号A栋201室(入驻深圳市 前海商务秘书有限公司) (72)发明人 张江日李明亮 (74)专利代理机构 深圳国新南方知识产权代理 有限公司 44374 代理人 周雷 (51)Int.Cl. G06F 40/242 (2020.01) G06F 40/284 (2020.01) G06F 40/289 (2020.01) G06F 16/29 (2019.01) 权利要求书3页 说明书10页 附图5页 (54)发明名称 基于simhash的地址解析方法及系统 (57)摘要 本发明公开了一种基于simhash的地址解析 方法及系统,方法包括:将获取到的待解析地址 根据分词字典进行分词处理,得到待解析地址文 本词条;将各待解析地址文本词条与地址索引中 的样本地址文本词条逐一进行精确匹配,若匹配 成功,则输出该地址对应的经纬度信息作为解析 结果;若匹配失败,则计算各待解析地址文本词 条的simhash值;逐一将该各待解析地址文本词 条的simhash值与地址索引中的样本地址文本词 条的simhash值进行匹配,得到至少一个满足预 设条件的样本地址文本词条;将地址层级最小的 样本地址文本词条对应的经纬度信息作为解析 A 结果。通过上述方式,提升了待解析地址的解析 1 的准确率,同时提升了地址解析的效率。 7 6 7 8 2 2 1 1 N C CN 112287671 A 权利要求书 1/3页 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、若否,则输出解析结果的同时,标注出该经纬度信息对应的样本地址文本词条的地 址层级。 2 2 CN 112287671 A 权利要求书 2/3页 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值的海明距离; 词条筛选单元,用于当所述海明距离小于所述预设阈值时,则该样本地址文本词条满 足预设条件; 重复运行所述距离计算单元和所述词条筛选单元,得到至少一个满足预设条件的样本 3 3 CN 112287671 A 权利要求书 3/3页 地址文本词条。 10.根据权利要求6所述的基于simhash的地址解析系统,其特征在于,其还包括: 判断模块,用于判断待解析地址文本词条是否全部匹配到地址索引中的样本地址文本 词条; 标注模块,用于当待解析地址文本词条未全部匹配到地址索引中的样本地址文本词条 时,输出解析结果的同时,标注出该经纬度信息对应的样本地址文本词条的地址层级。 4 4 CN 112287671 A 说明书 1/10页 基于simhash的地址解析方法及系统 技术领域 [0001] 本发明涉及物流运输技术领域,尤其涉及一种基于simhash的地址解析方法及系 统。 背景技术 [0002] 随着电子商务的发展,无论个人还是企业对物流系统的依赖都在不断增加,物流 系统也因此得到快速的发展,同时这也对物流管理提出了更高的要求。在一次交易中,无论 是寄件方还是收件方均希望货品能够安全快速的送达,因此对于物流企业来说如何做到快 速准确的收寄货品、降低成本、提高效率在竞争激烈的市场环境中显得尤为重要。 [0003] 一个完整的物流运输过程中,在寄件方提交寄送申请后,物流企业需要快速确定 准确的取货位置;在货品运输的过程中,需要考虑如何将数量众多的货品运单进行有效的 运输分配,提高资源利用率;在货品到达收件方范围时,需要考虑如何快速准确的送达到收 件方,这些环节都与地理位置密切相关。然而在实际的寄递过程中,无论收件方地理位置还 是寄件方地理位置,均是通过类似“xx省xx市xx区xx街道xx路xx号”的地址描述来表达的, 而不是实际的地理经纬度坐标。因为经纬度坐标对于普通用户来说不易获取也不便于记 忆,而地址描述是更通用易表达的形式。但是地址描述存在的问题是,不同人对同一地理位 置的地址描述不尽相同,地址描述不规范,甚至出现错别字、同音同义字、形近字等等问题, 严重影响了地址解析的准确率。因此如何正确的解析寄收地址获取正确的地理位置坐标, 就显得尤为重要。 发明内容 [0004] 本发明提供了一种基于simhash的地址解析方法及系统,以解决现有的地址解析 方法解析结果准确率不高的问题。 [0005] 为了解决上述问题,本发明提供了一种基于simhash的地址解析方法,包括:S1、将 获取到的待解析地址根据预先构建的分词字典进行分词处理,得到至少一个待解析地址文 本词条;S2、将各待解析地址文本词条与预先构建的地址索引中的样本地址文本词条逐一 进行精确匹配,若匹配到完全一致的地址,则输出该地址对应的经纬度信息作为解析结果, 若否,执行步骤S3;S3、计算各待解析地址文本词条的simhash值;S4、按照地址文本词条层 级从大到小,逐一将该各待解析地址文本词条的simhash值与地址索引中的样本地址文本 词条的simhash值进行匹配,得到至少一个满足预设条件的样本地址文本词条;S5、将地址 层级最小的样本地址文本词条对应的经纬度信息作为解析结果。 [0006] 作为本发明的进一步改进,步骤S3包括:S31、分别逐一将各待解析地址文本词条 划分成地址块和地址关键词,并按照预设权重值规则确定每个地址块和地址关键词的权重 值;S32、通过hash算法计算出每个地址块和地址关键词的hash值;S33、将每个地址块和地 址关键词的hash值中为1的数值与对应的权重值正相乘,将每个地址块和地址关键词的 hash值中为0的数值与对应的权重值负相乘;S34、将所有地址块和地址关键词计算后得到 5 5 CN 112287671 A 说明书 2/10页 的数字序列按位对应进行累加,得到数字字符串;S35、将数字字符串中大于0的数值替换为 1、小于0的数值替换为0,得到各地址文本词条的simhash值。 [0007] 作为本发明的进一步改进,预先构建的地址索引通过如下步骤得到:将预先准备 的样本地址根据分词字典切分为多个样本地址文本词条;计算每个样本地址文本词条的 simhash值,并为每个样本地址文本词条分配相应的地址层级、行政区划归属、行政区划编 码、经纬度信息;将样本地址文本词条的simhash值、地址层级、行政区划归属、行政区划编 码、经纬度信息作为样本地址文本词条的属性,与样本地址本文词条共同组成地址索引。 [0008] 作为本发明的进一步改进,步骤S4包括:S41、按照地址文本词条层级从大到小,逐 一计算各待解析地址文本词条的simhash值与地址索引中样本地址文本词条的simhash值 的海明距离;S42、当海明距离小于预设阈值时,则该样本地址文本词条满足预设条件;重复 执行S41-S42的步骤,得到至少一个满足预设条件的样本地址文本词条。 [0009] 作为本发明的进一步改进,步骤S5之后,还包括:S6、判断待解析地址文本词条是 否全部匹配到地址索引中的样本地址文本词条;S7、若否,则输出解析结果的同时,标注出 该经纬度信息对应的样本地址文本词条的地址层级。 [0010] 为了解决上述问题,本发明还提供了一种基于simhash的地址解析系统,包括:分 词模块,用于将获取到的待解析地址根据预先构建的分词字典进行分词处理,得到至少一 个待解析地址文本词条;第一匹配模块,用于将各待解析地址文本词条与预先构建的地址 索引中的样本地址文本词条逐一进行精确匹配,若匹配到完全一致的地址,则输出该地址 对应的经纬度信息;计算模块,用于当精确匹配未匹配到完全一致的地址时,计算各待解析 地址文本词条的simhash值;第二匹配模块,按照地址文本词条层级从大到小,逐一将该各 待解析地址文本词条的simhash值与地址索引中的样本地址文本词条的simhash值进行匹 配,得到至少一个满足预设条件的样本地址文本词条;结果输出模块,用于将地址层级最小 的样本地址文本词条对应的经纬度信息或第一匹配模块输出的经纬度信息作为解析结果。 [0011] 作为本发明的进一步改进,计算模块,包括:划分单元,用于分别逐一将各待解析 地址文本词条划分成地址块和地址关键词,并按照预设权重值规则确定每个地址块和地址 关键词的权重值;第一计算单元,用于通过hash算法计算出每个地址块和地址关键词的 hash值;第二计算单元,用于将每个地址块和地址关键词的hash值中为1的数值与对应的权 重值正相乘,将每个地址块和地址关键词的hash值中为0的数值与对应的权重值负相乘;第 三计算单元,用于将所有地址块和地址关键词计算后得到的数字序列按位对应进行累加, 得到数字字符串;simhash值输出单元,用于将数字字符串中大于0的数值替换为1、小于0的 数值替换为0,得到各地址文本词条的simhash值。 [0012] 作为本发明的进一步改进,其还包括构建模块,用于预先构建的地址索引,构建模 块包括:切分单元,用于将预先准备的样本地址根据分词字典切分为多个样本地址文本词 条;属性分配单元,用于计算每个样本地址文本词条的simhash值,并为每个样本地址文本 词条分配相应的地址层级、行政区划归属、行政区划编码、经纬度信息;索引构建单元,用于 将样本地址文本词条的simhash值、地址层级、行政区划归属、行政区划编码、经纬度信息作 为样本地址文本词条的属性,与样本地址本文词条共同组成地址索引。 [0013] 作为本发明的进一步改进,第二匹配模块包括:距离计算单元,用于按照地址文本 词条层级从大到小,逐一计算各待解析地址文本词条的simhash值与地址索引中样本地址 6 6 CN 112287671 A 说明书 3/10页 文本词条的simhash值的海明距离;词条筛选单元,用于当海明距离小于预设阈值时,则该 样本地址文本词条满足预设条件;重复运行距离计算单元和词条筛选单元,得到至少一个 满足预设条件的样本地址文本词条。 [0014] 作为本发明的进一步改进,其还包括:判断模块,用于判断待解析地址文本词条是 否全部匹配到地址索引中的样本地址文本词条;标注模块,用于当待解析地址文本词条未 全部匹配到地址索引中的样本地址文本词条时,输出解析结果的同时,标注出该经纬度信 息对应的样本地址文本词条的地址层级。 [0015] 相比于现有技术,本发明的基于simhash的地址解析方法通过先将待解析地址划 分为至少一个待解析地址文本词条,再利用每一个待解析地址文本词条与样本地址文本词 条进行精确匹配,匹配成功则输出对样本地址文本词条对应的经纬度信息作为解析结果, 匹配失败,则计算待解析地址文本词条的simhash值,再通过simhash值与样本地址文本词 条的simhash值进行匹配,得到匹配的结果,其将simhash算法应用到地址编码解析中,从而 提升地址解析的准确率,使得对地址中的不规范描述也有一个较高的解析成功率,并且,在 使用simhash值进行匹配之前,先进行精确匹配,在精确匹配失败的情况下再使用simhash 值进行匹配,而精确匹配的计算量远小于simhash值匹配的计算量,在地址书写规范的情况 下,先进行精确匹配可以直接匹配成功,无需后续计算,进而降低了地址解析过程中的计算 量,提升了解析效率。 附图说明 [0016] 图1为本发明基于simhash的地址解析方法一个实施例的流程示意图; [0017] 图2为本发明计算待解析地址文本词条simhash值的流程示意图; [0018] 图3为本发明待解析地址文本词条simhash值与样本地址文本词条simhash值匹配 的流程示意图; [0019] 图4为本发明基于simhash的地址解析方法另一个实施例的流程示意图; [0020] 图5为本发明基于simhash的地址解析系统一个实施例的功能模块示意图; [0021] 图6为本发明计算模块的功能模块示意图; [0022] 图7为本发明基于simhash的地址解析系统另一个实施例的功能模块示意图; [0023] 图8为本发明第二匹配模块的功能模块示意图; [0024] 图9为本发明基于simhash的地址解析系统又一个实施例的功能模块示意图。 具体实施方式 [0025] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用来限定本发明。 [0026] 图1展示了本发明基于simhash的地址解析方法的一个实施例。如图1所示,该基于 simhash的地址解析方法包括以下步骤: [0027] 步骤S1、将获取到的待解析地址根据预先构建的分词字典进行分词处理,得到至 少一个待解析地址文本词条。 [0028] 具体地,在收到新的运单之后,对运单中的待解析地址进行规范化处理,比如繁简 7 7 CN 112287671 A 说明书 4/10页 字体转换、全半角转换、删除待解析地址中的邮箱或电话等;然后利用分词字典对待解析地 址进行分词,将待解析地址的描述划分为至少一个待解析地址文本词条,比如“北京市海淀 区中关村东路财智大楼”经过分词后划分为“北京市(S)、海淀区(Q)、中关村东路(R)、财智 大楼(P)”四个待解析地址文本词条。 [0029] 需要说明的是,该分词字典预先构建。具体地,本实施例中,将地址中的词按照省、 市、区、乡镇\街道、社区\村、道路、门牌、兴趣点等级别进行划分为词条,同时对每个级别给 定特定词性标定,如:省(S)、市(C)、区(Q)、乡镇\街道(T)、社区\村(V)、道路(R)、门牌(N)、 兴趣点(P)等,其中省、市、区等为级别,(S)、(C)、(Q)为对应的词性。分词字典的词条按照词 性和名称的组合进行去重,即同一名称同一词性的词条仅存在一个,不附加其他属性,比如 名称为“大洋百货”的兴趣点在全国多个城市都存在,但是分词字典中仅存在一个名称为 “大洋百货”词性为兴趣点的词条。具体可参阅表1,表1展示了分词字典的示例: [0030] 表1分词字典 [0031] 级别 词性 词条 省\直辖市 S 北京市、天津市、河北省…… 市 C 石家庄市、保定市…… 区县 Q 东城区、西城区、正定县…… 乡镇\街道 T 北房镇、孙各庄乡、青园街道…… 社区\村 V 翠湖社区居委会、石佛村委会…… 道路 R 科兴路、关山大道…… …… …… …… [0032] 步骤S2、将各待解析地址文本词条与预先构建的地址索引中的样本地址文本词条 逐一进行精确匹配,若匹配到完全一致的地址,则执行步骤S2,若否,则执行步骤S3。 [0033] 步骤S2:输出该地址对应的经纬度信息作为解析结果。 [0034] 具体地,该地址索引预先构建;地址索引包括样本地址文本和样本地址文本对应 的属性信息,其属性信息包括样本地址文本词条的地址层级、行政区划归属、行政区划编 码、经纬度信息、以及simhash值等等。需要说明的是,地址索引与分词字典不同,对于同名 称的地址文本词条的属性不同时,在地址索引中将同时存在多个,比如,“大洋百货”在北京 市、深圳市均存在,但是其属性不同,地址索引中将会存在行政区划属性为北京市的“大洋 百货”和行政区划属性为深圳市的“大洋百货”。 [0035] 精确匹配是指将待解析地址文本词条与预先构建的地址索引中的样本地址文本 词条在文本上逐字匹配,只有当待解析地址文本词条与样本地址文本词条文本上完全相同 才能匹配成功,比如待解析地址文本词条为“中关村东路”,则样本地址文本词条必须同样 为“中关村东路”才能精确匹配成功;匹配成功后,则输出待解析地址中地址层级最小的地 址文本词条,对应地址索引中样本地址词条的经纬度信息,此经纬度信息则作为最终解析 结果输出。 [0036] 需要说明的是,精确匹配要求待解析地址中的地址文本词条与地址索引中样本地 址文本词条的文本名称完全相同,通过文本名称获取到地址索引中的样本地址文本后,再 通过行政区划归属以及地址级别等属性的限定筛选出符合条件的结果,比如,对待解析地 址“北京市海淀区中关村东路财智大楼”进行精确匹配时,其中的地址本文词条“中关村东 8 8 CN 112287671 A 说明书 5/10页 路”匹配到多个同文本名称的样本地址文本词条“中关村东路”,但只有行政区划归属为海 淀区且地址级别为道路的“中关村东路”才是有效的匹配项。 [0037] 步骤S3、计算各待解析地址文本词条的simhash值。 [0038] 具体地,当精确匹配未匹配到完全一致的地址时,则说明精确匹配失败,此时则通 过simhash算法计算出每个待解析地址文本词条的simhash值。 [0039] 具体地,如图2所示,步骤S3包括以下步骤: [0040] 步骤S31、分别逐一将各待解析地址文本词条划分成地址块和地址关键词,并按照 预设权重值规则确定每个地址块和地址关键词的权重值。 [0041] 具体地,将各待解析地址文本词条划分成地址块和地址关键词,例如:“北京市海 淀区中关村东路财智大楼”经过步骤S1的分词处理后划分为“北京市(S)、海淀区(Q)、中关 村东路(R)、财智大楼(P)”四个待解析地址文本词条,然后将该四个待解析地址文本词条划 分成地址块和地址关键词,例如“财智大楼”还可以分词为“财智”和“大楼”,其中“财智”则 是地址块,“大楼”则是地址关键词。在划分完成之后,再按照预设权重值规则确定每个地址 块和地址关键词的权重值,该预设权重规则可根据地址关键词的重要性来设定,例如,地址 块“财智”和地址关键词“大楼”,其中“财智”的辨识度明显高于“大楼”的辨识度,因此,可以 设置“财智”的权重值较高,“大楼”的权重值较低。 [0042] 步骤S32、通过hash算法计算出每个地址块和地址关键词的hash值。 [0043] 具体地,hash值是一种二进制数01组成的n位签名,例如,地址块“财智”通过hash 算法计算得到的hash值为“1,0,0,1,0,1”,地址关键词“大楼”通过hash算法计算得到的 hash值为“1,0,1,0,1,1”,通过将文本字符串转换为一串数字,从而方便计算文本之间的相 似性。 [0044] 步骤S33、将每个地址块和地址关键词的hash值中为1的数值与对应的权重值正相 乘,将每个地址块和地址关键词的hash值中为0的数值与对应的权重值负相乘。 [0045] 具体地,在得到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”; [0046] 步骤S34、将所有地址块和地址关键词计算后得到的数字序列按位对应进行累加, 得到数字字符串。 [0047] 具体地,继续以地址文本词条“财智大楼”为例进行说明,通过上述步骤中,地址块 “财智”进行加权计算后得到的结果为“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”。 [0048] 步骤S35、将数字字符串中大于0的数值替换为1、小于0的数值替换为0,得到各地 址文本词条的simhash值。 [0049] 具体地,继续以地址文本词条“财智大楼”为例进行说明,通过上述步骤中对“财智 大楼”计算得到的数字字符串“9,-9,-1,1,-1,9”,第一位的9大于0,则该位的数值对应替换 9 9 CN 112287671 A 说明书 6/10页 为1,第二位的-9小于0,则该位的数值对应替换为0,以此类推,最终得到“财智大楼”这一待 解析地址文本词条的simhash值为“1,0,0,1,0,1”。 [0050] 进一步的,本实施例中,地址索引中样本地址文本词条的属性中的simhash值也是 通过步骤S31-S35的计算过程得到,具体地,该预先构建的地址索引的构建过程如下: [0051] 1、将预先准备的样本地址根据分词字典切分为多个样本地址文本词条。 [0052] 该步骤的实施过程请参阅上述步骤S1中的切分待解析地址的过程,此处不再赘 述。 [0053] 2、计算每个样本地址文本词条的simhash值,并为每个样本地址文本词条分配相 应的地址层级、行政区划归属、行政区划编码、经纬度信息。 [0054] 具体地,计算样本地址文本词条的simhash值的过程请参阅步骤S31~步骤S35,此 处不再赘述。在计算得到样本地址文本词条之后,为每个样本地址文本词条分配相应的地 址层级、行政区划归属、行政区划编码、经纬度信息,其中,地址层级是指样本地址文本词条 对应的级别,例如“北京市”对应省级,“海淀区”对应区级;行政区划归属是指不同地址层级 的样本地址文本词条之间的归属关系,例如“海淀区”在行政区划上归属于“北京市”;行政 区划编码是国家统一制定的代码,能够表示唯一的省市区信息;经纬度信息则是样本地址 文本词条在地图上对应的地理位置。 [0055] 3、将样本地址文本词条的simhash值、地址层级、行政区划归属、行政区划编码、经 纬度信息作为样本地址文本词条的属性,与样本地址本文词条共同组成地址索引。 [0056] 需要说明的是,样本地址文本词条的属性不限于simhash值、地址层级、行政区划 归属、行政区划编码、经纬度信息,该属性可进行扩展。具体可参阅表2,表2展示了地址索引 的示例: [0057] 表2地址索引 [0058] 10 10 CN 112287671 A 说明书 7/10页 [0059] [0060] 步骤S4、按照地址文本词条层级从大到小,逐一将该各待解析地址文本词条的 simhash值与地址索引中的样本地址文本词条的simhash值进行匹配,得到至少一个满足预 设条件的样本地址文本词条。 [0061] 具体地,该预设条件可预先设置,将各待解析地址的文本词条的simhash值按照该 预设条件与样本地址文本词条的simhash值进行匹配,从而得到满足预设条件的样本地址 文本词条。 [0062] 具体地,如图3所示,该步骤S4包括: [0063] 步骤S41、按照地址文本词条层级从大到小,逐一计算各待解析地址文本词条的 simhash值与地址索引中样本地址文本词条的simhash值的海明距离。 [0064] 其中,通过计算得到的simhash值是以数字字符串的形式表现,海明距离通过将两 个simhash值进行异或,两个比较位相同时为0,不同时为1,异或后得到的数字字符串中为1 的数量即海明距离。 [0065] 需要说明的是,在进行simhash值匹配时,是将待解析地址中地址文本词条与之相 对应地址层级的地址索引中样本地址文本词条进行匹配。 [0066] 步骤S42、当海明距离小于预设阈值时,则该样本地址文本词条满足预设条件。 [0067] 需要说明的是,该预设阈值预先设置,优选地,该预设阈值为3。当海明距离小于预 设阈值时,则认为待解析地址文本词条与样本地址文本词条相似度较高,匹配成功。 [0068] 例如,以地址文本词条“财智大楼”为例进行说明,通过步骤S3得到的地址文本词 条“财智大楼”的simhash值为“1,0,0,1,0,1”,通过查询到与地址文本词条“财智大楼”相同 地址层级对应地址索引中一个样本地址文本词条“财智大楼”,其simhash值为“1,0,0,1,1, 0”,将两者进行异或得到“0,0,0,0,1,1”,该异或得到的数字字符串中1的数量为两个,即海 明距离为2,若2小于预设阈值,则认为两者匹配成功。 [0069] 重复执行S41-S42的步骤,得到至少一个满足预设条件的样本地址文本词条。 [0070] 具体地,继续以“北京市(S)、海淀区(Q)、中关村东路(R)、财智大楼(P)”为例进行 说明,该待解析地址按照地址文本词条层级从大到小依次为北京市、海淀区、中关村东路、 财智大楼,因此,首先计算“北京市”的simhash值与地址索引中的每个样本地址文本词条的 simhash值的海明距离,然后对海明距离进行判断,当海明距离小于预设阈值时,则匹配成 11 11 CN 112287671 A 说明书 8/10页 功,该海明距离对应的样本地址文本词条满足预设条件;当“北京市”匹配成功后,再计算 “海淀区”的simhash值,然后将“海淀区”的simhash值与样本地址文本词条进行海明距离计 算,再进行海明距离匹配,依次类推,直至匹配到最后一个“财智大楼”,从而完成对“北京市 (S)、海淀区(Q)、中关村东路(R)、财智大楼(P)”该待解析地址的simhash匹配。 [0071] 需要说明的是,在simhash匹配过程中,若当前待解析地址文本词条匹配成功,在 进下一个地址层级的待解析地址文本词条的匹配时,根据行政区划归属以当前待解析地址 文本词条归属下的样本地址文本词条进行匹配。例如,当“北京市”匹配成功时,在进行“海 淀区”匹配时,将“海淀区”与“北京市”归属下的所有样本地址文本词条进行匹配,其有效的 减少了后续待解析地址文本词条匹配时的计算量,提升了匹配的效率。 [0072] 在本发明实施例中,由于传统的hash算法是为了让计算结果分布相对均匀,而用 户输入的地址信息往往与实际地址会有一些细小的差异,对于相似的地址,使用传统hash 算法,将会产生相同或相近的hash值,从而通过hash值无法精准的判断地址是否匹配;而本 发明采用了simhash算法提供了一种可行的途径,simhash算法针对的就是局部敏感,其主 要思想是降维,将高维的特征向量映射为低维的特征向量,通过待解析地址的地址本文词 条和地址索引中地址本文词条的海明距离来确定相似度,另外,对在计算simhash值的时候 还增加权重值的设定,从而提高地址解析精准度。 [0073] 步骤S5、将地址层级最小的样本地址文本词条对应的经纬度信息作为解析结果。 [0074] 具体地,在各待解析地址文本词条均匹配完成之后,将匹配得到的样本地址文本 词条中地址层级最小的样本地址文本词条对应的经纬度信息作为解析结果。 [0075] 进一步的,在simhash匹配过程中,还可能出现部分待解析地址文本词条匹配失败 的情况,因此,如图4所示,步骤S5之后,还包括: [0076] 步骤S6、判断待解析地址文本词条是否全部匹配到地址索引中的样本地址文本词 条。若否,则执行步骤S7。 [0077] 步骤S7、输出解析结果的同时,标注出该经纬度信息对应的样本地址文本词条的 地址层级。 [0078] 需要说明的是,在simhash匹配过程中,若某一待解析地址文本词条未匹配成功, 则按照行政区划归属关系,以该待解析地址文本词条的上一地址层级的待解析地址文本词 条作为输出,同时将该匹配成功的最小地址层级的样本地址文本词条的地址层级标注出 来。例如,“北京市(S)、海淀区(Q)、中关村东路(R)、财智大楼(P)”,经simhash算法匹配后, 只有“北京市(S)、海淀区(Q)、中关村东路(R)”匹配成功,而“财智大楼(P)”匹配失败,则将 “中关村东路(R)”对应的经纬度信息作为最终结果输出,同时标注“路”这一地址层级。 [0079] 本实施例的基于simhash的地址解析方法通过先将待解析地址划分为至少一个待 解析地址文本词条,再利用每一个待解析地址文本词条与样本地址文本词条进行精确匹 配,匹配成功则输出对样本地址文本词条对应的经纬度信息,匹配失败,则计算待解析地址 文本词条的simhash值,再通过simhash值与样本地址文本词条的simhash值进行匹配,得到 匹配的结果,其将simhash算法应用到地址编码解析中,从而提升地址解析的准确率,使得 对地址中的不规范描述也有一个较高的解析成功率,并且,在使用simhash值进行匹配之 前,先进行精确匹配,在精确匹配失败的情况下再使用simhash值进行匹配,而精确匹配的 计算量远小于simhash值匹配的计算量,在地址书写规范的情况下,先进行精确匹配可以直 12 12 CN 112287671 A 说明书 9/10页 接匹配成功,无需后续计算,进而降低了地址解析过程中的计算量,提升了解析效率。 [0080] 图5展示了本发明基于simhash的地址解析系统的一个实施例的功能模块示意图。 如图5所示,该基于simhash的地址解析系统100包括分词模块11、第一匹配模块12、计算模 块13、第二匹配模块14和结果输出模块15。 [0081] 其中,分词模块11,用于将获取到的待解析地址根据预先构建的分词字典进行分 词处理,得到至少一个待解析地址文本词条。第一匹配模块12,用于将各待解析地址文本词 条与预先构建的地址索引中的样本地址文本词条逐一进行精确匹配,若匹配到完全一致的 地址,则输出该地址对应的经纬度信息。计算模块13,用于当精确匹配未匹配到完全一致的 地址时,计算各待解析地址文本词条的simhash值。第二匹配模块14,按照地址文本词条层 级从大到小,逐一将该各待解析地址文本词条的simhash值与地址索引中的样本地址文本 词条的simhash值进行匹配,得到至少一个满足预设条件的样本地址文本词条。结果输出模 块15,用于将地址层级最小的样本地址文本词条对应的经纬度信息或第一匹配模块输出的 经纬度信息作为解析结果。 [0082] 上述实施例的基础上,其他实施例中,如图6所示,计算模块13包括划分单元131、 第一计算单元132、第二计算单元133、第三计算单元134和simhash值输出单元135。 [0083] 其中,划分单元131,用于分别逐一将各待解析地址文本词条划分成地址块和地址 关键词,并按照预设权重值规则确定每个地址块和地址关键词的权重值;第一计算单元 132,用于通过hash算法计算出每个地址块和地址关键词的hash值;第二计算单元133,用于 将每个地址块和地址关键词的hash值中为1的数值与对应的权重值正相乘,将每个地址块 和地址关键词的hash值中为0的数值与对应的权重值负相乘;第三计算单元134,用于将所 有地址块和地址关键词计算后得到的数字序列按位对应进行累加,得到数字字符串; simhash值输出单元135,用于将数字字符串中大于0的数值替换为1、小于0的数值替换为0, 得到各地址文本词条的simhash值。 [0084] 上述实施例的基础上,其他实施例中,如图7所示,其还包括构建模块16,用于预先 构建的地址索引,构建模块16包括切分单元161、属性分配单元162和索引构建单元163。 [0085] 其中,切分单元161,用于将预先准备的样本地址根据分词字典切分为多个样本地 址文本词条;属性分配单元162,用于计算每个样本地址文本词条的simhash值,并为每个样 本地址文本词条分配相应的地址层级、行政区划归属、行政区划编码、经纬度信息;索引构 建单元163,用于将样本地址文本词条的simhash值、地址层级、行政区划归属、行政区划编 码、经纬度信息作为样本地址文本词条的属性,与样本地址本文词条共同组成地址索引。 [0086] 上述实施例的基础上,其他实施例中,如图8所示,第二匹配模块14包括距离计算 单元141和词条筛选单元142。 [0087] 其中,距离计算单元141,用于按照地址文本词条层级从大到小,逐一计算各待解 析地址文本词条的simhash值与地址索引中样本地址文本词条的simhash值的海明距离;词 条筛选单元142,用于当海明距离小于预设阈值时,则该样本地址文本词条满足预设条件; 重复运行距离计算单元141和词条筛选单元142,得到至少一个满足预设条件的样本地址文 本词条。 [0088] 上述实施例的基础上,其他实施例中,如图9所示,其还包括判断模块17和标注模 块18。 13 13 CN 112287671 A 说明书 10/10页 [0089] 其中,判断模块17,用于判断待解析地址文本词条是否全部匹配到地址索引中的 样本地址文本词条;标注模块18,用于当待解析地址文本词条未全部匹配到地址索引中的 样本地址文本词条时,输出解析结果的同时,标注出该经纬度信息对应的样本地址文本词 条的地址层级。 [0090] 关于上述实施例基于simhash的地址解析系统中各模块实现技术方案的其他细 节,可参见上述实施例中的基于simhash的地址解析方法中的描述,此处不再赘述。 [0091] 需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重 点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。 对于系统类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参 见方法实施例的部分说明即可。 [0092] 以上对发明的具体实施方式进行了详细说明,但其只作为范例,本发明并不限制 于以上描述的具体实施方式。对于本领域的技术人员而言,任何对该发明进行的等同修改 或替代也都在本发明的范畴之中,因此,在不脱离本发明的精神和原则范围下所作的均等 变换和修改、改进等,都应涵盖在本发明的范围内。 14 14 CN 112287671 A 说明书附图 1/5页 图1 图2 15 15 CN 112287671 A 说明书附图 2/5页 图3 图4 16 16 CN 112287671 A 说明书附图 3/5页 图5 图6 17 17 CN 112287671 A 说明书附图 4/5页 图7 图8 18 18 CN 112287671 A 说明书附图 5/5页 图9 19 19