一种文本分类模式下的本体构建方法

2015-01-20 11:43赫宜
电脑知识与技术 2014年36期

摘要:本体在知识管理和语义网中扮演着越来越重要的角色,但本体的构建是一项费力又费时的工作,为此本文提出一种基于文本分类模式下的本体自动构建方法。该方法以形式化概念理论分析作为基础,计算出概念之间的相关度,以概念间的相关度和它们在文档中出现的频率矩阵构建本体概念图。实验结果表明,在文档分类模式下自动构建本体支持目前的信息分类系统,形成的本体有利于更好地共享和重用,促进语义Web的本体的升级。

关键词:语义网;本体构建;信息分类;形式化概念分析

中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2014)36-8750-04

根据Berners-Lee的观点,语义网并非是全新的Web,而是对现有的Web进行扩展。简而言之,语义网是一个整合了众多元数据的网络,信息的含义在语义网环境下能够很好地加以定义[1],并使得计算机能够自动检索、处理、共享、重用和交换信息。

作为语义网基础的本体(Ontology),是通过对概念、术语及其相互关系的规范化描述,勾画出某一领域的基本知识体系,它可以很好地解决知识表示、知识组织以及知识共享等问题[2]。语义网的快速发展和成功很大程度上依赖于本体如何快速高效的建立,而本体构建一般是手工建立,不仅费时费力而且还需要领域专家的参与。因此,本体的自动化构建成为科研工作者越来越关心的热点研究领域。该文提出一种基于文本分类框架[3]下本体的自动构建方法。

1 常用的本体构建方法

本体的构建是本体应用的基础,是实现信息交换、共享,解决语义冲突的基础,通过构建统一的术语和概念,实现知识共享,为异构系统间的通讯提供交流平台,便于他们之间的互操作和集成。虽然许多领域本体已经存在,但是大部分领域本体都是为特定的领域和目的构建的,统一通用的本体构建的方法还没有形成,而其他领域比如语言学、信息检索、机器学习、数据挖掘和软件工程等方面的研究和相关技术可为本体构建提供借鉴。Maedche等人[4]提出本体构建可分为四部分,分别为:抽取、修剪、精炼、导入或重用。该文主要以抽取方法为基础,相应的本体的构建方法分别是:基于字典、文本聚类、关联规则、知识库的学习方法和形式概念分析。

1.1 基于词典的本体学习法

基于词典的本体学习法根据一些现有的词汇在词典中定义的同义词、近义词、反义词、根词、词源等知识来获取概念间的关系[5-7 ]。基于词典的本体构建方法有它自己的局限性,在与另外一种方法配对才能发挥它的有效作用,为此它不能独立使用。

1.2 基于文本聚类的本体学习法

聚类的含义是使用属于同一类别的个体之间距离尽可能的小,而不同类别的个体之间的距离尽可能的大。采用文本聚类方法来计算概念层次,根据其同义词分组,不同的搜索策略指导聚集过程。每一聚集由某一特定的使用频率高的词或术语表示,由此重复该步骤能够获取术语的层次体系。该方法目前仍存在一些问题,影响其可用性[8]。

1.3 基于关联规则的本体学习法

基于关联规则的本体学习法利用概念间的非分类关系来构建本体。基本思想是如果两个领域概念经常出现在同一个语法单元,即出现在同一句子、同一段落或同一文档中,则这两个概念之间必定存在着一定关系。而它们之间联系的紧密程度和它们所在的语法单元有关。两个概念在一个语法单元内,则语义聚合度就高,那么这两个概念之间的紧密程度越高[9]。Maedche等人[4]于2000年最先提出并评价了将关联规则并应用于本体学习的方法,于2001年又提出使用已有的概念层次作为背景知识,然后利用关联规则来发现概念间的非分类关系的方法[10]。

1.4 基于知识库的本体学习法

基于知识库的本体学习法,首先需要在相关领域建立知识库,知识库必须包含基础的规则和简单的实例,当用户输入关键词检索时,相关的实例以对应的方式显示出来。当所需的规则被挑选出来时,知识库里的规则用来建立相关本体。这种方法不同于上面提到的三种方法,知识库里的规则可以用来作为本体的一种表现形式,知识库里的规则往往被用来组合相关的本体[11]。

