收藏 分享(赏)

地址分词算法.doc

上传人:ysd1539 文档编号:6567909 上传时间:2019-04-17 格式:DOC 页数:13 大小:213KB
下载 相关 举报
地址分词算法.doc_第1页
第1页 / 共13页
地址分词算法.doc_第2页
第2页 / 共13页
地址分词算法.doc_第3页
第3页 / 共13页
地址分词算法.doc_第4页
第4页 / 共13页
地址分词算法.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、 http:/更多测绘论文请登录测绘网论文频道查询:http:/ 客服热线:010-52775185基于分词的地址匹配技术孙亚夫 陈文斌(北京灵图软件技术有限公司,北京 ,)摘要 根据调查显示,城市信息中80%都与地理位置有关,而这些信息中大多数却没有空间坐标,自然就无法整合,无法进行空间分析。这对于城市信息化建设来说,是一个极大的阻碍。为了快速的推进数字化城市的建设和发展,有必要找到一种快速、高效的方法,将大量的与地理位置相关的信息,进行坐标编码,以便于GIS系统分析、查询。本文提出了一种“基于分词的地址匹配技术”,它能将大量的非空间信息高效的转化成空间信息,极大地提高了非空间信息数据的编码

2、、录入效率。关键词 地理编码 地址匹配 GIS 系统 地址数据库1 1. 引言随着互联网、信息技术、GIS 技术的发展,人们的生活越来越多的依赖于地图。地图制作需要的数据从哪来了?传统的数据采集方法,我们称之为“扫街” ,就是通过人工的方法,到实地去采集地址的坐标。这种“扫街”的方法,由于成本太高,很显然已经不适应大量非空间信息的处理。本文提出了一种“基于分词的地址匹配技术” ,它是通过构造一种分级地址库的方法,并转换成地址分词库,采用基于地址词典的中文分词技术,实现地址匹配。采用这种方法,易于维护修改地址库,并构建一个可自学习的地址库,不断丰富完善,提高匹配范围与匹配精度。http:/更多测

3、绘论文请登录测绘网论文频道查询:http:/ 客服热线:010-527751852 2. 原理实现2.1 2.1. 系统架构http:/更多测绘论文请登录测绘网论文频道查询:http:/ 客服热线:010-52775185从上图可以看出,地址匹配分为三层,分别是:应用层、核心层、数据准备层。数据准备层处在整个架构的最底层,这主要是由于其提供了地址匹配引擎所需要的最基本的地理数据,没有基础数据,匹配引擎也无从谈起。中间层也就是地址匹配核心引擎,它主要利用数据底层提供的基础数据,进行相关处理,并转化成引擎服务所需要的相关索引数据和地址分词数据。所有对外功能接口都由该引擎核心层完成。最上层就是应用层

4、,在这个体系里,所有的对外应用,都是通过 WEB 服务实现,web 服务则是采用 Apache DSO 技术实现。地址匹配引擎通过 web 服务的方式对外发布,方便应用层灵活使用。2.2 2.2. 应用层应用层利用核心层提供的软件功能,为外部提供各种应用。目前,地址匹配主要有以下应用。1) 对外提供地址匹配引擎服务。2) 利用地址匹配引擎实现地址数据的查重、纠错。3) 批量处理没有经纬度标示的地址数据,即:实现地理编码。4) 在现有的地址数据之上,采用地址匹配引擎,实现大规模扩充地理信息数据。目前,由于“地址匹配技术”主要用于地址匹配服务,因此,文中涉及到“地址匹配”相关描述,很多都是指“地址

5、匹配服务” 。地址匹配引擎服务采用“Apache+DSO” 的方式实现。2.3 2.3. 核心层核心层为地址匹配提供软件功能实现。该层是地址匹配中最重要的一层,它直接关系到地址匹配的效果。地址匹配核心层目前主要有九大模块构成,分别是:地址匹配管理器,参数解析器,地址分词器,门牌检索器,楼牌检索器,方位词处理器,SmartLS 检索器,组合排序器,测试模块。这九大模块相对独立,并基本上采用“高内聚、低耦合”的方式进行设计。2.3.1 2.3.1. 模块介绍模块 功能地址匹配管理器 负责管理和协调搜索九大模块工作,并实现封装基本用户需求功能。参数解析器 负责对外部传来的参数进行解析。包括对含有多个

