APP下载

基于本体标注的蒙文地名识别研究*

2013-09-05苏依拉孙日旺谭艳梅刘海涛

计算机工程与科学 2013年8期
关键词:子类行政区划词典

苏依拉,孙日旺,谭艳梅,刘海涛

(内蒙古工业大学信息工程学院,内蒙古 呼和浩特010051)

1 引言

蒙古语信息处理自20世纪80年代初开始至今,进行了一些基础工程建设和基础理论研究,也开发过一些应用系统[1,2]。例如,建立各种语料库,制定编码标准,进行蒙古语语法属性、语义属性研究,研制蒙古语语法信息词典,开发蒙古文电子语出版系统和机器翻译系统等。就蒙古语目前的情况而言,由于蒙古语语法研究的基础较好,针对面向信息处理的蒙古语的动词、名词、形容词的语义研究工作已经取得了相当的成绩。但是,蒙古语语义Web的建设,在蒙古语的研究领域还处于相对薄弱的地位。本文以蒙古文地名为研究切入点,运用本体技术构建内蒙古行政区划地名本体,然后在所构建本体的基础上使用文本通用框架GATE,并通过蒙语地名词表编写、JAPE语法规则执行,完成蒙文文档中地名的识别与标注工作。并将它们从非结构化、半结构化的数据转化为结构化、具有一定语义信息的知识,为进一步的语义检索或者蒙古语语义Web建设提供条件。

2 地名本体的构建

地名本体就是本体应用于地名领域,将地理实体、地理位置作为主要描述概念生成的知识,即地名领域内共同认可的术语和术语之间关系的集合。地名本体的构建也是在共同理解了术语知识,并在领域专家的指导配合下,对术语及术语之间的语义关系给出定义,并加入对时间特征的描述,将随着时间变更产生的地名变更通过编码形成形式化的描述。

2.1 地名本体模型

地名时空本体研究的核心对象就是地理实体,每一个地名代表一个对应的地理实体。每个地理实体会具有三方面的特征:时间、空间和本身属性,所以我们就从这三方面来描述一个地名。具体数学描述表达如下[3]:

P =f(A,S,T)

其中,P表示地名(Placename);A 代表属性(Attribute),包括给定的空间和时间条件下地名的名称、人口、归属关系、行政等级等;S代表空间特征(Space),包括空间范围、坐标等;T 代表时间(Time),包括地名的时间坐标、空间范围或位置随时间变化的关系。我们将地名本体细分,可以把它表示为地理实体子模型、空间关系子模型、几何子模型、事件子模型和时间子模型五部分的组合[4],如图1所示。这五部分各从自身不同的角度形式化描述地名,展示出地名丰富的语义信息。

Figure 1 Five submodeles of place name spatio-emporal ontology model图1 地名时空本体模型的五个子模型

2.1.1 地理实体子模型

地理实体类型是每个地理实体具有的属性,每一个地名对应一个地理实体。本文中地理实体类型是依照行政区划等级来划分的。子模型中还展现地理实体具有的名称、人口、邮编、行政隶属、行政区划代码等属性特征。地理实体子模型中主要包括行政区划类及其子类现行行政区划类、历史行政区划类。

2.1.2 空间关系子模型

本子模型中拓扑空间关系的设置简单,因为我们毕竟不是用于GIS的数据处理和空间分析。本模型中将县级行政区划地名看作是点,县级以上行政区划地名看作是面,将点和面作为基本的拓扑元素。两个行政区划之间存在contain和within(包含和被包含)关系,这两关系互为反关系,且具有传递性。

本子模型中没有专门定义空间关系类,而是借助OWL定义对象属性,再用对象属性来表示地理实体之间的空间关系。构建本体过程中,指定对象属性的定义域(Domain)和值域(Range),从而通过对象属性将两个行政区划地名关联起来。通过这种方法表达空间的关系,与人类日常的表达习惯更加贴近,更易于理解。OWL本体语言通过提供建模原语来表达对象属性的关系的函数性〈owl:FunctionalProperty〉、反函数性〈owl:InverseFunctionalProperty〉、反关系〈owl:InverseOf〉、对称性〈owl:SymmetricProperty〉和传递性〈owl:TransitiveProperty〉等。