1.5 形式概念分析法

形式概念分析(Formal concept analysis, FCA) 是运用形式概念分析的方法,去发现、构造和展示由属性和对象构成的概念及其之间的关系,它最具特色的性质就是能从任何给出的数据集中产生可视化图形,因此FCA在计算机科学中得到广泛的应用[5]。目前,FCA的方法,已经大量运用在概念聚类、数据分析、信息检索、知识发现、本体工程的应用之中。

2 基于信息分类模式下本体的构建方法

本文的目的是利用本体学习方法构建文本概念图,以实现的高效的信息检索,信息检索的模式如图1所示。这样的检索系统可分为三个主要的子系统和相关模块。这些子系统说明如下:

图1 系统结构图

2.1术语解析子系统

为了满足后面处理的要求,输入各种数据文本时必须经过不同的方法进行处理。在此阶段中有的5个步骤分别是:

1)消除文档格式:各种数据文档有不同的格式,因此,第一步是忽略所有不相关信息,如:排版格式,注释和其它的附加信息。这个阶段的输出的是字符数据流。

2)词法分析:词法分析是把字符数据流转化成术语数据流[6]。英语词法分析利用空格或标点标记把数据流转化成一个术语集。

3)消除停止符:在词法分析的第二个阶段,我们注意到最频繁使用的术语通常不具有区分和识别的属性。事实上,一个文档中,超过80%的术语是无意义的,并经常在分析过程过滤掉。这儿提及的术语通常是指:冠词、介词、连词和其他不构成文档主题思想或主要概念的词汇,例如:a, as, and, etc。消除这些术语不仅节约存储空间而且降低计算的复杂性。

4)消除衍生词:由于不同的作者有不同的写作风格,在不同的语境中特定术语有细微的变化是不可避免的。基本词汇通过复数、动名词和时态变化等形式出现,利用词汇的标准形式或词根代替它的变形格式。例如“connect”这个词的变化形式有connecting,connection,connections等。利用词根代替它的变形可以节约存储空间,减少计算的复杂性。

5) 近义词:不同的词汇具有相同的意思,因此近义词作为多余的词汇被忽略了[6]。

2.2本体构建子系统

由于文档内容已经转变成一个术语集合,本体构建子系统利用本体构建技术生成文档概念图。

2.2.1建立概念关系集和术语之间的层次结构

在这里,我们利用概念分析的思想[7,8]建立概念的集合和层次关系结构。一般而言,概念之间存在三种关系,分别是:独立、交叉和继承。为建立概念间的联系和不同术语间的层次关系,执行以下五步:

第一步:文档和术语间产生二元关系矩阵

在每一个文档中,最能表达文档主题的术语必须添加到术语检索子系统中,为此,产生文档集和术语集。如果一个术语在一个文档中出现,矩阵中相应的值标记为“X”,以此生成文档和术语之间二元关系矩阵。利用FCA建立相应的三元组:O=(D, T, R),本体用O表示,本体的相关文档集用D表示,本体的相关术语集用T表示,用R来表示D和T的二元关系:R?D×T。

第二步:产生概念集C

如果X是D的一个子集,Y是T的一个子集,那即X?D,Y?T,映射如下:

[σ(X)=t∈T|?d∈X:(t,d)∈R]

[τ(Y)=d∈D|?t∈Y:(t,d)∈R],

根据以上定义,对任意一对文档集术语集(X,Y)有Y=s(X)和X=t(Y)。因而,包含公共术语最多的文档集是由具有关系R的二维数组成的最全矩阵。所有的概念的集合c就可以用概念集C来表示。

第三步:计算概念的层次关系

所有给定的概念集是完整的偏序序列。定义概念(X0,Y0)是另一个概念(X1,Y1)子集,记为:(X0,Y0) ? (X1,Y1)。假设,具有术语集Y1的文档集X1包含在拥有术语集Y2的文档集X2,记为X1?X2,(X1, Y1)成为(X2, Y2)的子集,记为(X1, Y1) ? (X2, Y2)。对于概念集C,那么C1(X1, Y1)成为C2(X2, Y2)的子概念。