6、参数和参数值的字符串进行解析。地址分词器 负责把用户输入的地址拆分成多个更细的地址要素单元。每个地址要素单元,都有地址要素名称、地址级别、父地址信息、经纬度等。门牌检索器 实现给定道路,在门牌索引文件中查找对应门牌号。在用户地址经过“地址分词器”拆分以后,如果地址要素中含有门牌号,则通过其门牌索引 ID,到门牌索引文件中查找相对应的门牌号。SmartLS 检索器 负责请求网络 SmartLS 服务,并提取、处理返回结果。http:/更多测绘论文请登录测绘网论文频道查询:http:/ 客服热线:010-52775185组合排序器 负责多个匹配结果的组合排序,并返回最终结果。测试模块 负责对各个功

7、能模块进行测试,保证地址匹配其他八大模块的稳定性。2.4 2.4. 数据层数据层在整个地址匹配架构中,承担着数据提取、加工、制作(转换)任务,为上层提供必须的数据支撑。目前根据功能可以将数据层分为三大工具,分别是:地址要素库创建工具、地址转化工具和地址分词交互工具。这三个工具在地址匹配数据层中承担着不同的角色和任务,他们缺一不可。2.4.1 4.3.1. 标准地址要素库二.4.1.1 4.3.1.1. 地址级别定义利用下面的图说明地址级别的关系。http:/更多测绘论文请登录测绘网论文频道查询:http:/ 客服热线:010-52775185从通用分类来看,地址可分为有从属关系和跨从属关系的两

8、类,市、区县、街道、社区、小区、地片、标志物等按行政区划范围从大到小可以建立从属关系。道路、街、巷的从属关系不明显,有很多跨越的情况。从属关系的地址可以建立逐级的父子关系,而跨从属关系的可以只建立一级父子关系。归纳地址级别关系见下表。基本地点名称 级别从属的父级别常用的关键词中国 1 -1(无) 省、直辖市 2 1 省、市省会、地级市 3 2 市区、县(县级市) 4 3 区、县街道、镇、乡 5 4 街道、镇、乡社区、村、小区、地片、标志物、大厦6 1、2、3、4、5社区、村、小区、大厦、里、弄、园、支弄、一区、二区、西里、公寓、宾馆、市场、广场、饭店、花园、特区、中心、西区、一里、二里、三里、

9、四里、五里、寺、苑道路、街、巷 10 1、2、3、4、5、6(含有一对多的路、街、巷、头条、二条、三条、http:/更多测绘论文请登录测绘网论文频道查询:http:/ 客服热线:010-52775185关系)门牌号 20 10 号楼牌号 30 6、10、20 号楼、号附属在门牌、楼牌后的 POI 名称40 6、10 (无,各种词都可能) ,但是其父级别应当为道路或社区一级。自然语言的方位描述 90 -1(无) 东南西北东南西北东北西南前后左右上下内外旁相向相邻 等等表一 地址级别用例如下:北京市海淀区玉泉路 8 号玉海园一里 7 号楼该地址拆分标准化后为:北京市2 海淀区4 玉泉路10 8 号

10、20 玉海园一里6 7 号楼30二.4.1.2 4.3.1.2. 地址要素标准库定义地址要素标准库主要是一个为了实现保存、修改、完善地址要素和转化地址要素信息功能的基础数据库。该库的建立也是在原形摸索中成长起来的,还需要不断的改进和完善。目前该库的字段定义如下:列名称 说明 类型 约束 备注id 序号 长整形 流水号name 基本地址要素名称 文本 地点的名称,细化到每一个分词,仅保留本级别的文字描述level 级别 整形 参见表一,取值范围,0-90 地址级别parent 父级别的文字描述 文本 从属上一级的地址文字描述pcid 父地址的 CID(唯一)号 长整形 无符号,4 个字节。唯一性