2.1.3 几何子模型

参考简单的空间实体的基本几何类型和相互关系,本子模型构建中适当进行选取和缩略,基类图形中只取Point和Polygon代表县级行政区划和县级以上行政区划地名,这样使本体的层次结构更加清晰,应用起来也更加方便。一个几何对象一般都以一个空间参照系统作为参照系,以精确反映该几何对象所在的坐标。综上,几何子模型中定义了空间参照系统类、坐标类和空间范围类及其子类Point类和Polygon类。行政区划类通过对象属性与空间范围类相关联。

2.1.4 时间子模型

时间子模型定义了事件发生时间的ConnectedTime类,它是Occurrent类下的客观实体,设置两个子类,分别是时间点Instant类和时间段Interval类。Instant类表示事件发生的时间点,通过对象属性occuredAt与事件类关联起来。

2.1.5 事件子模型

Event类是该子模型的核心类。地理实体子模型中将地名类分为历史行政区划地名和现用行政区划地名两类。每一个历史行政区划地名都是由于某一事件在某一时间发生引起的。结合行政区划变更的一般情况,事件类下设子类Split(分离)、Merge(合 并 )、PutUnder(划 归 )和ChangeName(改名),改名又可以分为Change2Historical和Change2Current两个子类,对应不同的地名变更情况。每一个历史行政区划地名与事件类通过isRelatedTo相关联,完成某个行政区划地名在某个时刻由于发生某个事件变更为历史行政区划地名的形式化编码。

2.2 地名本体的实现

内蒙古行政区划地名时空本体利用地名时空本体模型为建模框架,从地名的属性特征、时间特征和空间特征,设置生成本体中的实体和关系[5,6],采用 Protégé3.4.4作为建模工具。如下是具体的构造过程:

(1)在基类〈owl:Thing〉下建立 Continuant类和Occurrent类。Occurrent类下建立子类ConnectedTime时间类和Event事件类;Continuant类下建立子类AdministrativeDistricts行政区划类、Coordinates坐标类、SpatialRegion空间范围类及其下级子类多边形(Polygon)、点(Point)和SpatialReferenceSystem空间参照系统类。

(2)行政区划类下建立子类——现今行政区划类(CurrentADistricts)和历史行政区划类(HistoricalADistricts)。按照现今中国行政区划等级建立现今行政区划类下子类,分别建立省级(ProvinceLevel)、地级(PrefectureLevel)和县级(CountyLevel)子类及县级子类的四个下级子类——区级(Area)、旗(FlagCounty)、县级市(CountyLevel-City)和县(County)类。

(3)依照模型建立事件类(Event)及其子类:Split类(分裂)、Merge类(合并)、PutUnder类(划归)和ChangeName类(改名),其中ChangeName类下又分子类:Change2Current类和Change2Historical类,前者表示将一个历史的地名改为一个现今在用的地名;后者表示一个地名多次改名中的一次,即将一个历史地名到另外一个历史地名的更改。

(4)建立时间类ConnectedTime及其子类Instant和Interval。

(5)通过 Object Property和 DataType Property定义和描述行政区划类的空间、时间及属性特征。利用数值属性定义每个行政区划具有的地区代码(RegionCode)、名称简称(ShortName)、坐标值(CoordinateValue)等;利用对象属性contain/with表达行政区划之间的包含与被包含关系;行政区划与空间范围间通过hasSpatialRegion关联;空间范围通过hasCoordinates与坐标关联;利用对象属性isRelatedTo关联历史地名和事件类;事件与时间之间的联系则通过occurredAt属性,并设置各个属性的传递自反等性质。

(6)加入少量的实例Individuals,本内蒙古行政区划地名时空本体添加了省市县各级少量、有针对性的地名实例。事件类采用呼和浩特市行政区划的变更为原型来说,建立了“郊区2赛罕区”、“PutUnder_和林”、“PutUnder_武川”三个事件类的实例。围绕事件类的建立,分别对应添加了空间参照系统实例、空间范围实例、坐标实例、时间类实例“T郊区2赛罕”等。

