从Wikipedia中获取本体原理与方法研究.docx
《从Wikipedia中获取本体原理与方法研究.docx》由会员分享,可在线阅读,更多相关《从Wikipedia中获取本体原理与方法研究.docx(12页珍藏版)》请在冰豆网上搜索。
![从Wikipedia中获取本体原理与方法研究.docx](https://file1.bdocx.com/fileroot1/2023-1/14/7b7f6345-35ed-42bb-acea-97f0f5a4ec6f/7b7f6345-35ed-42bb-acea-97f0f5a4ec6f1.gif)
从Wikipedia中获取本体原理与方法研究
从Wikipedia中获取本体:
原理与方法研究
余传明/张小青
2012-10-2211:
01:
43 来源:
《情报学报》(京)2011年3期
【英文标题】GettingOntologyfromWikipedia:
PrinciplesandMethods
【作者简介】余传明,男,1978年生,E-mail:
yuchuanming2003@,毕业于武汉大学信息管理学院信息管理专业,博士,副教授,硕士生导师,研究方向:
计算机信息系统工程、知识管理与知识工程,中南财经政法大学信息与安全工程学院(武汉430073),上海理工大学管理学院;张小青,女,1986年生,上海理工大学管理学院硕士研究生,研究方向:
计算机信息系统工程(上海200093)。
【内容提要】Wikipedia作为一个大型的知识库,正逐渐被人们应用于不同的领域。
在本体构建领域,Wikipedia以其丰富的组织结构为大规模协作式的本体学习提供了有效的环境,利用Wikipedia进行本体学习逐渐成为一个新的研究热点。
本文从这一角度出发,在剖析Wikipedia基本结构的基础上,分析和比较了从类别结构图、信息盒和定义句中获取本体概念和实例的相关原理和方法,阐述了利用Wikipedia获取本体关系的原理,分析了基于结构特征、基于词典、基于句法和基于混合方式的模式匹配方法,以及基于结构特征和文本特征的统计学习方法,并对利用各种方法获取本体关系的效果进行了比较。
Wikipediaisahugeknowledgebasewhichisbeingappliedtoalotoftasks.Fromanontology-buildingperspective,utilizingwikipediaasasourceforontologylearningisbecominganewresearchfocusbecausethecyclopedicnatureofWikipediaprovideaneffectiveenvironmentforlarge-scaleandcollaborativeontologylearning.Fromthispointofview,thepaperfirstdescribesthestructureofWikipedia,thenanalyzesandcomparestheprinciplesandmethodsofacquiringconceptsandinstancesbyutilizingcategorystructuregraph,informationboxanddefinitionsentence.ThepaperanalyzestheprinciplesofrelationextractionfromWikipedia,andcomparestheefficiencyofpatternmatchingmethodandstatisticslearningmethod.
【关键词】本体学习/Wikipedia/概念/实例/关系Ontologylearning/Wikipedia/Concepts/Instances/Relations
1引言
本体(Ontology)最初是哲学上的一个概念,是对客观存在事物的系统解释和说明。
在计算机科学领域中,最著名并被广泛引用的定义是由Gruber提出的“本体是概念模型的明确的规范说明”[1],即本体实际上是对相关领域中的概念及相互之间关系的明确定义,并提供人们对该领域知识的共同认可和理解。
目前,本体已经被广泛地应用于语义网、信息抽取、信息检索、知识工程以及数字图书馆等方面。
本体的构建是本体研究和应用的基础和前提,因此成为人们研究的重点。
然而,手工方式构建本体需要耗费大量的时间和精力,且无法及时进行扩充和更新,即使使用现有的本体构建工具(如Protégé[2]或OntoEdit[3]),也需要手工依次输入和编辑领域中每个概念的名字、属性以及关系等内容。
因此,如何利用知识自动获取技术降低本体构建。
开销、提高构建效率成为一个非常重要的研究问题。
在这种背景下,本体学习(OntologyLearning)技术应运而生,其旨在利用多种学科技术从各种类型的数据源中自动或半自动地构建目标本体[4]。
近年来,Wikipedia(维基百科)作为一个巨大且不断增长的开放知识库[5]引起了研究者的广泛关注,其庞大的信息数据量以及独特的结构知识正逐渐被应用于自然语言处理、信息检索、信息抽取、本体构建以及语义网等领域[6]。
尤其在本体构建领域,Wikipedia以其丰富的组织结构为大规模协作式的本体学习提供了有效的环境,利用Wikipedia进行本体学习逐渐成为一个新的研究热点。
鉴于此,下文将在剖析Wikipedia结构的基础上,对利用Wikipedia进行本体概念、实例以及关系抽取的原理和方法进行分析和比较,以期为相关研究者利用Wikipedia进行本体学习提供借鉴。
2Wikipedia及其结构
Wikipedia创建于2001年,是一个基于Wiki技术的全球性多语言百科全书协作计划,同时也是一个动态的、可自由访问和编辑的全球知识体,其目标是为全人类提供各种语言的自由百科全书。
到目前为止,Wikipedia已经成为内容最多、范围最广、更新最快的开放型网络百科全书,英文版本的条目已经超过300万条[7]。
Wikipedia的结构主要由条目(Article)、信息盒(InformationBox)、类别(Category)和超级链接(Hyperlinks)等构成。
2.1条目
条目是Wikipedia中最基本的信息单元。
每篇条目描述一个特定的主题。
条目的开头对该主题进行基本的定义和解释,因此条目开头的第一条语句又称为定义句(DefinitionSentence)。
后续内容则从各个角度对该主题进行详细的阐述,这些不同的阐述视角构成条目的目录内容(Contents),不同条目的目录内容各不相同,如图1所示。
图1条目——条件随机场(ConditionalRandomField)
2.2信息盒
信息盒是Wikipedia中一种特殊类型的模板结构,用来概括条目主题中的常见属性。
图2显示了条目编程语言Java中的信息盒以及其对应的Wiki语言。
首行的{InfoboxProgrammingLanguage}表示该信息盒所属的类型:
编程语言(ProgrammingLanguage)。
条目标题也是该信息盒的标题。
后面数行的内容则是该条目的常见属性以及对应的属性值,如图标、发布日期、设计者等。
其中,最新发布日期(Latest_Release_Date)、最新测试版本(Latest_Test_Version)等属性没有填充对应的属性值,为空值。
2.3类别
Wikipedia鼓励用户将自己撰写的条目进行归类,同时也鼓励用户为自己创建的类别指定多个父类,因此,条目和类别都可以属于多个类别。
Wikipedia中的类别页面主要包括两种类型:
TopicCategories和ListCategories。
前者主要包含与特定主题相关的类别和条目,后者主要通过列表列出某个概念下的所有实例。
不同类别之间的关联构成了具有一定层次性的类别结构图,但这种层次性不是简单的树结构,而是一个复杂的网络结构(图3)。
由于Wikipedia的类别体系主要用于导航,便于用户从不同的方面或角度进行搜索,所以类别之间的关联缺乏严谨性和一致性,存在大量的冗余。
因此,很难直接从类别结构图中判断某个领域中所有密切相关的类别和条目。
图2信息盒——Java(ProgrammingLanguage)
图3类别结构(NetworkCategoryStructure)
2.4超链接
在Wikipedia的条目中,主要包含两种链接:
内部链接(InternalLinks)和外部链接(ExternalLinks)。
前者是从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所示,{InfoboxProgrammingLanguage}对应概念“编程语言(ProgrammingLanguage)”,信息盒标题对应此概念的一个实例。
如果多篇条目中包含的信息盒都指向相同的概念,则表示这些条目是同一个概念的多个实例;如果一篇条目中出现多个不同类型的信息盒,则表示该实例属于多个概念。
利用信息盒的这种结构关系可以非常准确地识别本体概念和本体实例[15]。
但Wikipdeia中只有15%左右的条目包含信息盒,这在较大程度上限制了该方法的通用性。
3.3基于定义句的本体概念与实例获取
定义句一般出现在条目的开头,对条目的内容进行简短的描述。
例如,在条目“条件随机场(ConditionalRandomField)”中,第一句为“AConditionalRandomField(CRF)isatypeofdiscriminativeprobabilisticmodelmostoftenusedforthelabelingorparsingofsequentialdata,suchasnaturallanguagetextorbiologicalsequences”。
该句对条件随机场进行了基本定义。
通常情况下,定义句中隐含了概念之间的上下位关系或实例-概念关系。
例如,在上述定义句中,可以得到概念“条件随机场(ConditionalRandomField)”是概念“判别概率模型(DiscriminativeProbabilisticModel)”的一个实例。
通过对定义句中隐含的概念上下位关系和实例-概念关系进行分析,可以获取相关概念与实例。
例如,Cui等[16]在对定义句进行预处理后,利用语法分析从定义句中提取出Be动词和Non-Be动词,然后将紧跟其后的名词或名词短语识别为该条目的上位概念。
这种方法直接利用定义句中的动词来判断概念和实例,操作比较简单,但准确率不够高。
一方面由于部分名词或名词短语不能被正确识别,另一方面并非所有定义句中动词后面的名词或名词短语都是本体概念,有些只是与条目主题相关的普通词语。
上述三种方法的原理和特点如表1所示。
4从Wikipedia中获取本体关系
本体关系反映了概念之间的相互联系,是本体应用于其他各个领域的基础。
Maedche和Staab[17]将本体关系分为分类关系(TaxonomyRelation)和非分类关系(Non-TaxonomyRelation)。
分类关系又可称为IsA关系,包括上下位关系(Hyponymy)、实例关系(Instance-Of)以及部分整体关系(Part-Of)等。
上下位关系表示概念之间具有继承关系,类似于面向对象中父类和子类之间的关系,如“教育机构”与“学校”之间则存在这种关系。
实例关系表示实例和它所对应的概念之间的关系,如“伊丽莎白一世”是“英国君主”这个概念的实例。
“叶子”与“树”之间则存在部分整体关系。
非分类关系是指除了IsA关系以外的概念间的任何关系,如属性关系(Attribute-Of)、同义词关系(Synonymy)以及其他NotIsA关系等。
其中,属性关系表示某个概念是另外一个概念的属性,如概念“面料”可作为概念“衣服”的一个属性。
本体关系获取是本体学习中的核心问题,大多数研究主要集中在分类关系获取上,而对于非分类关系的获取研究则相对较少。
从Wikipedia中获取本体关系的方法大致可以分为两种:
模式匹配方法和统计学习方法。
4.1模式匹配方法
使用模式匹配方法从Wikipedia中获取本体关系是指通过分析条目文本、信息盒、类别等相关内容,从中识别出表示语义关系的模式,然后将待识别的内容与模式进行匹配,判断概念间存在的关系。
例如,在Wikipedia的条目中,关键词Member和CEO的出现通常蕴含了实体之间的Members-Of关系,因此可以设定模式“AistheCEOofB->Members-Of(A,B)”。
将该模式应用于待识别的语句,可以得到更多的关系实例。
利用模式匹配方法从Wikipedia中获取本体关系主要有三种途径:
基于结构特征的模式匹配、基于词典的模式匹配和基于句法的模式匹配。
4.1.1基于结构特征的模式匹配
所谓基于结构特征的模式匹配,是指利用Wikipedia的结构特征直接获取本体关系。
例如,利用信息盒结构对非分类关系中的属性关系进行提取[18]。
在信息盒中,每行的字段域对应着一种属性,对同一概念中所有实例的字段域进行归纳和筛选,可以获得概念的主要属性。
例如,2.2节图2中的DesignedBy字段域对应着属性“设计者(Designer)”,属性值为“太阳微系统公司(SunMicrosystems)”。
可以利用三元组(Java-designedby-SunMicrosystems)来表示这种类型的属性关系。
然后对概念“编程语言”中所有实例(C++、C#等)的字段域进行归纳和筛选,可以得到“设计者”是概念“编程语言”的一个重要属性,即存在语义关系“Distribute-Of(Designer,ProgramLanguage)”。
另外还可以对两种类别名称的中心词和修饰语进行匹配来判断概念间的关系[19]。
如果两个类别名称中的中心词相互匹配,则它们之间存在IsA关系;如果一个类别名称中的修饰语与另一个类别名称的中心词相互匹配,则它们之间存在NotIsA关系。
例如,“BritishComputerScientist”和“ComputerScientist”这两个类别名称的中心词相互匹配,均为“ComputerScientist”,这两个类别名称之间存在IsA关系;类别名称“CrimeComics”的修饰语与类别名称“Crime”的中心词相互匹配,均为“Crime”,它们之间存在NotIsA关系。
这类方法可以取得较高的准确率,但Wikipdeia中特殊类型的类别名称和信息盒的数量都十分有限,在一定程度上影响了关系识别的召回率。
4.1.2基于词典的模式匹配
所谓基于词典的模式匹配,是指根据一些现有的词汇词典中定义的同义、近义和上下位关系等知识来获取本体中概念间的关系。
这种方法利用词典中概念之间存在的关系来获取模式。
代表性的方法是借助WordNet词典[20]进行模式匹配。
WordNet中概念之间的关系主要包含同义关系、上下位关系和部分-整体关系等。
使用基于词典的模式匹配方法,可以先将从Wikipedia中提取的两个本体概念映射到WordNet中,根据词典确定概念之间存在的关系,然后再对概念所在的语句进行分析并提取模式。
例如,从条目语句“LisbonispartofPortugal”中提取出概念“Lisbon”和“Portugal”,将这两个概念映射到WordNet中,通过对WordNet的遍历可以识别“Lisbon”和“Portugal”之间存在部分-整体关系,因此可以生成模式“ENTRYis/VBZpart/NNof/INTARGET->Part-Of(ENTRY,TARGET)”。
通过对同种关系的模式进行合并和归纳,获得最终的关系模式集[21]。
将关系模式集应用到新的Wikipedia条目中,就可以识别出新的本体关系实例。
这种方法巧妙地借助WordNet来确定具有本体关系的概念对,并对提取的模式进行合并归纳,增加了模式的通用性。
但是,概念的选择受到WordNet词汇范围的局限,影响了关系模式的提取,并且匹配的效果较大程度上受到了模式的归纳程度以及关系类型的限制。
4.1.3基于句法的模式匹配
所谓基于句法的模式匹配,是指借助句法分析器识别出语句中的句法结构,从句法结构中获取关系模式,然后将待识别语句的句法结构与关系模式进行匹配,从而获取概念间的关系。
一种方法是利用语法分析器将语句表示成一系列最小语法树[22],另一种方法则利用基于上下文无关语法的分析器将语句的句法结构表示成平面无向连接图[23]。
在句法分析的基础上,将本体关系表示成语法树模式或连接图模式,然后将待识别语句的句法结构与获得的关系模式进行匹配,识别出具有本体关系的概念对。
这种方法不需要考虑语句中的词汇特征,而是充分利用语句中的语法特征,可以识别由不同词汇表达的同种关系,但模式获取的完备性以及句法分析的正确性都会影响到关系识别的效果。
4.1.4基于混合方式的模式匹配
在上述方法中,模式的合理性在较大程度上决定了本体概念关系识别的效果。
模式的定义如果过于严谨,能够保证关系识别的准确率,却降低了召回率;模式的定义如果过于宽泛,可以提高召回率,但同时会大大降低关系识别的准确率。
在实际应用中,为了提高模式识别的效果,可以考虑将上述方法综合利用。
在本体项目YAGO(YetAnotherGreatOntology)[24]中,研究者综合使用了基于结构特征和词典的方法。
首先根据结构特征,从类别结构图中识别出叶子类别,并将其映射到WordNet的同义词分类体系中,构建一个庞大的分类体系;接着提取每个类别的中心词,如在“Category:
AmericanPeopleinJapan”中,中心词为“People”;然后在WordNet中查找该中心词,如果存在则将其作为该类别的上位概念。
该方法共提取了143000个上下位关系,其效果要优于单一的基于结构特征的方法或基于词典的方法。
4.2统计学习方法
使用统计学习方法从Wikipedia中获取本体关系,是指通过分析条目中各种词法、句法、语义、结构等特征在上下文中的分布情况,选择具有较强区分度的特征构造特征向量,然后利用各种机器学习算法进行训练和测试,从而识别本体概念间存在的关系。
依据是否引入监督学习,可以将其分为两种方法:
无监督学习聚类方法和有监督学习分类方法。
聚类方法主要是利用概念之间特定的语义距离对概念进行聚类,由于具有较为相似语义关系的概念会被聚集到同一类族中,因此聚类的最终结果即为概念之间的分类关系。
这种方法较多地应用于从一般领域文献中获取本体关系[25,26]。
分类方法则将本体关系获取看作是一种已知类别的分类问题,通过构造分类器对训练语料进行学习,将学习到的模型应用于测试语料,进而识别出事先确定的概念关系。
在有关Wikipedia的研究文献中,研究者倾向于使用分类方法获取本体关系。
在上述两种方法中,如何选择各种具有较强区分度的特征决定了本体关系识别的效果。
依据选择特征的方法不同,可以将统计学习方法分为基于文本特征的统计学习和基于结构特征的统计学习。
4.2.1基于文本特征的统计学习
基于文本特征的统计学习方法主要利用有效的词法、句法和语义等文本特征来构造特征向量,通过统计学习方法来识别本体关系。
例如,Nguyen等[27]将条目文本中主实体的类型、次实体的类型以及语句的子树(Subtree)结构作为特征向量,利用支持向量机(SupportVectorMachine)识别两个实体之间的关系。
其中,子树结构是一种语法特征,它在语句依存树(DependencyTree)基础上进行修剪优化,形成核心树(CoreTree)后再进行统一归纳而形成。
这种方法的准确率(29.07%)和召回率(53.86%)较低。
Sumida等[28,29]则改进特征选择的方法,认为条目的目录内容具有一定的层次结构,通过分析不同层次的段落名称的统计特征可以识别出上下位关系。
他们将段落名称中的相关词性、词素、特殊字符、属性名、段落层次等作为特征向量,利用支持向量机分类器学习概念间的上下位关系,取得了较高的准确率。
这类方法主要以文本特征为对象并结合自然语言处理技术获取所需要的知识,与利用普通文本语料构造特征向量进行关系获取的方法有相似之处,具有一定的通用性,但准确率和召回率都在较大程度上受到了特征选择的影响。
4.2.2基于结构特征的统计学习方法
基于结构特征的统计学习方法主要利用Wikipedia中半结构化数据源隐含的结构特征构造特征向量,进行统计学习。
例如,Wang等[30]在构造特征向量时综合考虑多种结构特征,包括定义句特征、类别名称的中心词特征、信息盒中的谓语动词特征以及其他上下文特征等。
他们将改进的Rocchio分类器与支持向量机相结