CN112612863B - 一种基于中文分词器的地址匹配方法及系统 - Google Patents
一种基于中文分词器的地址匹配方法及系统 Download PDFInfo
- Publication number
- CN112612863B CN112612863B CN202011572828.6A CN202011572828A CN112612863B CN 112612863 B CN112612863 B CN 112612863B CN 202011572828 A CN202011572828 A CN 202011572828A CN 112612863 B CN112612863 B CN 112612863B
- Authority
- CN
- China
- Prior art keywords
- address
- matching
- word segmentation
- segmentation device
- data
- 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
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明提供一种基于中文分词器的地址匹配方法及系统,进行地址数据集准备,包括多源地址数据的清洗和去重;地址匹配索引库创建,包括依据地址结构特点构建带有地理属性的地址分级数据库并生成索引文件;地址匹配引擎构建,包括对地址分级数据库中的地址元素进行编码,构建基于三叉拼音搜索树的中文地址分词器,增加匹配集的二次比对计算,形成一种基于分词器的匹配引擎;在地址匹配引擎的基础上实现正向或逆向的地址匹配。本发明对多源地址进行了集成,提供了一套地址数据库的构建和编码方案,面向非标准地址的查询,能够对含有拼音和同义词的地址进行解析且提供匹配地址集。本发明提供的地址匹配接口能有效的服务于市政、物流、导航等应用。
Description
技术领域
本发明涉及地理信息系统领域,特别是涉及一种基于中文分词器的地址匹配方法及系统。
背景技术
地址是地理数据的文本形态之一,承载着丰富语义和空间信息,是构建智慧城市中地理本体与语义框架的基石。地址匹配涉及地址分词、解析、标准化等流程,利用地址的空间语义、语言结构等特点,在文本信息到地理坐标的转换间建立了关联,为工商、民政、税务、导航等领域提供新的数据查询方式和调度策略,已逐渐展现出其极高的应用价值。地址匹配技术也因此被认为是智慧城市建设过程中,各行业专题数据实现空间化的核心技术手段。针对地址匹配的研究已经成为当前地理信息科学领域的热点,尤其是在提高地址匹配精度问题方面具有重要的研究意义。
地址匹配系统在构建和使用过程中涉及到两种地址数据:原始型地址数据和输入型地址数据。原始型数据,通常来自民政或公安部门采集,用于构建分词词典或生成地理编码模型。一方面,多源地址数据的集成过程面临着大量地址非标准、重复地址较多的问题,另一方面复杂的地址描述和无序的元素组合增加了地址分词与建库难度;输入型数据,地理编码系统使用者输入地址时并非按照严格的标准形式,出现了表述不一但在空间中指向同一地址的情况,也称非标准地址,对于非标准地址的解析也成为了地址匹配问题的挑战之一。
因此,两个方面的聚焦研究将有助于提高地址匹配系统的匹配精度,一是根据原始型地址数据特点构建覆盖度广的、精准度高的、编码方案科学的地址数据库,为地址匹配引擎提供数据分析的基础性支撑。二是根据输入型地址常出现的非标准形式,改进传统搜索引擎的中文分词器构造,创建适用于地址解析的分词器,为后续搜索提供正确的分词结果。
发明内容
为了解决上述技术问题,本发明提供一种基于中文分词器的地址匹配方法与系统,其内容包括将多源数据进行清洗去重、根据地址结构特点构建带有地理特征的地址分级数据库、带有地址元素类型语义信息的地址编码、基于拼音三叉树的地址分词器、对待匹配数据集二次比对,并基于此方法设计正、逆向的地址匹配服务。
为了实现上述目的,本发明技术方案提供一种基于中文分词器的地址匹配方法,包括以下步骤:
步骤1,地址数据集准备,包括多源地址数据的清洗和去重;
步骤2,地址匹配索引库创建,包括依据地址结构特点构建带有地理属性的地址分级数据库并生成索引文件;
步骤3,地址匹配引擎构建,包括对地址分级数据库中的地址元素进行编码,构建基于三叉拼音搜索树的中文地址分词器,增加匹配集的二次比对计算,形成一种基于分词器的匹配引擎;
步骤4,在地址匹配引擎的基础上实现正向或逆向的地址匹配。
而且,所述步骤1中,所述多源地址数据包括公安地址数据、工商法人地址数据、导航地图地址数据、建筑物信息中的地址数据,应用邻近排序,根据自定义窗口大小对窗口内数据进行比较,选取多源数据中表征同一地理标志的较标准地址。
而且,所述步骤2中,将地址结构特点定义为由行政区划名称、基本区域限定、定位点描述组成。
而且,地址分级包括行政区划名称划分为5级,按照等级由高到低其元素通名分别为省、市、县或区、乡镇或街道、行政村或社区;基本区域限定划分为2个,按照类型分别是道路与片区,道路通名包括道、路、街、巷、弄,片区通名包括小区、苑、园、阁、工业区、开发区;定位点描述划分为3个,按照类型分别是门牌号、楼栋号和标志物或POI,门牌号通名为号,楼栋号通名包括栋、楼、幢。
而且,所述步骤3中,对地址分级数据库中的地址元素进行编码实现如下,
采用21字符位地理编码方案对每条地址创建唯一识别码,其中,行政区划编码共12位,依次为2位省级行政区划顺序码、2位市级行政区划顺序码、3位乡镇或街道级行政区划顺序码、3位行政村或社区级行政区划顺序码;地址类型编码共1位,地址流水顺序编码共8位而且,所述步骤3中,构建基于三叉拼音搜索树的中文地址分词器,实现方法如下,
将拼音作为节点融入三叉搜索树中生成拼音三叉搜索树,如果各级节点的拼音形成词在分词库中出现,则在该节点上添加地址元素数组用于正向匹配,形成以拼音三叉搜索树为模型和以最大正向匹配算法为原则的地址分词器;同时定义同义词替换类型,在分词器中配置同义词文本,通过检测同义词文本中是否包含分词集合中的词来确定是否执行同义词的替换。
而且,所述步骤3中,增加匹配集的二次比对计算,实现方式为在搜索引擎第一次返回待匹配数据集后,使用编辑距离作为第二次比较地址匹配度的指标。
而且,所述步骤4中,正向匹配服务类型包括单条地址精准分词匹配查询、单条地址细粒度匹配查询、批量地址精准分词匹配查询;逆向匹配服务类型包括指定经纬度的最近邻k个点要素查询、指定搜索半径的中心点圆形范围查询。
另一方面,本发明还提供一种基于中文分词器的地址匹配系统,用于实现如上所述的一种基于中文分词器的地址匹配方法。
而且,包括以下模块,
第一模块,用于地址数据集准备,包括多源地址数据的清洗和去重;
第二模块,用于地址匹配索引库创建,包括依据地址结构特点构建带有地理属性的地址分级数据库并生成索引文件;
第三模块,用于地址匹配引擎构建,包括对地址分级数据库中的地址元素进行编码,构建基于三叉拼音搜索树的中文地址分词器,增加匹配集的二次比对计算,形成一种基于分词器的匹配引擎;
第四模块,用于在地址匹配引擎的基础上实现正向或逆向的地址匹配。
与现有技术相比,本发明具有以下优点:
本发明提供的基于中文分词器的地址匹配方法与实现,可对拼音汉字混合与含有同义词的地址进行解析和匹配。对多源地址数据使用邻近排序算法进行去重和清洗,提高了大数量下地址数据的集成效率。基于地址结构特点创建的数据库和带有地址类型的语义信息的编码方案有利于地址元素及地址的快速索引,是一种地址数据和地址元素存储设计的新组织方式。基于编辑距离对待选集合的二次筛选可以进一步过滤干扰项,提高返回地址的匹配度。在整个地址匹配引擎基础上构建的正、逆向地址匹配服务提供了如批量匹配、最近邻匹配等功能,能服务于市政、物流、导航等应用中。
本发明方案实施简单方便,实用性强,解决了相关技术存在的实用性低及实际应用不便的问题,能够提高用户体验,具有重要的市场价值。
附图说明
图1为本发明的方法流程图。
图2为本发明实施例提出的多源数据清洗去重流程图。
图3为本发明实施例提出的地址数据库分级结构与地址构成模型示意图。
图4为本发明实施例提出的地址编码方案示意图。
图5为本发明实施例提出的拼音三叉树示意图。
图6为本发明实施例提出的同义词解析流程图。
图7为本发明提出的地址匹配流程图。
具体实施方式
以下结合附图和实施例具体说明本发明的技术方案。
本发明实施例提供的一种基于中文分词器的地址匹配方法,具体实施时,本发明技术方案提出的方法可由本领域技术人员采用计算机软件技术实现自动运行流程,也可采用模块化方式实现相应系统。
参见图1,本发明实施例提供的一种基于中文分词器的地址匹配系统的架构设计,总体上包含四个模块:数据准备、索引创建、匹配引擎和服务接口。
本发明实施例提供的一种基于中文分词器的地址匹配方法,具体包括以下步骤:
步骤1,地址数据集准备,包含公安地址、工商法人地址、导航地图地址、建筑物信息等多源地址数据的清洗和去重;
所述步骤1中,优选应用邻近排序算法,自定义窗口大小对窗口内数据进行比较,选取多源数据中表征同一地理标志的较标准地址。
参见附图2,实施例中步骤1的具体实现如下:
步骤1.1,输入多源数据集:在本实施例中,多源地址数据类型包括:公安地址数据、工商法人地址数据、导航地图地址数据、建筑物信息中的地址数据。公安地址数据特点是地址结构较完整,地址元素较标准,但地址精确至房间号。工商法人地址数据特点是地址形式较为多样,包含地址描述信息,地址元素缺失现象较多,较少使用门牌号作为定位方式。导航地图地址数据特点是数据量较少,地址中夹带如“()”、“\”、“<>”等特殊符号。建筑物信息中的地址数据特点是地址形式极为混乱,地址元素难以简易拆分,地址元素缺失严重。
步骤1.2,去除重复记录:将四个数据源的数据进行物理整合,即将地址记录存储于同一表文件中;去除地址文本形式完全相同的地址记录。
步骤1.3,邻近排序:根据地址逐字拼音进行排序,排序规则为由a至z,地址中的每一个字符都参与字母顺序判定;此时可得到具有固定顺序且存储于同一表文件中的多个数据源的地址文本记录。
步骤1.4,数据集内窗口扫描,包括以下子步骤:
步骤1.4.1,定义算法变量。
定义窗口大小、相似度阈值和窗口移动速度为算法变量,
窗口大小n指窗口移动一次可覆盖当前表文件中的n条地址记录;
相似度阈值为v,窗口内地址通过计算相似度,若其值大于阈值v,则认为是重复地址;窗口移动速度为当窗口从第i条记录移动至第j条记录时的移动量(j-i)。
实施例采用的优选设置如下:
①在实施例中定义的窗口大小为4,即窗口每移动一次,可覆盖当前表文件中的4个地址记录;之所以定义为4,是与数据源个数相对应,假设每个数据源中只有唯一的代表同一地理实体的地址数据,因此如果定义窗口为4可以恰好覆盖四个数据源中的地址。事实上,在实际处理过程中,许多地理实体的地址只出现在其中一至两个数据源中,但是定义窗口为4仍可包含,仍然可以完成地址的清洗工作。设使窗口过大,则会使得窗口移动较晚移出上一次窗口范围,导致多条地址记录的重复比对,降低了效率。设使窗口过小,则会使得窗口移动次数增加,增加了算法的时间复杂度,当窗口设置为1时,算法时间复杂度最大,则需要进行N(N-1)/2次比较(其中:N是数据库中记录的总数)。
②相似度阈值设置为0.8。
③窗口移动速度设置3个值(1,2,3)。当窗口内四条记录的相似度都大于阈值时,则设置窗口移动速度为1,即窗口覆盖新的四条地址;如果窗口内四条记录的相似度都小于阈值时,则设置窗口移动速度为3,即窗口覆盖上一窗口的最后一条记录和新的三条记录。其余情况的窗口移动速度为2。
步骤1.4.2,窗口内相似度比对。通过计算两地址记录间的最小编辑距离,然后将值标准化到[0,1]间,如果两条地址的相似度大于0.8,则保留地址字符个数较多的地址与窗口内下一条记录进行相似度计算,删去地址字符个数较少的地址,直至窗口内地址全部完成比对。
步骤1.4.3,移动窗口并重复步骤1.4.2,直到窗口中包含了最后一条地址。
步骤1.5,进行地址归并得到待分词数据集,具体实施时可以整理下步骤1.4结束后所得的数据集,将中间的空行去掉。
因此,该多源地址数据去重和清洗方法能够在构建地址数据库前对大量地址进行一遍预处理,保留地址结构较为完整的地址作为对象,减少了数据量,为后续地址数据库的构建提供了基础。
步骤2,地址匹配索引库创建,依据地址结构特点构建带有地理属性的地址分级数据库并生成索引文件;
参见图3,步骤2包括以下子步骤,
步骤2.1,划分地址元素等级。
地址分级数据库的构建依托于关系数据库,受影响于地址元素等级划分,取决于地址分词的准确性。中文地址分级数据库建设的意义在于采用带有地理属性的分类方法,将组合地址的不同地址元素存储在各个表中,每个表之间又存在相关关系。每个等级对应的表可以建立索引,作为搜索引擎的索引库参与到地址匹配中。
地理属性指每个地址元素代表的实际的地理实体类型和等级。参见附图3,在实施例中地理实体类型包括省、市、县(区)、乡镇(街道)、行政村(社区)、道路、片区、门牌号、楼栋号、标志物或POI(兴趣点)一共十种类型。地理实体等级为省为第1级(国家为第0级),市为第2级,县(区)为第3级、乡镇(街道)为第4级、行政村(社区)为第5级,道路为第6级、片区为第7级、门牌号为第8级、楼栋号为第9级、标志物或POI为第10级。
将地址结构特点定义为由行政区划名称、基本区域限定、定位点描述组成。其中,省、市、县(区)、乡镇(街道)、行政村(社区)属于行政区划名称;道路(包括道、路、街、巷、弄)、片区(包括小区、工业区、开发区)属于基本限定区域;门牌号、楼栋号、标志物或POI属于局部点定位。也即地址分级包括行政区划名称划分为5级,按照等级由高到低其元素通名分别为省、市、县(区)、乡镇(街道)、行政村(社区);基本区域限定划分为2个,按照类型分别是道路与片区,道路通名包括道、路、街、巷、弄,片区通名包括小区(苑、园、阁等)、工业区、开发区等;定位点描述划分为3个,按照类型分别是门牌号、楼栋号和标志物或POI,门牌号通名为号,楼栋号通名包括栋、楼、幢。
步骤2.2,确定地址元素特征字。
地址分级数据库的构建依赖于中文地址的准确分词。本发明在构建数据时采用了基于特征字的分词方法。特征字指不同等级的地址元素名称其通名使用的字符,行政区划中各个级别名称的通字对应分别为:省级—“省”、市级—“市”、县(区)级—“县”“区”“市”(县级市)、乡镇(街道)级—“乡”“镇”“街道”、行政村(社区)—“村”“社区”;基本限定区域中各个级别名称的通字对应分别为:道路级—“道”“路”“街”“巷”“弄”、片区级—“苑”“园”“阁””“小区”;局部定位点描述中各个级别名称的通字对应分别为门牌号—“号”、楼栋号—“楼”“幢”“栋”,标志物和POI如果出现无法根据关键字进行分词的情况,可以提示用户处理。具体实施时,为提高准确率,可以每级分词均采取人工检查。分词完成后,建立表将每一级对应的地址元素分别存入关系数据库。
步骤2.3,基于特征字的分词方法对步骤1.1所得待分词数据集地址进行分词。基于特征字的分词方法具体实施时可参考现有技术,本发明不予赘述。
步骤2.4,构建地址分级数据库。将步骤2.3中得到的不同等级地址元素存储入数据库。
步骤2.5,创建分级索引库。使用Lucene索引生成工具将地址分级数据库中的地址元素进行索引生成。索引生成具体实施时可参考现有技术,本发明不予赘述。
该地址匹配索引库创建方法将地址拆分为多个表存储的地址元素作为索引库的创建基础。在后续的对输入型地址的分词中,这些地址元素也会作为分词器的参考词典对输入型地址进行分词及标准化。
步骤3,地址匹配引擎构建。对地址分级数据库中的地址元素进行编码,构建基于三叉拼音搜索树的中文地址分词器,增加匹配集的二次比对计算,形成了一种基于分词器的匹配引擎。
实施例的步骤3实现包括以下子步骤,
步骤3.1,对输入数据的预处理,包括以下子步骤,
步骤3.1.1,去除标点符号,去除地址中如“()”、“\”、“<>”、“。”标点符号。
步骤3.1.2,拼音汉字转换。将地址中的汉字全部转换为拼音形式。
步骤3.1.3,简易正则化。对拼音字符串进行进一步处理,具体为将大写字母改为小写、去除每个字符内多余空格。
步骤3.2,对输入地址进行地址解析。包括以下子步骤,
步骤3.2.1,对地址元素编码。构建带有地址类型语义信息的地址编码方案,对地址分级数据库中地址元素进行编码。编码时每一级的主要区别在于当前对象的最后一级地址元素的等级不同,则编码中的类型码不同。地址编码方案采用了21字符位地理编码方案对每条地址创建了唯一识别码,其中,行政区划编码共12位,依次为2位省级行政区划顺序码、2位市级行政区划顺序码、3位乡镇(街道)级行政区划顺序码、3位行政村(社区)级行政区划顺序码;地址类型编码共1位;地址流水顺序编码共8位。编码方案中行政区划编码的12位与国家民政部对五级行政区划的编码定义一致。编码方案中类型码对应关系为:A-国家、B-省、C-市、D-区(县)、E-乡镇(街道)、F-行政村(社区)、G-片区、I-道路、K-门牌号、L-楼栋号、P-标志物或POI。参见附图4,如例1:“浙江省台州市玉环市玉城街道环城村”,在编码时按照上述规则:“浙江省”—“33”/台州市—“10”/玉环市—“83”/玉城街道—“001”/环城村—“202”/类型为“村、社区”级—“F”/顺序编号无—“00000000”,最终该地址的编码为“331083001202F00000000”作为其检索的唯一编码;如例2:“浙江省台州市玉环市大麦屿街道滨凌路”,在编码时按照上述规则:“浙江省”—“33”/台州市—“10”/玉环市—“83”/大麦屿街道—“003”/村、社区名称无—“000”/类型为“道路”级—“I”/滨凌路—“00000232”,最终该地址的编码为“331083003000F00000232”作为其检索的唯一编码;如例3:“浙江省台州市玉环市大麦屿街道刘园社区健康巷42号”,在编码时按照上述规则:“浙江省”—“33”/台州市—“10”/玉环市—“83”/大麦屿街道—“003”/刘园社区—“004”/类型为“门牌号”级—“K”/滨凌路—“00000352”,最终该地址的编码为“331083003004K00000352”作为其检索的唯一编码。
步骤3.2.2,构建基于三叉拼音搜索树的中文地址分词器。为应对输入型地址中包含的拼音、同义词等情形设计了基于拼音三叉搜索树的匹配引擎分词器。包括以下子步骤,
步骤3.2.2.1,构建拼音三搜索叉树,通过该方法可获得通用分词与地址分词。
分词器的改进建立在通用搜索引擎Lucene提供的IK分词器的基础之上。
三叉搜索树又称前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串,而根节点对应空字符串。一般情况下,不是所有的节点都有对应的值,只有叶子节点和部分内部节点所对应的键才有相关的值。三叉搜索树结合了字典树的时间效率和二叉搜索树的空间效率优点,在汉字词典搜索中具有较好的效果。鉴于输入地址的非标准特征,本发明将拼音融入三叉搜索树中,形成了以拼音三叉搜索树为模型和以最大正向匹配算法为原则的分词方法。树的每个节点是由汉语拼音组成,如果各级节点的拼音形成词在分词库中出现,则在该节点上添加地址元素数组用于正向匹配。
采用数组可解决拼音相同而汉字不同的情况,如台州市与泰州市(实际上构建的数据库中并无泰州市)。引擎对于某个地址元素的匹配结果有两个错别字及以上情形,视为该地址元素在分词库中没有记录。参见附图5,拼音三叉树的叶子节点都由拼音组成,如“tai”、“zhe”、“shang”、“zhou”等。路径“tai”—“zhou”可以组成“台州”,路径“tai”—“zhou”—“shi”可以组成“台州市”。对于路径“tai”—“zhou”—“yu”则不能组成一个地址元素,因此在“yu”这个叶子节点上无相应的分词元素存储,此时其对应的数组中没有元素。而由“yu”—“huan”—“ge”路径仍然可以形成分词元素“玉环阁”,并且将该地址元素存储于“ge”所在叶子节点对应的数组中。
步骤3.2.2.2,同义词文本配置。
①定义同义词类型:同义词、简称、别名、旧称和繁体字等现象(以下统称同义词)在地址匹配中较为常见,需进行针对处理,如表1所示。
表1同义词类型
②参见附图6,输入型地址数据在进入由IK分词器和基于拼音三叉搜索树的分词器组成的中文地址分词器中后会经过精准模式(拼音三叉树分词器)和细粒度模式(IK分词器)的处理,在内存中产生分词集合,该分词集合会被配置有同义词文本的分词器遍历,分词器会对分词集合与同义词文本进行比较检测,若分词集合中有同义词文本中定义的词时则认定为同义词。检测到的同义词会被分词器收集并根据同义词文本创建原词与其同义词的二元组,之后合并于总分词集合。最后在检索时,使用总分词集合中的词进行检索。以此方法可以识别一些常见的同义词。
步骤3.2.2.3,地址在经过由步骤3.2.1、步骤3.2.2.1、步骤步骤3.2.2.2构建的匹配引擎以后可完成地址要素识别与地址标准化。地址要素识别指根据地址分词的关键字初步判定地址元素的类别,并去除其他文本。地址标准化包括元素补全和关系纠正。元素补全根据不同元素间的地址编码,可以识别出两元素之间是否缺少某一级地址元素,并进行补全。关系纠正根据不同元素间的地址编码,可以识别出两元素的输入顺序是否有误,并进行调整。
步骤3.3,对完成解析后的地址或输入的经纬度进行查询匹配。
具体实施时,包括以下两种可选的匹配方式:
1)正向匹配。指输入地址返回地址对应的经纬度的查询。该发明包括两种正向查询方式,方式一精准查询。使用基于拼音三叉搜索树的分词器作为地址匹配引擎的分词器来解析地址,进而检索结果的查询方式。方式二细粒度查询:使用基于IK分词器作为地址匹配引擎的分词器来解析地址,进而检索结果的查询方式。正向匹配过程包括以下子步骤:
步骤3.3.1.1,门牌号插值。当解析地址中存在有数据库中未存储的地址时,根据与该地址门牌号数值最接近的两个地址的经纬度,估算其该地址经纬度,一般采用经纬度平均结果。
步骤3.3.1.2,匹配集筛选。通过对输入型地址的解析和匹配会得到一个待匹配地址集合,进一步对待匹配地址集合进行编辑距离的计算确定结果返回顺序。在搜索引擎第一次返回待匹配数据集后,使用编辑距离作为第二次比较地址匹配度的指标。
编辑距离的计算可参见相关文献:Levenshtein V I.Binary codes capable ofcorrecting deletions,insertions,and reversals[C]//Soviet physicsdoklady.1966,10(8):707-710.
为便于实施参考起见,提供相应说明如下:
距离计算本质为待匹配地址转换为输入地址所需要进行单次字符操作的操作次数,其类型包含插入、删除、替换三种。设a表示用户输入地址,b表示经过自动序返回的一条地址,则定义leva,b(i,j)指的是a前i个字符和b中前j个字符之间的距离,有
故a和b之间的编辑距离即leva,b(|a|,|b|),|a|和|b|则代表字符串a和字符串b的长度。设定编辑距离leva,b(i,j)相应阈值,小于阈值的待匹配地址移除匹配集,大于阈值的待匹配地址按照编辑距离值大小排序返回。在实施例中,待匹配集合中会出现10条匹配的地址记录。对10条地址记录中的每一条都与输入地址进行最小编辑距离计算,设定最小相似度阈值为0.8,小于该阈值的待匹配记录直接从返回结果集中移除,大于该阈值的待匹配记录加入至返回结果集中,最后按照计算的相似度对返回结果集中的记录进行排序并返回。
2)逆向匹配。指输入经纬度、半径、点的数量等参数返回地址相关信息的查询。该发明包括两种逆向查询方式,方式一半径查询,输入经纬度、半径、点的数量三个参数,返回结果为以该经纬度为圆心、半径值为半径的圆形范围内指定数量的地址信息,包括地址的文本、经纬度和地址编码。方式二最近邻查询,输入经纬度、点的数量两个个参数,返回结果为以该经纬度为中心、距离该点最近的指定数量的地址信息,包括地址的文本、经纬度和地址编码。
参见图7,优选地,实施时可采用的完整地址匹配引擎的工作流程如下:
1)对输入的地址使用特殊元素过滤器去除地址中无法识别的部分,如文本标点符号“,”、“。”、“?”、“!”等,无法识别的特殊元素有很多,过滤器根据数据情况不断完善,结果只保留文本部分。
2)将地址汉字转换为地址拼音,每个字拼音之间以逗号划分。
3)将拼音数组接入自定义的分词器中进行分词,该步骤会收集到三个处理信息:地址元素层级关系、地址元素分词和地址元素编码。
4)使用3)返回的结果纠正地址中错误的空间约束关系,重构正确的地址层级组合。
5)在4)返回基础上判断地址元素编码的对应情况,然后以最小低级别元素为准去除错误地址元素。如“台州市玉环市三甲街道”,由于“三甲街道”的所在行政区划为“椒江区”,该地址查询时直接忽略“玉环市”而只检索“三甲街道”这一地址元素。
6)引擎根据地址元素编码识别出最低级别的地址元素,并定位该元素的上一级父级元素,利用其父级地址元素的编码对应于分层索引的文件名进行第一次结果查询和排序,并创建地址集合。
7)对地址集合内的每条地址和输入地址依次进行编辑距离计算,依据计算结果返回第二次结果查询和排序。
步骤4,创建地址匹配服务接口。在地址匹配引擎的基础上构建对外开放的正、逆向的地址匹配服务。
具体实施时,本发明提供的匹配方法可以服务于市政、物流、导航等行业。服务接口包括五种方式:方式一,单条地址精准分词匹配查询。只使用基于拼音三叉搜素树的分词器对输入型地址进行解析,通过搜索引擎对分词集合中的词完成查询。该过程中分得的词一般会存在与地址数据库中,并且有唯一编码对应。该方式的有点在于查询速度较快;方式二,单条地址细粒度匹配查询。同时使用基于拼音三叉搜索树的分词器和IK分词器对输入型地址进行解析,通过搜索引擎对分词集合中的词完成查询。精准分词对于地址中含有大量未登录词或不规范词的匹配度较差,因此增加IK分词器将地址切分为另一种分词集合,但同时保留了基于拼音三叉树的分词器生成的分词集合,增大了检索范围。该方式的优点在于查询的广度增加,使得一些较难精准匹配的地址也能有满足相似度的返回结果;方式三,使用地址精准分词匹配查询方式批量处理处理。以Excel形式上传批量地址数据集,返回形式为Excel。方式四,输入一个经纬度。定义需要返回的点要素的个数k,则返回距离该输入点欧氏距离最近的k个地址点要素信息。方式五,指定搜索半径的中心点圆形范围查询。输入一个经纬度,定义一个半径范围,则返回以该经纬度为圆心,指定范围为半径的圆形区域内的地址点要素信息。在实施例中,最大返回个数为50。
本发明可在以下场景中进行使用:
(1)移动电子地图中,输入待查询地址“浙江省台州市路桥区金清镇下梁村邮电路213号”,则可返回该处地理实体对应的经纬度坐标(121.467672,28.510129),地图可缩放至该经纬度所对应的区域范围内。
(2)电子导航地图中,输入待查询地址“台州市黄岩区shabu镇佛岭村百家钻51号”,则返回纠正地址为“台州市黄岩区沙埠镇佛岭村百家钻51号”,并一同返回该处地理实体对应的经纬度坐标(121.19238,28.558491)。导航地图可根据该处地理实体对应的属性信息进行语音播报和路径导航。
具体实施时,本发明技术方案提出的方法可由本领域技术人员采用计算机软件技术实现自动运行流程,实现方法的系统装置例如存储本发明技术方案相应计算机程序的计算机可读存储介质以及包括运行相应计算机程序的计算机设备,也应当在本发明的保护范围内。
在一些可能的实施例中,提供一种基于中文分词器的地址匹配系统,包括以下模块,
第一模块,用于地址数据集准备,包括多源地址数据的清洗和去重;
第二模块,用于地址匹配索引库创建,包括依据地址结构特点构建带有地理属性的地址分级数据库并生成索引文件;
第三模块,用于地址匹配引擎构建,包括对地址分级数据库中的地址元素进行编码,构建基于三叉拼音搜索树的中文地址分词器,增加匹配集的二次比对计算,形成一种基于分词器的匹配引擎;
第四模块,用于在地址匹配引擎的基础上实现正向或逆向的地址匹配。
在一些可能的实施例中,提供一种基于中文分词器的地址匹配系统,包括处理器和存储器,存储器用于存储程序指令,处理器用于调用存储器中的存储指令执行如上所述的一种基于中文分词器的地址匹配方法。
在一些可能的实施例中,提供一种基于中文分词器的地址匹配系统,包括可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序执行时,实现如上所述的一种基于中文分词器的地址匹配方法。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
Claims (8)
1.一种基于中文分词器的地址匹配方法,其特征在于:包括以下步骤:
步骤1,地址数据集准备,包括多源地址数据的清洗和去重;
步骤2,地址匹配索引库创建,包括依据地址结构特点构建带有地理属性的地址分级数据库并生成索引文件;
步骤3,地址匹配引擎构建,包括对地址分级数据库中的地址元素进行编码,构建基于三叉拼音搜索树的中文地址分词器,增加匹配集的二次比对计算,形成一种基于分词器的匹配引擎;
所述构建基于三叉拼音搜索树的中文地址分词器,实现方法如下,
将拼音作为节点融入三叉搜索树中生成拼音三叉搜索树,如果各级节点的拼音形成词在分词库中出现,则在该节点上添加地址元素数组用于正向匹配,形成以拼音三叉搜索树为模型和以最大正向匹配算法为原则的地址分词器;同时定义同义词替换类型,在分词器中配置同义词文本,通过检测同义词文本中是否包含分词集合中的词来确定是否执行同义词的替换;
步骤4,在地址匹配引擎的基础上实现正向或逆向的地址匹配。
2.根据权利要求1所述的基于中文分词器的地址匹配方法,其特征在于:所述步骤1中,所述多源地址数据包括公安地址数据、工商法人地址数据、导航地图地址数据、建筑物信息中的地址数据,应用邻近排序,根据自定义窗口大小对窗口内数据进行比较,选取多源数据中表征同一地理标志的较标准地址。
3.根据权利要求1所述的基于中文分词器的地址匹配方法,其特征在于:所述步骤2中,将地址结构特点定义为由行政区划名称、基本区域限定、定位点描述组成。
4.根据权利要求3所述的基于中文分词器的地址匹配方法,其特征在于:地址分级包括行政区划名称划分为5级,按照等级由高到低其元素通名分别为省、市、县或区、乡镇或街道、行政村或社区;基本区域限定划分为2个,按照类型分别是道路与片区,道路通名包括道、路、街、巷、弄,片区通名包括小区、苑、园、阁、工业区、开发区;定位点描述划分为3个,按照类型分别是门牌号、楼栋号和标志物或POI,门牌号通名为号,楼栋号通名包括栋、楼、幢。
5.根据权利要求4所述的基于中文分词器的地址匹配方法,其特征在于:所述步骤3中,对地址分级数据库中的地址元素进行编码实现如下,
采用21字符位地理编码方案对每条地址创建唯一识别码,其中,行政区划编码共12位,依次为2位省级行政区划顺序码、2位市级行政区划顺序码、3位乡镇或街道级行政区划顺序码、3位行政村或社区级行政区划顺序码;地址类型编码共1位,地址流水顺序编码共8位。
6.根据权利要求1所述的基于中文分词器的地址匹配方法,其特征在于:所述步骤3中,增加匹配集的二次比对计算,实现方式为在搜索引擎第一次返回待匹配数据集后,使用编辑距离作为第二次比较地址匹配度的指标。
7.根据权利要求1所述的基于中文分词器的地址匹配方法,其特征在于:所述步骤4中,正向匹配服务类型包括单条地址精准分词匹配查询、单条地址细粒度匹配查询、批量地址精准分词匹配查询;逆向匹配服务类型包括指定经纬度的最近邻k个点要素查询、指定搜索半径的中心点圆形范围查询。
8.一种基于中文分词器的地址匹配系统,其特征在于:用于实现如权利要求1-7任一项所述的一种基于中文分词器的地址匹配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011572828.6A CN112612863B (zh) | 2020-12-23 | 2020-12-23 | 一种基于中文分词器的地址匹配方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011572828.6A CN112612863B (zh) | 2020-12-23 | 2020-12-23 | 一种基于中文分词器的地址匹配方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112612863A CN112612863A (zh) | 2021-04-06 |
CN112612863B true CN112612863B (zh) | 2023-03-31 |
Family
ID=75247993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011572828.6A Active CN112612863B (zh) | 2020-12-23 | 2020-12-23 | 一种基于中文分词器的地址匹配方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112612863B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113743080A (zh) * | 2021-08-16 | 2021-12-03 | 南京星云数字技术有限公司 | 一种分层级地址文本相似度比对方法、装置及介质 |
CN113822049B (zh) * | 2021-09-29 | 2023-08-25 | 平安银行股份有限公司 | 基于人工智能的地址审核方法、装置、设备及存储介质 |
CN113987108B (zh) * | 2021-11-07 | 2024-05-14 | 国家电网有限公司客户服务中心 | 一种基于电力数据进行企业身份识别的方法及装置 |
CN114168705B (zh) * | 2021-12-03 | 2022-11-11 | 南京大峡谷信息科技有限公司 | 一种基于地址要素索引的中文地址匹配方法 |
CN114491089B (zh) * | 2022-01-28 | 2023-08-29 | 北京百度网讯科技有限公司 | 地址获取方法、装置、电子设备、介质 |
CN115840800B (zh) * | 2023-02-27 | 2023-05-12 | 江苏曼荼罗软件股份有限公司 | 患者信息匹配方法、系统、计算机及可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6389507B1 (en) * | 1999-01-15 | 2002-05-14 | Gigabus, Inc. | Memory device search system and method |
CN102737060A (zh) * | 2011-04-14 | 2012-10-17 | 商业对象软件有限公司 | 地理编码应用中的模糊搜索 |
WO2013143493A1 (zh) * | 2012-03-31 | 2013-10-03 | 北京小米科技有限责任公司 | 一种字典树生成方法及搜索方法 |
CN109933797A (zh) * | 2019-03-21 | 2019-06-25 | 东南大学 | 基于Jieba分词及地址词库的地理编码方法和系统 |
CN110399448A (zh) * | 2019-07-31 | 2019-11-01 | 浪潮软件集团有限公司 | 中文地名地址搜索匹配方法、终端、计算机可读存储介质 |
CN111881677A (zh) * | 2020-07-28 | 2020-11-03 | 武汉大学 | 基于深度学习模型的地址匹配算法 |
-
2020
- 2020-12-23 CN CN202011572828.6A patent/CN112612863B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6389507B1 (en) * | 1999-01-15 | 2002-05-14 | Gigabus, Inc. | Memory device search system and method |
CN102737060A (zh) * | 2011-04-14 | 2012-10-17 | 商业对象软件有限公司 | 地理编码应用中的模糊搜索 |
WO2013143493A1 (zh) * | 2012-03-31 | 2013-10-03 | 北京小米科技有限责任公司 | 一种字典树生成方法及搜索方法 |
CN109933797A (zh) * | 2019-03-21 | 2019-06-25 | 东南大学 | 基于Jieba分词及地址词库的地理编码方法和系统 |
CN110399448A (zh) * | 2019-07-31 | 2019-11-01 | 浪潮软件集团有限公司 | 中文地名地址搜索匹配方法、终端、计算机可读存储介质 |
CN111881677A (zh) * | 2020-07-28 | 2020-11-03 | 武汉大学 | 基于深度学习模型的地址匹配算法 |
Non-Patent Citations (1)
Title |
---|
基于IKAnalyzer和Lucene的地理编码中文搜索引擎的研究与实现;柴洁;《城市勘测》;20141231(第06期);第45-50页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112612863A (zh) | 2021-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112612863B (zh) | 一种基于中文分词器的地址匹配方法及系统 | |
CN111428054B (zh) | 一种网络空间安全领域知识图谱的构建与存储方法 | |
CN104866593B (zh) | 一种基于知识图谱的数据库搜索方法 | |
Xavier et al. | A survey of measures and methods for matching geospatial vector datasets | |
CN112347222B (zh) | 一种基于知识库推理的将非标准地址转换为标准地址的方法及系统 | |
US6816779B2 (en) | Programmatically computing street intersections using street geometry | |
CN102395965B (zh) | 用于在数据库中搜索对象的方法 | |
CN107145577A (zh) | 地址标准化方法、装置、存储介质及计算机 | |
CN109933797A (zh) | 基于Jieba分词及地址词库的地理编码方法和系统 | |
CN113434623B (zh) | 一种基于多源异构空间规划数据的融合方法 | |
CN111353030A (zh) | 基于旅游领域知识图谱的知识问答检索方法及装置 | |
CN103605752A (zh) | 一种基于语义识别的地址匹配方法 | |
CN111522892B (zh) | 地理要素的检索方法及装置 | |
CN112528174A (zh) | 基于知识图谱和多重匹配的地址修整补全方法及应用 | |
CN114168705B (zh) | 一种基于地址要素索引的中文地址匹配方法 | |
CN116414823A (zh) | 一种基于分词模型的地址定位方法和装置 | |
CN114780680A (zh) | 基于地名地址数据库的检索与补全方法及系统 | |
CN112948717B (zh) | 一种基于多因素约束的海量空间poi搜索方法及系统 | |
CN114201480A (zh) | 一种基于nlp技术的多源poi融合方法、装置及可读存储介质 | |
CN102385597B (zh) | 一种poi的容错搜索方法 | |
CN115982329A (zh) | 一种工程施工方案编制依据的智能生成方法及系统 | |
CN116303854A (zh) | 一种基于地址知识图谱的定位方法及装置 | |
CN115658919A (zh) | 一种文化信息数字化存储方法 | |
CN115185986A (zh) | 省市区地址信息匹配方法、装置、计算机设备及存储介质 | |
CN111444299A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |