基于层次分类体系的知识地图自动构建方法研究,本文主要内容关键词为:层次论文,体系论文,地图论文,方法论文,知识论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
1 引言
知识地图是组织实施知识管理的有效工具。目前,国内对知识地图的研究大多数只是将知识地图作为知识管理体系和知识管理技术中的一部分来进行简单的介绍,主要围绕知识地图的内容、形态和作用等偏重于理论方面的内容进行研究,而没有多少关于知识地图的构建和实施方面的研究文献。国外关于知识地图的研究开展得较早,研究比较深入,已提出了很多知识地图的类型。比如早期的概念地图(Concept Map)和思维导图(Mind Map)[1],这两种知识地图都是用于更好地组织、理解和记忆知识;Gordon[2]提出通过学习过程中各知识点的依赖关系来建立知识地图,这种知识地图可以用来进行员工培训、课程编制以及个人学习。上述几种知识地图都是手工制作的,而当知识资源的规模过于庞大时,手工编制知识地图显然是非常低效的,因而出现了一些自动生成的知识地图,如Newsmap[1]、Treeview SOM[3]和TaxGen框架[4]等,这几种知识地图通过聚类的方法将从Web上收集的大量新闻文档归并到一个自动生成的层次分类体系中。类似的工作还有,Hsin-ChangYang和Chung-HongLee[5]提出的基于SOM的Web目录和层次体系自动构建方法;潘星等[6]提出了一种基于概念聚类的知识地图模型,在该模型中,知识按其属性自动聚类成知识节点,它描述了知识及其属性和关系,并将知识节点以偏序关系排列起来。由于组织对自身的知识资产一般都有自己的分类体系,如按照业务流程为主线进行分类组织,因此一般通过文本自动分类技术来建立知识地图;而聚类技术更适合于Web知识地图的建立。
本文的研究内容主要针对组织中以文本形式大量存在的显性知识资源。上面的一些应用实例显示出层次分类体系是知识地图中十分有效的知识组织方式,但是在处理大容量文本集合时也会显现出一些不足之处,对此,本文在第2节提出了相应的解决方案,并以此构造了一种层次型知识地图;在第3节中提出一种层次分类方法来自动建立知识地图,并对其中的关键技术进行深入分析,在第4节通过实验验证该方法的有效性。最后在第5节中总结全文。
2 层次型知识地图结构及一般建立步骤
知识地图是对组织知识资源总体分布情况的可视化描述,不但描述了组织知识的存在情况及其载体,而且描述了组织知识资源间可能存在的千丝万缕的联系[7]。其中的知识资源既包括显性知识资源也包括隐性知识资源,因此知识地图本质上是利用现代信息技术制作的组织知识目录及其关系的综合体和组织领域专家的导航系统。本文只讨论其中显性知识地图的部分。
2.1 层次型知识地图结构
知识地图一般都是通过分类来组织知识,这种分类的类别也称为主题。各知识资源被映射到相应的主题,可以是一个,即每个知识资源属于唯一一个类别;也可以是多个,每个知识资源可以同时属于多个类别。本文只考虑第一种情况。根据各主题之间的关系,知识地图一般可分为网状结构和层次结构。在网状结构的知识地图中,一个主题节点可能同时跟多个主题节点有联系,具体的知识资源则通过其所属的主题建立间接的联系,如主题地图(Topic Maps)。对于大规模的文本知识资源的组织,使用层次结构更加有效。通过逐层细分、逐步缩小搜索范围,层次结构可以使用户更容易查找到所需的知识,典型的应用实例如Yahoo!(http://www.yahoo.com)和Open Directory Project(http://www.dmoz.org)。但是层次结构也有自身的不足之处:
(1)如果层次分类体系本身很庞大,会给用户的浏览查找过程增加难度。因此,在设计层次分类模型的时候,应注意保持体系的简洁性,不能太过庞大,如限制层次的深度以及同一层次上类别的数量。
(2)对于包含大规模文本知识资源的知识地图,即便在最底层的分类,可能也会有相当多的文档,从这些文档中查找所需知识也是一个不小的问题。这里可以通过引入检索功能来解决这个问题,即在指定类别中进行检索。
(3)不能很好地揭示出同一层次各类别间的联系。对此有两种解决方案。第一种,通过借鉴Topic Maps,在同一层次的主题间直接建立联系。但是不同主题间的关联显然不会很强,一般只是两个主题内小部分的文档具有较强的关联,而大部分文档间的关联都很弱。这种思想引出了第二种解决方案:通过两个主题内具有较强关联的文档建立主题间的联系。在实际实现中,可以通过文档相似性来近似判断。
综上所述,可以得出本文提出的层次型知识地图结构,如图1所示。
图1 层次型知识地图结构
2.2 一般建立步骤
Gartner Group提出了构建知识地图的四个主要活动[8]:
(1)知识审查(Knowledge Audit):主要是审查组织内部的知识资产及其来源,并确定组织的关键知识。
(2)知识制图(Knowledge Mapping):通常根据社会及业务背景来进行知识资产的分类,配合组织的专业术语,将知识分门别类地归类在不同的范畴内,并标示其间的关系。
(3)建立索引(Indexing Knowledge Assets):这是建立知识地图最为关键的一环,主要工作是建立知识资产的索引连结。由于知识地图的动态概念性,其索引源不仅仅只有信息内容这些显性知识,还包括了人员、程序等隐性知识的联结。
(4)知识轮廓与个人化(Knowledge Profiling and Personalization):主要是描述使用者与其他事物的关系,包括其他员工、信息资产、社群、媒介、或是自动化流程等,并据此提供相关的信息给予使用者。
文献[9]认为,知识地图的构建过程应遵循CPPL程序(Collect,Process,Profile,Link),即知识收集、知识处理、知识轮廓和知识连接。
可见,在制定知识地图时,关键是识别组织知识,然后从主题和分类两个途径对知识加以整理。随后提取元知识,建立知识资源与人之间、人与人之间、知识与知识之间的联系,最后用可视化的方式显示出来。借鉴前述知识地图的构建流程,将自动构建技术引入流程,并根据本文提出的层次型知识地图结构,将其构建流程归纳如图2所示。
图2 知识地图构建流程
(1)定义所需知识:首先要确定组织中存在的知识及其存取方式;然后根据知识地图的构建需要确定所需知识。实际上,在知识地图构建之初,并不是组织中所有的知识都被包含进去,其中可能只包含根据组织业务流程确定的核心知识,以及解决组织面临的问题所需要的关键知识,这样更容易取得成效。随着知识地图的不断发展成熟,其覆盖范围可逐步扩展到整个组织。这时可以将组织战略规划中所需的知识,以及有价值的外部知识逐步加入进来,使整个知识地图趋于完善。
(2)建立领域知识层次分类模型:这项工作需要领域专家的参与。对知识的分类一般按照业务流程来进行划分,可将业务流程的各主要环节作为大类,然后对每个大类进行逐层细分,同时要注意层次分类模型不能过于庞大,而不便于用户定位所需知识。
(3)提取元知识,对知识进行归类:元知识就是“有关知识的知识”。由于很多显性知识资源不直接提供这些元知识,而是隐含于其文本内容之中,这就需要一些新技术来完成元知识的自动提取,如主题发现与跟踪、信息提取、自动摘要等。提取元知识之后,利用层次分类方法将文本自动映射到已经建立好的层次分类体系中,同时在相关的文档间建立起联系。
(4)建立知识与员工的连接:这包括三个步骤:①设定用户对各种知识的存取权限;②建立用户兴趣模型,基于此可为用户提供自动推送以及信息过滤服务;③很多显性知识的作者本身是组织内的员工,可以利用元知识中的作者信息将显性知识与员工联系起来,从而建立组织内显性知识与隐性知识的联系,有利于更好地进行知识共享。
(5)知识地图的可视化:可视化方案的好坏将直接影响知识地图的使用效果。
(6)更新、维护及评估:知识地图的构建过程应该看作是一个动态的循环过程。由于知识具有时效性,知识可能会过时,而且新的知识会不断加入,这就需要对知识地图进行持续的更新和维护;对知识地图的评估可以发现其不足之处,或某些知识的空白,从而进行改进和完善,因此具有重要意义。目前还没有多少关于知识地图评估方面的研究工作。
可以看出,知识地图的自动构建技术主要应用于元知识的提取和自动分类阶段。其中层次分类方法可以说是知识地图自动构建的核心。
3 层次分类方法
现有的大部分文本分类方法所处理的类别都处在同一个层次,即处于同一个平面类空间上。常用分类方法有类中心向量距离法[10]、Nave Bayes(NB)[11]、k-近邻(KNN)法[12]、线性最小二乘拟合法(LISF)[13]、支持向量机(SVM)[14]和基于神经网络(NN)的方法[15]等。对于文本类别数量庞大的情况,平面分类的性能会受到很大制约。层次型分类把分类系统构造为层次结构,各类按照一定的层次关系组织成树状结构。
图3所示的是一棵简单的分类树,其中,根节点表示所有文档,其他节点各自代表一个类别,上下层节点之间的连线表示父类与子类的关系,叶子节点代表的类别称为基类,其他的类别节点称为父类或超类。
图3 层次型分类结构
如果要求待分类文档最终归入到叶子节点所代表的类别中,则称为基类层次分类;反之则称为通用层次分类。这里只考虑基类层次分类的情况。基类层次分类可以简化为一般的平面分类问题,即将所有叶子节点看成一个平面分类集合,使用平面分类方法直接将待分类文档归入到叶子节点代表的类别中。这种分类方法在基类数量庞大的时候性能会受到很大制约。因此本文采用逐层分类的方式。在分类时先用最顶层的分类器将文档分入某一大类(即父节点为根节点的类)中,再用该类的分类器对文档继续进行分类,直至将文档分到某一基类中。这些分类器可以使用不同的分类方法进行构造。该方法主要由两个算法构成,即层次训练算法和层次分类算法。
顶层的分类器将文档分到某一大类中。显然这些大类间的区分度是比较高的。因此,顶层的分类器可以采用比较简单高效的分类方法如类中心向量距离法。对于下层属于同一父类的各类别,其间的关联度会逐渐增加,需要使用分类精度较高的分类方法如KNN法。本文选择KNN方法还有一个目的:在分类的同时建立起相关文档间的关联。此外,下层分类使用的特征项也需要重新选取,因为随着类别间关联度的增加,需要选择更专业的词语作为特征项,而且所需特征项也会逐渐减少。具体的层次训练算法可归纳如下:
(1)对所有训练文档进行分词、去停用词的预处理,统计词频,建立倒排文档索引,用于全文检索。
(2)利用TF-IDF公式计算特征词的权重,利用信息增益(Information Gain,IG)法进行特征选择,计算各大类的类中心向量。
(3)训练各大类的KNN分类器。分别对每个大类下的所有子类中的训练文档,计算特征词的权重,利用IG重新选择特征项,将训练文档向量化,得到KNN分类模型。
(4)继续进入下层,重复第(3)步操作,直至所有非叶子节点的分类器训练完毕。
其中,TF-IDF[16]是权重计算的常用公式:
分类器训练完毕后就可以对新文档进行分类了,层次分类算法归纳如下:
(1)对文档进行分词、去停用词预处理,统计词频,建立倒排索引,将文档向量化,计算与各个大类的类中心向量间的相似度,将文档分到相似度最高的类别中。
(2)进入该类别,利用该类的特征集合将文档重新向量化,计算文档与该类别下所有训练文档的相似度,得到相似度最高的k个训练文档,根据这些训练文档所属类别来判断待分类文档的类别。同时记录下与新文档相似度最高的训练文档及相似度。
(3)进入下层类别,使用该类别的KNN分类器继续进行分类,直到将文档分到基类中。
上述步骤(2)记录了与待分类的新文档相似度最高的训练文档。当所有文档最终分类完成后,通过训练文档为中介建立起了相关新文档间的关联,使用户在查看某一知识资源时,可以方便地获得相关资源。当然,这种关联是通过训练文档为中介间接建立起来的,如下表所示。
可以近似认为这些文档之间也是相似的。如果要直接比较各新文档间的关联度,需要将已分类的新文档也作为训练文档与其余待分类的文档计算相似度,训练文档逐渐增多,每次分类的计算量也随之增大,这在大文本容量下显然是不可行的,因此本文使用这种间接的方式来计算各相似文档。
4 实验分析
中文文本分类至今仍没有一个公开的、相对标准的语料库,而层次分类语料库更是凤毛麟角。为验证前文提出的用于自动构建知识地图的层次分类方法,本实验使用了两个层次分类语料库进行对比实验。第一个是由复旦大学计算机信息与技术系国际数据库中心自然语言处理小组整理的语料库。该语料库是单层语料库,共有9833篇训练文档,9804篇测试文档,分为20个类别。本文从中选择9个类别作为基类构造了如图4所示的分类树。
图4 分类树
实验中每个基类使用400篇训练文档,共3600篇训练文档;每个基类使用100篇测试文档,共900篇测试文档。
第二个语料库TanCorpV1.0[18,19]是由中科院谭松波博士收集整理的,分为两个层次,收集文档14150篇。第一层为12个类别;第二层为60个类别。去除少数无内容的文档后,剩余文档14138篇,从中随机选择了9455篇文档作为训练文档,其余4683篇作为测试文档。各类文档分布极为不均,最少的类别只有13篇训练文档,而最多的类别有875篇训练文档。
由于该层次分类方法属于基类层次分类,即所有输入文档都被归入到分类树中叶子节点所表示的类别中,分类问题可转化为平面分类问题,即利用平面分类方法直接将输入文档分到各基类中。因此实验分别使用上面两个语料库,对平面分类与层次分类效果进行了比较。平面分类方法选择了KNN和SVM两种常用的分类方法。实验设置特征空间维数为1000,特征选择方法使用信息增益(IG)法,KNN分类时选择k为35,SVM使用线性核函数,One-vs-One多类分类方法。两个语料库的实验结果分别如表2所示。
其中,r表示查全率(recall)、p表示查准率(precision),F1值综合了查全率和查准率:F1=2*r*p/(r+p)。
从实验结果可以看出,两种常用的平面分类方法中,SVM的性能要优于KNN方法,其宏平均F1值达到了92.3%,具有良好的查全率和查准率。层次分类方法的表现与SVM不相上下,宏平均F1值达到91.6%。可见,在基类数目较少,且训练样本均衡分布的情况下,使用平面分类方法和层次分类方法都可以取得很好的效果。
KNN平面分类方法在TanColpV1.0语料库上表现最差,宏平均Fl值只有51.4%;而SVM方法较之有很大提高,宏平均F1值达到63.8%;层次分类方法表现最好,宏平均F1值为66%。之所以三个分类器均表现平平,主要是因为训练样本分布极为不均,最少的“财富”类仅有13篇训练样本,而最多的“足球”类有875篇训练样本,严重影响了分类的性能。另外,由于基类数目高达60个,SVM平面分类方法需要训练60个分类器,而分类的时候需要使用这60个分类器进行分类,训练时间和分类时间都是难以接受的。而在本实验中,层次分类方法只需训练13个分类器,分类时,只需经过2个分类器即可完成一个输入文档的分类,具有很高的分类效率和准确率。
与平面分类相比,层次型分类更符合文本之间的关系,使文本的定位更准确,提高了分类精度;同时,层次型分类把大的分类问题转化为小的子问题,允许使用更复杂的模型或分类方法组合,而不用以牺牲分类的准确率为代价。因此,层次型分类从结构、性能上,可以说是对分类方法一个较大的改进。
5 总结
针对组织中规模日益庞大的知识资源,手工编制知识地图的方式已不能满足组织知识管理的需要。为此,本文首先以层次分类体系为基础,提出了一种有效的知识地图结构;探讨了相应的构建步骤;提出一种层次分类方法用于自动构建层次型知识地图,并通过实验对方法的有效性进行了验证。实验结果表明,该层次分类方法比普通平面分类方法在性能上有较为明显的提高,适合于层次型知识地图的自动构建。
收稿日期:2007年4月10日
标签:自然语言处理论文; 知识地图论文; 分类器论文; 语料库论文; kNN论文; 文本分类论文; 文本分析论文; 知识体系论文;