(7)定义行政区划地名实体间存在的其它一些语义关系,如hasCapital用于hasCapital(内蒙古自治区,呼和浩特),表示内蒙古自治区的首府呼和浩特;通过SWRL Rules定义语义规则,如has-Capital(?x,?y)→contain(?x,?y),用于表示如果行政区划地名y是地名x的首府,那可以推出行政区划y必被包含于行政区划x中。

内蒙古行政区划地名时空本体主要的类图如图2所示。

3 基于本体的行政区划地名识别

基于上节构建的内蒙古行政区划地名时空本体,再结合相应的地名词表和JAPE规则的撰写进一步丰富,借助于文本通用框架GATE完成蒙文文档中地名的识别与语义标注工作。将内蒙古行政区划地名从蒙文文档中标识出来,并赋予一定的语义信息,为进一步的语义检索或者语义 Web建设提供条件。

3.1 词表编写

利用GATE进行本体标注,首先需要做的就是OntoGazeteer词典的制定。我们需要借助GATE Developer 6.1,采用文件系统描述概念关系库[7],并据此进行实体识别。概念关系库包含三类词典:一类是包含了本体概念实例的词典,一类是概念实例与本体概念映射的词典,还有一类是记录概念实例词典文件与标注特征的词典。概念实例词典每行是一个概念的实例,根据概念的数量,可以有一个或多个概念实例词典,如“City.list”词典记录了内蒙市级行政区划的地名实例,对应领域知识中的概念实例。如图3所示是截取了内蒙古市级行政区划地名和呼和浩特市区级行政区划地名的部分数据。第二类词典lists.def为访问*.list文件的索引文件,指明每个*.list所属的实体类型,可以称为特征词典,格式为:*.list:feature,一般为lists.def,如图4所示。第三类映射词典,将概念实例词典映射到本体中的某一个类,格式为:*.list:ontology file:ontology concept。描述list文件和领域本体概念之间的关系,一般为mapping.def,如图5所示。这三种文件的格式是GATE框架针对领域知识所做的规定[8],在GATE中进行命名实体标注的时候,这些文件将会被编译成有限状态自动机。任何通过该有限状态自动机识别的文本片段将附上由类型决定的特征值。

Figure 2 Graph of Inner Mongolia administrative divisions place name spatio-temporal ontology图2 内蒙古行政区划地名时空本体类图

3.2 文档预处理

借助GATE处理英文文本的默认组件ANNIE对文档进行预处理,由于我们处理的是蒙文文档,识别与标注的是蒙文地名。考虑到蒙文自身及其地名的特点[9],蒙文地名一般为单独的一个字或一个词,在文档中的体现与英文类似,不像中文文档中那样,需要先借助分词工具进行分词。所以,我们可以直接使用ANNIE对文档进行预处理,将文档中地名标示出来,并对其进行进一步的语义标注。

Figure 5 Mapping dictionary mapping.def图5 映射词典mapping.def

GATE中的ANNIE组件提供了这一系列的功能[10],另外它的词表查询(Gazetteer)组件能方便地进行扩展,将本体中的实例加入词典中,将文档中出现的相应单词或词组在文档中标示出来。因此,本文利用GATE的ANNIE组件来预处理文档,对文档进行分句、词性标注和命名实体识别。处理完成后的文档中除了基本的命名实体(如“人名”、“组织机构名”等)外,还包含本体内的地名实例。

Figure 6 Flowchart of preprocessing modules图6 预处理模块流程图

3.3 JAPE规则编写

