平码五不中公式规律
  • / 14
  • 下载费用:30 金币  

一种基于地址特征词的多层次快速中文地址匹配方法.pdf

关 键 词:
一种 基于 地址 特征 多层次 快速 中文 匹配 方法
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
摘要
申请专利号:

CN201410134887.3

申请日:

2014.04.03

公开号:

CN103914544A

公开日:

2014.07.09

当前法律状态:

撤回

有效性:

无权

法?#19978;?#24773;: 发明专利申请公布后的视为撤回IPC(主分类):G06F 17/30申请公布日:20140709|||实质审查的生效IPC(主分类):G06F 17/30申请日:20140403|||公开
IPC分类号: G06F17/30 主分类号: G06F17/30
申请人: 浙江大学
发明人: 杜震洪; 张丰; 刘仁义; 徐聪; 张逸然; 郑晔
地址: 310027 浙江省杭州市浙大路38号
优?#28909;ǎ?/td>
专利代理机构: 杭州求是专利事务所有限公司 33200 代理人: 张法高
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201410134887.3

授权公告号:

||||||

法律状态公告日:

2017.11.14|||2014.08.06|||2014.07.09

法律状态类型:

发明专利申请公布后的视为撤回|||实质审查的生效|||公开

摘要

本发明公开了一种基于地址特征词的多层次快速中文地址匹配方法,属于地理信息科学的数据空间化研究领域。本发明所述方法具体包括标准中文地址匹配词典构建和地址匹配两个?#26041;冢?#20197;地址特征词为分词依据对标准中文地址进行中文分词,并采用双数组trie树和哈希运算完成标准中文地址匹配词典的构建,采用双向扫描及哈希运算代替数据库检索的方式,获取待匹配中文地址的地理空间坐标,完成地址匹配。本发明的优点在于能够在计算机内存中完成整个地址匹配过程,并采用双向扫描和边分词边匹配的方式,提高了地址匹配的匹配速?#30465;?#21516;时,根据中文地址的分类、分层及组合规则,解决了部?#31181;?#25991;地址由于地址要素缺失无法完成地址匹配的问题,提高了地址匹配的准确度。

权利要求书

权利要求书
1.  一种基于地址特征词的多层次快速中文地址匹配方法,其特征在于包括如下步骤:
1)从标准中文地址数据库中读入所有标准中文地址的记录,包括每一个标准中文地址的地理空间坐标x值、y值;
2)根据中文地址的分类规则,以地址特征词为分词依据对标准中文地址进行正向扫描中文分词,将中文分词所获得的5类地址要素插入到对应的5类双数组trie树中;
3)从5类双数组trie树中获取标准中文地址所对应的地址编码元素集?#24076;?#25353;照最小代价原则,以中文地址的分层和组合规则为依据对地址编码元素进行组合和排列,获取唯一表示该标准中文地址的4个地址编码,对这4个地址编码进行哈希运算,将该标准中文地址的地理空间坐标存储在哈希表中其哈希函数值对应的位置上,对所有标准中文地址依次进行步骤2)~步骤3)的操作,完成标准中文地址匹配词典构建;
4)读取待匹配中文地址?#22336;?#20018;,分别?#25345;礢1和S2,同时进行正向扫描匹配和逆向扫描匹配;
5)判断正向扫描匹配和逆向扫描匹配是否成功,若正向扫描匹配或逆向扫描匹配失败,返回步骤4);若正向扫描匹配和逆向扫描匹配成功,获取对应匹配结果的地址编码组合T1和T2;
6)设地址编码T = T1 + T2,对T进行哈希运算,通过哈希函数值在哈希表中查找对应的地理空间坐标,若存在,获取对应地理空间坐标,地址匹配成功,若不存在,地址匹配失败,重复步骤4)~步骤6),完成所有待匹配中文地址的地址匹配。

2.  根据权利要求1所述的一种基于地址特征词的多层次快速中文地址匹配方法,其特征在于所述的步骤2)为:
(1)中文地址的分类规则是指一个指意明确的标准中文地址由行政区划名、街巷名、小区名、门楼址名和兴趣点名这5类地址要素组成,其中地址要素是指地址?#22336;?#20018;中一个相对独立的部?#37073;?#20855;有明确的地址意义;
(2)正向扫描中文分词方法是一种从?#22336;?#20018;序列起首位置开始,从左往右依次对?#22336;?#20018;进行切分的方法;
(3)双数组trie树由base数组和check数组组成,其中base数组每一个元素表示trie树的一个节点状态,数组值为状态转移的基值,check数组表示一个状态的前驱状态,数组值为校验值,当base数组和check数组的值均为0时,该状态空?#26657;?类双数组trie树分别存储每一个标准地址所包含的5类地址要素,5类双数组trie树具体为行政区划双数组trie树、街巷名双数组trie树、住宅小区双数组trie树、门楼址双数组trie树和POI双数组trie树;
(4)双数组trie树的一次插入操作为在构建双数组trie树时进行一次状态的转移,当状态m转移到状态n时,必须满足以下2个条件:
base[m] + c = n,
check[n] = m,
其中,m是当前状态的下标,n是转移状态的下标,c是输入?#22336;?#30340;数值。

3.  根据权利要求1所述的一种基于地址特征词的多层次快速中文地址匹配方法,其特征在于所述的步骤3)包括:
(1)从5类双数组trie树中获取一个标准中文地址所对应的5类地址编码元素,并按照最小代价原则,以中文地址的分层和组合规则对地址编码元素进行组合和排列,获取唯一表示标准中文地址的4个地址编码,其中地址编码元素是指每一个地址要素中最后一个?#22336;?#22312;双数组trie树中的数组下标值,地址编码是由地址编码元素组合和排列而成;
(2)中文地址的分层规则是指按照中文地址5个地址要素的从属关系,可以将其分为三个层次,第一层次为行政区划名,包括省级、市级、县级、乡级、村级;第二层次为街巷名和小区名;第三层次为门楼址名和POI名;
(3)中文地址的组合规则是指按照中文地址的分层规则,一个标准的中文地址可以有16种指意明确的待匹配中文地址与其相匹配,其中按照最小代价原则,包含3类地址要素的4种地址表达形式为:
行政区划名/街巷名/门楼址
××省××市××区×?#20004;值馈痢?#36335;××号;
行政区划名/街巷名/兴趣点名
××省××市××区×?#20004;值馈痢?#36335;×?#21015;?#23398;;
行政区划名/小区名/门楼址
××省××市××区×?#20004;值馈痢列?#21306;××号;
行政区划名/小区名/兴趣点名
××省××市××区×?#20004;值馈痢列?#21306;××广场。

4.  根据权利要求1所述的一种基于地址特征词的多层次快速中文地址匹配方法,其特征在于所述的步骤4)包括:
(1)正向扫描匹配首先以行政区划特征词为切分依据对S1进行正向扫描中文分词,若分词失败,正向扫描匹配失败,若分词成功,获取对应的行政区划地址编码元素,在行政区划双数组trie树中查询该地址编码元素的匹配?#31181;В?#33509;查询成功,获取该匹配?#31181;?#26368;后一个状态所对应的数组下标值T1,若查询失败,正向扫描匹配失败;
(2)逆向扫描匹配首先进?#26800;?#19977;层次地址要素扫描匹配,若第三层次地址要素扫描匹配成功,再进?#26800;?#20108;层次地址要素扫描匹配,若第二层次地址要素扫描匹配成功,逆向扫描匹配成功,若第三层次地址要素扫描匹配或第二层次地址要素扫描匹配失败,逆向扫描匹配失败;
(3)第三层次地址要素扫描匹配首先进行门楼址地址要素扫描匹配,若门楼址地址要素扫描匹配成功,获取该匹配?#31181;?#26368;后一个状态所对应的数组下标值,?#25345;礣2,直接进入第二层次地址要素查询匹配?#26041;冢?#33509;门楼址地址要素扫描匹配失败,进行POI地址要素扫描匹配,若POI地址要素扫描匹配成功,获取该匹配?#31181;?#26368;后一个状态所对应的数组下标值,?#25345;礣2,进入第二层次地址要素查询匹配?#26041;冢?#33509;POI地址要素扫描匹配失败,逆向扫描匹配失败;
(4)门楼址地址要素扫描匹配首先以门楼址特征词为切分依据对S2进行逆向扫描中文分词,若分词成功,获取对应的门楼址地址编码元素,在门楼址双数组trie树查询该地址编码元素匹配?#31181;В?BR>(5)POI地址要素扫描匹配首先以POI特征词为切分依据对S2进行逆向扫描中文分词,若分词成功,获取对应的POI地址编码元素,在POI双数组trie树查询该地址编码元素匹配?#31181;В?BR>(6)第二层次地址要素扫描匹配首先进行小区名地址要素扫描匹配,若小区名地址要素扫描匹配成功,获取该匹配?#31181;?#26368;后一个状态所对应的数组下标值T3,使得T2 = T2 + T3,逆向扫描匹配成功,若小区名地址要素扫描匹配失败,进行街巷名地址要素扫描匹配,若街巷名地址要素扫描匹配成功,获取该匹配?#31181;?#26368;后一个状态所对应的数组下标值T3,使得T2 = T2 + T3,逆向扫描匹配成功,若小区名地址要素扫描匹配失败,逆向扫描匹配失败;
(7)小区名地址要素扫描匹配首先以小区名特征词为切分依据对S2进行逆向扫描中文分词,若分词成功,获取对应的小区名地址编码元素,在小区名双数组trie树查询该地址编码元素匹配?#31181;В?BR>(8)街巷名地址要素扫描匹配首先以街巷名特征词为切分依据对S2进行逆向扫描中文分词,若分词成功,获取对应的街巷名地址编码元素,在街巷名双数组trie树查询该地址编码元素匹配?#31181;В?BR>(9)逆向扫描中文分词方法是一种从右往左对以地址特征词为分词依据对?#22336;?#20018;进行切分的方法。