11、 从属上一级的地址 CID的描述longtitude 经度 文本 NTU单位 latitude 纬度 文本 NTU单位 http:/更多测绘论文请登录测绘网论文频道查询:http:/ 客服热线:010-52775185geo 地址要素矩形范围 WKT文本 描述该地址要素的大致(外接)矩形范围。如:RECT(11606168 3976388,11646403 3989535)admincode 行政区划编码 整形 如:110106000cid CID编码 长整形 无符号,4 个字节。唯一性该 CID码由“name”,“level”, “parent”三者通过 CRC32算法生成的无符号 32位整

12、数next 同义词的 CID编码 长整形 无符号,唯一性 同义词或别名的 CID码cityid 城市 ID序号 整形 无符号,2 个字节0 - 无效地址要素,但是为普通词汇1-9999-城市 ID序号10000 - 国标志10001 - 省标志10002 - 未知城市标志valid 该地址是否有效 整数 单字节刚提取的、还没有得到验证的地址要素,改制就为 0,如果数据操作人员已经验证则为 1。二.4.1.3 4.3.1.3. 同义词(别名)处理把同义词用文字描述写在对应的列中,通过地址要素标准库中的 next 字段形成连接,组成单向循环链表。对 同义词描述:序号 基本地点名称 级别父级别的文字

13、描述同义词的文字描述经度 纬度100000000001 西外大街 10 西城区 西直门外大街 X Y100000000002 西直门外大街 10 西外大街 西外大街 X Y100000000003 北京 2 中国 北京市 X Y100000000004 北京市 2 中国 北京 X Y100000000005 京 2 中国 北京 X Yhttp:/更多测绘论文请登录测绘网论文频道查询:http:/ 客服热线:010-52775185二.4.1.4 4.3.1.4. 地址要素库存储地址要素库的存储最好采用大型数据库来存储,这样便于管理和维护。如果数据量还不大,地址要素基础库可采用中小型数据库,如:

14、MySQL 数据库,来存储和管理。2.4.2 4.3.2. 地址要素库创建工具该工具简称“Rat”工具,意为“原始地址要素提取工具” 。主要完成地址要素数据提取的功能。地址要素提取就是从一条比较全的地址信息里提取各种地址要素,并保存到数据库。地址要素的提取需支持各种地址数据。包括:行政区划、道路、门址、POI 等。地址要素提取原则:尽可能的根据各种地址数据信息,提取地址要素,完善地址要素标准库。地址要素提取只在创建原始母库的时候使用,母库创建结束,该工具也将失去存在意义。2.4.3 4.3.3. 地址转化工具实现把地址要素标准库中的所有级别在 1-10 级的地址数据转化输出成分词数据文件,并把

15、所有门牌号按照一定索引规则导出成为门牌号索引文件。此外,它还可以扩展支持将“地址要素标准库”中的数据导出成上层应用所需要的程序标准地址库。从母库转化到分词索引文件的功能可以做成模块库,以供外部程序调用。在更新地址匹配服务时,可以调用该转化程序,实现自动分词索引更新。2.4.4 4.3.4. 地址分词交互工具地址分词交互工具主要完成地址要素数据的修正、添加、删除操作,对地址要素标准库进行逐步完善和补充。原型设计主界面如下:http:/更多测绘论文请登录测绘网论文频道查询:http:/ 客服热线:010-52775185该界面实现了对地址要素的程序自动拆分和人工修正、补充的功能,最终完成地址要素库