通过上一步ANNIE对预处理文档的一系列处理,我们可以得到文档处理结果的原始标注集和默认标注集。其中我们需要对默认标注集中的“Lookup”进行进一步处理。GATE为每一个概念实例,都标注了一个majorType属性,这个属性的值一般就是实例所代表的本体概念,是各不相同的,因此我们可以进一步使用Jape Transducer对其进行处理。JAVA标注模式引擎提供了基于正则表达式的标注有限状态转换,是CPSL(Common Pattern Specification Language)的一个版本。通过JAPE语言可以编写GATE能够识别的规则,利用这些规则来对文档进行进一步处理。例如,本文中Lookup识别出的几个地名所包括的区、市,各自具有不同的属性。依据对象的feature,编写JAPE规则,将区或市从全部地名中区别出来。

4 实验验证及性能评测

下面我们从中国蒙古语新闻网专门选取了一篇其中含地名信息较多的新闻稿件,作为我们的实验对象。为了实验方便,首先将文章复制粘贴入Word文档中,以Word文档格式保存,我们主要对第二、三段进行地名识别与语义标注实验。

(1)加载待处理文档,命名为example。Language Resources→new→GATE Document。由于ANNIE不能对GATE Document进行处理,只能对GATE Corpus处理。建立一个 GATE Corpus,将example添加进去,以待ANNIE处理。

(2)加载 ANNIE系统。点击“Load ANNIE System”,有两种方式 with defaults和 without defaults。尽管ANNIE是专为解决英文文本的处理制作的,但经实验试用,也可以在一定程度上支持蒙文文档的处理。这里选择with defaults。

(3)加载本体。通过 Processing Resources→new→OntoGazetteer加载。命名为ontoexample,需要注意的是,listsURL和mappingURL的值设置为我们概念关系库制订的特征词典lists.def和映射词典mapping.def的路径。“Ontology”处点击Load按钮,选择建立好的内蒙古行政区划地名时空本体,完成本体的加载,如图7所示。

(4)启动ANNIE,执行文档的预处理过程。ANNIE无论是处理英文文档还是蒙文文档都需要按照一定的次序顺序执行,依次是文档的重置→分词→词表查询→断句→词性标注→命名实体识别→共指消歧。在这里,需要用我们自己定义的ontoexample替换掉默认的ANNIE Gazetteer,并且注意顺序。依序调用,完成实验文档的预处理。具体过程参考图8。

从图9可以看出,对于地名词表中存在的地名,GATE都做到了正确识别。由于GATE对蒙文不是完全很好地支持,它对识别地名词表中没有以整词给出的单词有困难,只能以一个固定的长度或是音节为单位进行识别。因此,我们无法通过编写JAPE规则对其进行进一步处理,只能借助人工的方式对其识别。幸运的是,我们可以将表示地名的通称也作为单独一条记录存储于地名词典中,这样,实验人员具有了很大的自主性,人工地对它是否是地名进行辨别,进而对GATE没有识别出的地名进行语义标注。

Figure 7 Ontology of loading图7 本体的加载

Figure 8 Preprocessing with ANNIE图8 ANNIE预处理

Figure 9 Result of place name recognition图9 地名识别结果

(5)JAPE 规则编写与执行。Processing Resources→new→JAPE Transducer,命名为japexample。在grammarURL选择编写好的jape规则存放路径,特别需要注意的是,编码encoding一定要选择UTF-8格式,这样当jape规则中出现中文的时候GATE也可以照样显示,不会出错。上面经过了ANNIE预处理,得到了GATE的原始标注集和默认标注集。将japexample导入processing resource,对经过预处理的文档执行这个应用。图10给出一则JAPE规则的简单实例,从图11可以看出,我们对文档中符合JAPE规则的地名单独识别出来了,并作为一个单独标注集Flag显示出来。

Figure 10 An example of JAPE图10 JAPE规则示例

(6)在Lookup标注集基础上,结合内蒙古行政区划地名时空本体,将文档中的地名文本片断和本体的实例相联系,补全每个地名的信息,进而完成对该篇文档的语义标注。最后我们以Save as XML格式保存为“example.xml”,用IE打开。如图12和图13所示,将文档中的地名借助本体进行了属性和语义关系的丰富,将无结构的数据转化为有结构的,具有语义的知识。

Figure 11 Result of test by JAPE rules图11 JAPE规则执行结果