说明书

说明书一种基于地址特征词的多层次快速中文地址匹配方法
技术领域
本发明属于数据空间化研究领域。尤其涉及一种基于地址特征词的多层次快速中文地址匹配方法。
背景技术
数字城市是以空间信息为核心的城市信息系统体系,在数字城市信息资源的集成和融合中,地址匹配技术作为核心技术,?#26800;?#30528;将各个行业大量自然语言描述的空间位置信息转换成地理空间坐标的任务。因此,地址匹配速率及其准确度将对数字城市的建设产生重大而深远的影响。
目前,常用的中文地址匹配方法主要有全文索引、中文分词、地址分级别匹配、正则表达式匹配和模糊地址匹配。赵阳阳等提出基于地址要素识别机制的地址分词方法,在最大正向扫描匹配方法的基础上增加了基于地址要素的识别机制,提高了中文地址分词的准确度,但其匹配速率却出现很大程度的下降。唐静在中文地址编码的研究中利用中文地址的分段、组合和优先规则,对中文地址进行分段匹配,这些规则在一定程度上减少了地址要素的匹配次数,但由于该方法在地址匹配过程中需要与数据库不断进行?#25442;ィ?#35813;方法总体匹配速?#24335;下?#27946;莹提出基于双数组trie树和地址要素编码查询的地址匹配方法。该方法先采用双数组trie树对中文地址进行中文分词,并根据其自定义的编码规则获取中文地址分词结果所对应的地址要素编码,然后根据地址要素编码在标准地址数据库中查询具体的地理空间坐标。与其它中文地址分词方法相比,该方法在分词速率方面较快,但还需要通过标准地址数据库查询地理空间坐标,因此,该方法总体速率受到很大的限制。姚心宇尝试运用主特征词及副特征词对地址进行标记,并通过汉字相似度和拼音相似度的计算方式提高地址的匹配率,但该学者并没有对地址匹配速率问题进行深入的研究。程昌秀等采用边分词边匹配的模糊中文分词方法,减少了地址?#22336;?#20018;的比较次数,但由于其还是在数据库中查询地理空间坐标,其匹配速率明显慢于双数组trie树分词。张倩等提出基于有限状态机和trie树的分级地址模型,解决了部分地址命名不规范和地址跳跃问题,但对地址匹配速率问题并没有深入讨论。以上研究提出了许多提高地址匹配准确度的解决方法,但对地址匹配速率的研究并不深入。因此,面对当前大规模数量的地址匹配请求,如何快速批?#23458;?#25104;地址匹配任务是数据空间化研究领域的一个亟待解决的科学问题。
发明内容
本发明的目的是克服现有技术的不足,提出一种基于地址特征词的多层次快速中文地址匹配方法。
基于地址特征词的多层次快速中文地址匹配方法包括如下步骤:
1)从标准中文地址数据库中读入所有标准中文地址的记录,包括每一个标准中文地址的地理空间坐标x值、y值;
2)根据中文地址的分类规则,以地址特征词为分词依据对标准中文地址进行正向扫描中文分词,将中文分词所获得的5类地址要素插入到对应的5类双数组trie树中;
3)从5类双数组trie树中获取标准中文地址所对应的地址编码元素集?#24076;?#25353;照最小代价原则,以中文地址的分层和组合规则为依据对地址编码元素进行组合和排列,获取唯一表示该标准中文地址的4个地址编码,对这4个地址编码进行哈希运算,将该标准中文地址的地理空间坐标存储在哈希表中其哈希函数值对应的位置上,对所有标准中文地址依次进行步骤2)~步骤3)的操作,完成标准中文地址匹配词典构建;
4)读取待匹配中文地址?#22336;?#20018;,分别?#25345;礢1和S2,同时进行正向扫描匹配和逆向扫描匹配;
5)判断正向扫描匹配和逆向扫描匹配是否成功,若正向扫描匹配或逆向扫描匹配失败,返回步骤4);若正向扫描匹配和逆向扫描匹配成功,获取对应匹配结果的地址编码组合T1和T2;
6)设地址编码T = T1 + T2,对T进行哈希运算,通过哈希函数值在哈希表中查找对应的地理空间坐标,若存在,获取对应地理空间坐标,地址匹配成功,若不存在,地址匹配失败,重复步骤4)~步骤6),完成所有待匹配中文地址的地址匹配。
所述的步骤2)为:
(1)中文地址的分类规则是指一个指意明确的标准中文地址由行政区划名、街巷名、小区名、门楼址名和兴趣点名这5类地址要素组成,其中地址要素是指地址?#22336;?#20018;中一个相对独立的部?#37073;?#20855;有明确的地址意义;
(2)正向扫描中文分词方法是一种从?#22336;?#20018;序列起首位置开始,从左往右依次对?#22336;?#20018;进行切分的方法;
(3)双数组trie树由base数组和check数组组成,其中base数组每一个元素表示trie树的一个节点状态,数组值为状态转移的基值,check数组表示一个状态的前驱状态,数组值为校验值,当base数组和check数组的值均为0时,该状态空?#26657;?类双数组trie树分别存储每一个标准地址所包含的5类地址要素,5类双数组trie树具体为行政区划双数组trie树、街巷名双数组trie树、住宅小区双数组trie树、门楼址双数组trie树和POI双数组trie树;
(4)双数组trie树的一次插入操作为在构建双数组trie树时进行一次状态的转移,当状态m转移到状态n时,必须满足以下2个条件:
base[m] + c = n,
check[n] = m,
其中,m是当前状态的下标,n是转移状态的下标,c是输入?#22336;?#30340;数值。
所述的步骤3)包括:
(1)从5类双数组trie树中获取一个标准中文地址所对应的5类地址编码元素,并按照最小代价原则,以中文地址的分层和组合规则对地址编码元素进行组合和排列,获取唯一表示标准中文地址的4个地址编码,其中地址编码元素是指每一个地址要素中最后一个?#22336;?#22312;双数组trie树中的数组下标值,地址编码是由地址编码元素组合和排列而成;
(2)中文地址的分层规则是指按照中文地址5个地址要素的从属关系,可以将其分为三个层次,第一层次为行政区划名,包括省级、市级、县级、乡级、村级;第二层次为街巷名和小区名;第三层次为门楼址名和POI名;
(3)中文地址的组合规则是指按照中文地址的分层规则,一个标准的中文地址可以有16种指意明确的待匹配中文地址与其相匹配,其中按照最小代价原则,包含3类地址要素的4种地址表达形式为:
行政区划名/街巷名/门楼址
××省××市××区×?#20004;值馈痢?#36335;××号;
行政区划名/街巷名/兴趣点名
××省××市××区×?#20004;值馈痢?#36335;×?#21015;?#23398;;
行政区划名/小区名/门楼址
××省××市××区×?#20004;值馈痢列?#21306;××号;
行政区划名/小区名/兴趣点名
××省××市××区×?#20004;值馈痢列?#21306;××广场。
所述的步骤4)包括:
(1)正向扫描匹配首先以行政区划特征词为切分依据对S1进行正向扫描中文分词,若分词失败,正向扫描匹配失败,若分词成功,获取对应的行政区划地址编码元素,在行政区划双数组trie树中查询该地址编码元素的匹配?#31181;В?#33509;查询成功,获取该匹配?#31181;?#26368;后一个状态所对应的数组下标值T1,若查询失败,正向扫描匹配失败;
(2)逆向扫描匹配首先进?#26800;?#19977;层次地址要素扫描匹配,若第三层次地址要素扫描匹配成功,再进?#26800;?#20108;层次地址要素扫描匹配,若第二层次地址要素扫描匹配成功,逆向扫描匹配成功,若第三层次地址要素扫描匹配或第二层次地址要素扫描匹配失败,逆向扫描匹配失败;
(3)第三层次地址要素扫描匹配首先进行门楼址地址要素扫描匹配,若门楼址地址要素扫描匹配成功,获取该匹配?#31181;?#26368;后一个状态所对应的数组下标值,?#25345;礣2,直接进入第二层次地址要素查询匹配?#26041;冢?#33509;门楼址地址要素扫描匹配失败,进行POI地址要素扫描匹配,若POI地址要素扫描匹配成功,获取该匹配?#31181;?#26368;后一个状态所对应的数组下标值,?#25345;礣2,进入第二层次地址要素查询匹配?#26041;冢?#33509;POI地址要素扫描匹配失败,逆向扫描匹配失败;
(4)门楼址地址要素扫描匹配首先以门楼址特征词为切分依据对S2进行逆向扫描中文分词,若分词成功,获取对应的门楼址地址编码元素,在门楼址双数组trie树查询该地址编码元素匹配?#31181;В?
(5)POI地址要素扫描匹配首先以POI特征词为切分依据对S2进行逆向扫描中文分词,若分词成功,获取对应的POI地址编码元素,在POI双数组trie树查询该地址编码元素匹配?#31181;В?
(6)第二层次地址要素扫描匹配首先进行小区名地址要素扫描匹配,若小区名地址要素扫描匹配成功,获取该匹配?#31181;?#26368;后一个状态所对应的数组下标值T3,使得T2 = T2 + T3,逆向扫描匹配成功,若小区名地址要素扫描匹配失败,进行街巷名地址要素扫描匹配,若街巷名地址要素扫描匹配成功,获取该匹配?#31181;?#26368;后一个状态所对应的数组下标值T3,使得T2 = T2 + T3,逆向扫描匹配成功,若小区名地址要素扫描匹配失败,逆向扫描匹配失败;
(7)小区名地址要素扫描匹配首先以小区名特征词为切分依据对S2进行逆向扫描中文分词,若分词成功,获取对应的小区名地址编码元素,在小区名双数组trie树查询该地址编码元素匹配?#31181;В?
(8)街巷名地址要素扫描匹配首先以街巷名特征词为切分依据对S2进行逆向扫描中文分词,若分词成功,获取对应的街巷名地址编码元素,在街巷名双数组trie树查询该地址编码元素匹配?#31181;В?
(9)逆向扫描中文分词方法是一种从右往左对以地址特征词为分词依据对?#22336;?#20018;进行切分的方法。
本发明与现有技术相比具有的有益效果:
1)本发明针对现有中文地址匹配词典构建时间过长,内存空间开销过大的不足,利用中文地址的分类、分层和组合规则,改进了标准中文地址匹配词典的构建方式,减少了标准中文地址匹配词典构建的时间和空间开销。
2)在地址匹配过程中,采用双向扫描及哈希运算代替传统与标准中文地址数据库不断?#25442;?#30340;方式,提高了地址匹配的速?#30465;?
3)按照最小代价匹配原则,解决了现有方法对部分地址要素缺失中文地址无法进行匹配的问题,提高了地址匹配的准确度。
附图说明
图1 为本发明中一个含有行政区划信息的trie树结构示意图;
图2为本发明中地址匹配?#26041;?#30340;流程图。
具体实施方式
下面结合附图及具体实施方式详?#38468;?#32461;本发明。
本发明基于地址特征词的多层次快速中文地址匹配方法,地址匹配?#26041;?#23454;现流程图如图2所示。现以“浙江省杭州市西溪?#20540;?#22825;?#21487;?#36335;148号”为例,对本发明的具体实施过程进行说明,其具体步骤如下:
1)从标准中文地址数据库中读入浙江省杭州市所有标准中文地址的记录,包括每一个标准中文地址的地理空间坐标x值、y值;
2)根据中文地址的分类规则,以地址特征词为分词依据对标准中文地址进行正向扫描中文分词,将中文分词所获得的5类地址要素插入到对应的5类双数组trie树中;
3)从5类双数组trie树中获取标准中文地址所对应的地址编码元素集?#24076;?#25353;照最小代价原则,以中文地址的分层和组合规则为依据对地址编码元素进行组合和排列,获取唯一表示标准中文地址的4个地址编码,对这4个地址编码进行哈希运算,将该标准中文地址的地理空间坐标存储在哈希表中其哈希函数值对应的位置上,对所有标准中文地址依次进行步骤2)~步骤3)的操作,完成标准中文地址匹配词典构建;
4)读取待匹配中文地址?#22336;?#20018;“浙江省杭州市西溪?#20540;?#22825;?#21487;?#36335;148号”,分别?#25345;礢1和S2,同时进行正向扫描匹配和逆向扫描匹配;
5)判断正向扫描匹配和逆向扫描匹配是否成功,若正向扫描匹配或逆向扫描匹配失败,返回步骤4);若正向扫描匹配和逆向扫描匹配成功,获取对应匹配结果的地址编码组合T1和T2;
6)设地址编码T = T1 + T2,对T进行哈希运算,通过哈希函数值在哈希表中查找对应的地理空间坐标,若存在,获取对应地理空间坐标,地址匹配成功,若不存在,地址匹配失败。
所述的步骤2)包括:
(1)中文地址的分类规则是指一个指意明确的标准中文地址由行政区划名、街巷名、小区名、门楼址名和兴趣点名这5类地址要素组成,其中地址要素是指地址?#22336;?#20018;中一个相对独立的部?#37073;?#20855;有明确的地址意义,例如:浙江省杭州市西溪?#20540;?#22825;?#21487;?#36335;148号就是由3类地址要素组成,分别“浙江省杭州市西溪?#20540;馈薄ⅰ?#22825;?#21487;?#36335;”、“148号”;
(2)地址特征词是指每一类地址要素所包含的相同?#22336;?#20018;后缀,如行政区划名地址要素中的“省”、“市”、街巷名地址要素中的“路”、门楼址地址要素中的“号”等,具体每一类地址要素见表1;
表1

