CN107679187A - 一种中文地址树的构建方法及装置 - Google Patents

一种中文地址树的构建方法及装置 Download PDF

Info

Publication number
CN107679187A
CN107679187A CN201710917267.0A CN201710917267A CN107679187A CN 107679187 A CN107679187 A CN 107679187A CN 201710917267 A CN201710917267 A CN 201710917267A CN 107679187 A CN107679187 A CN 107679187A
Authority
CN
China
Prior art keywords
address
node
current
address location
location
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.)
Granted
Application number
CN201710917267.0A
Other languages
English (en)
Other versions
CN107679187B (zh
Inventor
王功明
王建华
郭运艳
张娴
王本强
衣秀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Software Co Ltd
Original Assignee
Inspur Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Software Co Ltd filed Critical Inspur Software Co Ltd
Priority to CN201710917267.0A priority Critical patent/CN107679187B/zh
Publication of CN107679187A publication Critical patent/CN107679187A/zh
Application granted granted Critical
Publication of CN107679187B publication Critical patent/CN107679187B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, 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

一种中文地址树的构建方法及装置
技术领域
本发明涉及计算机技术领域,特别涉及一种中文地址树的构建方法及装置。
背景技术
中文地址数据在文本数据中广泛存在,是刻画空间属性的重要元素。目前,随着大数据处理技术的日益实用化和精细化,在信息抽取、地理编码、城市规划等领域,涉及的中文地址数据逐渐趋于多样化和复杂化。
现有技术中,一般通过地址词典库对中文地址数据进行管理。即将不同级别的所有地址数据(包括别名和简称)存储在数据库中,然后建立对应的索引,从而构成地址词典库。在使用时,通过索引匹配的方式得到地址数据。
但是,我国地址单元数量众多,再加上自身的别名和简称,导致地址词典库中存储的地址数据极其庞大,严重影响搜索速度。
发明内容
本发明实施例提供了一种中文地址树的构建方法及装置,通过该方法构建的中文地址树能够提高搜索速度。
第一方面,本发明实施例提供了一种中文地址树的构建方法,包括:
获取地址数据;
根据所述地址数据,生成至少一个地址单元,其中,每一个所述地址单元中包括:地址单元编码;
根据每一个所述地址单元中的地址单元编码,对所述至少一个地址单元进行字典序排序;
按照所述地址单元编码递增的顺序,针对每一个所述地址单元,依次执行:根据当前地址单元,构建当前结点;确定所述当前结点对应的上一级结点;
根据各个所述当前结点和各个所述当前结点对应的上一级结点,构建中文地址树。
优选地,
每一个所述地址单元中进一步包括:上一级地址单元编码、地址单元名称、地址单元级别、末级状态、至少一个地址单元简称和至少一个地址单元别名,其中,所述末级状态中包括:存在下一级地址单元、不存在下一级地址单元;
所述根据当前地址单元,构建当前结点,包括:
根据所述当前地址单元中的地址单元名称的首字符、每一个地址单元简称的首字符、每一个地址单元别名的首字符和地址单元级别,构建匹配列表;
确定所述当前地址单元中的地址单元名称的长度、至少一个地址单元简称的长度和至少一个地址单元别名的长度;
根据所述当前地址单元中的地址单元名称及长度、至少一个地址单元简称及长度和至少一个地址单元别名及长度,构建名称结点;
根据所述当前地址单元中的上一级地址单元编码、末级状态、地址单元级别、地址单元名称和地址单元编码,构建属性结点;
根据所述匹配列表、所述名称结点和所述属性结点,构建所述当前结点,其中,所述匹配列表通过预先设置的第一指针指向所述名称结点,所述名称结点通过预先设置的第二指针指向所述属性结点,所述属性结点通过预先设置的第三指针指向所述匹配列表。
优选地,
所述确定所述当前结点对应的上一级结点,包括:
A1:获取所述当前结点中的上一级地址单元编码;
A2:将排在所述当前地址单元前一位的地址单元作为待确定地址单元,执行A3;
A3:获取所述待确定地址单元中的地址单元编码;
A4:判断所述当前结点中的上一级地址单元编码是否与所述待确定地址单元中的地址单元编码相同,如果是,执行A5,否则,执行A6;
A5:确定根据所述待确定地址单元构建的待确定结点为所述当前结点对应的上一级结点,并结束当前流程;
A6:利用所述待确定地址单元的上一级地址单元对所述待确定地址单元进行更新,并执行A3。
优选地,
所述根据各个所述当前结点和各个所述当前结点对应的上一级结点,构建中文地址树,包括:
根据各个所述当前结点、各个所述当前结点对应的上一级结点,以及预先设置的至少一个第四指针和至少一个第五指针,构建中文地址树;
其中,所述当前结点中的匹配列表通过预先设置的第四指针指向所述当前结点对应的上一级结点中的属性结点;所述当前结点对应的上一级结点中的属性结点通过预先设置的第五指针指向所述当前结点中的匹配列表。
优选地,
进一步包括:
确定虚拟根结点;
所述根据各个所述当前结点和各个所述当前结点对应的上一级结点,构建中文地址树,包括:
根据各个所述当前结点和各个所述当前结点对应的上一级结点,构建当前地址树;
根据所述当前地址树与所述虚拟根结点,构建所述中文地址树;
其中,所述虚拟根结点通过预先设置的第六指针指向所述当前地址树的根结点,所述当前地址树的根结点通过预先设置的第七指针指向所述虚拟根结点,所述虚拟根结点通过预先设置的至少一个第八指针指向所述当前地址树的至少一个非根节点,所述第八指针与所述当前地址树的非根节点一一对应。
优选地,
进一步包括:
按照先序遍历的顺序,从所述中文地址树中获取至少一个第一地址单元;
针对每一个所述第一地址单元,均执行:将当前第一地址单元与所述至少一个地址单元中的标准地址单元进行对比;
当各个所述第一地址单元均与对应的各个所述地址单元相同时,确定构建的所述中文地址树正确;其中,所述当前第一地址单元在按照先序遍历排列的所述至少一个第一地址单元中的顺序,与所述标准地址单元在按照字典序排列的所述至少一个地址单元中的顺序相同。
第二方面,本发明实施例提供了一种中文地址树的构建装置,包括:
生成单元,用于获取地址数据;根据所述地址数据,生成至少一个地址单元,其中,每一个所述地址单元中包括:地址单元编码;
排序单元,用于根据所述生成单元生成的每一个所述地址单元中的地址单元编码,对所述至少一个地址单元进行字典序排序;
处理单元,用于按照所述地址单元编码递增的顺序,针对每一个所述地址单元,依次执行:根据当前地址单元,构建当前结点;确定所述当前结点对应的上一级结点;
构建单元,用于根据所述处理单元构建的各个所述当前结点和各个所述当前结点对应的上一级结点,构建中文地址树。
优选地,
每一个所述地址单元中进一步包括:上一级地址单元编码、地址单元名称、地址单元级别、末级状态、至少一个地址单元简称和至少一个地址单元别名,其中,所述末级状态中包括:存在下一级地址单元、不存在下一级地址单元;
所述处理单元,用于根据所述当前地址单元中的地址单元名称的首字符、每一个地址单元简称的首字符、每一个地址单元别名的首字符和地址单元级别,构建匹配列表;确定所述当前地址单元中的地址单元名称的长度、至少一个地址单元简称的长度和至少一个地址单元别名的长度;根据所述当前地址单元中的地址单元名称及长度、至少一个地址单元简称及长度和至少一个地址单元别名及长度,构建名称结点;根据所述当前地址单元中的上一级地址单元编码、末级状态、地址单元级别、地址单元名称和地址单元编码,构建属性结点;根据所述匹配列表、所述名称结点和所述属性结点,构建所述当前结点,其中,所述匹配列表通过预先设置的第一指针指向所述名称结点,所述名称结点通过预先设置的第二指针指向所述属性结点,所述属性结点通过预先设置的第三指针指向所述匹配列表。
优选地,
所述处理单元,用于执行A1:获取所述当前结点中的上一级地址单元编码;A2:将排在所述当前地址单元前一位的地址单元作为待确定地址单元,执行A3;A3:获取所述待确定地址单元中的地址单元编码;A4:判断所述当前结点中的上一级地址单元编码是否与所述待确定地址单元中的地址单元编码相同,如果是,执行A5,否则,执行A6;A5:确定根据所述待确定地址单元构建的待确定结点为所述当前结点对应的上一级结点,并结束当前流程;A6:利用所述待确定地址单元的上一级地址单元对所述待确定地址单元进行更新,并执行A3。
优选地,
所述构建单元,用于根据各个所述当前结点、各个所述当前结点对应的上一级结点,以及预先设置的至少一个第四指针和至少一个第五指针,构建中文地址树;其中,所述当前结点中的匹配列表通过预先设置的第四指针指向所述当前结点对应的上一级结点中的属性结点;所述当前结点对应的上一级结点中的属性结点通过预先设置的第五指针指向所述当前结点中的匹配列表。
优选地,
进一步包括:确定单元,用于确定虚拟根结点;
所述构建单元,用于根据各个所述当前结点和各个所述当前结点对应的上一级结点,构建当前地址树;根据所述当前地址树与所述确定单元确定的所述虚拟根结点,构建所述中文地址树;其中,所述虚拟根结点通过预先设置的第六指针指向所述当前地址树的根结点,所述当前地址树的根结点通过预先设置的第七指针指向所述虚拟根结点,所述虚拟根结点通过预先设置的至少一个第八指针指向所述当前地址树的至少一个非根节点,所述第八指针与所述当前地址树的非根节点一一对应。
优选地,
进一步包括:验证单元,用于按照先序遍历的顺序,从所述中文地址树中获取至少一个第一地址单元;针对每一个所述第一地址单元,均执行:将当前第一地址单元与所述至少一个地址单元中的标准地址单元进行对比;当各个所述第一地址单元均与对应的各个所述地址单元相同时,确定构建的所述中文地址树正确;其中,所述当前第一地址单元在按照先序遍历排列的所述至少一个第一地址单元中的顺序,与所述标准地址单元在按照字典序排列的所述至少一个地址单元中的顺序相同。
本发明实施例提供了一种中文地址树的构建方法及装置,其中,该方法根据地址数据生成地址单元,利用地址单元中的地址单元编码对地址单元按照字典序进行排序,按照地址单元编码递增的顺序将地址单元依次构建成结点,同时,利用当前结点确定当前结点对应的上一级结点,从而构建成中文地址树。通过该方法构建的中文地址树能够对地址数据有序存储,进而提高地址数据的搜索速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种中文地址树的构建方法的流程图;
图2是本发明一个实施例提供的一种中文地址树的非根节点的结构示意图;
图3是本发明一个实施例提供的一种中文地址树的结构示意图;
图4是本发明另一个实施例提供的一种中文地址树的结构示意图;
图5是本发明另一个实施例提供的一种中文地址树的构建方法的流程图;
图6是本发明一个实施例提供的一种中文地址树的构建装置的结构示意图;
图7是本发明另一个实施例提供的一种中文地址树的构建装置的结构示意图;
图8是本发明又一个实施例提供的一种中文地址树的构建装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种中文地址树的构建方法,该方法可以包括以下步骤:
步骤101:获取地址数据;
步骤102:根据地址数据,生成至少一个地址单元,其中,每一个地址单元中包括:地址单元编码;
步骤103:根据每一个地址单元中的地址单元编码,对至少一个地址单元进行字典序排序;
步骤104:按照地址单元编码递增的顺序,针对每一个地址单元,依次执行:根据当前地址单元,构建当前结点;确定当前结点对应的上一级结点;
步骤105:根据各个当前结点和各个当前结点对应的上一级结点,构建中文地址树。
该方法根据地址数据生成地址单元,利用地址单元中的地址单元编码对地址单元按照字典序进行排序,按照地址单元编码递增的顺序将地址单元依次构建成结点,同时,利用当前结点确定当前结点对应的上一级结点,从而构建成中文地址树。通过该方法构建的中文地址树能够对地址数据有序存储,进而提高地址数据的搜索速度。
我国地址可以划分为国家、省、市、县、乡、社区、街道等10个级别,编号分别是0、1、...、9,每个级别对应的基本元素称为地址单元。实际地址由一个或多个地址单元按照从左到右、级别编号递增的顺序连接而成。例如:河南省洛阳市西工区汉屯路街道,就是由“河南省”、“洛阳市”、“西工区”、“汉屯路街道”这4个不同级别的地址单元连接形成。
在本发明的一个实施例中,为了将地址单元的信息抽象成结点,进而以地址树的形式存储,每一个地址单元中进一步包括:上一级地址单元编码、地址单元名称、地址单元级别、末级状态至少一个地址单元简称和至少一个地址单元别名,其中,末级状态中包括:存在下一级地址单元、不存在下一级地址单元;
根据当前地址单元,构建当前结点,包括:
根据当前地址单元中的地址单元名称的首字符、每一个地址单元简称的首字符、每一个地址单元别名的首字符和地址单元级别,构建匹配列表;
确定当前地址单元中的地址单元名称的长度、至少一个地址单元简称的长度和至少一个地址单元别名的长度;
根据当前地址单元中的地址单元名称及长度、至少一个地址单元简称及长度和至少一个地址单元别名及长度,构建名称结点;
根据当前地址单元中的上一级地址单元编码、地址单元级别、地址单元名称和地址单元编码,构建属性结点;
根据匹配列表、名称结点和属性结点,构建当前结点,其中,匹配列表通过预先设置的第一指针指向名称结点,名称结点通过预先设置的第二指针指向属性结点,属性结点通过预先设置的第三指针指向匹配列表。
地址单元可以包括下述字段:地址单元编码、上一级地址单元编码、地址单元名称、地址单元级别、末级状态、至少一个地址单元简称和至少一个地址单元别名。其中,至少一个地址单元简称可以以简称列表的形式存储、至少一个地址单元别名可以以别名列表的形式存储,如果有多个简称或别名,则彼此之间用特殊符号(如冒号“:”)隔开。“上一级地址单元编码”是上一级地址单元的编码;“地址单元级别”范围为0~9,分别表示国家、省、市、县、乡、社区、街道等10个级别;“末级状态”表示该地址单元是否级别最小,是=1,否=0,在实际应用场景中,该字段可以省略。
除了法定规范的地址名称外,不少地区还拥有其它名称,称为别名。例如,上海市的常用名称除了“上海市”之外,还包括:“申城,魔都,大上海,上海滩,东方巴黎”等,这些都是它的别名。
实际地址通常省略地址单元中的“省”、“市”、“县”等标志性术语;例如,河南郑州、甘肃银川等。
需要注意的是,在实际应用场景中,“中国”是级别最大的地址单元,地址编码为0,其上一级地址单元不存在,上一级编码用-1表示。
如图2所示,是根据地址单元“河南省”构建的结点的结构,在该结点中,匹配列表以连续方格结构表示,从左到右,各个方格分别存储地址单元名称的首字符、地址单元别名的首字符和地址单元简称的首字符,且指向与首字符对应的名称结点,最右边方格中是地址单元级别。匹配列表中设置有指向名称结点的第一指针,并且通过第四指针指向上一级结点中的属性结点。
名称结点以向左凸出的鼓状结构表示,使用列表形式存储地址单元名称及长度、两个地址单元简称及长度和两个地址单元别名及长度,同时通过第二指针指向属性结点。
属性结点以椭圆形结构表示,存储各个地址单元的属性信息,包括:上一级地址单元编码、地址单元级别、是否末级、地址单元名称和地址单元编码等,同时指向下一级结点的匹配列表。属性结点具有指向所在结点的匹配列表的第三指针。图2中属性结点的编号表示地址单元级别。
由地址树先序遍历性质可知,读取时前后两个相邻结点,要么是父结点和子结点;要么是兄弟结点;要么后面元素结点的父结点是前面结点的祖先。即:后一个结点的父结点,要么是上一个结点本身,要么是上一个结点的祖先。
基于地址树的上述性质,在本发明的一个实施例中,为了确定各个结点的层级关系,确定当前结点对应的上一级结点,包括:
A1:获取当前结点中的上一级地址单元编码;
A2:将排在当前地址单元前一位的地址单元作为待确定地址单元,执行A3;
A3:获取待确定地址单元中的地址单元编码;
A4:判断当前结点中的上一级地址单元编码是否与待确定地址单元中的地址单元编码相同,如果是,执行A5,否则,执行A6;
A5:确定根据待确定地址单元构建的待确定结点为当前结点对应的上一级结点,并结束当前流程;
A6:利用待确定地址单元的上一级地址单元对待确定地址单元进行更新,并执行A3。
现以图3所示的中文地址树为例,对确定当前结点对应的上一级结点的过程进行详细地说明。
例1:以海滨街道为当前结点。
获取海滨街道中存储的上一级地址单元编码120115;
按照字典序排序,排在海滨街道前一位的宝坻区作为待确定地址单元,获取宝坻区的编码120115;
海滨街道中存储的上一级地址单元编码120115与宝坻区的编码120115相同,确定结点“宝坻区”为结点“海滨街道”的上一级结点。
例2:以宁河县为当前结点。
获取宁河县中存储的上一级地址单元编码12;
按照字典序排序,排在宁河县前一位的京津新城虚拟街作为待确定地址单元,获取京津新城虚拟街的编码120115455;
宁河县中存储的上一级地址单元编码12与京津新城虚拟街的编码120115455不同,利用京津新城虚拟街的上一级地址单元宝坻区对京津新城虚拟街进行更新,即将宝坻区作为新的待确定地址单元,执行:
获取宝坻区的地址单元编码120115;
宁河县中存储的上一级地址单元编码12与宝坻区的地址单元编码120115不同,利用宝坻区的上一级地址单元天津市对宝坻区进行更新,即将天津市作为新的待确定地址单元,执行:
获取天津市的地址单元编码12;
宁河县中存储的上一级地址单元编码12与天津市的地址单元编码12相同,则确定结点“天津市”为结点“宁河县”的上一级结点。
确定其他结点的上一级结点的具体方式与例1、例2类似,此处不再赘述。
在本发明的一个实施例中,为了将各个结点通过层级关系链接起来,根据各个当前结点和各个当前结点对应的上一级结点,构建中文地址树,包括:
根据各个当前结点、各个当前结点对应的上一级结点,以及预先设置的至少一个第四指针和至少一个第五指针,构建中文地址树;
其中,当前结点中的匹配列表通过预先设置的第四指针指向当前结点对应的上一级结点中的属性结点;当前结点对应的上一级结点中的属性结点通过预先设置的第五指针指向当前结点中的匹配列表。
如图4所示,结点“中国”中的属性结点通过第五指针指向结点“北京市”中的匹配列表,结点“北京市”中的匹配列表通过第四指针指向结点“中国的”属性列表。
在本发明的一个实施例中,为了对中文地址树的功能进行拓展,并且,实现地址跳跃,该方法还包括:确定虚拟根结点;
根据各个当前结点和各个当前结点对应的上一级结点,构建中文地址树,包括:
根据各个当前结点和各个当前结点对应的上一级结点,构建当前地址树;
根据当前地址树与虚拟根结点,构建中文地址树;
其中,虚拟根结点通过预先设置的第六指针指向当前地址树的根结点,当前地址树的根结点通过预先设置的第七指针指向虚拟根结点,虚拟根结点通过预先设置的至少一个第八指针指向当前地址树的至少一个非根节点,第八指针与当前地址树的非根节点一一对应。
参考图4,“-1”对应的椭圆形结构为虚拟根结点,虚拟根结点是为了表示结点“中国”的上一级结点而虚拟的结点,实际上并不存在;为了和整体保持一致,它也包含地址单元的各个属性,如:地址单元编码、地址单元名称、地址单元级别、是否末级、上一级地址单元编码等;除了地址单元编码=-1,指向结点“中国”外,其它属性均没有实际意义。
其中,与中文地址树中的其他结点相比,虚拟根结点只存在属性结点,用于存储上述属性信息。虚拟根结点中的属性结点通过预先设置的第六指针指向当前地址树的根结点中的匹配列表,当前地址树的根结点中的匹配列表通过预先设置的第七指针指向虚拟根结点中的属性结点,虚拟根结点中的属性结点通过预先设置的至少一个第八指针指向当前地址树的至少一个非根节点的匹配列表。
在连接地址单元形成实际地址的过程中,相邻地址单元的级别编码存在跳跃。例如,山东省阳谷县宁阳镇,“山东省”和“阳谷县”的级别编号分别是1和3,二者之间省略了级别编号是2的“泰安市”。因此,在地址树中,需要通过指针实现“跳跃”。
需要说明的是,通过上述的第八指针可以实现从虚拟根结点向中文地址树非根节点的“跳跃”,还可以通过设置指针实现非根节点之间的“跳跃”。
例如,图4中,从虚拟根结点指向“北京市”和“河南省”匹配列表的指针,以及从“河南省”属性结点指向“开封县”匹配列表的指针,都是跳跃指针。
在本发明的一个实施例中,为了验证构建的中文地址树的正确性,该方法还包括:
按照先序遍历的顺序,从中文地址树中获取至少一个第一地址单元;
针对每一个第一地址单元,均执行:将当前第一地址单元与至少一个地址单元中的标准地址单元进行对比;
当各个第一地址单元均与对应的各个地址单元相同时,确定构建的中文地址树正确;其中,当前第一地址单元在按照先序遍历排列的至少一个第一地址单元中的顺序,与标准地址单元在按照字典序排列的至少一个地址单元中的顺序相同。
假设构建的中文地址树根结点有n个非根节点,包括:Hi,i=1、2、…、n,则验证过程具体包括:
B01:新建文本文件X;
B02:读取第1条地址单元的信息;
B03:按照下述顺序将地址单元的信息保存在文本文件X中:地址单元编码、上一级地址单元编码、地址单元名称、地址单元级别、是否末级、至少一个地址单元简称、至少一个地址单元别名;
B04:判断地址单元是否读取完毕,如果否,执行B05,否则,执行B06;
B05:按照字典序排序的顺序,读取下1条地址单元信息,并执行B03;
B06:关闭文本文件X。
B07:访问地址树的虚拟根结点;
B08:访问地址树的根结点,读取相关信息,保存在文本文件Y中;
B09:新建文本文件Y;
B10:通过虚拟根结点找到根结点匹配列表;
B11:由根结点匹配列表找到根结点属性结点;
B12:读取根结点所表示地址单元信息;
B13:按照文本文件X的字段顺序(地址单元编码、上一级地址单元编码、地址单元名称、地址单元级别、是否末级、至少一个地址单元简称、至少一个地址单元别名),保存地址单元的信息到文本文件Y。
B14:i=1;
B15:先序遍历以Hi为根结点的子树,读取每个结点对应的地址单元的信息,按照下述顺序将地址单元的信息保存在文本文件Y中:地址单元编码、上一级地址单元编码、地址单元名称、地址单元级别、是否末级、至少一个地址单元简称、至少一个地址单元别名;
B16:i=i+1;
B17:如果i不大于n,执行步骤B15,否则,执行步骤B18;
B18:比较文本文件X和文本文件Y是否相同,如果是,说明中文地址树构建成功,否则,说明构建失败。
如图5所示,本发明实施例以具有虚拟根结点的中文地址树的构建为例,对中文地址树的构建方法进行详细地说明,该方法包括:
步骤501:获取地址数据。
步骤502:根据地址数据,生成至少一个地址单元,其中,每一个地址单元中包括:地址单元编码。
其中,每一个地址单元中还包括:上一级地址单元编码、地址单元名称、地址单元级别、是否末级、至少一个地址单元简称和至少一个地址单元别名。
例如,地址单元“河南省”中包括:上一级地址单元编码“0”,地址单元名称“河南省”,地址单元级别“1”,非末级,地址单元简称“豫州、豫”,地址单元别名“中州、中原”。
步骤503:根据每一个地址单元中的地址单元编码,对至少一个地址单元进行字典序排序。
按照字典序排序后得到的地址单元顺序为中国、北京市、东城区、安定门街道、建国门街道、朝阳门街道……体育馆路街道、西城区……延庆区……天津市……
步骤504:按照地址单元编码递增的顺序,针对每一个地址单元,依次执行:根据当前地址单元,构建当前结点。
“根据当前地址单元,构建当前结点”的具体过程如下:
根据“河南省”的首字符、“豫州”的首字符、“中州”的首字符和地址单元级别1,构建匹配列表,参考图2中所示的节结点“河南省”中的匹配列表。
确定“河南省”的长度为3、“河南”的长度为2、“豫州”的长度为2、“豫”的长度为1、“中州”的长度为2、“中原”的长度为2;
根据上述地址单元名称及长度、地址单元简称及长度和地址单元别名及长度,构建名称结点,参考图2中所示的节结点“河南省”中的名称结点。
根据“河南省”的上一级地址单元编码0、地址单元级别1、地址单元名称“河南省”和地址单元编码41,构建属性结点,参考图2中所示的节结点“河南省”中的属性结点。
根据匹配列表、名称结点和属性结点,构建当前结点,其中,匹配列表通过预先设置的第一指针指向名称结点,名称结点通过预先设置的第二指针指向属性结点,属性结点通过预先设置的第三指针指向匹配列表,如图2中箭头所示。
步骤505:确定当前结点对应的上一级结点。
以北京市为当前结点为例,获取“北京市”中存储的上一级地址单元编码0;按照字典序排序,排在“北京市”前一位的“中国”作为待确定地址单元,获取“中国”的编码0;“北京市”中存储的上一级地址单元编码0与“中国”的编码0相同,则确定“中国”为“北京市”的上一级结点。
其他结点的上一级结点的确定方法以此类推,此处不再赘述。
步骤506:确定虚拟根结点。
虚拟根结点的编码为“-1”。虚拟根结点通过预先设置的至少一个第八指针指向当前地址树的至少一个非根节点,地址树的根结点通过预先设置的第七指针指向虚拟根结点。并且,虚拟根结点通过“跳跃指针”指向结点:“北京市”、“河南省”,参考图4所示。
步骤507:根据各个当前结点和各个当前结点对应的上一级结点,构建当前地址树。
其中,当前结点与当前结点对应的上一级结点通过第四指针、第五指针相连。
当前结点中的匹配列表通过预先设置的第四指针指向当前结点对应的上一级结点中的属性结点;当前结点对应的上一级结点中的属性结点通过预先设置的第五指针指向当前结点中的匹配列表。
步骤508:根据当前地址树与虚拟根结点,构建中文地址树。
其中,虚拟根结点通过预先设置的第六指针指向当前地址树的根结点,当前地址树的根结点通过预先设置的第七指针指向虚拟根结点,虚拟根结点通过预先设置的至少一个第八指针指向当前地址树的至少一个非根节点,第八指针与当前地址树的非根节点一一对应。
如图4所示,是通过该方法构建的中文地址树的一部分。
步骤509:按照先序遍历的顺序,从中文地址树中获取至少一个第一地址单元。
步骤510:针对每一个第一地址单元,均执行:将当前第一地址单元与至少一个地址单元中的标准地址单元进行对比。
步骤511:当各个第一地址单元均与对应的各个地址单元相同时,确定构建的中文地址树正确;其中,当前第一地址单元在按照先序遍历排列的至少一个第一地址单元中的顺序,与标准地址单元在按照字典序排列的至少一个地址单元中的顺序相同。
即通过先序遍历得到的地址单元顺序为“中国、北京市、东城区、安定门街道、建国门街道、朝阳门街道……体育馆路街道、西城区……延庆区……天津市……”时,构建的中文地址树是正确的。
如图6所示,本发明实施例提供了一种中文地址树的构建装置,包括:
生成单元601,用于获取地址数据;根据地址数据,生成至少一个地址单元,其中,每一个地址单元中包括:地址单元编码;
排序单元602,用于根据生成单元601生成的每一个地址单元中的地址单元编码,对至少一个地址单元进行字典序排序;
处理单元603,用于按照地址单元编码递增的顺序,针对每一个地址单元,依次执行:根据当前地址单元,构建当前结点;确定当前结点对应的上一级结点;
构建单元604,用于根据处理单元603构建的各个当前结点和各个当前结点对应的上一级结点,构建中文地址树。
在本发明的一个实施例中,每一个地址单元中进一步包括:上一级地址单元编码、地址单元名称、地址单元级别、末级状态至少一个地址单元简称和至少一个地址单元别名,其中,末级状态中包括:存在下一级地址单元、不存在下一级地址单元;
处理单元603,用于根据当前地址单元中的地址单元名称的首字符、每一个地址单元简称的首字符、每一个地址单元别名的首字符和地址单元级别,构建匹配列表;确定当前地址单元中的地址单元名称的长度、至少一个地址单元简称的长度和至少一个地址单元别名的长度;根据当前地址单元中的地址单元名称及长度、至少一个地址单元简称及长度和至少一个地址单元别名及长度,构建名称结点;根据当前地址单元中的上一级地址单元编码、末级状态、地址单元级别、地址单元名称和地址单元编码,构建属性结点;根据匹配列表、名称结点和属性结点,构建当前结点,其中,名称结点通过预先设置的第二指针指向属性结点,属性结点通过预先设置的第三指针指向匹配列表。
在本发明的一个实施例中,处理单元603,用于执行A1:获取当前结点中的上一级地址单元编码;A2:将排在当前地址单元前一位的地址单元作为待确定地址单元,执行A3;A3:获取待确定地址单元中的地址单元编码;A4:判断当前结点中的上一级地址单元编码是否与待确定地址单元中的地址单元编码相同,如果是,执行A5,否则,执行A6;A5:确定根据待确定地址单元构建的待确定结点为当前结点对应的上一级结点,并结束当前流程;A6:利用待确定地址单元的上一级地址单元对待确定地址单元进行更新,并执行A3;
在本发明的一个实施例中,构建单元604,用于根据各个当前结点、各个当前结点对应的上一级结点,以及预先设置的至少一个第四指针和至少一个第五指针,构建中文地址树;其中,当前结点中的匹配列表通过预先设置的第四指针指向当前结点对应的上一级结点中的属性结点;当前结点对应的上一级结点中的属性结点通过预先设置的第五指针指向当前结点中的匹配列表。
在本发明的一个实施例中,如图7所示,该装置还包括:确定单元605,用于确定虚拟根结点;
构建单元604,用于根据各个当前结点和各个当前结点对应的上一级结点,构建当前地址树;根据当前地址树与确定单元确定的虚拟根结点,构建中文地址树;其中,虚拟根结点通过预先设置的第六指针指向当前地址树的根结点,当前地址树的根结点通过预先设置的第七指针指向虚拟根结点,虚拟根结点通过预先设置的至少一个第八指针指向当前地址树的至少一个非根节点,第八指针与当前地址树的非根节点一一对应。
在本发明的一个实施例中,如图8所示,该装置还包括:验证单元606,用于按照先序遍历的顺序,从中文地址树中获取至少一个第一地址单元;针对每一个第一地址单元,均执行:将当前第一地址单元与至少一个地址单元中的标准地址单元进行对比;当各个第一地址单元均与对应的各个地址单元相同时,确定构建的中文地址树正确;其中,当前第一地址单元在按照先序遍历排列的至少一个第一地址单元中的顺序,与标准地址单元在按照字典序排列的至少一个地址单元中的顺序相同。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行执行指令时,存储控制器执行上述任一实施例的方法。
本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;
存储器用于存储执行指令,处理器与存储器通过总线连接,当存储控制器运行时,处理器执行存储器存储的执行指令,以使存储控制器执行上述任一实施例的方法。
综上,本发明各个实施例至少具有如下效果:
1、在本发明实施例中,该方法根据地址数据生成地址单元,利用地址单元中的地址单元编码对地址单元按照字典序进行排序,按照地址单元编码递增的顺序将地址单元依次构建成结点,同时,利用当前结点确定当前结点对应的上一级结点,从而构建成中文地址树。通过该方法构建的中文地址树能够对地址数据有序存储,进而提高地址数据的搜索速度。
2、在本发明实施例中,不仅可以通过虚拟根结点实现“地址跳跃”,还可以利用虚拟根结点对中文地址树进行拓展,例如,基于中文地址树,拓展成美国地址对应的英文地址树,即中文地址树与英文地址树通过虚拟根结点相关联。
3、在本发明实施例中,利用该中文地址树,而且可以直接对地址进行整体匹配,从而能够正确解析出地址单元别名和简称,解决多级地址匹配中的地址跳跃问题,提高匹配效率,使用户快速查找到需要的地址。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种中文地址树的构建方法,其特征在于,包括:
获取地址数据;
根据所述地址数据,生成至少一个地址单元,其中,每一个所述地址单元中包括:地址单元编码;
根据每一个所述地址单元中的地址单元编码,对所述至少一个地址单元进行字典序排序;
按照所述地址单元编码递增的顺序,针对每一个所述地址单元,依次执行:根据当前地址单元,构建当前结点;确定所述当前结点对应的上一级结点;
根据各个所述当前结点和各个所述当前结点对应的上一级结点,构建中文地址树。
2.根据权利要求1所述的中文地址树的构建方法,其特征在于,
每一个所述地址单元中进一步包括:上一级地址单元编码、地址单元名称、地址单元级别、末级状态、至少一个地址单元简称和至少一个地址单元别名,其中,所述末级状态中包括:存在下一级地址单元、不存在下一级地址单元;
所述根据当前地址单元,构建当前结点,包括:
根据所述当前地址单元中的地址单元名称的首字符、每一个地址单元简称的首字符、每一个地址单元别名的首字符和地址单元级别,构建匹配列表;
确定所述当前地址单元中的地址单元名称的长度、至少一个地址单元简称的长度和至少一个地址单元别名的长度;
根据所述当前地址单元中的地址单元名称及长度、至少一个地址单元简称及长度和至少一个地址单元别名及长度,构建名称结点;
根据所述当前地址单元中的上一级地址单元编码、末级状态、地址单元级别、地址单元名称和地址单元编码,构建属性结点;
根据所述匹配列表、所述名称结点和所述属性结点,构建所述当前结点,其中,所述匹配列表通过预先设置的第一指针指向所述名称结点,所述名称结点通过预先设置的第二指针指向所述属性结点,所述属性结点通过预先设置的第三指针指向所述匹配列表。
3.根据权利要求2所述的中文地址树的构建方法,其特征在于,
所述确定所述当前结点对应的上一级结点,包括:
A1:获取所述当前结点中的上一级地址单元编码;
A2:将排在所述当前地址单元前一位的地址单元作为待确定地址单元,执行A3;
A3:获取所述待确定地址单元中的地址单元编码;
A4:判断所述当前结点中的上一级地址单元编码是否与所述待确定地址单元中的地址单元编码相同,如果是,执行A5,否则,执行A6;
A5:确定根据所述待确定地址单元构建的待确定结点为所述当前结点对应的上一级结点,并结束当前流程;
A6:利用所述待确定地址单元的上一级地址单元对所述待确定地址单元进行更新,并执行A3。
4.根据权利要求2所述的中文地址树的构建方法,其特征在于,
所述根据各个所述当前结点和各个所述当前结点对应的上一级结点,构建中文地址树,包括:
根据各个所述当前结点、各个所述当前结点对应的上一级结点,以及预先设置的至少一个第四指针和至少一个第五指针,构建中文地址树;
其中,所述当前结点中的匹配列表通过预先设置的第四指针指向所述当前结点对应的上一级结点中的属性结点;所述当前结点对应的上一级结点中的属性结点通过预先设置的第五指针指向所述当前结点中的匹配列表。
5.根据权利要求1-4中任一所述的中文地址树的构建方法,其特征在于,进一步包括:
确定虚拟根结点;
所述根据各个所述当前结点和各个所述当前结点对应的上一级结点,构建中文地址树,包括:
根据各个所述当前结点和各个所述当前结点对应的上一级结点,构建当前地址树;
根据所述当前地址树与所述虚拟根结点,构建所述中文地址树;
其中,所述虚拟根结点通过预先设置的第六指针指向所述当前地址树的根结点,所述当前地址树的根结点通过预先设置的第七指针指向所述虚拟根结点,所述虚拟根结点通过预先设置的至少一个第八指针指向所述当前地址树的至少一个非根节点,所述第八指针与所述当前地址树的非根节点一一对应;
和/或,
进一步包括:
按照先序遍历的顺序,从所述中文地址树中获取至少一个第一地址单元;
针对每一个所述第一地址单元,均执行:将当前第一地址单元与所述至少一个地址单元中的标准地址单元进行对比;
当各个所述第一地址单元均与对应的各个所述地址单元相同时,确定构建的所述中文地址树正确;其中,所述当前第一地址单元在按照先序遍历排列的所述至少一个第一地址单元中的顺序,与所述标准地址单元在按照字典序排列的所述至少一个地址单元中的顺序相同。
6.一种中文地址树的构建装置,其特征在于,包括:
生成单元,用于获取地址数据;根据所述地址数据,生成至少一个地址单元,其中,每一个所述地址单元中包括:地址单元编码;
排序单元,用于根据所述生成单元生成的每一个所述地址单元中的地址单元编码,对所述至少一个地址单元进行字典序排序;
处理单元,用于按照所述地址单元编码递增的顺序,针对每一个所述地址单元,依次执行:根据当前地址单元,构建当前结点;确定所述当前结点对应的上一级结点;
构建单元,用于根据所述处理单元构建的各个所述当前结点和各个所述当前结点对应的上一级结点,构建中文地址树。
7.根据权利要求6所述的中文地址树的构建装置,其特征在于,
每一个所述地址单元中进一步包括:上一级地址单元编码、地址单元名称、地址单元级别、末级状态、至少一个地址单元简称和至少一个地址单元别名,其中,所述末级状态中包括:存在下一级地址单元、不存在下一级地址单元;
所述处理单元,用于根据所述当前地址单元中的地址单元名称的首字符、每一个地址单元简称的首字符、每一个地址单元别名的首字符和地址单元级别,构建匹配列表;确定所述当前地址单元中的地址单元名称的长度、至少一个地址单元简称的长度和至少一个地址单元别名的长度;根据所述当前地址单元中的地址单元名称及长度、至少一个地址单元简称及长度和至少一个地址单元别名及长度,构建名称结点;根据所述当前地址单元中的上一级地址单元编码、末级状态、地址单元级别、地址单元名称和地址单元编码,构建属性结点;根据所述匹配列表、所述名称结点和所述属性结点,构建所述当前结点,其中,所述匹配列表通过预先设置的第一指针指向所述名称结点,所述名称结点通过预先设置的第二指针指向所述属性结点,所述属性结点通过预先设置的第三指针指向所述匹配列表。
8.根据权利要求7所述的中文地址树的构建装置,其特征在于,
所述处理单元,用于执行A1:获取所述当前结点中的上一级地址单元编码;A2:将排在所述当前地址单元前一位的地址单元作为待确定地址单元,执行A3;A3:获取所述待确定地址单元中的地址单元编码;A4:判断所述当前结点中的上一级地址单元编码是否与所述待确定地址单元中的地址单元编码相同,如果是,执行A5,否则,执行A6;A5:确定根据所述待确定地址单元构建的待确定结点为所述当前结点对应的上一级结点,并结束当前流程;A6:利用所述待确定地址单元的上一级地址单元对所述待确定地址单元进行更新,并执行A3。
9.根据权利要求7所述的中文地址树的构建装置,其特征在于,
所述构建单元,用于根据各个所述当前结点、各个所述当前结点对应的上一级结点,以及预先设置的至少一个第四指针和至少一个第五指针,构建中文地址树;其中,所述当前结点中的匹配列表通过预先设置的第四指针指向所述当前结点对应的上一级结点中的属性结点;所述当前结点对应的上一级结点中的属性结点通过预先设置的第五指针指向所述当前结点中的匹配列表。
10.根据权利要求6-9中任一所述的中文地址树的构建装置,其特征在于,
进一步包括:确定单元,用于确定虚拟根结点;
所述构建单元,用于根据各个所述当前结点和各个所述当前结点对应的上一级结点,构建当前地址树;根据所述当前地址树与所述确定单元确定的所述虚拟根结点,构建所述中文地址树;其中,所述虚拟根结点通过预先设置的第六指针指向所述当前地址树的根结点,所述当前地址树的根结点通过预先设置的第七指针指向所述虚拟根结点,所述虚拟根结点通过预先设置的至少一个第八指针指向所述当前地址树的至少一个非根节点,所述第八指针与所述当前地址树的非根节点一一对应;
和/或,
进一步包括:验证单元,用于按照先序遍历的顺序,从所述中文地址树中获取至少一个第一地址单元;针对每一个所述第一地址单元,均执行:将当前第一地址单元与所述至少一个地址单元中的标准地址单元进行对比;当各个所述第一地址单元均与对应的各个所述地址单元相同时,确定构建的所述中文地址树正确;其中,所述当前第一地址单元在按照先序遍历排列的所述至少一个第一地址单元中的顺序,与所述标准地址单元在按照字典序排列的所述至少一个地址单元中的顺序相同。
CN201710917267.0A 2017-09-30 2017-09-30 一种中文地址树的构建方法及装置 Active CN107679187B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710917267.0A CN107679187B (zh) 2017-09-30 2017-09-30 一种中文地址树的构建方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710917267.0A CN107679187B (zh) 2017-09-30 2017-09-30 一种中文地址树的构建方法及装置

Publications (2)

Publication Number Publication Date
CN107679187A true CN107679187A (zh) 2018-02-09
CN107679187B CN107679187B (zh) 2020-12-01

Family

ID=61137814

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710917267.0A Active CN107679187B (zh) 2017-09-30 2017-09-30 一种中文地址树的构建方法及装置

Country Status (1)

Country Link
CN (1) CN107679187B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108369582A (zh) * 2018-03-02 2018-08-03 福建联迪商用设备有限公司 一种地址纠错方法及终端
CN109033327A (zh) * 2018-07-19 2018-12-18 浪潮软件集团有限公司 一种中文地址树的管理系统和管理方法
CN109145073A (zh) * 2018-08-28 2019-01-04 成都市映潮科技股份有限公司 一种基于分词算法的地址解析方法及装置
CN112181978A (zh) * 2020-08-19 2021-01-05 杭州数梦工场科技有限公司 地址存储结构、地址解析方法、装置、介质及计算机设备
CN112749169A (zh) * 2021-01-20 2021-05-04 北京明略昭辉科技有限公司 地址树构建方法、地址规划规范方法、装置和电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7835304B2 (en) * 2007-11-28 2010-11-16 Alcatel-Lucent Usa Inc. Method and apparatus for assigning IP addresses
CN102571599A (zh) * 2012-02-08 2012-07-11 福建三元达通讯股份有限公司 一种路由表项的快速存储方法
CN104657361A (zh) * 2013-11-18 2015-05-27 阿里巴巴集团控股有限公司 一种数据处理方法及装置
CN106557574A (zh) * 2016-11-23 2017-04-05 广东电网有限责任公司佛山供电局 基于树结构的目标地址匹配方法和系统
CN106649464A (zh) * 2016-09-26 2017-05-10 深圳市数字城市工程研究中心 一种中文地址树的构建方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7835304B2 (en) * 2007-11-28 2010-11-16 Alcatel-Lucent Usa Inc. Method and apparatus for assigning IP addresses
CN102571599A (zh) * 2012-02-08 2012-07-11 福建三元达通讯股份有限公司 一种路由表项的快速存储方法
CN104657361A (zh) * 2013-11-18 2015-05-27 阿里巴巴集团控股有限公司 一种数据处理方法及装置
CN106649464A (zh) * 2016-09-26 2017-05-10 深圳市数字城市工程研究中心 一种中文地址树的构建方法及装置
CN106557574A (zh) * 2016-11-23 2017-04-05 广东电网有限责任公司佛山供电局 基于树结构的目标地址匹配方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
谭侃侃: "基于规则的中文地址分词与匹配方法", 《中国优秀硕士学位论文全文数据库》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108369582A (zh) * 2018-03-02 2018-08-03 福建联迪商用设备有限公司 一种地址纠错方法及终端
WO2019165644A1 (zh) * 2018-03-02 2019-09-06 福建联迪商用设备有限公司 一种地址纠错方法及终端
CN108369582B (zh) * 2018-03-02 2021-06-25 福建联迪商用设备有限公司 一种地址纠错方法及终端
CN109033327A (zh) * 2018-07-19 2018-12-18 浪潮软件集团有限公司 一种中文地址树的管理系统和管理方法
CN109033327B (zh) * 2018-07-19 2021-09-28 浪潮软件股份有限公司 一种中文地址树的管理系统和管理方法
CN109145073A (zh) * 2018-08-28 2019-01-04 成都市映潮科技股份有限公司 一种基于分词算法的地址解析方法及装置
CN112181978A (zh) * 2020-08-19 2021-01-05 杭州数梦工场科技有限公司 地址存储结构、地址解析方法、装置、介质及计算机设备
CN112749169A (zh) * 2021-01-20 2021-05-04 北京明略昭辉科技有限公司 地址树构建方法、地址规划规范方法、装置和电子设备

Also Published As

Publication number Publication date
CN107679187B (zh) 2020-12-01

Similar Documents

Publication Publication Date Title
CN107679187A (zh) 一种中文地址树的构建方法及装置
US10095755B2 (en) Fast identification of complex strings in a data stream
Bille et al. Random access to grammar-compressed strings and trees
CN105260354A (zh) 一种基于关键词字典树构造的中文ac自动机工作方法
US6530072B1 (en) Rule based hierarchy generation in a circuit design verification system
CN107092659A (zh) 一种通用的树形结构存储解析方法
CN102867049B (zh) 一种基于单词查找树实现的汉语拼音快速分词方法
CN107748778B (zh) 一种提取地址的方法及装置
CN104021123A (zh) 用于数据迁移的方法和系统
CN112256821B (zh) 中文地址补全的方法、装置、设备及存储介质
CN115563409A (zh) 一种地址行政区划识别方法、装置、设备及介质
CN109299443B (zh) 一种基于最小顶点覆盖的新闻文本去重方法
CN105468521B (zh) 一种基于子图搜索的指针相关语义错误定位方法
CN104615782A (zh) 基于滑动窗口最大匹配算法的地址匹配方法
CN113419742B (zh) 一种字符串编码和查找方法
CN110287147A (zh) 一种字符串排序方法及装置
Cohen Techniques for establishing star height of regular sets
Bille Pattern matching in trees and strings
Yan et al. Tffv: Translator from EOS smart contracts to formal verification language
Broadbent Prefix rewriting for nested-words and collapsible pushdown automata
JP2005018811A (ja) 文字列検索装置
CA2855398C (en) Fast identification of complex strings in a data stream
CN116719827A (zh) 一种宽表更新方法、装置、设备及计算机可读存储介质
Lv et al. Recognition Algorithm Research on Query Language Based on Operator Precedence Grammar
CA2873000C (en) Fast identification of complex strings in a data stream

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