基于机器学习和规则相结合的中文地名识别方法
命名实体识别是自然语言处理中的一个常见任务,方法也越趋于成熟。本人最近正在做事件抽取相关工作,对于事件中地址元素的识别稍有经验,所以写下本文,以对前面工作做一个总结。
1、词库的整理
中国地名毕竟有限,所以我们选择爬取中国统计局2016年统计用区划代码和城乡划分代码中的地名作为基本地名词库,补充到分词器中。分词器选择Hanlp。
![]()
![]()
对网页进行整理后,共收录词条大约:995933条
2、地名角色标注
地名角色方法参考自博客实战HMM-Viterbi角色标注地名识别,语料选自新华日报1998年1月份数据。
![]()
分别统计初始概率和转移概率如下:
![]()
![]()
统计完成后,输入“在云南省丽江市古城区随意寻找加害目标”,标注结果为:
[ /Z ,在/A ,云南省/S ,丽江市古城区/S ,随意/B ,寻找/Z ,加害/Z ,目标/Z , /Z]
3、地名规则
本文采用的规则依靠人工归纳,分析语料来自于互动百科数据,数据如下:
![]()
语料有5000条描述地址的句子。
假设字串 sen=wapwb s e n = w a p w b 。其中 wa w a 为地名的前缀词语, wb