第四步:生成概念的层次结构

由于概念C可能具有多个父概念而成为子概念,所以获得全部概念层次结构必须计算不同概念的各种层次关系。每层的一个节点代表一个概念,在概念层次结构上给出两个元素(D1,T1)和(D2,T2),他们的上确界或者结合点定义为[7]:

[(D1,T1)?(D2,T2)=(τ(T1?T1),T1?T1)]

C1(X1, Y1)和C2(X2, Y2)是两个概念,为了在概念层次上为了确定他们各自位置,应计算两个概念的上确界。

第五步:产生概念之间的相互关系

在构建概念之间的层次关系之后,可定义概念之间的相互关系。C1(X1, Y1)和C2(X2, Y2)是两个概念,如果Y1?Y2且Y2?Y1,那么这两个概念部分的相互包含,这样就可以定义C1和C2之间的关系。

2.2.2概念之间的相关度计算

在建立概念间的联系之后,我们可以开始计算不能直接继承的概念之间的相关度。利用Kang等人[9]提出计算概念间相关性的方法来计算概念的相关度,公式如下:

[fjk=relevancy(Tj,Tk)=i=1ndijki=1ndij×WeightingFactor(Tk)] (1)

[dijk=tfijk×log10(Ndfjk×wj)] (1.1)

[dij=tfij×log10(Ndfj×wj)] (1.2)

[WeightingFactor(Tk)=log10Ndfklog10N] (1.3)

公式(1)描述了两个概念之间的相关度。每个相关度都对应一个的方向,所以不同术语作为中心点计算出的关联度的值是不同的。公式(1)可以分解成另外三个等式,如公式(1.1),公式(1.2),公式(1.3)。我们注意到公式 (1.1)和(1.2)是应用TF-IDF(term frequency—inverse document frequency)概念[6]。在公式(1.1) 中,dijk由术语Tk和Tj同时出现的频率以及逆文档频率来决定的。tfijk表示术语Tj和Tk同时出现在文档i中的频率。公式(1.2) djk表示同时出现Tj和Tk全部文档的数目。当两个术语有较高的相关性,Tk和Tj出现在同一文档中的次数就多,并且集中出现在一些特殊的文档中。公式(1.3) 中WeightingFactor(Tk)反应了术语Tk对应的文档的属性,术语Tk越普通,WeightingFactor(Tk)的值就在越低。在公式(1) 中的变量描述示如表1。

表1 公式(1) 中的变量描述

[变量\&描述\&N\&关键术语总数\&dijk\&在文档i中同时出现术语j,k的次数\&wj\&逆文档频率的比重\&tfij\&术语j在文档i中出现的次数\&dfj\&包好术语j的文档数量\&dfjk\&包含术语j,k的文档数量\&]

表2表示不同术语在每一个文档中出现的频率。公式(1)计算的相关度和通过形式化概念分析(FCA)构建概念层次关系生成本体概念图,如图2。在图中,实线箭头用于表示概念间的继承关系,虚线表示两个概念间的相互关系。概念A对于概念B相关度与概念B对于概念A相关度是不同的,虚线上有两个数字表示以各自为中心相关度。endprint

表2 术语在文件中出现的频率矩阵

[\&D1\&D2\&D3\&D4\&D5\&D6\&D7\&D8\&D9\&D10\&Mathematics\&5\&3\&4\&5\&5\&9\&\&\&\&\&Data\&\&\&\&\&\&\&6\&9\&10\&8\&O S\&3\&7\&\&\&6\&9\&\&\&\&\&Ontology\&\&\&8\&3\&\&\&5\&7\&8\&3\&A I\&\&6\&7\&6\&4\&\&3\&5\&4\&\&Compliers\&\&\&\&\&\&14\&\&\&\&\&Algorithms\&7\&\&\&\&\&\&\&\&\&14\&Multimedia\&\&\&\&2\&\&\&\&\&\&\&Logics\&\&\&\&\&\&\&\&\&\&3\&Database\&\&7\&\&\&4\&\&1\&2\&\&\&C5.0\&\&\&\&\&\&6\&\&\&\&\&Programming\&2\&\&4\&\&\&\&\&\&\&\&Network\&\&\&\&\&\&\&\&\&2\&\&]

图2 从表2得到的本体概念图

2.3本体管理子系统

本体管理子系统有两个主要的部分。第一部分,建立概念间准确的层次关系。对于构建者来说最重要的是确保本体正确性。从用户的角度来说,层次结构上的错误将导致用户对概念产生误解。第二部分,语义网为用户提供一个有效检索接口,提高搜索效果。关于子系统第二部分就是用户可以在图2(概念图)中选择一个概念,找不到相关的概念的文档,或者能同时选择几个具有关联的概念文档。

3 方法验证

本研究的主要目的是提升现有互联网的应用。实验中的数据均来自互联网的资源。研究中提出的系统是在互联网上执行的。另外,如图1中的系统结构需要使用一些函数库,因此这项研究选择Java语言作为实现语言。

3.1 实验评估标准

研究本体构建技术的最终目标就是建立相关本体概念的映射图,来帮助用户查找他们所需信息。基于当前的本体构建技术,无论用基于字典、文本类聚、关联规则和知识库的技术方法在建立层次关系时难免的产生一些错误。因此我们利用层次关系来对照概念节点得到整个本体的准确率。在测量构建方法的效率时,利用准确率和召回率进行评估[10],公式如下:

[Precision=|ReleventRetrieved|Retrieved] (2)

[Recall=|ReleventRetrieved|Relevent] (3)

在测量本体概念层次时,精确度是指能自动构建概念层次程度,而召回率是指应产生的概念层次的程度。如图3显示了概念层次结构图。在图中层次共有8个概念节点和8个概念联系。其中一个不准确的概念联系用粗实线表示。另外,虚线表示存在但不能自动建立的概念联系。利用公式(2) 和(3) 计算概念层次得到准确率(8-1)/8=87.5%和召回率7/(8-1+1)=87.5%。

3.2 实验验证