通过比对本节所选蒙文文档的正确中文翻译可以看出,该系统对词表中存在的地名都做到了准确的识别,对于词表中没有列出的地名,通过通称地名也对它做到了人工识别。接着,在Lookup标注集的基础上,借助建立的内蒙古行政区划地名时空本体,将文档中的地名片断与本体的实例相联系,补全了地名信息,完成了标注工作,最后得到结构化的文档。

Figure 12 Tagging图12 标注过程

5 结束语

本文通过基于内蒙古行政区划地名时空本体的蒙古文地名的识别和语义标注,实现了蒙文文档中地名的结构化,方便有关地理信息的语义搜索,并为蒙文语义Web进一步的建设及应用研究进行初期尝试,奠定一定的基础。

Figure 13 Result of semantic annotation图13 结果展示

[1] Dong Zhi-jiang,Wu Jian,Zhong Yi-xin.Implementation of minority languages processing in ICU[J].Journal of Chinese Information Processing,2004,18(2):66-72.(in Chinese)

[2] Hua Sha-bao.The study of Mongolia corpus construction[C]∥Proc of Chinese Minority Languages IT and Language Resource Library Construction Symposium,Chinese Academy of Social Sciences,2004:134-137.(in Chinese)

[3] Liu Yu,Zhang Yi,Tian Yuan,et al.Study of generalized place name and ontology[J].Geography and Geo-Information Science,2007,23(6):1-7.(in Chinese)

[4] Du Ping.Research of place name recognition and decimation of Chinese administrative division based on ontology[D].Lanzhou:Lanzhou University,2011.(in Chinese)

[5] Grenon P,Smith B.SNAP and SPAN:Towards dynamic spatial ontology[J].Spatial Cognition and Computation,2004,4(1):69-103.

[6] Hu Ying.Research of space and time relationship about ancient and modern place in family tree GIS[D].Nanjing:Nanjing Normal University,2008.(in Chinese)

[7] GATE HOME[DB/OL].[2008-12-05].http://gate.ac.uk/.

[8] Wang Ya-bin.Research of semantic annotation based on ontology[D].Lanzhou:Lanzhou University of Technology,2010.(in Chinese)

[9] Nashun Wuritu,Chen Yu-zhong.The research of Mongolian language standardization based on information processing[R].Chinese Information Processing Society of China,Hohhot:Inner Mongolia University,2004:12-14.(in Chinese)

[10] Erdmann M,Maedche A,Schnurr H P,et al.From manual to semi-automatic semantic annotation:About ontologybased text annotation tools[C]∥Proc of the Coling 2000 Workshop on Semantic Annotation and Intelligent Content,2000:33-35.

附中文参考文献:

[1] 董治江,吴健,钟义信.在ICU中实现少数民族文字的处理[J].中文信息学报,2004,18(2):66-72.

[2] 华沙宝.关于蒙古语料库建设[C]∥中国少数民族语言信息技术与语言资源库建设学术讨论会论文集,2004:134-137.

[3] 刘瑜,张毅,田原,等.广义地名及其本体研究[J].地理与地理信息科学,2007,23(6):1-7.

[4] 杜萍.基于本体的中国行政区划地名识别与抽取研究[D].兰州:兰州大学,2011.

[6] 胡颖.家谱GIS中古今地名的时空关系研究[D].南京:南京师范大学,2008.

[8] 王亚斌.基于本体的语义标注研究[D].兰州:兰州理工大学,2010.

[9] 那顺乌日图,陈玉忠.关于面向信息处理的蒙古语规范化问题[R].中国中文信息学会,呼和浩特:内蒙古大学,2004:12-14.

猜你喜欢

子类行政区划词典
卷入Hohlov算子的某解析双单叶函数子类的系数估计
米沃什词典
关于对称共轭点的倒星象函数某些子类的系数估计
评《现代汉语词典》(第6版)
中国行政区划的前世今生
词典例证翻译标准探索
河北省行政区划
河北省行政区划
《胡言词典》(合集版)刊行
块H矩阵新的子类