(3)正向扫描中文分词方法是一种从?#22336;?#20018;序列起首位置开始,从左往右依次对?#22336;?#20018;进行切分的方法,以获取行政区划地址要素为例,先以省级特征词为切分依据对中文地址进行切?#37073;?#33509;切分成功,获得对应的省级地址要素,若切分失败,进入以市级特征词为切分依据的中文地址切?#21482;方冢?#37325;复上述分词?#26041;冢?#30452;到完成?#28304;?#32423;特征词为切分依据的中文地址切?#21482;方冢?#23545;上述切?#21482;?#24471;的地址要素依次进行连接,以获得行政区划地址要素;
(4)双数组trie树由base数组和check数组组成,其中base数组每一个元素表示trie树的一个节点状态,数组值为状态转移的基值,check数组表示一个状态的前驱状态,数组值为校验值,当base数组和check数组的值均为0时,该状态空?#26657;?类双数组trie树分别存储每一个标准地址所包含的5类地址要素,5类双数组trie树具体为行政区划双数组trie树、街巷名双数组trie树、住宅小区双数组trie树、门楼址双数组trie树和POI双数组trie树;
(5)双数组trie树的一次插入操作其实?#31034;?#22312;构建双数组trie树时进行一次状态的转移,当状态m转移到状态n时,其必须满足以下2个条件:
base[m] + c = n,
check[n] = m,
其中,m是当前状态的下标,n是转移状态的下标,c是输入?#22336;?#30340;数值,
现以文二、文三这两个地址要素为例,说明如何确定每一个元素在双数组trie树中的位置。假设?#22336;?#25991;”对应的数组下标值为i,则base[i]的值必须满足以下条件:
base [base[i] + code[二]] = 0; 
check[base[i] + code[二]] = 0;
base [base[i] + code[三]] = 0; 
check[base[i] + code[三]] = 0;
根据上述公式计算出base[i]的值后,就可以确定?#22336;?#20108;”,“三”所对应的check值,其它?#31181;?#33410;点的值可?#28304;?#31867;推。
所述的步骤3)包括:
(1)从5类双数组trie树中获取一个标准中文地址所对应的5类地址编码元素,并按照最小代价原则,以中文地址的分层和组合规则对地址编码元素进行组合和排列,获取唯一表示标准中文地址的4个地址编码,其中地址编码元素是指每一个地址要素中最后一个?#22336;?#22312;双数组trie树中的数组下标值,地址编码是由地址编码元素组合和排列而成;
(2)中文地址的分层规则是指按照中文地址5个地址要素的从属关系,可以将其分为三个层次,第一层次为行政区划名,包括省级、市级、县级、乡级、村级;第二层次为街巷名和小区名;第三层次为门楼址名和POI名;
(3)中文地址的组合规则是指按照中文地址的分层规则,一个标准的中文地址可以有16种指意明确的待匹配地址与其相匹配,其中按照最小代价原则,包含3类地址要素的4种地址表达形式为:
行政区划名/街巷名/门楼址
××省××市××区×?#20004;值馈痢?#36335;××号;
行政区划名/街巷名/兴趣点名
××省××市××区×?#20004;值馈痢?#36335;×?#21015;?#23398;;
行政区划名/小区名/门楼址
××省××市××区×?#20004;值馈痢列?#21306;××号;
行政区划名/小区名/兴趣点名
××省××市××区×?#20004;值馈痢列?#21306;××广场;
所述的步骤4)包括:
(1)正向扫描匹配首先以行政区划特征词为切分依据对S1进行正向扫描中文分词,获取行政区划地址要素“浙江省杭州市西溪?#20540;馈保?#22312;行政区划双数组trie树中查询该地址编码元素的匹配?#31181;В?#33509;查询成功,获取该匹配?#31181;?#26368;后一个状态“道”所对应的数组下标值T1,若查询失败,正向扫描匹配失败;
(2)逆向扫描匹配首先进?#26800;?#19977;层次地址要素扫描匹配,若第三层次地址要素扫描匹配成功,再进?#26800;?#20108;层次地址要素扫描匹配,若第二层次地址要素扫描匹配成功,逆向扫描匹配成功,若第三层次地址要素扫描匹配或第二层次地址要素扫描匹配失败,逆向扫描匹配失败;
(3)第三层次地址要素扫描匹配首先进行门楼址地址要素扫描匹配,若门楼址地址要素扫描匹配成功,获取该匹配?#31181;?#26368;后一个状态所对应的数组下标值,?#25345;礣2,直接进入第二层次地址要素查询匹配?#26041;冢?#33509;门楼址地址要素扫描匹配失败,进行POI地址要素扫描匹配,若POI地址要素扫描匹配成功,获取该匹配?#31181;?#26368;后一个状态所对应的数组下标值,?#25345;礣2,进入第二层次地址要素查询匹配?#26041;冢?#33509;POI地址要素扫描匹配失败,逆向扫描匹配失败;
(4)门楼址地址要素扫描匹配首先以门楼址特征词为切分依据对S2进行逆向扫描中文分词,获取门楼址地址编码元素“148号”,在门楼址双数组trie树查询该地址编码元素匹配?#31181;В?
(5)POI地址要素扫描匹配首先以POI特征词为切分依据对S2进行逆向扫描中文分词,若分词成功,获取对应的POI地址编码元素,在POI双数组trie树查询该地址编码元素匹配?#31181;В?
(6)第二层次地址要素扫描匹配首先进行小区名地址要素扫描匹配,若小区名地址要素扫描匹配成功,获取该匹配?#31181;?#26368;后一个状态所对应的数组下标值T3,使得T2 = T2 + T3,逆向扫描匹配成功,若小区名地址要素扫描匹配失败,进行街巷名地址要素扫描匹配,若街巷名地址要素扫描匹配成功,获取该匹配?#31181;?#26368;后一个状态所对应的数组下标值T3,使得T2 = T2 + T3,逆向扫描匹配成功,若小区名地址要素扫描匹配失败,逆向扫描匹配失败;
(7)小区名地址要素扫描匹配首先以小区名特征词为切分依据对S2进行逆向扫描中文分词,若分词成功,获取对应的小区名地址编码元素,在小区名双数组trie树查询该地址编码元素匹配?#31181;В?
(8)街巷名地址要素扫描匹配首先以街巷名特征词为切分依据对S2进行逆向扫描中文分词,获取街巷名地址编码元素“天?#21487;?#36335;”,在街巷名双数组trie树查询该地址编码元素匹配?#31181;В?
(9)逆向扫描中文分词方法是一种从右往左对?#22336;?#20018;进行切分的方法,以获取门楼址地址要素为例,以门楼址特征词为检索依据在?#22336;?#20018;中进行检索匹配,获取门楼址特征词所在的索引位置N,从该索引位置开始,从右往左依次对?#22336;?#20018;中每一个?#22336;?#36827;行特征词判?#24076;?#30452;到检索到另一类地址要素的地址特征词为止,获取该地址特征词的索引位置M,获取M-1索引位置到N索引位置的?#22336;?#20018;,该?#22336;?#20018;?#27425;?#38376;楼址地址要素。
实施例
为验证本发明的有效性,将本发明与基于双数组trie树地址匹配方法及基于双数组trie树和地址要素编码查询匹配方法进行对比分析,本发明采用温州市鹿城区和瓯海区总计37137条标准中文地址进行构建地址匹配词典测试,并抽取温州市鹿城区和瓯海区总计29792张公共卫生传?#38745;?#25253;卡,对每一张报卡中的病人家庭住址信息进行地址匹配应用测试,方便起见,在下文中方法1表示基于双数组trie树地址匹配方法,方法2表示基于双数组trie树和地址要素编码查询匹配方法,方法3表示基于地址特征词的多层次快速中文地址匹配方法;
表2三种方法匹配词典构建时间比较            单位:ms

