- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于Apache Lucene的地址匹配技术研究
摘 要: 地址匹配技术常常被用于对属性地址信息快速定位,也是解决目前GIS系统分析能力瓶颈的重要方法。首先分析了中文地址匹配技术应用的现状以及常用地址匹配方法的优缺点,在此基础上给出了基于全文检索技术的地址匹配方法,并使用参考规则进行匹配结果优化,随后使用实验证明了方法的准确性。
关键词: 全文检索;地址匹配;GIS;Lucene
0 引言
企业管理以及信息化业务越来越多地依赖于电子地图[1-2]。国外对空间地址匹配技术的研究已经形成了完善的规范体系,各大地图提供厂商也形成了标准的工业化组件[3-4]。一些特殊领域也针对地理编码精度的量化以及评估方法进行了一系列的研究[5-6]。随着GIS技术在空间分析上的普及,一些研究人员开始探索使用空间要素之间的相关性帮助对地址匹配结果进行纠偏[7]。
中文地址匹配的研究在国内尽管已经有了成熟的应用,但对不规范地址的匹配仍然依赖于数据的预处理,对于模糊地址的查询还依赖用户对系统推荐的结果进行二次选择。
中文地址匹配的难度主要来自城市门牌地址不规范以及中文的语言复杂性。由于国内城市地址编码规范的缺失,门牌地址的缺、跳、同、错等问题非常普遍,增加了地址匹配的难度,同时一些纠偏手段也往往也很难达到预期的效果。另外,不同机构所采集的地址门牌数据往往使用不同的描述风格,甚至地址要素的先后顺序都存在不同。此外,对同一地点查询的地址描述也可能使用截然不同的描述方式。对此,一方面需要对门牌地址的标准进行研究[8],另一方面需要对现有城市地址的规则进行研究。
本文针对地址匹配技术中地址库维护成本高、可拓展性差的问题,给出了基于Apache Lucene的地址匹配技术,利用搜索引擎技术对空间地址要素进行索引,通过搜索规则进行地址匹配,实现地址库的自学习并可提高地址匹配的精度。
1 常见中文地址匹配技术比较
现有地址匹配技术包括:地址库预处理(对不规则的地址数据进行一些人工干预的处理使之达到设计所需的格式要求),提高地址分词精度以及与用户交互(当用户输入的地址得到多个匹配度相似的结果时,通过询问用户而得到更为准确的结果)。这些方法需要大量人工干预。常见的中文地址匹配方法有:正则表达式法、关键路径法以及自然语言理解法[9]。
本文针对对中文地址描述模糊、不规范以及使用参照物等特点,提出一种可用于中文地址匹配的思路:首先确定地址的大概方位,然后通过待匹配地址中的参考值进行地址修正。
2 基于全文搜索的地址匹配法
本文方法的核心是基于Apache Lucene全文检索工具包[10]的全文检索:首先对现有地址门牌以及POI等空间地址数据进行分析并建立索引,形成基础地址索引库;接下来通过对索引库的搜索实现初步的地址匹配;最后在此基础上利用参照物纠偏等方法对匹配结果进行进一步纠正以得到精确的地址空间位置信息。
常见的地址数据有3种:第一种是精确的地址描述,如“上海宛平南路75号”,搜索引擎可以很容易地搜索到相似度最高的结果;第二种是基于参考物的描述,如“肇嘉浜路上7号线地铁站”,地址匹配通过执行预先制定的“地点+参照物”的规则得到最终的匹配结果;第三种是基于不确定的指路形式,如“上海宛平南路75号向南50米”,地址匹配引擎按照规则“地点+方向”得到最终的匹配结果。
在设计时定义了3种类型的规则:第一种是预处理规则,对地址文本进行预处理,包含错别字替换、特殊符号替换以及错误描述替换等;第二种是计算以及参考规则,对原地址进行要素拆分提取,比如在地址数据中常见的方向描述、当不清楚具体门牌时的参照物描述以及一些专业领域中的特有对象的内容;第三种是检索规则,当无法检索到合适的结果时,引擎需要减少检索的条件,检索规则用来判断舍弃哪些关键要素,比如在路名库中存在的词不可舍弃、数值要素可以舍弃等。
通过完善规则可以提高匹配精确度,此外可针对特定领域制定特定的规则,通过数据分析以及规则挖取也为地址匹配引擎的自我学习打下了基础。
本文的地址匹配基本思路包含以下步骤。
(1)词库准备。词库主要有地址固定名词库、兴趣点固定词库、常用别称库以及常见误称库。其中地址固定名词库包含城市名、乡镇名以及道路名等;兴趣点则包括如超市、医院以及学校等POI数据;常用别称则是对一些地点约定俗成的非官方叫法或者一地多名的叫法,如新客站、上海火车站都指的是同一地点;而误称库则是在地址描述中一些常见的错误描述形式。
(2)地址索引建立。在准备好词库的基础上对门牌地址库以及POI数据库进行分词索引。
(3)匹配规则制定。使用了预设的规则引擎进行匹配规则描述,匹配规则主要用于对已经经过初步筛选的大致范围进行精确定位的情况,比如方位描述规则“[D]{关键字}<计算符>(数据提取正则表达式)”可以用于对“路口向东20米”这类数据进行纠偏,参考物规则“[R]{关键字}<空间图层ID>”可以对“人民路口东侧行道树”这类数据进行纠偏,还可以通过规则的组合来实现更为复杂的情况。
(4)地址匹配过程。首先对待匹配地址进行规则检测,如果符合地址匹配规则库中的规则,则对地址数据进行规则运算,得到匹配规则以及规则计算后的地址文本。之后对地址文本进行分词,进而使用检索规则进行检索条件的构建,并对索引进行搜索。
对于不规范或有问题的地址,往往会出现无法检索到结果的情况,这时系统将根据制定的缩词规则对分词的结果进行筛选,去除权重低的词汇并重新构建检索条件进行地址库检索。
最终如果成功检索到结果,则根据先前提取到的规则,系统还将对这个结果进行修正,比如“向东20米”这样的方向规则,那么地址匹配引擎将在匹配的结果上进行方向距离的计算得到最终的精确结果;而类似“某某路便利店”这类的情况,则可以应用地图要素参考的规则,使用地图要素的空间进行分析计算得到更为精确的结果。
在地址信息发生变化或词库信息发生变化时,还需要对索引文件进行维护。
地址匹配流程如图1所示。
3 实验结果与分析
本文的实验将分两部分进行,第一部分验证对于门牌地址的匹配效果。数据来源主要有两部分,某企业的用户信息库中的地址以及某企业员工外出登记中的地址。第二部分验证本文地址匹配方法中的参考规则对于实现专业领域的地址精确定位的效果,这部分数据来自某燃气管理企业的故障报修地址数据。
实验分别从地址库中抽取500条地址数据进行匹配,测试库中的样本数据事先都进行了空间位置确认,实验规定匹配得到的空间位置与数据基准位置距离在50米内则视为正确匹配。每部分实验分别进行3次,结果取平均值,实验结果表1和表2所示。
(1)门牌号数据地址匹配结果分析
从表1可以看到,对门牌地址的匹配成功率,本文的方法与关键路径法相近,且略高于在线地图的匹配结果,而本文方法的匹配准确率则略高于另外两项。通过分析,由于匹配的成功率主要取决于分词的精度以及基准数据库的质量,在实验中本文的算法与关键路径法使用的是相同的基准数据库,因此结果也更加接近。
由于实验所使用的门牌数据相对比较规范,系统在地址采集时作了较为严格的格式验证,因此几种方法的匹配准确率相对都比较高,通过数据分析,其中存在的差异主要来源有如下几点:
①在线地图在对待“xx路xx路”这类路口数据时并没有准确定位到路口;
②关键路径法实现的地址匹配工具对于中文表述的门牌号码没有做好数据处理,使得在定位时准确性降低了不少;
③在线地图对于门牌插值的效果在几种方法中最好。
通过地址匹配的基本概念分析可以发现,这些都不是影响地址匹配效果的关键因素,因此,通过门牌号实验验证了几种算法对于规范化的门牌数据都有不错的定位效果。
(2)特定领域地址匹配结果分析
从表2可以看到,对于像燃气报修这个特殊领域,本文方法的匹配成功率最高,在线地图结果略低,而关键路径法相对就比较低了;而匹配的准确率上,本文的方法要远远高于其他两种方法。
经过分析发现,燃气报修的数据库中的数据存在着严重的描述不规范现象,这使得关键路径这一办法在这里的应用效果就没有那么理想,而对于模糊地址的匹配,在线地图做得相当出色,而本文的方法由于使用了搜索引擎技术,这也使得对不规范地址有着不错的匹配成功率。
在特定领域地址匹配实验中,本文方法准确率远远高于其他两种方法的原因主要来自于引擎的规则系统,同门牌号数据地址匹配实验类似,对于“xx路xx路”这类数据,本文的方法可以准确定位到路口,而在线地图仅仅能识别“xx路xx路路口”这种形式。而在燃气报修的数据中,路口这类数据是非常多的,本文通过数据的预处理规则、参考规则以及检索规则的添加,可以很好地适应如“xx路xx路向东20米”、“xx路xx号附近窨井”等这类数据形式。
4 结论
本文给出的方法具有减少对地址库格式的依赖、提高对不规范数据的利用率的优点,它将技术以及人力都集中在对匹配引擎规则的研发和制定上,通过完善和补充匹配规则以及搜索引擎排序规则,可以在使用过程中不断提高地址匹配引擎的精度。
在未来的研究中,还需要进一步研究通过匹配日志的分析挖掘提供规则自动学习的功能,使得系统可以分析并抽取大量数据中潜在的匹配规则,满足特定领域特定描述习惯的自适应需求。另外,基于空间位置的参照纠偏计算成为系统潜在的性能瓶颈,因此这方面也是今后研究优化的一个方向。
参考文献
[1] WILLIAM J D. Address matching: GIS technology for mapping human activity patterns[J]. Journal of the American Planning Association, 1995,61(2):240-251.
[2] KWAN M P. How GIS can help address the uncertain geographic context problem in social science research[J]. Annals of GIS,2012,18(4):245-255.
[3] ROTH A, SCHREIER G. The D-PAF ERS-1 geocoding system[J]. International Journal of Remote Sensing, 1992,13(9):1619-1625.
[4] JERRY H. R. On the accuracy of TIGER-type geocoded address data in relation to cadastral and census areal units[J]. International Journal of Geographical Information Science,2001,15(5):473-485.
[5] GEOFFREY M J. A research agenda: does geocoding positional error matter in health GIS studies[J]. Spatial and Spatio-temporal Epidemiology, 2012,3(1):7-16.
[6] CAYO M R, TALBOT T O. Positional error in automated geocoding of residential addresses[J]. International Journal of Health Geographics,2003,2(1):10.
[7] TIMOTHY C. H, PAUL A Z. Reference data and geocoding quality: examining completeness and positional accuracy of street geocoded crime incidents[J]. Policing: An International Journal of Police Strategies & Management,2013,36(2):263-294.
[8] 夏兰芳,毛炜青,郭功举.上海城市地理编码系统应用与研究[J].测绘通报,2012(1):78-80.
[9] 张雪英,闾国年,李伯秋,等.基于规则的中文地址要素解析方法[J].地球信息科学学报,2010(1):9-16.
[10] MICHAEL M, ERIK H, OTIS G. Lucene in Action[M]. American: MANNING PUBN, 2010.
上一篇:七轴机械手最小能量直线轨迹算法优化
下一篇:是德科技施行精英大学伙伴计划