实验中为了测试构建方法的效率和准确性,涉及的内容越相近,实验素材的使用范围就越小。我们所用的实验素材是 “学术学位论文和的摘要” 里包含术语“ontology”的论文(http://www.sciencedirect.com/)。 总共收集了200个文件。

Wu等人[11]指出,主题词和关键词等术语通常由名词—动词和名词—名词组成。通过句法形式、形态结构和语料库可以过滤掉大部分不相关的术语。由于有两个或更多的术语可以表示同一个事物,具有多种含义或者具有多种翻译的外国的专有名词,可能产生混淆。因此很有必要建立一个同义词词典来促进术语翻译的准确率。通过语言特性和同义词可以收集到大部分基于名词的术语,但它们的含义还是有区别的,因此为了提高效率很有必要过滤停止词。

表3显示了从实验所收集的原始术语集,这个术语集是使用语言特性、同义词和停止词过滤之后形成的最终术语的和术语集的过滤率。如果再仔细观察一下这张表,我们将会注意到集合使用语言特性过滤率最高,这是因为我们过滤有关概念的名词和动词,这也说明描述性术语和句子在任何给定的文档中数量最多。虽然同义词和停止词表现出较低过滤率,但它对整体效率的提高是不容忽视的。最终的术语集合只有15%的初始术语。

表3 不同情况术语集的数目

[\&原始

术语\&使用语言特性过滤之后的集合\&使用同义词过滤之后的集合\&使用停止词过滤之后的集合\&最终的术语集合\&术语数\&4468\&865\&764\&676\&676\&过滤率(%)\&100\&19\&17\&15\&15\&]

过滤的术语数量决定了本体表达信息的能力。概念节点太多会产生噪音,概念节点太少会不够充分。该文利用本体概念层次结构来表示数据的分布。假如单个概念节点的下面没有其他节点则该节点归入根节点,如果我们认为这个节点比其他的节点有低的相关度,它将不再被认为是概念层次结构的一部分。在图4中节点Z(充满斜线)通常被认为是一个独立节点。因此我们对层次率的定义如下:

[Hierarchy ratio=1- number of independent nodestotal number of nodes] (4)

在获得等级比例之后,我们得出最佳的术语集的数量是107。因此,我们利用FCA算法组合术语集生成完整本体框架。表4显示了从实验得到本体的实验结果。经过术语集过滤在这个实验中文档的数量从187减少到184。另一方面,层次的深度和广度显示了本体所包含的内容的范围。本体层次广度越宽,多元化的和通常的概念就越多;深度越深,内容就越详细。层次关系的数量表明了节点的复杂度的等级。实验中共有107个节点而只产生了132个层次关系,表明节点之间的关系并不复杂。经过实验本体的准确率和召回率分别为84.1%和81.1%,如表4所示。

表4 实验产生的本体

4 结论

在本体领域内,通常是手工或者半自动的方式构建本体,并且需要专业开发人员和专家的参与,这严重阻碍了网络的发展,限制了知识共享的进程。因此,该文采用形式化概念分析算法研究自动构建本体来满足这样的需求。该文所用的实验素材是学术论文,计算了由不同数据生成的本体的准确率和召回率。分析实验结果,发现实验中的方法在较小的数据范围和更多相同内容的数据上能获得较高的准确率和召回率。通常普通的数据具有较浅的概念层次和更宽的广度。这是因为一般的数据内容较分散,易于产生较为扁平的概念结构,而特殊的数据内容易产生较完整的本体概念的层次结构。该文中采用的方法更适合小范围的数据。

本文的主要贡献是:现有的分类关系通常不能表达同一类别概念的优先级,这将导致搜索一个概念时很容易忽略重要的信息。该文提出的方法能够构建各种概念和类之间的重要程度,能帮助用户提高他们搜索信息的准确率,减少搜索花费的时间。根据实验的结果所示,本方法在数据较小范围内可以实现更好的结果。

参考文献:

[1] 陆建江,张亚非.语义网原理与技术[M].北京:科学出版社,2007.

[2] 梁健,王惠临.基于文本的本体学习方法研究[J].情报理论与实践,2007(1):112-115.

[3] 张大鹏.基于本体的文本分类关键技术研究[D].长春:东北师范大学,2012.

[4] Maedche A, Staab S.Ontology learning for the semantic web[J].IEEE Intelligent systems,2001,16(2):72-79.

[5] Stumme G.Formal concept analysis on its way from mathematics to computer science[M]//Conceptual Structures: Integration and Interfaces.Springer Berlin Heidelberg,2002:2-19.

[6] Chowdhury G.Introduction to modern information retrieval[M].Facet publishing,2010.

[7] Buchli F.Detecting software patterns using formal concept analysis[J].inder Philosophisch-naturwissenschaftlichen Fakult: University of Bern,2003:10-15.

[8] Ganter B,Stumme G, Wille R. Formal Concept Analysis: foundations and applications[M].Springer,2005.

[9] Kang S H, Huh W, Lee S, et al. Automatic classification of WWW documents using a neural network[C]//2000, Proceedings of international conference on production research,Bangkok.

[10] Han J,Kamber M, Pei J.Data mining: concepts and techniques[M].Morgan kaufmann,2006.

[11] Wu S H,Day M Y, Tsai T H, et al. FAQ-centered organizational memory[M]//Knowledge Management and Organizational Memories. Springer US,2002:103-112.

表4 实验产生的本体

4 结论

在本体领域内,通常是手工或者半自动的方式构建本体,并且需要专业开发人员和专家的参与,这严重阻碍了网络的发展,限制了知识共享的进程。因此,该文采用形式化概念分析算法研究自动构建本体来满足这样的需求。该文所用的实验素材是学术论文,计算了由不同数据生成的本体的准确率和召回率。分析实验结果,发现实验中的方法在较小的数据范围和更多相同内容的数据上能获得较高的准确率和召回率。通常普通的数据具有较浅的概念层次和更宽的广度。这是因为一般的数据内容较分散,易于产生较为扁平的概念结构,而特殊的数据内容易产生较完整的本体概念的层次结构。该文中采用的方法更适合小范围的数据。

本文的主要贡献是:现有的分类关系通常不能表达同一类别概念的优先级,这将导致搜索一个概念时很容易忽略重要的信息。该文提出的方法能够构建各种概念和类之间的重要程度,能帮助用户提高他们搜索信息的准确率,减少搜索花费的时间。根据实验的结果所示,本方法在数据较小范围内可以实现更好的结果。

参考文献:

[1] 陆建江,张亚非.语义网原理与技术[M].北京:科学出版社,2007.

[2] 梁健,王惠临.基于文本的本体学习方法研究[J].情报理论与实践,2007(1):112-115.

[3] 张大鹏.基于本体的文本分类关键技术研究[D].长春:东北师范大学,2012.

[4] Maedche A, Staab S.Ontology learning for the semantic web[J].IEEE Intelligent systems,2001,16(2):72-79.

[5] Stumme G.Formal concept analysis on its way from mathematics to computer science[M]//Conceptual Structures: Integration and Interfaces.Springer Berlin Heidelberg,2002:2-19.

[6] Chowdhury G.Introduction to modern information retrieval[M].Facet publishing,2010.

[7] Buchli F.Detecting software patterns using formal concept analysis[J].inder Philosophisch-naturwissenschaftlichen Fakult: University of Bern,2003:10-15.

[8] Ganter B,Stumme G, Wille R. Formal Concept Analysis: foundations and applications[M].Springer,2005.

[9] Kang S H, Huh W, Lee S, et al. Automatic classification of WWW documents using a neural network[C]//2000, Proceedings of international conference on production research,Bangkok.

[10] Han J,Kamber M, Pei J.Data mining: concepts and techniques[M].Morgan kaufmann,2006.

[11] Wu S H,Day M Y, Tsai T H, et al. FAQ-centered organizational memory[M]//Knowledge Management and Organizational Memories. Springer US,2002:103-112.

表4 实验产生的本体

4 结论

在本体领域内,通常是手工或者半自动的方式构建本体,并且需要专业开发人员和专家的参与,这严重阻碍了网络的发展,限制了知识共享的进程。因此,该文采用形式化概念分析算法研究自动构建本体来满足这样的需求。该文所用的实验素材是学术论文,计算了由不同数据生成的本体的准确率和召回率。分析实验结果,发现实验中的方法在较小的数据范围和更多相同内容的数据上能获得较高的准确率和召回率。通常普通的数据具有较浅的概念层次和更宽的广度。这是因为一般的数据内容较分散,易于产生较为扁平的概念结构,而特殊的数据内容易产生较完整的本体概念的层次结构。该文中采用的方法更适合小范围的数据。

本文的主要贡献是:现有的分类关系通常不能表达同一类别概念的优先级,这将导致搜索一个概念时很容易忽略重要的信息。该文提出的方法能够构建各种概念和类之间的重要程度,能帮助用户提高他们搜索信息的准确率,减少搜索花费的时间。根据实验的结果所示,本方法在数据较小范围内可以实现更好的结果。

参考文献:

[1] 陆建江,张亚非.语义网原理与技术[M].北京:科学出版社,2007.

[2] 梁健,王惠临.基于文本的本体学习方法研究[J].情报理论与实践,2007(1):112-115.

[3] 张大鹏.基于本体的文本分类关键技术研究[D].长春:东北师范大学,2012.

[4] Maedche A, Staab S.Ontology learning for the semantic web[J].IEEE Intelligent systems,2001,16(2):72-79.

[5] Stumme G.Formal concept analysis on its way from mathematics to computer science[M]//Conceptual Structures: Integration and Interfaces.Springer Berlin Heidelberg,2002:2-19.

[6] Chowdhury G.Introduction to modern information retrieval[M].Facet publishing,2010.

[7] Buchli F.Detecting software patterns using formal concept analysis[J].inder Philosophisch-naturwissenschaftlichen Fakult: University of Bern,2003:10-15.

[8] Ganter B,Stumme G, Wille R. Formal Concept Analysis: foundations and applications[M].Springer,2005.

[9] Kang S H, Huh W, Lee S, et al. Automatic classification of WWW documents using a neural network[C]//2000, Proceedings of international conference on production research,Bangkok.

[10] Han J,Kamber M, Pei J.Data mining: concepts and techniques[M].Morgan kaufmann,2006.

[11] Wu S H,Day M Y, Tsai T H, et al. FAQ-centered organizational memory[M]//Knowledge Management and Organizational Memories. Springer US,2002:103-112.