| 基于中文分词的地名兴趣点简称的研究 |
在电子地图生产的过程中,用来表达地理信息的主要语言包括图形符号、注记、色彩。其中,图形符号与注记是地图中最重要的组成要素[1],地图注记是地图学研究的主题[2-5]。对于未进行名称简化的地名兴趣点,由于名称字符串长度过长,容易造成图面注记压盖过多,图面也不够简洁,影响地图的美观,因此, 需要对名称较长的地名兴趣点在不产生歧义的基础上进行必要的简称,以尽可能减少注记间的压盖。目前尚未有成熟的产品可以对兴趣点名称的简化进行自动化或半自动化的解决方法,只能选择主要类别如机关企事业单位等手工进行逐个处理,工作量巨大。
中文分词技术可以基于词典与规则的方法进行字符串分词,能将地名兴趣点名称进行分词,提取名称中的某些关键字,并通过制定的简称规则重新调整词义表达,从而达到在不影响信息表达的基础上快速简化地名兴趣点的目的,能够很好地解决人工处理地名兴趣点简称效率低下的问题。
1 地名兴趣点的命名结构实体命名的识别是实现信息提取的前提[6, 7]。地名兴趣点一般包含政府机构、公司企业、文化教育、酒店餐饮、地产小区、地名地址等类别。一般来说,这些地名兴趣点的命名由行政区划、企业字号、行业、地名、门牌号、组织形式等部分组合而成[8]。如福州市工商行政管理局仓山区分局建新工商所,行政区划为福州市、仓山区、建新,组织形式为工商行政管理局、工商所。又如连江县海尔专卖店文山北路店,行政区划为连江县,企业字号为海尔,组织形式为专卖店,地名为文山北路。按这种结构命名的地名兴趣点一般占整个兴趣点库的80%~90%,其余不规则的命名方式为避免简称后产生歧义,保留原有的命名,可以通过后期手工方式处理。
2 兴趣点简称的设计通过命名结构的分析结合日常的表达习惯,名称中只要保留关键字即可。如福州市工商行政管理局仓山区分局建新工商所可以简称为建新工商所; 连江县海尔专卖店文山北路店可以简称为海尔文山北路店。要达到简称兴趣点的目的,需要建立基础词库与简称词库,并借助分词技术与词库进行匹配实现关键词的拆分与提取,最后再通过简称规则进行组合即可生成地名兴趣点的简称。
2.1 中文分词中文分词可以将地名兴趣点名称进行词元切分,为简称提供基本词语来源。目前,中文分词技术是建立在词典库的基础上进行正向匹配、反向匹配及双向匹配方式。IKAnalyzer就是基于词典的双向匹配方式,并实现了简单的分词歧义排除算法。
2.1.1 基本词库建立词库建立的基础是清华大学计算机系与中国科学院自动化研究所开发的现代汉语通用词表。但是该词表仅包含汉语的基本词汇,无法完全匹配兴趣点库中的名称。互联网的飞速发展也积累了丰富的词库,这些词库都收集在目前主流的输入法中。这种词库是进行地名兴趣点分词的重要词库来源。从输入法词库中提取的词库还不能直接作为分词词库,因为其中有部分的词不利于后期的简称处理。如词库中有“福州市工商行政管理局”作为一个词条,在进行词元匹配时就不会切分为“福州市”和“工商行政管理局”,也就无法进行简称处理。因此,需要将该类的词条进行拆分,再与现代汉语通用词表整合,构成了具有福建省32万词条的完备的基本词库。
2.1.2 简称词库设计很多兴趣点名称中包含职能部门、金融机构、文化教育等单位的全称,往往名称都较长。需要建立这些单位全称的简称词库,在识别到这些全称时用简称词库中对应的简称替换。从地名兴趣点库中提取单位名称中需要进行简称的部分,如地方税务局需要简称地税局,安全生产监督管理局需要简称安监局等。简称结构如表 1所示。
| 表 1 简称词库结构 Table 1 Architecture of Abbreviation |
![]() |
除了单位的简称之外,还存在单位的上下级关系。如福州市工商行政管理局仓山区分局建新工商所中工商行政管理局与工商所就是上下级关系,这类简称的时候是按最小的级别的名称,行政区划也是按最小级别的提取。因此,在设计简称词库时,需要建立单位的上下级关系,在每个单位简称中记录级别及所属的上级机构名称。简称上下级库如表 2所示。其中,-1表示该简称是最高等级,也就是级别(Level)字段值为1。工商所的上级编号为1,表示它的上级是工商局,Level字段为2。
| 表 2 简称上下级结构 Table 2 Architecture of Abbreviation Level |
![]() |
2.1.3 中文分词设计
原始的地名兴趣点是一串连续的字符,无法直接按规则简称,需要将字符按汉语表达习惯进行分词。目前,在中文分词实现方面,Lucene开源软件应用最广泛。但它本身自带的分词算法并不适合对中文进行分词[9]。本文采用IKAnalyzer中文分词软件包,它支持拓展应用词库,可以结合Lucene实现较好的中文分词[10]。
将词库按照IKAnalyzer要求的词库格式整理,并配置词库路径。IKAnalyzer分词的主入口是IKTokenizer,实例化IKTokenizer类,将需要简称的字符串传入并设置为最大词长切分。最大词长切分保证分词完的字符数与原始的字符数一致,不会出现冗余的分词。实例化后的对象可以调用IncrementToken方法遍历出分词结果。
2.2 简称算法设计 2.2.1 简称规则实现地名兴趣点的简称是建立在简称规则之上的,没有规则的简称最终会产生歧义。一般在简称时需要遵循3点要求。
1) 删除修饰性的限定语,只保留中心词,简称后要求其所指意义与原意保持一致。
2) 简称中不允许包含名称中没有的字符。
3) 简称要依据标准名称缩写、简写,需要尊重通常习惯,不得随意缩写简写。
名称中有且只有一个行政区划级别时,则直接保留该行政区划名; 名称中若有多个行政级别,则简称中保留最低级别行政地名。其余的词如政府职能部门、企业、学校等直接用简称词库的简称名替换。名称中包含的职能描述中有多个级别关系的,在简称时则只保留最低的级别,若其中有如“分局”等词,则将其去除,如“XX市工商行政管理局YY区(县)分局ZZ工商所”简称为“ZZ工商所”。如果职能描述的多个级别中包含行政地名,则简称中只保留职能描述的简化,如“XX市规划局YY分局”简称为“YY规划局”。
2.2.2 简称算法在制定好简称规则的基础上,采用基于字符匹配的地名兴趣点简称算法。
1) 将待简称的字符进行中文分词生成以多个词元构成的字符数组A。
2) 遍历A中的词元并与行政区划词库进行匹配,将行政区划词元提取出来并标记每个行政区划词元的等级,最终将最低等级的行政区划名保存为C,A数组中提取行政区划词元后剩余的数组为B。
3) 遍历B中的词元与简称词库进行匹配,将完全匹配的词用词库中对应的简称进行替换,并将简称记为D。
4) 通过D查找简称的下级单位集合记为数组E,若数组为空,转步骤6)。
5) 遍历B中的词元,判断每个词元是否在E中。若存在,则将该词记为F。
6) 从B中排除D与F后剩余的词元一般都是无法简称的词,从这些词中过滤掉“分局”、“分所”、“分社”等词,再按原先顺序插入到C与D之间得到简称结果。
3 实验结果与分析 3.1 实验结果为了测试简称算法的有效性,本文选择福建省581 250条地名兴趣点数据作为简称对象。在总的记录中,名称字段的总字符数有3 489 021。经过简称处理后,简称字段的总字符数为2 205 410,占简称前总字符的63.21%。通过该简称方法,在缩减字符方面取得了较好的效果。
通过简称过程中自动记录经过简称处理的记录数,发现有经过简称处理的记录有465 605条。从中随机抽取10 000条记录,经过人工检验基本保留原意的有9 386条,具备较高的简称准确率。
3.2 结果分析没有经过简称处理的记录经验证后发现都是无需再进行简称处理的,如自然地名及商业店铺等,简称算法能正确识别该类别的词。从抽取的检验记录中,未能保留原意的简称是由于结构较为复杂,简称算法无法正确识别该类型的结构,如“XX市地方税务局YY县分局ZZ税务所”需简称“ZZ地税所”,“XX市财政局第二分局”需简称“XX市第二财政局”等,这就需要再进一步完善简称算法。
4 结束语本文分析了地名兴趣点的命名结构及简称规则,建立了完备的中文基本词库与简称词库,实现了一种基于规则匹配的简称算法。通过对福建省地名地址兴趣点库进行简称测试,该算法能达到较好的简称处理效果。针对有复杂命名结构的兴趣点简称的处理,本文简称算法的改进可以从两方面考虑。
1) 不能简单地将“分局”、“分所”等词过滤,出现该词则说明该兴趣点包含机构上下级关系,而且机构的后缀会有所不同。这时需提取每个级别的后缀,再用最高级别的简称与最低级别的后缀组合形成机构名称。
2) 增加“第一”、“第二”等词的特殊处理,将该类的词单独作为简称机构的前缀。
尽管可以通过不断完善的简称规则与算法来自动处理地名兴趣点的简称,但仍存在一些不按规则命名的或者结构更为复杂的地名兴趣点,这类兴趣点数量也较少,用人工简单处理即可。
| [1] | 凌善金, 黄淑玲, 梁栋栋. 地图注记设计研究[J]. 安徽师范大学学报(自然科学版), 2007, 30(5): 603–606 |
| [2] | 周伟涛, 许婷, 张海涛, 等. 跨平台互操作的地图注记对象的设计与实现[J]. 测绘信息与工程, 2005, 30(3): 28–29 |
| [3] | 凌善金, 金世胜. 地图上的文字设计探讨[J]. 装饰, 2007, (4): 102–103 |
| [4] | 贺彪, 李霖, 朱海红. 数字制图中面状注记自动配置的研究[J]. 测绘信息与工程, 2007, 32(6): 12–14 |
| [5] | 凌善金. 地图注记的艺术化设计研究[J]. 测绘地理信息, 2014, 39(2): 9–12 |
| [6] | 沈嘉懿, 李芳, 徐飞玉, 等. 中文组织机构名称与简称的识别[J]. 中文信息学报, 2007, 21(6): 17–21 |
| [7] |
杨宁. 网页地理信息抽取系统中相关模块的设计与实现[D]. 哈尔滨: 哈尔滨工业大学, 2007 http://d.wanfangdata.com.cn/Thesis/D255796 |
| [8] |
雷静. 汉语机构名的构成模式[C]. 第七届全国计算语言学会议, 哈尔滨, 2003 http://cpfd.cnki.com.cn/Article/CPFDTOTAL-ZGZR200308001012.htm |
| [9] | 周拴龙. Lucene.net中文分词算法分析[J]. 郑州大学学报(理学版), 2011, 43(3): 73–77 |
| [10] | 柴洁. 基于IKAnalyzer和Lucene的地理编码中文搜索引擎的研究与实现[J]. 城市勘测, 2014, 12(6): 45–50 |
2017, Vol. 42



