从Wikipedia中获取本体:原理与方法研究,本文主要内容关键词为:本体论文,原理论文,方法论文,Wikipedia论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
1 引言
本体(Ontology)最初是哲学上的一个概念,是对客观存在事物的系统解释和说明。在计算机科学领域中,最著名并被广泛引用的定义是由Gruber提出的“本体是概念模型的明确的规范说明”[1],即本体实际上是对相关领域中的概念及相互之间关系的明确定义,并提供人们对该领域知识的共同认可和理解。目前,本体已经被广泛地应用于语义网、信息抽取、信息检索、知识工程以及数字图书馆等方面。
本体的构建是本体研究和应用的基础和前提,因此成为人们研究的重点。然而,手工方式构建本体需要耗费大量的时间和精力,且无法及时进行扩充和更新,即使使用现有的本体构建工具(如Protégé[2]或OntoEdit[3]),也需要手工依次输入和编辑领域中每个概念的名字、属性以及关系等内容。因此,如何利用知识自动获取技术降低本体构建。开销、提高构建效率成为一个非常重要的研究问题。在这种背景下,本体学习(Ontology Learning)技术应运而生,其旨在利用多种学科技术从各种类型的数据源中自动或半自动地构建目标本体[4]。
近年来,Wikipedia(维基百科)作为一个巨大且不断增长的开放知识库[5]引起了研究者的广泛关注,其庞大的信息数据量以及独特的结构知识正逐渐被应用于自然语言处理、信息检索、信息抽取、本体构建以及语义网等领域[6]。尤其在本体构建领域,Wikipedia以其丰富的组织结构为大规模协作式的本体学习提供了有效的环境,利用Wikipedia进行本体学习逐渐成为一个新的研究热点。
鉴于此,下文将在剖析Wikipedia结构的基础上,对利用Wikipedia进行本体概念、实例以及关系抽取的原理和方法进行分析和比较,以期为相关研究者利用Wikipedia进行本体学习提供借鉴。
2 Wikipedia及其结构
Wikipedia创建于2001年,是一个基于Wiki技术的全球性多语言百科全书协作计划,同时也是一个动态的、可自由访问和编辑的全球知识体,其目标是为全人类提供各种语言的自由百科全书。到目前为止,Wikipedia已经成为内容最多、范围最广、更新最快的开放型网络百科全书,英文版本的条目已经超过300万条[7]。Wikipedia的结构主要由条目(Article)、信息盒(Information Box)、类别(Category)和超级链接(Hyperlinks)等构成。
2.1 条目
条目是Wikipedia中最基本的信息单元。每篇条目描述一个特定的主题。条目的开头对该主题进行基本的定义和解释,因此条目开头的第一条语句又称为定义句(Definition Sentence)。后续内容则从各个角度对该主题进行详细的阐述,这些不同的阐述视角构成条目的目录内容(Contents),不同条目的目录内容各不相同,如图1所示。
图1 条目——条件随机场(Conditional Random Field)
2.2 信息盒
信息盒是Wikipedia中一种特殊类型的模板结构,用来概括条目主题中的常见属性。图2显示了条目编程语言Java中的信息盒以及其对应的Wiki语言。首行的{Infobox Programming Language}表示该信息盒所属的类型:编程语言(Programming Language)。条目标题
2.3 类别
Wikipedia鼓励用户将自己撰写的条目进行归类,同时也鼓励用户为自己创建的类别指定多个父类,因此,条目和类别都可以属于多个类别。Wikipedia中的类别页面主要包括两种类型:Topic Categories和List Categories。前者主要包含与特定主题相关的类别和条目,后者主要通过列表列出某个概念下的所有实例。不同类别之间的关联构成了具有一定层次性的类别结构图,但这种层次性不是简单的树结构,而是一个复杂的网络结构(图3)。由于Wikipedia的类别体系主要用于导航,便于用户从不同的方面或角度进行搜索,所以类别之间的关联缺乏严谨性和一致性,存在大量的冗余。因此,很难直接从类别结构图中判断某个领域中所有密切相关的类别和条目。
图2 信息盒——Java(Programming Language)
图3 类别结构(Network Category Structure)
2.4 超链接
在Wikipedia的条目中,主要包含两种链接:内部链接(Internal Links)和外部链接(External Links)。前者是从Wikipedia的一个条目页面链接到另一个条目页面,后者是从当前的条目页面链接到外部的相关主题网页。至2009年,Wikipedia(英文版)已包含超过60M的超链接,构成了一个强大的链接体系。
与一般的纯文本语料不同,Wikipedia作为一种特殊的半结构化知识资源,其内部内容虽然在很大程度上也是由文本组成,但同时又包含了类别、信息盒等多种结构特征,充分利用Wikipedia的各种信息可以有效地改善本体学习的效果。下文将重点分析利用Wikipedia获取本体概念与实例以及本体关系的相关原理和方法。
3 从Wikipedia中获取本体概念与实例
本体概念又称为类(Class),其含义非常广泛,可以指任何具体的或抽象的事物,如工作描述、功能、行为、策略和推理过程等[8]。本体实例则是概念的具体化。从语义角度来讲,实例表示的是对象,概念表示的是对象的集合。大多数的本体学习方法在提取概念时,往往不区分概念和实例,而是直接将术语识别为概念。从Wikipedia中获取本体概念则与传统方法[9~12]不同,不需要利用词频统计、词法结构等特征来区分普通词语和概念术语,而是通过利用丰富的结构信息直接识别出本体概念和实例。
3.1 基于类别结构图的本体概念与实例获取
在Wikipedia中,条目和类别之间的联系反映了实例和概念之间的分属关系或者概念和概念之间的上下位关系,这些关系可以用类别结构图表示(如2.3节图3所示)。由于Wikipedia的类别结构图是一个复杂的网络结构,其中各个领域中的概念相互交叉,很难直接从中获得某一领域本体的概念和实例,因此需要对类别结构图进行深入分析。一种思路[13]是首先统计类别结构图中概念到各个领域的路径数以及路径长度等因素,然后根据隶属度函数计算概念的领域隶属度,即概念向量的每个分量值,最后从概念向量中判断概念所属的领域。这种方法充分利用类别结构图中的结点和路径关系来计算概念的领域隶属度,概念向量反映了概念与每个领域的相关性。但对于某个领域本体中的所有相关概念,概念领域隶属度的计算量将变得非常大,从而大大降低概念提取的效率。为了减少领域隶属度的计算量,可以考虑直接从复杂的网络类别结构图中构造出分类树结构。一种可行的方法是通过对上述分类树进行遍历并根据网络图中结点的入度和出度给每个结点打分,得到得分超过一定阈值的结点,将这些结点所对应的条目作为领域概念[14]。这种方法原理简单,计算量较小,能够快速地自动识别领域中的相关概念,但是各个概念结点的得分情况与分类树的根结点密切相关,因此根结点的选择对于算法的效果具有较大影响。
3.2 基于信息盒的本体概念与实例获取
信息盒作为Wikipedia中的一种特殊结构,以统一的表格形式出现在条目中。每种类型的信息盒对应着一个概念,信息盒标题则对应着概念的实例。如2.2节图2所示,{Infobox Programming Language}对应概念“编程语言(Programming Language)”,信息盒标题
3.3 基于定义句的本体概念与实例获取
定义句一般出现在条目的开头,对条目的内容进行简短的描述。例如,在条目“条件随机场(Conditional Random Field)”中,第一句为“A Conditional Random Field(CRF)is a type of discriminative probabilistic model most often used for the labeling or parsing of sequential data,such as natural language text or biological sequences”。该句对条件随机场进行了基本定义。通常情况下,定义句中隐含了概念之间的上下位关系或实例-概念关系。例如,在上述定义句中,可以得到概念“条件随机场(Conditional Random Field)”是概念“判别概率模型(Discriminative Probabilistic Model)”的一个实例。通过对定义句中隐含的概念上下位关系和实例-概念关系进行分析,可以获取相关概念与实例。例如,Cui等[16]在对定义句进行预处理后,利用语法分析从定义句中提取出Be动词和Non-Be动词,然后将紧跟其后的名词或名词短语识别为该条目的上位概念。这种方法直接利用定义句中的动词来判断概念和实例,操作比较简单,但准确率不够高。一方面由于部分名词或名词短语不能被正确识别,另一方面并非所有定义句中动词后面的名词或名词短语都是本体概念,有些只是与条目主题相关的普通词语。
上述三种方法的原理和特点如表1所示。
4 从Wikipedia中获取本体关系
本体关系反映了概念之间的相互联系,是本体应用于其他各个领域的基础。Maedche和Staab[17]将本体关系分为分类关系(Taxonomy Relation)和非分类关系(Non-Taxonomy Relation)。分类关系又可称为IsA关系,包括上下位关系(Hyponymy)、实例关系(Instance-Of)以及部分整体关系(Part-Of)等。上下位关系表示概念之间具有继承关系,类似于面向对象中父类和子类之间的关系,如“教育机构”与“学校”之间则存在这种关系。实例关系表示实例和它所对应的概念之间的关系,如“伊丽莎白一世”是“英国君主”这个概念的实例。“叶子”与“树”之间则存在部分整体关系。非分类关系是指除了IsA 关系以外的概念间的任何关系,如属性关系(Attribute-Of)、同义词关系(Synonymy)以及其他NotIsA关系等。其中,属性关系表示某个概念是另外一个概念的属性,如概念“面料”可作为概念“衣服”的一个属性。
本体关系获取是本体学习中的核心问题,大多数研究主要集中在分类关系获取上,而对于非分类关系的获取研究则相对较少。从Wikipedia中获取本体关系的方法大致可以分为两种:模式匹配方法和统计学习方法。
4.1 模式匹配方法
使用模式匹配方法从Wikipedia中获取本体关系是指通过分析条目文本、信息盒、类别等相关内容,从中识别出表示语义关系的模式,然后将待识别的内容与模式进行匹配,判断概念间存在的关系。例如,在Wikipedia的条目中,关键词Member和CEO 的出现通常蕴含了实体之间的Members-Of关系,因此可以设定模式“A is the CEO of B->Members-Of(A,B)”。将该模式应用于待识别的语句,可以得到更多的关系实例。利用模式匹配方法从Wikipedia中获取本体关系主要有三种途径:基于结构特征的模式匹配、基于词典的模式匹配和基于句法的模式匹配。
4.1.1 基于结构特征的模式匹配
所谓基于结构特征的模式匹配,是指利用Wikipedia的结构特征直接获取本体关系。例如,利用信息盒结构对非分类关系中的属性关系进行提取[18]。在信息盒中,每行的字段域对应着一种属性,对同一概念中所有实例的字段域进行归纳和筛选,可以获得概念的主要属性。例如,2.2节图2中的Designed By字段域对应着属性“设计者(Designer)”,属性值为“太阳微系统公司(Sun Microsystems)”。可以利用三元组(Java-designed by-Sun Microsystems)来表示这种类型的属性关系。然后对概念“编程语言”中所有实例(C++、C#等)的字段域进行归纳和筛选,可以得到“设计者”是概念“编程语言”的一个重要属性,即存在语义关系“Distribute-Of(Designer,Program Language)”。另外还可以对两种类别名称的中心词和修饰语进行匹配来判断概念间的关系[19]。如果两个类别名称中的中心词相互匹配,则它们之间存在IsA关系;如果一个类别名称中的修饰语与另一个类别名称的中心词相互匹配,则它们之间存在NotIsA关系。例如,“British Computer Scientist”和“Computer Scientist”这两个类别名称的中心词相互匹配,均为“Computer Scientist”,这两个类别名称之间存在IsA关系;类别名称“Crime Comics”的修饰语与类别名称“Crime” 的中心词相互匹配,均为“Crime”,它们之间存在Not IsA关系。这类方法可以取得较高的准确率,但Wikipdeia中特殊类型的类别名称和信息盒的数量都十分有限,在一定程度上影响了关系识别的召回率。
4.1.2 基于词典的模式匹配
所谓基于词典的模式匹配,是指根据一些现有的词汇词典中定义的同义、近义和上下位关系等知识来获取本体中概念间的关系。这种方法利用词典中概念之间存在的关系来获取模式。代表性的方法是借助WordNet词典[20]进行模式匹配。WordNet中概念之间的关系主要包含同义关系、上下位关系和部分-整体关系等。使用基于词典的模式匹配方法,可以先将从Wikipedia中提取的两个本体概念映射到WordNet中,根据词典确定概念之间存在的关系,然后再对概念所在的语句进行分析并提取模式。例如,从条目语句“Lisbon is part of Portugal”中提取出概念“Lisbon”和“Portugal”,将这两个概念映射到WordNet中,通过对WordNet的遍历可以识别“Lisbon”和“Portugal”之间存在部分-整体关系,因此可以生成模式“ENTRY is/VBZ part/NN of/INTARGET->Part-Of(ENTRY,TARGET)”。通过对同种关系的模式进行合并和归纳,获得最终的关系模式集[21]。将关系模式集应用到新的Wikipedia条目中,就可以识别出新的本体关系实例。这种方法巧妙地借助WordNet来确定具有本体关系的概念对,并对提取的模式进行合并归纳,增加了模式的通用性。但是,概念的选择受到WordNet词汇范围的局限,影响了关系模式的提取,并且匹配的效果较大程度上受到了模式的归纳程度以及关系类型的限制。
4.1.3 基于句法的模式匹配
所谓基于句法的模式匹配,是指借助句法分析器识别出语句中的句法结构,从句法结构中获取关系模式,然后将待识别语句的句法结构与关系模式进行匹配,从而获取概念间的关系。一种方法是利用语法分析器将语句表示成一系列最小语法树[22],另一种方法则利用基于上下文无关语法的分析器将语句的句法结构表示成平面无向连接图[23]。在句法分析的基础上,将本体关系表示成语法树模式或连接图模式,然后将待识别语句的句法结构与获得的关系模式进行匹配,识别出具有本体关系的概念对。这种方法不需要考虑语句中的词汇特征,而是充分利用语句中的语法特征,可以识别由不同词汇表达的同种关系,但模式获取的完备性以及句法分析的正确性都会影响到关系识别的效果。
4.1.4 基于混合方式的模式匹配
在上述方法中,模式的合理性在较大程度上决定了本体概念关系识别的效果。模式的定义如果过于严谨,能够保证关系识别的准确率,却降低了召回率;模式的定义如果过于宽泛,可以提高召回率,但同时会大大降低关系识别的准确率。在实际应用中,为了提高模式识别的效果,可以考虑将上述方法综合利用。在本体项目YAGO(Yet Another Great Ontology)[24]中,研究者综合使用了基于结构特征和词典的方法。首先根据结构特征,从类别结构图中识别出叶子类别,并将其映射到WordNet的同义词分类体系中,构建一个庞大的分类体系;接着提取每个类别的中心词,如在“Category:American People in Japan”中,中心词为“People”;然后在WordNet中查找该中心词,如果存在则将其作为该类别的上位概念。该方法共提取了143 000个上下位关系,其效果要优于单一的基于结构特征的方法或基于词典的方法。
4.2 统计学习方法
使用统计学习方法从Wikipedia中获取本体关系,是指通过分析条目中各种词法、句法、语义、结构等特征在上下文中的分布情况,选择具有较强区分度的特征构造特征向量,然后利用各种机器学习算法进行训练和测试,从而识别本体概念间存在的关系。依据是否引入监督学习,可以将其分为两种方法:无监督学习聚类方法和有监督学习分类方法。聚类方法主要是利用概念之间特定的语义距离对概念进行聚类,由于具有较为相似语义关系的概念会被聚集到同一类族中,因此聚类的最终结果即为概念之间的分类关系。这种方法较多地应用于从一般领域文献中获取本体关系[25,26]。分类方法则将本体关系获取看作是一种已知类别的分类问题,通过构造分类器对训练语料进行学习,将学习到的模型应用于测试语料,进而识别出事先确定的概念关系。在有关Wikipedia的研究文献中,研究者倾向于使用分类方法获取本体关系。在上述两种方法中,如何选择各种具有较强区分度的特征决定了本体关系识别的效果。依据选择特征的方法不同,可以将统计学习方法分为基于文本特征的统计学习和基于结构特征的统计学习。
4.2.1 基于文本特征的统计学习
基于文本特征的统计学习方法主要利用有效的词法、句法和语义等文本特征来构造特征向量,通过统计学习方法来识别本体关系。例如,Nguyen等[27]将条目文本中主实体的类型、次实体的类型以及语句的子树(Subtree)结构作为特征向量,利用支持向量机(Support Vector Machine)识别两个实体之间的关系。其中,子树结构是一种语法特征,它在语句依存树(Dependency Tree)基础上进行修剪优化,形成核心树(Core Tree)后再进行统一归纳而形成。这种方法的准确率(29.07%)和召回率(53.86%)较低。Sumida等[28,29]则改进特征选择的方法,认为条目的目录内容具有一定的层次结构,通过分析不同层次的段落名称的统计特征可以识别出上下位关系。他们将段落名称中的相关词性、词素、特殊字符、属性名、段落层次等作为特征向量,利用支持向量机分类器学习概念间的上下位关系,取得了较高的准确率。这类方法主要以文本特征为对象并结合自然语言处理技术获取所需要的知识,与利用普通文本语料构造特征向量进行关系获取的方法有相似之处,具有一定的通用性,但准确率和召回率都在较大程度上受到了特征选择的影响。
4.2.2 基于结构特征的统计学习方法
基于结构特征的统计学习方法主要利用Wikipedia中半结构化数据源隐含的结构特征构造特征向量,进行统计学习。例如,Wang等[30]在构造特征向量时综合考虑多种结构特征,包括定义句特征、类别名称的中心词特征、信息盒中的谓语动词特征以及其他上下文特征等。他们将改进的Rocchio分类器与支持向量机相结合,从正例的无标签数据中进行自学习从而完成分类任务。这种方法在已知的四种非分类关系(Album-Artist,Film-Directory,University-City,Band-Member)中获得的准确率为58.5%~90.6%。Wu等[31]则引入更多的结构特征并结合WordNet词典构造特征向量,包括各种结构相似度、类名包含、信息盒类型、编辑历史、Hearst关系模式以及WordNet映射等结构特征,然后分别利用支持向量机和马尔可夫逻辑网络(Markov Logic Networks)两种分类器学习概念间的IsA关系。由于集成了Wikipedia中的各种有效特征,该方法具有非常高的准确率(98.8%)和召回率(92.5%)。
以上各种方法的比较参见表2。
5 结语
本文从本体学习中的概念和实例获取以及关系获取这两个任务出发,对利用Wikipedia进行本体学习的各种方法进行了详细的分析。可以看出,利用Wikipedia进行本体学习是当前研究的一个热点。基于Wikipedia庞大的知识覆盖面以及丰富的结构特征,采用各种自然语言处理技术和数据挖掘方法,可以自动获得本体的各种元素,大大提高了本体构建的效率,但同时也存在一些有待解决的问题:
(1)在概念的自动获取过程中,研究者往往不区分概念和概念的实例,而实际上,概念和概念的实例并不相同,如何自动区分两者非常重要。
(2)在获取关系时,经常会出现相互重叠的关系,目前对提取的各种关系类型缺乏较好的统一方法。
(3)每一种方法都有自己的适用范围,如何将各种方法进行综合利用从而获得更好的学习效果,仍然是一个研究难点。
值得说明的是,目前国内对从Wikipedia中获取本体的研究和应用还较为少见。相信随着本体工程技术的深入发展,将会有更多的研究和应用成果出现。
标签:维基百科论文; 编程语言论文; wordnet论文; 文本分类论文; 特征提取论文; 文本分析论文; 模式匹配论文; 对应分析论文; 学习类型论文;