表2结果表明,方法2和方法3明显优于方法1,其原因在于方法1的?#31181;?#28145;度和部?#22336;种?#30340;子节点个数?#23545;?#36229;过方法2和方法3,在方法1中,由于一个?#31181;?#34920;示一条标准地址,其?#31181;?#28145;度至少超过20,而在方法2和方法3中,每一个?#31181;?#21482;表示一个地址要素,其平均深度就变为方法1的1/5,同时,由于按地址要素构建双数组trie树,部?#22336;种?#30340;子节点个数也相应减少,因此,方法2和方法3明显优于方法1,而方法3将5个地址要素分别存储在5个双数组trie树中,相比方法2,减少了部?#22336;种?#20043;间的冲突,因此,方法3在时间上略优于方法2;
表3三种方法匹配词典构建所占空间比较          单位:?#32440;?

从表2结果分析可知,方法1的?#31181;?#28145;度和?#31181;?#30340;子节点个数?#23545;?#36229;过方法2和方法3,而方法3略少于方法2,根据构建双数组trie树时节点冲突越多,数组利用率?#38477;?#30340;特点,三种方法中数组所占内存大小排序为:方法1>方法2>方法3;
表4三种方法匹配词典构建所占空间比较          单位: ms

表4结果表明,方法1和方法3明显优于方法2,由于三种匹配方法均采用双数组trie树进行匹配词典构建,因此,查询匹配地址的耗时基本相同,在最后获取地址空间坐?#26196;保?#26041;法1只需要执行一次状态函数,方法3对获取的地址编码进行哈希函数运算,?#37096;?#33719;取相应结果,因此,方法1和方法3总耗时基本相同,在方法2中,从匹配词典获取自定义地址编码之后,还要从地址编码数据库中查询空间坐标,因此,其总耗时?#23545;?#36229;过其它两种方法。 

关于本文
本文标题:一种基于地址特征词的多层次快速中文地址匹配方法.pdf
链接地址:http://www.pqiex.tw/p-6115621.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

[email protected] 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
平码五不中公式规律 北京龙跃股票配资加盟 股票配资论坛y贝得来 股票配资排名·选杨方配资靠谱 股票融资融券是什么意思 简单明了 2010年上证指数分析 世界著名股票指数 股票涨跌排行榜 什么是股票指数的缺口 历年上证指数走势图 什么是股票