16、的人工干预、不断完善的循环过程(对应图 2-1 地址匹配架构图中的循环) 。2.5 2.5. 关键算法和数据结构2.5.1 2.5.1 地址分词算法“地址分词算法”类似于“中文自动分词” ,它就是在“中文自动分词”算法的基础上实现“地址分词” 。跟“中文分词”不同的是:地址分词所基于的词库文件结构不一样,在地址分词文件中,每个地址要素(相当于词)含有多个字段属性,如:地址要素名称、经纬度、父级别 ID 及城市 ID 等,这些字段的加入,使得拆分地址变得更加准确。目前地址匹配引擎采用的是基于“正向最大匹配分词”的地址分词算法。算法流程如下图所示:http:/更多测绘论文请登录测绘网论文频道查询:

17、http:/ 客服热线:010-52775185图 4.2.3.1-1 地址分词算法流程图2.5.2 2.5.2 门牌号匹配、检索算法门牌号的检索可分为“数字门牌号”和“文字门牌号”检索。数字门牌号如:16 号,28 号院等;文字门牌号如:甲 1 号,乙三号院等等。门牌号的数据索引可以分为二级索引。一级索引存储某条道路对应的二级索引数据的起点和终点偏移;二级索引则存储该条道路的父地址要素、文字门牌数据存储起点、数字门牌存储起点,门牌数据存储终点。在具体门牌搜索过程中,可按以下流程实施:http:/更多测绘论文请登录测绘网论文频道查询:http:/ 客服热线:010-527751852.5.3

18、2.5.3 匹配度计算匹配度为待匹配地址与标准地址之间的匹配程度。在本文设计的地址匹配程序中,首先通过地址分词,将待匹配地址进行地址要素拆分,然后将每条地址要素与标准库中的地址要素进行相似度匹配计算,分别得到一个分值,最后通过向量空间模型计算,求得总体匹配相似度值。3 3. 结果分析以上技术已经在主要 5 个大城市门址数据生产中得到应用,测试结果对 sina 提供的北京 11298 条数据进行匹配,测试http:/更多测绘论文请登录测绘网论文频道查询:http:/ 客服热线:010-52775185结果分析如下:总用例数 11298 个数 占比率匹配度 100 3702 0.327669匹配度

19、 90-99 4800 0.424854匹配度 80-89 1634 0.144627匹配度 70-79 955 0.084528匹配度 70 以下 206 0.018233从表中数据可知:有效匹配率(匹配度 80 以上)达到 89.5%。以下是对标准地址数据(3874 条)进行匹配,获得的匹配准确度比率:总的准确度分布表:距离差(单位:米) 准确度 数据20 100% 347820-50 95% 550-80 92% 180-100 90% 0100-200 88% 3200-300 85% 7300-500 80% 8500-1000 70% 191000-2000 50% 139大于 2

20、000 0% 213由图表可知,如果误差范围最大为 100 米,则匹配准确率为:(3478 + 5 + 1) / 3874 = 89.93%4 4. 结束语本文提出的一种基于分词的地址匹配算法,较好的解决了绝大多数非空间坐标地址的匹配问题。但是由于该算法必须基于一个较为全面、准确的标准地址库,才能获得较好的匹配率,所以如果标准地址库不全或不完善,将会较大的影响匹配结果。此外,从分析结果来看,匹配引擎对非标准地址、方位词、未登陆地址要素或其他词的识别率很低。这是由于地址的拆分完全依赖于词库,不能对其他词或地址要素进行识别,而且也不能对复杂的地址语言进行解析造成的。解决这个问题,需要建立一个标准的完善的地址要素库,并增强对自然语言处理。http:/更多测绘论文请登录测绘网论文频道查询:http:/ 客服热线:010-527751855 参考文献1 李军,李琦,毛东军,郭玲玲.北京市地理编码数据库的研究 .计算机工程与应用2 李 娜.城市地理编码技术的研究3 孙茂松,邹嘉彦.汉语自动分词研究评述.4 江洲,李琦.地理编码(Geocoding)的应用研究5 王凌云,李琦,江洲.国内地理编码数据库系统开发与研究更多测绘论文请登录测绘网论文频道查询:http:/

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报