CN112256817A - 一种地理编码方法、***、终端以及存储介质 - Google Patents
一种地理编码方法、***、终端以及存储介质 Download PDFInfo
- Publication number
- CN112256817A CN112256817A CN202011222303.XA CN202011222303A CN112256817A CN 112256817 A CN112256817 A CN 112256817A CN 202011222303 A CN202011222303 A CN 202011222303A CN 112256817 A CN112256817 A CN 112256817A
- Authority
- CN
- China
- Prior art keywords
- place name
- path
- node
- name address
- shortest path
- 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 50
- 238000003860 storage Methods 0.000 title claims abstract description 13
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 48
- 230000011218 segmentation Effects 0.000 claims abstract description 46
- 238000012545 processing Methods 0.000 claims abstract description 22
- 238000005457 optimization Methods 0.000 claims abstract description 18
- 238000004140 cleaning Methods 0.000 claims description 9
- 238000012217 deletion Methods 0.000 claims description 6
- 230000037430 deletion Effects 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 5
- 239000002699 waste material Substances 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 12
- 239000003550 marker Substances 0.000 description 7
- 230000014509 gene expression Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 3
- 238000005520 cutting process Methods 0.000 description 3
- 230000001788 irregular Effects 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 241000245032 Trillium Species 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013145 classification model Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000010230 functional analysis Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- 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
- 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/23—Updating
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/288—Entity relationship models
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种地理编码方法、***、终端以及存储介质。所述方法包括:根据地名地址数据建立地名地址模型;根据地名地址模型建立地理编码库,地理编码库包括行政区域实体数据表、街巷实体数据表以及小区实体数据表;基于地址词典,运用N‑最短路径优化算法对地名地址数据进行分词及标准化处理,将地名地址数据切分为至少一个词组;按照地名地址模型中的级别要素将至少一个词组转换成预定格式的字符串,将字符串与地理编码库中对应的地理坐标进行匹配,将字符串匹配到的地理坐标作为对应地名地址的标准地理坐标。本申请能够尽可能减少切分词组的数量,又能包含所有需要被保留的结果,能有效避免资源浪费,加大搜索效率。
Description
技术领域
本申请属于地理编码技术领域,特别涉及一种地理编码方法、***、终端以及存储介质。
背景技术
地理信息***作为位置服务与信息化平台结合的产物,其应用范围越来越广泛。随着地理信息技术的普及与不断成熟,众多企业、单位及政府部门都纷纷建立了基于地理信息的业务,例如药业、传媒等,借助地理信息进行管理运作的需求也日益凸显。然而我们国家地名地址等地理信息的命名方式具有语义凌乱、语序混乱等特点,即没有一个统一的准则将它们规范化。另外,通常普通部门单位所能够采集到的地理信息只是各种杂乱无章的地名地址类文字性描述信息(非空间信息),而无法获取到可以直接使用的空间坐标信息。如果不能将这些非空间信息成功转化为空间坐标信息,相关企业就无法将相关专题数据和地理信息结合起来,间接影响到对GIS软件的可视化、功能分析等应用。因此,如何将与地理位置相关的非空间信息转换成能够被计算机识别的GIS***地理坐标,实现非空间信息与实体地理坐标的匹配,才能够发挥地理信息***的最大作用。
发明内容
本申请提供了一种地理编码方法、***、终端以及存储介质,旨在至少在一定程度上解决现有技术中的上述技术问题之一。
为了解决上述问题,本申请提供了如下技术方案:
一种地理编码方法,包括:
根据地名地址数据建立地名地址模型;
根据所述地名地址模型建立地理编码库,所述地理编码库包括行政区域实体数据表、街巷实体数据表以及小区实体数据表;
基于地址词典,运用N-最短路径优化算法对所述地名地址数据进行分词及标准化处理,将所述地名地址数据切分为至少一个词组;
按照所述地名地址模型中的级别要素将所述至少一个词组转换成预定格式的字符串,将所述字符串与所述地理编码库中对应的地理坐标进行匹配,将所述字符串匹配到的地理坐标作为对应地名地址的标准地理坐标。
本申请实施例采取的技术方案还包括:所述根据地名地址数据建立地名地址模型前还包括:
对所述地名地址数据进行数据清洗。
本申请实施例采取的技术方案还包括:所述根据所述地名地址模型建立地理编码库包括:
定义所述行政区域实体数据表、街巷实体数据表以及小区实体数据表的表结构,按照所述表结构依次录入省、区县、街道、小区、标志物、门牌号和地理坐标进行所述地理编码库的构建。
本申请实施例采取的技术方案还包括:所述基于地址词典,运用N-最短路径优化算法对所述地名地址数据进行分词及标准化处理包括:
根据所述地址词典顺序匹配出所述地名地址数据中的地名词组,并构建一个有向无环图,每个词组分别是所述有向无环图中的一个节点,且分别对应着一条被赋予边长的边;
按照预设规则建立所述有向无环图所有可能的词边,使得所述地名地理数据中包含的所有词分别与所述有向无环图中的边一一对应,并求解所述有向无环图中从开始节点到结束节点的N-最短路径集合,根据所述N-最短路径集合对所述地名地址数据进行分词。
本申请实施例采取的技术方案还包括:假设所述地名地理数据S=c1c2……cn,其中ci(i=1,2,…n)为单个的字,n为串的长度,n≥1,建立的有向无环图G的节点数为n+1,各节点编号依次为V0,V1,V2,…,Vn,所述建立有向无环图所有可能的词边的预设规则为:
相邻节点Vk-1,Vk之间建立有向边<Vk-1,Vk>,边的长度值为Lk,边对应的词默认为ck(k=1,2,…n);
若w=ci ci+1……cj是一个词,则节点Vi-1,Vj之间建立有向边<Vi-1,Vj>,边的长度值为Lw,边对应的词为w(0<i<j≤n)。
本申请实施例采取的技术方案还包括:所述求解所述有向无环图中从开始节点到结束节点的N-最短路径集合包括:
假设Path(i,j)为所有从节点Vi到节点Vj的路径集合;Length(path)为路径path的长度,Length(path)值等于path中所有边的长度之和;LS为有向无环图G中所有从V0到Vn路径的长度集合,则有:
LS={len|len=Length(path),path∈Path(0,n)}
设NLS为V0到Vn的N-最短路径长度集合,NSP为V0到Vn的N-最短路径集合,RS是最终求出的N-最短路径粗分结果集,|NLS|=min(|LS|,N);a∈LS-NLS,b∈NLS→a<b,NSP={path|path∈Path(0,n),Length(path)∈NLS}RS={w1w2…wm|,wi是path的第i条边对应的词,i=1,2,…,m,其中path∈NSP},n为最短路径数。
本申请实施例采取的技术方案还包括:所述基于地址词典,运用N-最短路径优化算法对所述地名地址数据进行分词及标准化处理还包括:
计算从开始节点到结束节点的最短路径为Lj=1,如果j小于最短路径数并且存在其他候选路径,则更新当前路径L为Lj,反之结束;
从当前路径中的第一个节点开始,将入度大于1的第一个节点删除,并将被删除节点记为Hm,判断Hm的子孙节点是否在集合E中,如果在集合E中,则计算从开始节点到Hm的最短路径,并将该最短路径的结束节点记为H’m;如果不在集合E中,则从有向无环图G中删除节点Hm及其所有子孙节点;其中,集合E为V0到Vn的N-最短路径集合,Hm与H’m在每一个循环当中均代表结束节点,H’m作为下一次循环的结束标记;
重复所述节点删除过程,直到m≮n,更新当前路径,求得开始节点V0到所有节点H’m的最短路径j=j+1;n为删除节点后的最短路径数,m为j循环构造后的最短路径,在每一次循环当中,m的值为m=j+1。
本申请实施例采取的另一技术方案为:一种地理编码***,包括:
地名地址模型构建模块:用于根据地名地址数据建立地名地址模型;
地理编码库构建模块:用于根据所述地名地址模型建立地理编码库,所述地理编码库包括行政区域实体数据表、街巷实体数据表以及小区实体数据表;
分词及标准化处理模块:用于基于地址词典,运用N-最短路径优化算法对所述地名地址数据进行分词及标准化处理,将所述地名地址数据切分为至少一个词组;
坐标匹配模块:用于按照所述地名地址模型中的级别要素将所述至少一个词组转换成预定格式的字符串,将所述字符串与所述地理编码库中对应的地理坐标进行匹配,将所述字符串匹配到的地理坐标作为对应地名地址的标准地理坐标。
本申请实施例采取的又一技术方案为:一种终端,所述终端包括处理器、与所述处理器耦接的存储器,其中,
所述存储器存储有用于实现所述地理编码方法的程序指令;
所述处理器用于执行所述存储器存储的所述程序指令以控制地理编码。
本申请实施例采取的又一技术方案为:一种存储介质,存储有处理器可运行的程序指令,所述程序指令用于执行所述地理编码方法。
相对于现有技术,本申请实施例产生的有益效果在于:本申请实施例的地理编码方法、***、终端及存储介质基于N-最短路径优化算法对地名地址进行分词及标准化处理,根据标准化处理结果对地名地址进行切分后,按照地名地址模型中的级别要素将切分后的地名地址转换成计算机能够识别的字符串,最后将字符串与地理编码库中相应的地理坐标进行匹配,根据匹配结果为地名地址赋予标准地理坐标。本申请通过在算法中加入辅助的语法与语义规则,改进逐词遍历的弊端,增加了实用性,秉承了全切分思想的优势,既能够尽可能减少切分词组的数量,同时又能包含所有需要被保留的结果,能有效避免资源浪费,加大搜索效率。
附图说明
图1是本申请第一实施例的地理编码方法的流程图;
图2为本申请实施例的地名地址表述方式示意图;
图3为本申请实施例的有向无环图结构示意图;
图4为本申请实施例的有向无环图求解过程示意图;
图5为本申请实施例对有向无环图求解过程中的前驱记录表示意图;
图6是本申请第二实施例的地理编码方法的流程图;
图7为本申请实施例的N-最短路径改进分词算法示意图;
图8为本申请实施例的地理编码***结构示意图;
图9为本申请实施例的终端结构示意图;
图10为本申请实施例的存储介质的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
针对现有技术的不足,本申请实施例的地理编码方法首先对初始地名地址数据进行数据清洗,防止输入的文本错别字过多、拼写错误、文本重复等问题;然后建立地名地址模型,使其能够反映一个国家或地区对地理名称的不同表示,再根据该地名地址模型建立包含地名数据表、建筑物数据表以及门(楼)牌数据表的地理编码库,并运用N-最短路径优化算法对地名地址进行分词及标准化处理,根据标准化处理结果对地名地址进行切分后,按照地名地址模型中的级别要素将切分后的地名地址转换成计算机能够识别的字符串,最后将字符串与地理编码库中相应的地理坐标进行匹配。本申请实施例秉承了全切分思想的优势,既能够尽可能减少切分词组的数量,同时又能包含所有需要被保留的结果,能有效避免资源浪费,加大搜索效率。
具体的,请参阅图1,是本申请第一实施例的地理编码方法的流程图。本申请第一实施例的地理编码方法包括以下步骤:
S10:对初始地名地址数据进行数据清洗;
本步骤中,由于用户端输入的地名地址等文本数据中可能会包含错别字或重复字,为了避免由于文本数据中字符串不一致、拼写错误等问题导致后续的字符串与地理坐标匹配错误,本发明实施例使用Trillum技术,采用语法分析和模糊匹配算法对地名地址进行数据清洗。
S11:将清洗后的地名地址数据结构化后,建立地名地址模型;
本步骤中,不同国家或地区对地名地址的表述方式具有不同粒度范围的描述规则,本申请实施例根据不同粒度范围的描述规则建立可伸缩的地名地址模型。具体如图2所示,为地名地址表述方式示意图。在该地名地址表述方式中,行政区域地名所包含省级、市级、县级、乡级、街巷名、小区地名、社区名、门楼址、标志物名或别名以及单位名或其简称;其中,省级优先于市级,市级优先于县级,县级优先于乡级;街巷名优先于小区地名,小区地名优先于社区名,门楼址优先于标志物名或其别名,其次是单位名或其简称。通常情况下,在一个城市内的街巷名以及小区名是唯一的,因此采用街巷名或小区名就可以大致锁定某一个范围地址,而采用“街巷名或小区名+门(楼)牌号”则可以精确到一个地点,采用“行政区域地名+标志物名”基本上也可以准确定位到一个位置。也就是说,当文本中所要表述的内容有门牌号时,就用“街巷名或小区名+门(楼)牌号”来锁定一个位置;当地名地址数据中含有标志物名时,使用“行政区域地名+标志物名”进行精确定位。按照上述的粒度范围的描述规则进行的地名地址数据结构化示例如下:
(1)广东省广州市天河区体育西路111号,地名地址数据结构化为:行政区域名+街巷名+门(楼)牌号;
(2)广东省广州市天河区体育西路建和中心,地名地址数据结构化为:行政区域名+街巷名+标志物名。
当遇到包含多个标志物名时,可以根据当前行政区域的粒度进行延伸,直到能够确定唯一的地点。例如,地名地址数据是“惠州市演达大道46号惠州学院”,在惠州市的应用中可以简化为“演达大道46号”完全不会产生任何歧义;而如果地名地址数据是“广州市工商银行”,此时可能会定位到多个标志物,得出的结果很难筛选,则需要将其延伸至街巷名或小区名等进行描述,即可准确定位到某一家工商银行。
S12:根据地名地址模型建立包含行政区域实体数据表、街巷实体数据表以及小区实体数据表的地理编码库;
本步骤中,行政区域实体数据表、街巷实体数据表以及小区实体数据表的表结构可根据应用场景进行定义,地理编码库的建立遵循以下原则:
唯一性原则:任何地理实体都只能被唯一标识;
透明性原则:从编码中可以识别结构间的从属关系;
灵活性原则:应当适应对象的发展变化;
标准性原则:编码规则适应国家标准体系,以便实现数据共享。
行政区域实体数据表、街巷实体数据表以及小区实体数据表结构分别如下表1、2、3所示:
表1行政区域实体数据表
表2街巷实体数据表
表3小区实体数据表
按照各表结构依次录入所有省、区县、街道、小区、标志物、门牌号和地理坐标进行地理编码库的构建。选取各数据表中的字段值作为地名地址词条,连同相应的地址级别记录在地址词典中。当是地址别名作为地名地址词条时,还需记录标准的名称,以便在地址分词时进行地址要素的规范化。
S13:基于地址词典,运用N-最短路径优化算法对不规则的地名地址数据进行分词及标准化处理,将地名地址数据切分为至少一个词组;
本步骤中,N-最短路径优化算法实现过程具体为:地址词典中记录有不同国家不同地区的所有地名地址(包括别名以及简称等),首先根据地址词典将地名地址数据中有可能出现的地名词组顺序匹配出来,然后构建一个有向无环图,每个词组分别是有向无环图中的一个节点,且分别对应着一条被赋予边长(即权值,在非统计粗分模型中,假定所有的词都是对等的,为便于计算,将所有词对应边的边长均设为1)的边。有向无环图中起点到终点的所有路径中,求出每个节点到源节点的路径值,对应路径集合,作为每个节点的路径结果集。
例如,假设待分字串S=c1 c2……cn,其中ci(i=1,2,…n)为单个的字,n为串的长度,n≥1。建立一个节点数为n+1的有向无环图G,各节点编号依次为V0,V1,V2,…,Vn。通过以下两种规则建立G所有可能的词边:
(1)相邻节点Vk-1,Vk之间建立有向边<Vk-1,Vk>,边的长度值为Lk,边对应的词默认为ck(k=1,2,…n);
(2)若w=ci ci+1……cj是一个词,则节点Vi-1,Vj之间建立有向边<Vi-1,Vj>,边的长度值为Lw,边对应的词为w(0<i<j≤n)。
依照上述规则,使得待分字串S中包含的所有词与有向无环图G中的边一一对应,具体如图3所示,为本申请实施例的有向无环图结构示意图。N-最短路径优化算法的词语粗切问题即为求解有向无环图G的集合NSP。有向无环图结构的求解过程具体为:
设:Path(i,j)为所有从节点Vi到节点Vj的路径集合;Length(path)为路径path的长度,Length(path)值等于path中所有边的长度之和;LS为有向无环图G中所有从V0到Vn路径的长度集合;则有:
LS={len|len=Length(path),path∈Path(0,n)} (1)
NLS为V0到Vn的N-最短路径长度集合,NSP为V0到Vn的N-最短路径集合;RS是最终求出的N-最短路径粗分结果集。NLS的定义为:|NLS|=min(|LS|,N);a∈LS-NLS,b∈NLS→a<b NSP={path|path∈Path(0,n),Length(path)∈NLS}RS={w1w2…wm|wi是path的第i条边对应的词,i=1,2,…,m,其中path∈NSP},n为最短路径数。
以文本数据“他说的确实在理”构建有向无环图的求解为例,该文本数据的求解过程如图4所示。首先,采用贪心算法求得每个节点的局部最优解。记录每个节点处的最短路径值以及该节点的前驱,如果某节点包括两条以上相同长度的路径,则分别记录每条路径上该节点的前驱,该文本数据的前驱记录表如图5所示,其中,在(a)中,前驱(2,1)他、(3,1)他,长度分别为3和4,对应节点分别为012,0123;在(b)中,前驱(4,1)他和(4,2)他说,长度分别为4和5,对应节点分别为0123,01234;在(c)中,前驱(4,1)他、(5,1)他((4,2)他)和(5,2)他说,长度分别为4、5和6,对应节点分别为0123,01234,012345;在(d)中,前驱(6,1)他((5,1)他)、(6,2)他说((5,2))和(6,3)他说的,长度分别为5、6和7,对应节点分别为01234,012345,0123456。然后通过回溯算法,往前搜索更加优选的结果,最终求解出文本数据“他说的确实在理”的最优分词结果为“他|说|的|确实|在理|”。
基于上述,本发明通过采用N-最短路径分词算法对地名地址进行分词,不仅可以大大减少分词数量,还能尽量将所有可能的分词结果包含不流失,避免算法本身因素可能造成的舍弃正确结果的同时,又能尽可能的缩小搜索空间,提升分词效率。
S14:按照地名地址模型中的级别要素将切分后的至少一个词组转换为预定格式(计算机可识别)的字符串,然后将转换后的字符串与地理编码库中对应的地理坐标进行匹配;
S15:将字符串匹配到的地理坐标作为对应地名地址的标准地理坐标。
请参阅图6,是本申请第二实施例的地理编码方法的流程图。本申请第二实施例的地理编码方法包括以下步骤:
S20:对初始地名地址数据进行数据清洗;
本步骤中,由于用户端输入的地名地址等文本数据中可能会包含错别字或重复字,为了避免由于文本数据中字符串不一致、拼写错误等问题导致后续的字符串与地理坐标匹配错误,本发明实施例使用Trillum技术,采用语法分析和模糊匹配算法对地名地址进行数据清洗。
S21:将清洗后的地名地址数据结构化后,建立地名地址模型;
本步骤中,不同国家或地区对地名地址的表述方式具有不同粒度范围规则,可以把地名地址看成一种在层次上可伸缩的地名地址模型。
S22:根据地名地址模型建立包含地名数据表、建筑物数据表以及门(楼)牌数据表的地理编码库;
本步骤中,地名数据表、建筑物数据表以及门(楼)牌数据表的表结构可根据应用场景进行定义,按照各表结构依次录入所有省、区县、街道、小区、标志物、门牌号和地理坐标进行地理编码库的构建。
S23:基于地址词典,采用动态删除算法与N-最短路径分词算法相结合的N-最短路径改进分词算法对不规则的地名地址数据进行分词及标准化处理,将地名地址数据切分为至少一个词组;
本步骤中,为了进一步提高分词效率,本发明提出将动态删除算法与N-最短路径分词算法相结合的N-最短路径改进分词算法,其中,动态删除算法的基本思想是:构建最短路径更新队列,用于存放被删除的节点的子节点们;而在原来的最短路径树中删除应当被删除的节点以及所有的子节点;选择最接近根节点的节点用于在队列中更新,并且不再将更新过的节点***队列中以减少节点更新的次数。N-最短路径改进分词算法如图7所示,其求解过程具体为:
第一步:首先基于N-最短路径分词算法,以词(或字)为节点构造有向无环图G;其中,有向无环图构造过程与第一实施例相同,本实施例将不再赘述;
第二步:计算从开始节点到结束节点的最短路径为Lj=1,如果j小于最短路径数(即j<n)并且存在其他候选路径,则更新当前路径L为Lj,反之结束;其中,候选路径是指不同的组词切割方式产生的不同路径。
其中,Lj用于存储最短路径,其中的j是一个动态变量,j的初始值可根据整个字符串的长度进行设定,如“他说的的确是在理”,j的初始值为8,当完成词语组合,删除组合间的节点,再更新j值,随着句子分割的持续进行,j值会越来越小,直到句子无法切割为止。
第三步:从当前路径中的第一个节点开始,将入度大于1的第一个节点删除,并将被删除节点记为Hm,判断Hm的子孙节点是否在集合E中,如果在集合E中,则计算从开始节点V0到Hm的最短路径,并将该最短路径的结束节点记为H’m;如果不在集合E中,则从有向无环图G中删除节点Hm及其所有子孙节点;其中,集合E为V0到Vn的N-最短路径集合(即NSP),此处用于判断被删除节点是否在最短路径中。Hm与H’m在每一个循环当中均代表结束节点,H’m会作为下一次循环的结束标记。
第四步:重复上述过程,直到m≮n,更新当前路径,求得开始节点V0到所有节点H’m的最短路径j=j+1。其中,n为删除节点后的最短路径数,m为j循环构造后的最短路径,在每一次循环当中,m的值为m=j+1,且在进入下一个循环后,Hm会随m值更新,而H’m不会改变。
在上述求解过程中,为了避免影响搜索效率和准确性,对于保留的前j个最优路径,j的值应当适中,不能过大也不能过小。
S24:按照地名地址模型中的级别要素将切分后的至少一个词组转换为预定格式(计算机可识别)的字符串,然后将转换后的字符串与地理编码库中对应的地理坐标进行匹配;
S25:将字符串匹配到的地理坐标作为对应地名地址的标准地理坐标。
为了验证本申请实施例的可行性和有效性,通过借助ArcGIS api forJavascript平台对本方案进行了实验,并与传统算法的精确度进行了对比,对比结果如表1所示:
表1算法精确度对比
实验结果表明,采用本申请实施例的地理坐标匹配正确率超过了传统算法,且分词速度加快了两倍以上。
基于上述,本申请实施例的地理编码方法运用N-最短路径优化算法对地名地址进行分词及标准化处理,根据标准化处理结果对地名地址进行切分后,按照地名地址模型中的级别要素将切分后的地名地址转换成计算机能够识别的字符串,最后将字符串与地理编码库中相应的地理坐标进行匹配,根据匹配结果为地名地址赋予标准地理坐标。本申请通过在算法中加入辅助的语法与语义规则,改进逐词遍历的弊端,增加了实用性,秉承了全切分思想的优势,既能够尽可能减少切分词组的数量,同时又能包含所有需要被保留的结果,能有效避免资源浪费,加大搜索效率。
请参阅图8,是本申请实施例的地理编码***的结构示意图。本申请实施例的地理编码***41包括:
数据清洗模块41:用于对初始地名地址数据进行数据清洗;由于用户端输入的地名地址等文本数据中可能会包含错别字或重复字,为了避免由于文本数据中字符串不一致、拼写错误等问题导致后续的字符串与地理坐标匹配错误,本发明实施例使用Trillum技术,采用语法分析和模糊匹配算法对地名地址进行数据清洗。
地名地址模型构建模块42:用于将清洗后的地名地址数据结构化后,建立地名地址模型;其中,不同国家或地区对地名地址的表述方式具有不同粒度范围规则,可以把地名地址看成一种在层次上可伸缩的地名地址模型。
地理编码库构建模块43:用于根据地名地址模型建立包含地名数据表、建筑物数据表以及门(楼)牌数据表的地理编码库;其中,地名数据表、建筑物数据表以及门(楼)牌数据表的表结构可根据应用场景进行定义,按照各表结构依次录入所有省、区县、街道、小区、标志物、门牌号和地理坐标进行地理编码库的构建。
分词及标准化处理模块44:用于基于地址词典,运用N-最短路径优化算法对不规则的地名地址数据进行分词及标准化处理,将地名地址数据切分为至少一个词组;其中,N-最短路径优化算法实现过程具体为:地址词典中记录有不同国家不同地区的所有地名地址(包括别名以及简称等),首先根据地址词典将地名地址数据中有可能出现的地名词组顺序匹配出来,然后构建一个有向无环图,每个词组分别是有向无环图中的一个节点,且分别对应着一条被赋予边长(即权值,在非统计粗分模型中,假定所有的词都是对等的,为便于计算,将所有词对应边的边长均设为1)的边。有向无环图中起点到终点的所有路径中,求出每个节点到源节点的路径值,对应路径集合,作为每个节点的路径结果集。
例如,假设待分字串S=c1 c2……cn,其中ci(i=1,2,…n)为单个的字,n为串的长度,n≥1。建立一个节点数为n+1的有向无环图G,各节点编号依次为V0,V1,V2,…,Vn。通过以下两种规则建立G所有可能的词边:
(1)相邻节点Vk-1,Vk之间建立有向边<Vk-1,Vk>,边的长度值为Lk,边对应的词默认为ck(k=1,2,…n);
(2)若w=ci ci+1……cj是一个词,则节点Vi-1,Vj之间建立有向边<Vi-1,Vj>,边的长度值为Lw,边对应的词为w(0<i<j≤n)。
依照上述规则,使得待分字串S中包含的所有词与有向无环图G中的边一一对应,具体如图3所示,为本申请实施例的有向无环图结构示意图。N-最短路径优化算法的词语粗切问题即为求解有向无环图G的集合NSP。有向无环图结构的求解过程具体为:
设:Path(i,j)为所有从节点Vi到节点Vj的路径集合;Length(path)为路径path的长度,Length(path)值等于path中所有边的长度之和;LS为有向无环图G中所有从V0到Vn路径的长度集合;则有:
LS={len|len=Length(path),path∈Path(0,n)} (1)
NLS为V0到Vn的N-最短路径长度集合;NSP为V0到Vn的N-最短路径集合;RS是最终求出的N-最短路径粗分结果集。NLS的定义为:|NLS|=min(|LS|,N);a∈LS-NLS,b∈NLS→a<b NSP={path|path∈Path(0,n),Length(path)∈NLS}RS={w1w2…wm|wi是path的第i条边对应的词,i=1,2,…,m,其中path∈NSP}。
以文本数据“他说的确实在理”构建有向无环图的求解为例,求解过程如图4所示。首先,采用贪心算法求得每个节点的局部最优解。记录每个节点处的最短路径值以及该节点的前驱,如果某节点包括两条以上相同长度的路径,则分别记录每条路径上该节点的前驱(前驱记录表如图4所示),然后通过回溯算法,往前搜索更加优选的结果,最终求解出文本数据“他说的确实在理”的最优分词结果为“他|说|的|确实|在理|”。
基于上述,本发明通过采用N-最短路径分词算法对地名地址进行分词,不仅可以大大减少分词数量,还能尽量将所有可能的分词结果包含不流失,避免算法本身因素可能造成的舍弃正确结果的同时,又能尽可能的缩小搜索空间,提升分词效率。
在本申请另一实施例中,为了进一步提高分词效率,分词及标准化处理模块44采用将动态删除算法与N-最短路径分词算法相结合的N-最短路径改进分词算法进行分词即标准化处理,具体为:
第一步:首先基于N-最短路径分词算法,以词为节点构造有向无环图G;
第二步:计算从开始节点到结束节点的最短路径为Lj=1,如果j小于最短路径数并且存在其他候选路径,则更新当前路径L为Lj,反之结束;
第三步:从当前路径中的第一个节点开始,将入度大于1的第一个节点删除,并将被删除节点记为Hm,判断Hm的子孙节点是否在集合E中,如果在集合E中,则计算从开始节点V0到Hm的最短路径,并将该最短路径的结束节点记为H’m;如果不在集合E中,则从有向无环图G中删除节点Hm及其所有子孙节点;
第四步:重复上述过程,直到m≮n,更新当前路径,求得开始节点V0到所有节点H’m的最短路径j=j+1。
坐标匹配模块45:用于按照地名地址模型中的级别要素将至少一个词组转换为预定格式(计算机可识别)的字符串,然后将转换后的字符串与地理编码库中对应的地理坐标进行匹配,将字符串匹配到的地理坐标作为对应地名地址的标准地理坐标。
请参阅图9,为本申请实施例的终端结构示意图。该终端50包括处理器51、与处理器51耦接的存储器52。
存储器52存储有用于实现上述地理编码方法的程序指令。
处理器51用于执行存储器52存储的程序指令以控制地理编码。
其中,处理器51还可以称为CPU(Central Processing Unit,中央处理单元)。处理器51可能是一种集成电路芯片,具有信号的处理能力。处理器51还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
请参阅图10,为本申请实施例的存储介质的结构示意图。本申请实施例的存储介质存储有能够实现上述所有方法的程序文件61,其中,该程序文件61可以以软件产品的形式存储在上述存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本申请中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本申请所示的这些实施例,而是要符合与本申请所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种地理编码方法,其特征在于,包括:
根据地名地址数据建立地名地址模型;
根据所述地名地址模型建立地理编码库,所述地理编码库包括行政区域实体数据表、街巷实体数据表以及小区实体数据表;
基于地址词典,运用N-最短路径优化算法对所述地名地址数据进行分词及标准化处理,将所述地名地址数据切分为至少一个词组;
按照所述地名地址模型中的级别要素将所述至少一个词组转换成预定格式的字符串,将所述字符串与所述地理编码库中对应的地理坐标进行匹配,将所述字符串匹配到的地理坐标作为对应地名地址的标准地理坐标。
2.根据权利要求1所述的地理编码方法,其特征在于,所述根据地名地址数据建立地名地址模型前还包括:
对所述地名地址数据进行数据清洗。
3.根据权利要求1所述的地理编码方法,其特征在于,所述根据所述地名地址模型建立地理编码库包括:
定义所述行政区域实体数据表、街巷实体数据表以及小区实体数据表的表结构,按照所述表结构依次录入省、区县、街道、小区、标志物、门牌号和地理坐标进行所述地理编码库的构建。
4.根据权利要求3所述的地理编码方法,其特征在于,所述基于地址词典,运用N-最短路径优化算法对所述地名地址数据进行分词及标准化处理包括:
根据所述地址词典顺序匹配出所述地名地址数据中的地名词组,并构建一个有向无环图,每个词组分别是所述有向无环图中的一个节点,且分别对应着一条被赋予边长的边;
按照预设规则建立所述有向无环图所有可能的词边,使得所述地名地理数据中包含的所有词分别与所述有向无环图中的边一一对应,并求解所述有向无环图中从开始节点到结束节点的N-最短路径集合,根据所述N-最短路径集合对所述地名地址数据进行分词。
5.根据权利要求4所述的地理编码方法,其特征在于,假设所述地名地理数据S=c1c2……cn,其中ci(i=1,2,…n)为单个的字,n为串的长度,n≥1,建立的有向无环图G的节点数为n+1,各节点编号依次为V0,V1,V2,…,Vn,所述建立有向无环图所有可能的词边的预设规则为:
相邻节点Vk-1,Vk之间建立有向边<Vk-1,Vk>,边的长度值为Lk,边对应的词默认为ck(k=1,2,…n);
若w=ci ci+1……cj是一个词,则节点Vi-1,Vj之间建立有向边<Vi-1,Vj>,边的长度值为Lw,边对应的词为w(0<i<j≤n)。
6.根据权利要求5所述的地理编码方法,其特征在于,所述求解所述有向无环图中从开始节点到结束节点的N-最短路径集合包括:
假设Path(i,j)为所有从节点Vi到节点Vj的路径集合;Length(path)为路径path的长度,Length(path)值等于path中所有边的长度之和;LS为有向无环图G中所有从V0到Vn路径的长度集合,则有:
LS={len|len=Length(path),path∈Path(0,n)}
设NLS为V0到Vn的N-最短路径长度集合,NSP为V0到Vn的N-最短路径集合,RS是最终求出的N-最短路径粗分结果集,|NLS|=min(|LS|,N);a∈LS-NLS,b∈NLS→a<b,NSP={path|path∈Path(0,n),Length(path)∈NLS}RS={w1w2…wm|,wi是path的第i条边对应的词,i=1,2,…,m,其中path∈NSP},n为最短路径数。
7.根据权利要求6所述的地理编码方法,其特征在于,所述基于地址词典,运用N-最短路径优化算法对所述地名地址数据进行分词及标准化处理还包括:
计算从开始节点到结束节点的最短路径为Lj=1,如果j小于最短路径数并且存在其他候选路径,则更新当前路径L为Lj,反之结束;
从当前路径中的第一个节点开始,将入度大于1的第一个节点删除,并将被删除节点记为Hm,判断Hm的子孙节点是否在集合E中,如果在集合E中,则计算从开始节点到Hm的最短路径,并将该最短路径的结束节点记为H’m;如果不在集合E中,则从有向无环图G中删除节点Hm及其所有子孙节点;其中,集合E为V0到Vn的N-最短路径集合,Hm与H’m在每一个循环当中均代表结束节点,H’m作为下一次循环的结束标记;
重复所述节点删除过程,直到m≮n,更新当前路径,求得开始节点V0到所有节点H’m的最短路径j=j+1;n为删除节点后的最短路径数,m为j循环构造后的最短路径,在每一次循环当中,m的值为m=j+1。
8.一种地理编码***,其特征在于,包括:
地名地址模型构建模块:用于根据地名地址数据建立地名地址模型;
地理编码库构建模块:用于根据所述地名地址模型建立地理编码库,所述地理编码库包括行政区域实体数据表、街巷实体数据表以及小区实体数据表;
分词及标准化处理模块:用于基于地址词典,运用N-最短路径优化算法对所述地名地址数据进行分词及标准化处理,将所述地名地址数据切分为至少一个词组;
坐标匹配模块:用于按照所述地名地址模型中的级别要素将所述至少一个词组转换成预定格式的字符串,将所述字符串与所述地理编码库中对应的地理坐标进行匹配,将所述字符串匹配到的地理坐标作为对应地名地址的标准地理坐标。
9.一种终端,其特征在于,所述终端包括处理器、与所述处理器耦接的存储器,其中,
所述存储器存储有用于实现权利要求1-7任一项所述的地理编码方法的程序指令;
所述处理器用于执行所述存储器存储的所述程序指令以控制地理编码。
10.一种存储介质,其特征在于,存储有处理器可运行的程序指令,所述程序指令用于执行权利要求1至7任一项所述地理编码方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011222303.XA CN112256817A (zh) | 2020-11-05 | 2020-11-05 | 一种地理编码方法、***、终端以及存储介质 |
PCT/CN2020/139759 WO2022095256A1 (zh) | 2020-11-05 | 2020-12-26 | 一种地理编码方法、***、终端以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011222303.XA CN112256817A (zh) | 2020-11-05 | 2020-11-05 | 一种地理编码方法、***、终端以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112256817A true CN112256817A (zh) | 2021-01-22 |
Family
ID=74268299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011222303.XA Pending CN112256817A (zh) | 2020-11-05 | 2020-11-05 | 一种地理编码方法、***、终端以及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112256817A (zh) |
WO (1) | WO2022095256A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112699640A (zh) * | 2021-03-23 | 2021-04-23 | 城云科技(中国)有限公司 | 基于PostgreSQL的地理编码方法和*** |
CN112949260A (zh) * | 2021-03-05 | 2021-06-11 | 浪潮云信息技术股份公司 | 一种加快非结构化企业地址转换为经纬度的方法 |
CN113723681A (zh) * | 2021-08-30 | 2021-11-30 | 平安国际智慧城市科技股份有限公司 | 路径选择方法、装置、电子设备及可读存储介质 |
CN114970518A (zh) * | 2022-02-15 | 2022-08-30 | 北京青萌数海科技有限公司 | 一种修正地址数据的方法和装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115809315B (zh) * | 2022-11-24 | 2024-06-21 | 中科星图智慧科技安徽有限公司 | 一种地名地址标准化匹配算法 |
CN116910386B (zh) * | 2023-09-14 | 2024-02-02 | 深圳市智慧城市科技发展集团有限公司 | 地址补全方法、终端设备及计算机可读存储介质 |
CN117874013B (zh) * | 2023-12-23 | 2024-08-13 | 武汉科信云图信息技术有限公司 | 一种业务地名地址数据标准化治理效率提升方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109145169A (zh) * | 2018-07-26 | 2019-01-04 | 浙江省测绘科学技术研究院 | 一种基于统计分词的地址匹配方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8868479B2 (en) * | 2007-09-28 | 2014-10-21 | Telogis, Inc. | Natural language parsers to normalize addresses for geocoding |
CN108763215B (zh) * | 2018-05-30 | 2022-04-29 | 中智诚征信有限公司 | 一种基于地址分词的地址存储方法、装置及计算机设备 |
-
2020
- 2020-11-05 CN CN202011222303.XA patent/CN112256817A/zh active Pending
- 2020-12-26 WO PCT/CN2020/139759 patent/WO2022095256A1/zh active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109145169A (zh) * | 2018-07-26 | 2019-01-04 | 浙江省测绘科学技术研究院 | 一种基于统计分词的地址匹配方法 |
Non-Patent Citations (3)
Title |
---|
吴晓倩 等: "基于N-最短路径的中文分词技术研究", 《安徽理工大学学报(自然科学版)》, vol. 34, no. 1, 31 March 2014 (2014-03-31), pages 72 - 75 * |
吴晓倩 等: "基于N-最短路径的中文分词技术研究", 《安徽理工大学学报(自然科学版)》, vol. 34, no. 1, pages 72 - 75 * |
徐飞;孙劲光;: "基于一种粗切分的最短路径中文分词研究", 计算机与信息技术, no. 11, 20 November 2007 (2007-11-20), pages 32 - 34 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112949260A (zh) * | 2021-03-05 | 2021-06-11 | 浪潮云信息技术股份公司 | 一种加快非结构化企业地址转换为经纬度的方法 |
CN112699640A (zh) * | 2021-03-23 | 2021-04-23 | 城云科技(中国)有限公司 | 基于PostgreSQL的地理编码方法和*** |
CN113723681A (zh) * | 2021-08-30 | 2021-11-30 | 平安国际智慧城市科技股份有限公司 | 路径选择方法、装置、电子设备及可读存储介质 |
CN114970518A (zh) * | 2022-02-15 | 2022-08-30 | 北京青萌数海科技有限公司 | 一种修正地址数据的方法和装置 |
CN114970518B (zh) * | 2022-02-15 | 2022-12-16 | 北京青萌数海科技有限公司 | 一种修正地址数据的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2022095256A1 (zh) | 2022-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112256817A (zh) | 一种地理编码方法、***、终端以及存储介质 | |
WO2020228706A1 (zh) | 基于围栏地址的坐标数据处理方法、装置和计算机设备 | |
CN107145577A (zh) | 地址标准化方法、装置、存储介质及计算机 | |
Davis et al. | Assessing the certainty of locations produced by an address geocoding system | |
US7046827B2 (en) | Adapting point geometry for storing address density | |
CN110990520B (zh) | 一种地址编码方法、装置、电子设备和存储介质 | |
CN106909611B (zh) | 一种基于文本信息抽取的酒店自动匹配方法 | |
US20130231862A1 (en) | Customizable route planning | |
CN112612863B (zh) | 一种基于中文分词器的地址匹配方法及*** | |
CN108733810B (zh) | 一种地址数据匹配方法及装置 | |
JP2010128806A (ja) | 情報分析装置 | |
WO2019227581A1 (zh) | 兴趣点识别方法、装置、终端设备及存储介质 | |
CN111291099B (zh) | 一种地址模糊匹配方法、***及计算机设备 | |
Christen et al. | A probabilistic geocoding system based on a national address file | |
CN116414823A (zh) | 一种基于分词模型的地址定位方法和装置 | |
CN116414824A (zh) | 行政区划信息识别和标准化处理的方法、装置及存储介质 | |
CN115630648A (zh) | 面向人机对话的地址要素解析方法、***与计算机可读介质 | |
CN109271625B (zh) | 一种汉语地名的拼音拼写规范化方法 | |
CN112069824B (zh) | 基于上下文概率和引证的地域识别方法、装置及介质 | |
CN113515677B (zh) | 地址匹配方法、装置及计算机可读存储介质 | |
CN116431625A (zh) | 一种地理实体的定位分析方法、装置及计算机设备 | |
CN112417812B (zh) | 地址标准化方法、***及电子设备 | |
CN115185986A (zh) | 省市区地址信息匹配方法、装置、计算机设备及存储介质 | |
Liang et al. | A Hierarchy-Aware Geocoding Model Based on Cross-Attention within the Seq2Seq Framework | |
CN111680122B (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 |