CN106649464B - 一种中文地址树的构建方法及装置 - Google Patents
一种中文地址树的构建方法及装置 Download PDFInfo
- Publication number
- CN106649464B CN106649464B CN201610850980.3A CN201610850980A CN106649464B CN 106649464 B CN106649464 B CN 106649464B CN 201610850980 A CN201610850980 A CN 201610850980A CN 106649464 B CN106649464 B CN 106649464B
- Authority
- CN
- China
- Prior art keywords
- node
- address
- nodename
- addresses
- brotgher
- 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
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明适用于数据处理领域,提供了一种中文地址树的构建方法及装置,包括:根据地址数据构建初始地址树;对具有相同父节点的每组兄弟节点分别进行排序;以相同的节点名称前缀作为一个新节点名称,并根据新节点更新地址树结构;生成地址要素关系表及节点名称索引;根据地址要素关系表与节点名称索引,调整地址树中重名节点的位置或保留各节点位置,得到最终地址树。本发明实施例通过提取新节点以及对节点的位置进行多次调整,增强了地址数据管理的层次性,通过建立地址要素关系表及节点名称索引,对重名节点的错误层次关系进行纠正,提高了中文地址结构化的准确性,因整个地址树无须人工构建,由各个处理单元自动完成,提高了中文地址数据的管理效率。
Description
技术领域
本发明属于数据处理领域,尤其涉及一种中文地址树的构建方法及装置。
背景技术
随着数字化城市的不断快速发展,越来越多的城市规划问题需要联合空间信息加以分析,与此同时,传统数据分析方法的局限性逐渐显示出来。由于城市规划管理数据不具备空间信息,因而在实际应用中,通常会使用地址编码(Geocoding)技术来对地址描述的信息进行空间定位,建立起空间信息与非空间信息之间联系的过程,以将信息系统和关系数据库中的数据与空间数据关联起来。由于尚未存在统一的中文地址格式规范,如何对海量中文地址数据进行结构化的管理成为了当前地址编码技术发展的一大障碍。
建立地址词典库是对中文地址数据进行结构化管理的一种方式。城市地址编码的核心技术包括地址要素解析,地理要素解析的过程可看作是一种特定的中文地址分词任务。目前的大部分地址分词方法都需要将待分析的字符串与地址词典库中的词条进行匹配或统计处理,因而分词准确率的高低往往取决于地址词典库构建的好坏。建立地址词典库通常是由人工梳理和核对地址的方法来进行,耗时巨大,地址库构建及数据管理效率十分低下。同时由于地址数据本身的不规则和随意性,在地址数据管理过程中难以确定地址模型的元素以及各元素之间的空间约束关系,容易出现人为梳理错误,从而导致中文地址数据结构化不准确的问题发生。
发明内容
本发明实施例的目的在于提供一种中文地址树的构建方法及装置,旨在解决解决目前中文地址结构化不准确以及中文地址数据管理效率低的问题。
本发明实施例是这样实现的,一种中文地址树的构建方法,包括:
获取地址数据;
根据所述地址数据构建原始地址树;
对所述原始地址树中具有相同父节点的每组兄弟节点分别进行排序,并根据所述排序结果对所述兄弟节点的位置进行调整,得到第二地址树;
获取所述兄弟节点之间相同的节点名称前缀;
将所述相同的节点名称前缀作为一个新节点的名称,将所述新节点插入到所述第二地址树中,并调整具有所述相同的节点名称前缀的所述兄弟节点的名称,得到第三地址树;
遍历所述第三地址树中的所有节点,根据所述第三地址树中的各个节点名称与所述各个节点的父节点名称之间的关联关系,生成地址要素关系表;
在所述第三地址树中建立节点名称索引;
根据所述地址要素关系表及所述节点名称索引,判断是否存在需要调整位置的节点,若存在需要调整位置的节点,执行调整算法后得到最终地址树,若不存在需要调整位置的节点,直接将第三地址树输出为最终地址树。
本发明实施例的另一目的在于提供一种中文地址树的构建装置,包括:
第一获取单元,用于获取地址数据;
第一构建单元,用于根据所述地址数据构建原始地址树;
排序单元,用于对所述原始地址树中具有相同父节点的每组兄弟节点分别进行排序,并根据所述排序结果对所述兄弟节点的位置进行调整,得到第二地址树;
第二获取单元,用于获取所述兄弟节点之间相同的节点名称前缀;
第二构建单元,用于将所述相同的节点名称前缀作为一个新节点的名称,将所述新节点插入到所述第二地址树中,并调整具有所述相同的节点名称前缀的所述兄弟节点的名称,得到第三地址树;
地址要素关系单元,用于遍历所述第三地址树中的所有节点,根据所述第三地址树中的各个节点名称与所述各个节点的父节点名称之间的关联关系,生成地址要素关系表;
索引建立单元,用于在所述第三地址树中建立节点名称索引;
层次调整单元,用于根据所述地址要素关系表及所述节点名称索引,判断是否存在需要调整位置的节点,若存在需要调整位置的节点,执行调整算法后得到最终地址树,若不存在需要调整位置的节点,直接将第三地址树输出为最终地址树。
在本发明实施例中,将原始地址树中的各个兄弟节点进行排序以获取相同的节点名称前缀,使得地址树能够利用相同的节点名称前缀形成新节点,增强了地址数据管理的层次性,通过建立地址要素关系表及节点名称索引,能够对重名节点的错误层次关系进行纠正处理,提高了中文地址结构化的准确性,因整个地址树的建立过程由各个处理单元自动识别完成,无须通过人工的方式实现,提高了中文地址数据的管理效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的中文地址树构建方法的实现流程图;
图2是本发明实施例提供的中文地址树构建方法S102的具体实现流程图;
图3是本发明实施例提供的中文地址树构建方法S102的一个实施示例图;
图4是本发明实施例提供的中文地址树构建方法S102的另一实施示例图;
图5是本发明实施例提供的中文地址树构建方法S103的实施示例图;
图6是本发明实施例提供的中文地址树构建方法S105的具体实现流程图;
图7是本发明实施例提供的中文地址树构建方法S105的实施示例图;
图8是本发明实施例提供的中文地址树构建方法S108的具体实现流程图;
图9是本发明实施例提供的中文地址树构建方法S108对应的第三地址树调整为最终地址树的一个效果图;
图10是本发明实施例提供地址树构建方法S108对应的第三地址树调整为最终地址树的另一效果图;
图11是本发明实施例提供的中文地址树构建装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1示出了本发明实施例提供的中文地址树构建方法的实现流程,详述如下:
在S101中,获取地址数据。
在本实施例中,地址数据为用于表达指定地点地理位置的文本地址的集合,可以为包含有各种存储格式的多条地址信息的集合。
包含有一条或多条地址信息的地址数据预先存储于系统中,在建立地址树时,直接读取已经存在的地址数据;或者,在构建地址树时,实时从其他信息系统中搜集或调用地址数据。所述其他信息系统包含但不限于土地资源信息调查系统、社保系统以及人居委信息系统等。
在S102中,根据所述地址数据构建原始地址树。
在地址树构建之前,所有地址数据均处于非标准结构化的状态。对于地址数据中的每一条地址信息,依照地址元素的空间约束关系,将其构建成以层次化树形结构存储的原始地址树。所述原始地址树为地址树构建时的初始状态,通常包含有许多重名节点,且各条分支路径相对较短或者具有较为冗余的节点名称。每个节点代表地址数据中具有实际地理意义的地址实体,处于上下层位置的相邻节点的父子关系表达了地址实体在地理空间中的上下级关系或大小关系。对于原始地址树或处于任意时刻状态下的地址树来说,每个节点包含有自身的节点名称、子节点集合及父节点信息。
在S103中,对所述原始地址树中具有相同父节点的每组兄弟节点分别进行排序,并根据所述排序结果对所述兄弟节点的位置进行调整,得到第二地址树。
在地址树同一层次的节点中,具有相同父节点的所有节点互为兄弟节点。对所述原始地址树中具有相同父节点的每组兄弟节点分别进行排序,即在每一组兄弟节点的内部对各个节点进行排序。
例如,在地址树中,节点A与节点B的父节点均为节点C,节点D与节点E的父节点均为节点F,则节点A与节点B为第一组兄弟节点,节点D与节点E为第二组兄弟节点。在每一组兄弟节点的内部对各个节点进行排序,即在节点A与节点B两者之间进行排序,在节点D与节点E两者之间进行排序,两组兄弟节点的排序结果相互独立。
所述排序依照预设的排序算法进行,可以按照节点中的某个或某些关键值的大小进行升序或降序等操作,使得将一个任意的兄弟节点序列,重新排列成一个关键字有序的节点序列。依照排序结果,调整每组兄弟节点之间的左右位置关系。所述原始地址树经过上述节点位置调整步骤后,形成了第二地址树。
在S104中,获取兄弟节点之间相同的节点名称前缀。
在本实施例中,从兄弟节点的节点名称的起始字符开始,利用正向最大匹配算法将节点名称中相同的部分提取出来,所述节点名称相同的部分为节点名称前缀。
具体地,该相同的节点名称前缀仅为具有地址实体意义的名词,不包括单字符等不具备地址含义的字词部分。
在S105中,将所述相同的节点名称前缀作为一个新节点的名称,将所述新节点插入到所述第二地址树中,并调整具有所述相同的节点名称前缀的所述兄弟节点的名称,得到第三地址树。
通过S104将各个兄弟节点的名称中相同的部分提取出来后,构建第二地址树的一个新节点,且该新节点的名称为所述相同的节点名称前缀。由于新节点的出现,需要将其插入到第二地址树中合适的位置,作为一个分支中的某个节点,使该新节点能够展现出新的地址结构层次关系。
在本发明实施例中,为了在地址分词或者地址筛选时能够有较高的地址匹配效率,将具有相同的节点名称前缀的所述兄弟节点的名称进行调整,简化各层节点的节点信息,实现地址的精确、快速查找。该名称调整过程可看作是,将已被提取出来的相同的节点名称前缀去除,保留兄弟节点各自剩余的节点名称部分。
第二地址树经过上述的节点名称修改及节点位置调整后,形成第三地址树。
在S106中,遍历所述第三地址树中的所有节点,根据所述第三地址树中的各个节点名称与所述各个节点的父节点名称之间的关联关系,生成地址要素关系表。
依据第三地址树的层次结构,获取每一个节点的名称以及该节点对应的父节点的名称,根据两者之间对应的父子关系,可生成包含多对父子关系节点信息的地址要素关系表。
由于可能存在节点位置不同,但节点名称相同的多个节点,因而在地址要素关系表中,一个节点名称可能对应一个或者多个父节点的名称。
对于包含有数字或者英文的地址实体分词,且以该分词为父节点名称时,地址要素关系表不记录该父节点与其子节点的关联情况。
S107,在所述第三地址树中,以键名对应键值的模式建立节点名称索引,键名为所述节点名称,键值为所述第三地址树中所述节点名称等于键名的所有节点的集合。
键名对应键值的模式即为key-value模式,根据所述节点名称索引,能够快速获取每个节点名称对应的所有节点的信息,可以包括重名节点的数目及位置状况。
在S108中,根据所述地址要素关系表及所述节点名称索引,判断是否存在需要调整位置的节点,若存在需要调整位置的节点,执行调整算法后得到最终地址树,若不存在需要调整位置的节点,直接将第三地址树输出为最终地址树。
通过所述地址要素关系表所记录的各节点名称及其对应父节点名称之间的关系情况以及所述节点名称索引中各节点名称对应的所有节点信息,利用预设的检测算法可获知,对于某个节点来说,是否存在相同名称的其他节点,且相同名称的其他节点是否位于相同的分支,根据上述检测结果可判断出是否存在需要调整位置的节点。
经过节点位置调整算法计算后,合并符合调整条件的相同名称节点的位置,保留不符合调整条件的相同名称节点的位置,以确认地址树中所有节点的层次位置均无错误,并得到处理过程结束后的最终地址树。
在本发明实施例中,将原始地址树中的各个兄弟节点进行排序以获取相同的节点名称前缀,使得地址树能够利用相同的节点名称前缀形成新节点,增强了地址数据管理的层次性,通过建立地址要素关系表及节点名称索引,能够对重名节点的错误层次关系进行纠正处理,提高了中文地址结构化的准确性,因整个地址树的建立过程由各个处理单元自动识别完成,无须通过人工的方式实现,提高了中文地址数据的管理效率。
图2示出了本发明实施例提供的中文地址树构建方法S102的具体实现流程,详述如下:
在S201中,建立根节点。
地址树的构建主要服务于特定地理区域的地址数据,用作对该区域海量的地址数据进行管理。根节点作为地址树中所有节点的祖先,在整个树形初始模型开始构造之前应当设立完成。
根据数据管理员的自定义选择,由系统完成根节点的设立过程。根据对需要进行地址数据收集及管理的区域,建立以该区域为名称的根节点。例如以区域的省份名或城市名为根节点的名称。此后所有的地址节点均作为所述根节点的子节点加入到地址树中。
在S202中,若所述地址数据为原始地址数据,则将所述原始地址数据作为一个新节点,并将所述新节点作为所述根节点的一级子节点。
地址数据未经任何分词处理即输入到本系统中,以进行结构化的层次地址树构建,则整条地址数据将直接作为地址树的一个新节点的名称,且该节点在地址树中的节点深度为2,即作为所述根节点的下层子节点。
作为本发明实施例的一个示例,假设原始地址数据有4条,分别为“阿婆山荔枝林楼”、“阿婆山垃圾场公厕”、“阿婆山垃圾场处理站”及“阿婆山荔枝林林平房”,且预先设置的根节点为“维亚市”,则每条原始地址数据对应的新节点以及构成的原始地址树如图3所示。
在S203中,若所述地址数据已经经过分词化处理,且包含多个地址实体名词,则所述每个地址实体名词对应一个新节点,且排序最前的所述地址实体名词对应的新节点作为所述根节点的一级子节点,排序在后的所述地址实体名词依次形成排序在前的所述地址实体分词对应的新节点的一级子节点。
地址数据是由其他信息系统中获取时,往往已经经过一些初步的地址文本处理流程,主要为对地址数据进行分词处理,以获取多个包含地址实体意义的名词。此时的地址数据不属于原始地址数据,且每个地址实体名词依照由前往后的次序排列成一条地址信息。
将每个地址实体名词作为一个新节点的名称,以第一个地址实体名词对应的新节点作为上述根节点的一级子节点,后面的地址实体名词对应的新节点依次作为该一级子节点的下层节点,次序越后的实体名词,其节点深度越大,在地址树中的位置层次越深。
作为本发明实施例的另一个实施示例,已经经过分词化处理的地址数据为“马鞍山|苹果林|楼”,则每个分词均含有地址实体意义。在本实施示例中,第一个地址实体名词为“马鞍山”,其位于“苹果林”的前面,“苹果林”位于“楼”的前面,且根节点仍为“维亚市”。因此,根据这条地址数据构建的原始地址树如图4所示。
作为本发明的另一实施例,S103具体包括:
以所述每组兄弟节点中的每个节点的拼音名称首字母作为排序比较对象,依照字母表顺序,对所述每个节点进行升序排列;
若所述排序比较对象相同,则依次将所述排序比较对象的下一个字母替换为所述排序比较对象,并依照字母表顺序,对所述每个节点进行升序排列。
由于本发明实施例中的地址树为中文地址树,各兄弟节点的名称基于中文地址命名,为了获取一个具有排序意义的关键字,取各个兄弟节点的拼音名称中的首字母来作为排序比较对象。依照字母表中A至Z的排列顺序对各个兄弟节点的首字母进行升序比较,在兄弟节点之间能得到一个排序的结果。
特别地,当排序过程中出现两个兄弟节点的拼音名称首字母相同时,无法依照上述规则进行比较,因而将拼音名称中首字母的下一个字母作为排序比较对象。若仍出现字母相同的情况,再取当前字母比较对象的下一个字母作比较,直至得出排序结果,并依照排序结果调整节点的位置,获得第二地址树。
图5作为本发明实施例的实现示例,经过上述排序处理后,兄弟节点“阿婆山荔枝林楼”与“阿婆山垃圾场处理站”的位置发生了互换,图5下方所示地址树即为本示例中的第二地址树。
作为本发明的另一个实施例,图6示出了中文地址树构建方法S105的具体实现流程,包括:
在S601中,将所述新节点插入到所述具有相同节点名称前缀的所述兄弟节点与所述兄弟节点的父节点之间。
在S602中,在所述兄弟节点的名称中,删除所述相同的节点名称前缀。
本发明实施例的实现过程可以由图7所示的现例来展示,图7上方表示为第二地址树,为了便于描述,以数字标记地址树的节点。
通过正向最大匹配算法,得到互为兄弟节点的节点1与节点2的相同节点名称前缀为“阿婆山垃圾场”,互为兄弟节点的节点3与节点4的相同节点名称前缀为“阿婆山荔枝林”,则构建出两个新节点的名称分别为“阿婆山垃圾场”和“阿婆山荔枝林”。
节点1至节点4的父节点为“维亚市”,依照步骤S601,先将新节点“阿婆山垃圾场”插入到“维亚市”与节点1、2之间,新节点“阿婆山荔枝林”插入到“维亚市”与节点3、4之间,因而节点1、2、3、4的节点深度全部加一。
依照步骤S602,将节点1和节点2中的相同的节点名称前缀“阿婆山垃圾场”删除,分别得到节点5和节点6所示的名称;将节点3和节点4中的相同的节点名称前缀“阿婆山荔枝林”删除,分别得到节点7和节点8所示的名称。
图7下方得到的地址树为第三地址树。
图8示出了本发明实施例提供的中文地址树构建方法S108的具体实现流程,详述如下:
S801,当所述节点名称索引的一个键值包含多个节点元素时,获取所述键值对应的所述键名,所述多个节点元素互为节点名称相同的节点。
由于Value为所述第三地址树中所述节点名称等于键名的所有节点的集合,因此,当所述节点名称索引中的所有键值均只包含一个节点元素时,该节点没有重名节点,因而无须对其进行位置调整。
当所述节点名称索引中出现有一个键值包含多个节点元素时,因节点名称索引的结构为Key-Value模式,故该键值可唯一对应一个键名,该键名为所述多个节点元素的共同节点名称,这些节点元素互为重名节点。
S802,在所述地址要素关系表中,若所述键名表示的节点名称存在唯一的父节点名称,且所述节点名称相同的各节点对应的各个父节点不是相同节点时,获取子节点数目最少的所述节点名称相同的节点对应的第一父节点,所述第一父节点的第一子节点属于所述节点名称相同的节点。
地址要素关系表记录各节点名称与其父节点名称之间的关系,但对于包含有数字或者英文的地理实体分词的父节点名称,地址要素关系表并不记录,因此,对于两个位置不同的重名节点来说,即使对应的真实父节点不相同,但在地址要素关系表中仍可以对应相同的父节点名称。
当所述键名表示的节点名称存在唯一的父节点名称,且所述节点名称相同的各节点对应的各个父节点不是相同节点时,分别获取N个重名节点的N个第一父节点的子节点数,判断得出子节点数最少的第一父节点,确认其在地址树中的位置。
例如,节点1与节点2为重名节点,则需要获取节点1的父节点3的子节点总数,以及节点2的父节点4的子节点总数,在父节点3与父节点4中,若确认父节点3为子节点数最少的父节点,则第一子节点为节点1,且需要获取父节点3在地址树中的具体位置。
S803,将所述节点名称相同的所有节点与所述第一子节点合并,得到最终地址树。
以第一子节点为目标节点,将节点名称相同的所有节点合并至该目标节点,连接各个重名节点的子分支随重名节点而移动,保证各个重名节点的子分支的父节点名称不改变。
作为本发明实施例的一个实施示例,如图9所示,节点1与节点3为名称相同的节点,根据步骤S802可知,节点3为目标节点,因而将节点1合并至节点3中,因重名节点1的子分支包含有节点2,故为了保证该子分支的父节点名称仍为“海关验证道”不改变,节点2随节点3一起移动,最终形成图9右侧所示的最终地址树。
S804,在所述地址要素关系表中,若所述键名表示的节点名称存在多个父节点名称时,获取子节点数目最少的所述节点名称相同的节点对应的第二父节点,所述第二父节点的第二子节点属于所述节点名称相同的节点。
具体地,S804对应的实际状况为,同一路径下出现节点名称相同的两个节点。
S805,将所述节点名称相同的所有节点与所述第二子节点合并,得到最终地址树。
S804与S805中的节点位置调整原理与S802和S803的实现原理相一致,因此不赘述。
图10示出了本发明实施例提供地址树构建方法S108对应的第三地址树调整为最终地址树的效果。左侧为第三地址树,其同一路径下出现了节点名称均为“海关验证道”的两个节点,经过合并调整后纠正了层次错乱的重名节点,并得到了右侧的最终地址树。
本发明实施例根据地址要素关系表及节点名称索引之间的关系,能够识别当前地址树中具有错乱层次的重名节点,并对其位置进行纠正处理,确保最终地址树能够准确地组织中文地址数据,实现精确的层次化管理,提高了中文地址结构化的准确性。
图11示出了本发明实施例提供的中文地址树构建装置的结构框图,该装置可以位于各种智能终端设备中,用于运行本发明图1至图10实施例所述的中文地址树构建方法。为了便于说明,仅示出了与本实施例相关的部分。
参照图11,该装置包括:
第一获取单元111,用于获取地址数据。
第一构建单元112,用于根据所述地址数据构建原始地址树。
排序单元113,用于对所述原始地址树中具有相同父节点的每组兄弟节点分别进行排序,并根据所述排序结果对所述兄弟节点的位置进行调整,得到第二地址树。
第二获取单元114,用于获取兄弟节点之间相同的节点名称前缀。
第二构建单元115,用于将所述相同的节点名称前缀作为一个新节点的名称,将所述新节点插入到所述第二地址树中,并调整具有所述相同的节点名称前缀的所述兄弟节点的名称,得到第三地址树。
地址要素关系单元116,用于遍历所述第三地址树中的所有节点,根据所述第三地址树中的各个节点名称与所述各个节点的父节点名称之间的关联关系,生成地址要素关系表。
索引建立单元117,用于在所述第三地址树中,以键名对应键值的模式建立节点名称索引,键名为节点名称,键值为所述第三地址树中所述节点名称等于键名的所有节点的集合;
层次调整单元118,用于根据所述地址要素关系表及所述节点名称索引,判断是否存在需要调整位置的节点,若存在需要调整位置的节点,执行调整算法后得到最终地址树,若不存在需要调整位置的节点,直接将第三地址树输出为最终地址树。
可选地,所述第一构建单元111包括:
根节点子单元,用于建立根节点;
新节点子单元,用于若所述地址数据为原始地址数据,则将所述原始地址数据作为一个新节点,并将所述新节点作为所述根节点的一级子节点;
若所述地址数据已经经过分词化处理,且包含多个地址实体名词,则所述每个地址实体名词对应一个新节点,且排序最前的所述地址实体名词对应的新节点作为所述根节点的一级子节点,排序在后的所述地址实体名词依次形成排序在前的所述地址实体分词对应的新节点的一级子节点。
可选地,所述排序单元113包括:
字母排序子单元,用于以所述每组兄弟节点中的每个节点的拼音名称首字母作为排序比较对象,依照字母表顺序,对所述每个节点进行升序排列;
调整子单元,用于若所述排序比较对象相同,则依次将所述排序比较对象的下一个字母替换为所述排序比较对象,并依照字母表顺序,对所述每个节点进行升序排列。
可选地,所述第二构建单元115还包括:
插入子单元,用于将所述新节点插入到具有所述相同的节点名称前缀的所述兄弟节点与所述兄弟节点的父节点之间。
重命名子单元,用于在所述兄弟节点的名称中,删除所述相同的节点名称前缀。
可选地,所述层次调整单元118包括:
获取子单元,用于当所述节点名称索引的一个键值包含多个节点元素时,获取所述键值对应的键名,所述多个节点元素互为节点名称相同的节点;
合并子单元,用于在所述地址要素关系表中,若所述键名表示的节点名称存在唯一的父节点名称,且所述节点名称相同的各节点对应的各个父节点不是相同节点时,
获取子节点数目最少的所述节点名称相同的节点对应的第一父节点,所述第一父节点的第一子节点属于所述节点名称相同的节点;
将所述节点名称相同的所有节点与所述第一子节点合并,得到最终地址树;
在所述地址要素关系表中,若所述键名表示的节点名称存在多个父节点名称时,
获取子节点数目最少的所述节点名称相同的节点对应的第二父节点,所述第二父节点的第二子节点属于所述节点名称相同的节点;
将所述节点名称相同的所有节点与所述第二子节点合并,得到最终地址树。
在本发明实施例中,将原始地址树中的各个兄弟节点进行排序以获取相同的节点名称前缀,使得地址树能够利用相同的节点名称前缀形成新节点,增强了地址数据管理的层次性,通过建立地址要素关系表及节点名称索引,能够对重名节点的错误层次关系进行纠正处理,提高了中文地址结构化的准确性,因整个地址树的建立过程由各个处理单元自动识别完成,无须通过人工的方式实现,提高了中文地址数据的管理效率。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种中文地址树的构建方法,其特征在于,包括:
获取地址数据;
根据所述地址数据构建原始地址树;
对所述原始地址树中具有相同父节点的每组兄弟节点分别进行排序,并根据所述排序结果对所述兄弟节点的位置进行调整,得到第二地址树;
获取所述兄弟节点之间相同的节点名称前缀;
将所述相同的节点名称前缀作为一个新节点的名称,将所述新节点插入到所述第二地址树中,并调整具有所述相同的节点名称前缀的所述兄弟节点的名称,得到第三地址树;
遍历所述第三地址树中的所有节点,根据所述第三地址树中的各个节点名称与所述各个节点的父节点名称之间的关联关系,生成地址要素关系表;
在所述第三地址树中,以键名对应键值的模式建立节点名称索引,键名为所述节点名称,键值为所述第三地址树中所述节点名称等于键名的所有节点的集合;
根据所述地址要素关系表及所述节点名称索引,判断是否存在需要调整位置的节点,若存在需要调整位置的节点,执行调整算法后得到最终地址树,若不存在需要调整位置的节点,直接将第三地址树输出为最终地址树。
2.如权利要求1所述的方法,其特征在于,所述根据所述地址数据构建原始地址树包括:
建立根节点;
若所述地址数据为原始地址数据,则将所述原始地址数据作为一个新节点,并将所述新节点作为所述根节点的一级子节点;
若所述地址数据已经经过分词化处理,且包含多个地址实体名词,则每个所述地址实体名词对应一个新节点,且排序最前的所述地址实体名词对应的新节点作为所述根节点的一级子节点,排序在后的所述地址实体名词依次形成排序在前的所述地址实体分词对应的新节点的一级子节点。
3.如权利要求1所述的方法,其特征在于,所述对所述原始地址树中具有相同父节点的每组兄弟节点分别进行排序包括:
以所述每组兄弟节点中的每个节点的拼音名称首字母作为排序比较对象,依照字母表顺序,对所述每个节点进行升序排列;
若所述排序比较对象相同,则依次将所述排序比较对象的下一个字母替换为所述排序比较对象,并依照字母表顺序,对所述每个节点进行升序排列。
4.如权利要求1所述的方法,其特征在于,所述将所述新节点插入到所述第二地址树中,并调整具有所述相同的节点名称前缀的所述兄弟节点的名称包括:
将所述新节点插入到所述具有相同节点名称前缀的所述兄弟节点与所述兄弟节点的父节点之间;
在所述兄弟节点的名称中,删除所述相同的节点名称前缀。
5.如权利要求1所述的方法,其特征在于,所述根据所述地址要素关系表及所述节点名称索引,判断是否存在需要调整位置的节点,若存在需要调整位置的节点,执行调整算法后得到最终地址树包括:
当所述节点名称索引的一个键值包含多个节点元素时,获取所述键值对应的键名,所述多个节点元素互为节点名称相同的节点;
在所述地址要素关系表中,若所述键名表示的节点名称存在唯一的父节点名称,且所述节点名称相同的各节点对应的各个父节点不是相同节点时,
获取子节点数目最少的所述节点名称相同的节点对应的第一父节点,所述第一父节点的第一子节点属于所述节点名称相同的节点;
将所述节点名称相同的所有节点与所述第一子节点合并,得到最终地址树;
在所述地址要素关系表中,若所述键名表示的节点名称存在多个父节点名称时,
获取子节点数目最少的所述节点名称相同的节点对应的第二父节点,所述第二父节点的第二子节点属于所述节点名称相同的节点;
将所述节点名称相同的所有节点与所述第二子节点合并,得到最终地址树。
6.一种中文地址树的构建装置,其特征在于,包括:
第一获取单元,用于获取地址数据;
第一构建单元,用于根据所述地址数据构建原始地址树;
排序单元,用于对所述原始地址树中具有相同父节点的每组兄弟节点分别进行排序,并根据所述排序结果对所述兄弟节点的位置进行调整,得到第二地址树;
第二获取单元,用于获取所述兄弟节点之间相同的节点名称前缀;
第二构建单元,用于将所述相同的节点名称前缀作为一个新节点的名称,将所述新节点插入到所述第二地址树中,并调整具有所述相同的节点名称前缀的所述兄弟节点的名称,得到第三地址树;
地址要素关系单元,用于遍历所述第三地址树中的所有节点,根据所述第三地址树中的各个节点名称与所述各个节点的父节点名称之间的关联关系,生成地址要素关系表;
索引建立单元,用于在所述第三地址树中,以键名对应键值的模式建立节点名称索引,键名为节点名称,键值为所述第三地址树中所述节点名称等于键名的所有节点的集合;
层次调整单元,用于根据所述地址要素关系表及所述节点名称索引,判断是否存在需要调整位置的节点,若存在需要调整位置的节点,执行调整算法后得到最终地址树,若不存在需要调整位置的节点,直接将第三地址树输出为最终地址树。
7.如权利要求6所述的装置,其特征在于,所述第一构建单元包括:
根节点子单元,用于建立根节点;
新节点子单元,用于若所述地址数据为原始地址数据,则将所述原始地址数据作为一个新节点,并将所述新节点作为所述根节点的一级子节点;
若所述地址数据已经经过分词化处理,且包含多个地址实体名词,则每个所述地址实体名词对应一个新节点,且排序最前的所述地址实体名词对应的新节点作为所述根节点的一级子节点,排序在后的所述地址实体名词依次形成排序在前的所述地址实体分词对应的新节点的一级子节点。
8.如权利要求6所述的装置,其特征在于,所述排序单元包括:
字母排序子单元,用于以所述每组兄弟节点中的每个节点的拼音名称首字母作为排序比较对象,依照字母表顺序,对所述每个节点进行升序排列;
调整子单元,用于若所述排序比较对象相同,则依次将所述排序比较对象的下一个字母替换为所述排序比较对象,并依照字母表顺序,对所述每个节点进行升序排列。
9.如权利要求6所述的装置,其特征在于,所述第二构建单元还包括:
插入子单元,用于将所述新节点插入到具有所述相同的节点名称前缀的所述兄弟节点与所述兄弟节点的父节点之间;
重命名子单元,用于在所述兄弟节点的名称中,删除所述相同的节点名称前缀。
10.如权利要求6所述的装置,其特征在于,所述层次调整单元包括:
获取子单元,用于当所述节点名称索引的一个键值包含多个节点元素时,获取所述键值对应的键名,所述多个节点元素互为节点名称相同的节点;
合并子单元,用于在所述地址要素关系表中,若所述键名表示的节点名称存在唯一的父节点名称,且所述节点名称相同的各节点对应的各个父节点不是相同节点时,
获取子节点数目最少的所述节点名称相同的节点对应的第一父节点,所述第一父节点的第一子节点属于所述节点名称相同的节点;
将所述节点名称相同的所有节点与所述第一子节点合并,得到最终地址树;
在所述地址要素关系表中,若所述键名表示的节点名称存在多个父节点名称时,
获取子节点数目最少的所述节点名称相同的节点对应的第二父节点,所述第二父节点的第二子节点属于所述节点名称相同的节点;
将所述节点名称相同的所有节点与所述第二子节点合并,得到最终地址树。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610850980.3A CN106649464B (zh) | 2016-09-26 | 2016-09-26 | 一种中文地址树的构建方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610850980.3A CN106649464B (zh) | 2016-09-26 | 2016-09-26 | 一种中文地址树的构建方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106649464A CN106649464A (zh) | 2017-05-10 |
CN106649464B true CN106649464B (zh) | 2019-08-30 |
Family
ID=58853769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610850980.3A Active CN106649464B (zh) | 2016-09-26 | 2016-09-26 | 一种中文地址树的构建方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106649464B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107679187B (zh) * | 2017-09-30 | 2020-12-01 | 浪潮软件股份有限公司 | 一种中文地址树的构建方法及装置 |
WO2019227288A1 (en) | 2018-05-28 | 2019-12-05 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for parent-child relationship determination for points of interest |
CN109033327B (zh) * | 2018-07-19 | 2021-09-28 | 浪潮软件股份有限公司 | 一种中文地址树的管理系统和管理方法 |
CN110889022A (zh) * | 2018-08-17 | 2020-03-17 | 迈普通信技术股份有限公司 | 数据查询方法、装置及电子设备 |
CN109145073A (zh) * | 2018-08-28 | 2019-01-04 | 成都市映潮科技股份有限公司 | 一种基于分词算法的地址解析方法及装置 |
CN109933800A (zh) * | 2019-03-22 | 2019-06-25 | 中国农业银行股份有限公司 | 数据机构体系的创建方法、信息查询方法及装置 |
CN110471916B (zh) * | 2019-07-03 | 2023-05-26 | 平安科技(深圳)有限公司 | 数据库的查询方法、装置、服务器及介质 |
CN110990520B (zh) * | 2019-11-28 | 2023-10-20 | 中国建设银行股份有限公司 | 一种地址编码方法、装置、电子设备和存储介质 |
CN110866083B (zh) * | 2019-12-04 | 2023-11-07 | 国网浙江省电力有限公司 | 一种电力标准结构化地址库的地址稽核方法 |
CN111353309A (zh) * | 2019-12-25 | 2020-06-30 | 北京合力亿捷科技股份有限公司 | 基于文本分析处理通信质量投诉地址的方法及系统 |
CN111444299A (zh) * | 2020-03-25 | 2020-07-24 | 福州市勘测院 | 基于地址树模型的中文地址提取方法 |
CN113642320B (zh) * | 2020-04-27 | 2024-07-19 | 北京庖丁科技有限公司 | 文档目录结构的提取方法、装置、设备和介质 |
CN112256667B (zh) * | 2020-09-16 | 2024-03-22 | 珠海市新德汇信息技术有限公司 | 多生物特征归一方法 |
CN113761909B (zh) * | 2021-01-18 | 2023-11-07 | 北京京东振世信息技术有限公司 | 一种识别地址的方法及装置 |
CN112749169A (zh) * | 2021-01-20 | 2021-05-04 | 北京明略昭辉科技有限公司 | 地址树构建方法、地址规划规范方法、装置和电子设备 |
CN113204606A (zh) * | 2021-04-30 | 2021-08-03 | 武汉大学 | 一种基于语义位置网的地址位置推测方法 |
CN113192166B (zh) * | 2021-05-24 | 2022-08-30 | 上海曼恒数字技术股份有限公司 | 一种骨骼树还原方法及系统 |
CN113268680A (zh) * | 2021-06-11 | 2021-08-17 | 完美世界控股集团有限公司 | 一种新闻发生地识别方法、装置、存储介质及计算设备 |
CN113704574B (zh) * | 2021-08-27 | 2024-02-09 | 北京市律典通科技有限公司 | 地址标准化的方法及装置 |
CN114387358A (zh) * | 2022-01-25 | 2022-04-22 | 北京医百科技有限公司 | 一种八叉树处理方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719128A (zh) * | 2009-12-31 | 2010-06-02 | 浙江工业大学 | 一种基于模糊匹配的中文地理编码确定方法 |
CN103561133A (zh) * | 2013-11-19 | 2014-02-05 | 中国科学院计算机网络信息中心 | 一种ip地址归属信息索引方法及快速查询方法 |
CN103699647A (zh) * | 2013-12-26 | 2014-04-02 | 苏州大学 | 一种字符串词典的索引方法及系统 |
CN104657361A (zh) * | 2013-11-18 | 2015-05-27 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8176084B2 (en) * | 2007-11-26 | 2012-05-08 | International Business Machines Corporation | Structure based storage, query, update and transfer of tree-based documents |
-
2016
- 2016-09-26 CN CN201610850980.3A patent/CN106649464B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719128A (zh) * | 2009-12-31 | 2010-06-02 | 浙江工业大学 | 一种基于模糊匹配的中文地理编码确定方法 |
CN104657361A (zh) * | 2013-11-18 | 2015-05-27 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及装置 |
CN103561133A (zh) * | 2013-11-19 | 2014-02-05 | 中国科学院计算机网络信息中心 | 一种ip地址归属信息索引方法及快速查询方法 |
CN103699647A (zh) * | 2013-12-26 | 2014-04-02 | 苏州大学 | 一种字符串词典的索引方法及系统 |
Non-Patent Citations (1)
Title |
---|
"地址树模型的中文地址提取方法";亢孟军 等;《测绘学报》;20150131;第44卷(第1期);99-107 |
Also Published As
Publication number | Publication date |
---|---|
CN106649464A (zh) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106649464B (zh) | 一种中文地址树的构建方法及装置 | |
CN111782965B (zh) | 意图推荐方法、装置、设备及存储介质 | |
Mudrakarta et al. | Did the model understand the question? | |
WO2020135048A1 (zh) | 知识图谱的数据融合方法和装置 | |
CN104298710B (zh) | 自动发现受欢迎的地标 | |
CN103886376B (zh) | 用于基于规则的内容过滤的系统和方法 | |
CN107578292B (zh) | 一种用户画像构建系统 | |
CN111881290A (zh) | 一种基于加权语义相似度的配网多源网架实体融合方法 | |
CN105630803B (zh) | 文档型数据库建立索引的方法和装置 | |
CN112559704A (zh) | 一种用户自定义配置的知识图谱生成工具 | |
CN108415846A (zh) | 一种生成最小自动化测试用例集的方法和装置 | |
CN105471647B (zh) | 一种电力通信网故障定位方法 | |
CN106598999A (zh) | 一种计算文本主题归属度的方法及装置 | |
CN108874663A (zh) | 黑盒故障注入方法和系统及介质设备 | |
CN114153980A (zh) | 知识图谱构建方法和装置、检查方法、存储介质 | |
CN105183916A (zh) | 一种管理非结构化数据的装置和方法 | |
CN112015908A (zh) | 知识图谱的构建方法及系统、查询方法及系统 | |
CN104965846B (zh) | MapReduce平台上的虚拟人建立方法 | |
CN107590189A (zh) | 智能合约执行方法、装置、设备及存储介质 | |
CN106126634A (zh) | 一种基于直播行业的主数据去重处理方法及系统 | |
CN109885694B (zh) | 一种文献选择及其学习先后次序确定方法 | |
CN105426392A (zh) | 一种协同过滤推荐方法及系统 | |
Cai et al. | The mining of urban hotspots based on multi-source location data fusion | |
CN105843809A (zh) | 数据处理方法和装置 | |
CN113157904A (zh) | 基于dfa算法的敏感词过滤方法及系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |