基于XML的知识管理系统

来源:百度文库 编辑:神马文学网 时间:2024/04/28 12:06:39
—明智的新选择
■ 庞引明
让拥有知识的人能方便地共享自己的知识,让需要知识的人可以简单快捷地找到知识,这是企业知识管理系统的一个追求,而基于XML的知识管理系统正成为企业一个明智的新选择。 现在知识管理已经非常“流行”,企业不断推出各种知识管理解决方案,包括IBM及微软这样著名的公司在内的几乎所有IT企业都在推销自己的知识管理理念及相关技术与产品。从商业公司到各种组织都正在开发各种知识管理系统。 不过,在建立知识管理系统方面,基于XML的知识管理系统开始引起人们的注意,现已成为一个非常重要的发展方向。 早期系统投石问路 其实早在几年前,国际上就有若干研究机构陆续投入基于XML的知识管理系统的研发。其中,较为著名的可以列举几家。 德国GMD-IPSI(德国国家信息技术研究中心集成出版和信息系统研究所)的研究小组,联合西班牙、法国、奥地利等国的研究机构,开发了XML-KM(IST-12030)系统。该项目立项于2000年年初,是一个利用XML技术进行底层异构数据源的集成,采用数据仓库和数据挖掘技术支持知识抽取,含有事务处理和安全控制较为完整的知识管理系统。 图1就是经过了简化的XML-KM(IST-12030)系统结构。可以看出,信息的采集(集成)、知识的发现和抽取、知识的发布,三个层次较为分明地体现在系统中。该结构基本概括了以XML为基础的知识管理系统的主要内容,因此在业界有着一定的影响,在一段时间以来成为研发知识管理系统的重要参考。
图1 XML-KM(IST-12030)系统结构 遗憾的是,上述系统虽然规划了以XML数据库作为系统的主要部分,但是,由于该项目起步较早,当时的XML数据库技术尚不成熟,以XML技术来集成异构数据源的实践也未开始,因此系统从一开始就遇到了较大的困难,并没有取得预期的成果。但是,当我们这些后来者重新研读该系统的技术资料时,不得不为先行者的一些技术远见所折服。 另一个XML知识管理系统的先行者就是INRIA(法国国立信息与自动化研究院)。INRIA的VERSO小组开发了著名的XML数据库系统xyleme,在XML数据库及其相关技术方面有着较为雄厚的技术积淀。WebCOKACE是INRIA的ACACIA小组正在开发的知识管理产品,基于XML技术。 WebCOKACE主要有以下特点: ● 在一个协同的平台上,可以跨Internet和Intranet集成多个异构数据源。以XML作为数据的基本存储形式,包括数据格式、知识模型和语义元数据的表达。 ● 引入本体(ontology)概念作为知识查询的载体。在服务器端设计了一个解释器,用来将CommonKADS形式表达的本体转换成RDF(资源表述框架)模式,再到XML数据库中查询相关知识。它还设计了一个本体过滤引擎(ontological filtering engine),以回答客户的简单查询。 ● 作为一个应用例子,在应用层开发了RESEDA系统,这是一个道路事故诊断系统,它可以利用服务器端开发的一个推理引擎(Inference engine),接受用户的查询请求,查询XML知识库,经过简单处理,给出事故诊断的初步建议。 在WebCOKACE系统中,集成异构数据源、XML数据表达、协同处理、知识建模、基于Web服务等较为流行的技术都得到了应用。 XML知识管理系统框架基本落地 近两年来,随着XML数据库技术的不断发展和成熟,更重要的是,随着应用需求的不断发展,商用的基于XML的知识管理系统的研发和推广日益深入。 加拿大的IXIASOFT公司在北美市场推出的相关知识管理产品,美国IPEDO公司在美国和亚太地区推出的KCP(知识协同平台)产品,都是以各自的XML数据库产品为基础开发的XML知识管理系统。国内的产品中,较有代表性的如长沙麓谷数码科技公司的基于XML的企业协同工作与知识管理平台。 这些商用产品都有一些共性特点,比如,都以XML数据库技术为基础,都以XML技术来集成跨系统的异构数据源,都支持J2EE/.NET企业应用构架,都提供基于工作流的协同工作机制,都支持Web端的动态知识展现等。 图2显示了当前商用XML知识管理系统的基本框架。它综合了目前主流的技术路线。它的主要技术特点有:
图2 基于XML知识管理系统的一般结构 1. 异构数据源的集成 知识的演化途径定义为:信息、数据、知识。很显然,知识蕴含在大量的数据里面。而数据的形式是多样化的,包括结构化的数据、半结构化的数据和非结构化的数据。有资料统计说,一般知识管理系统中的数据,结构化的只占到10%,其余90%都是半结构化和非结构化的数据。针对这种情况,XML技术正好可以发挥它的长处。这就是为什么知识管理系统对XML技术的依赖会越来越强。由于数据是分散在多个异构的系统中,所以用XML技术来集成这些数据就显得十分必要。 从技术实现的角度来说,在ERP系统、数据仓库系统的背后,真正的数据存储者可能是各种关系型数据库;OA系统、文件系统和邮件系统面对的是文档;而在互联网上的则是浩如烟海的HTML文档。 从用户的角度来说,底层能够集成尽可能多的数据源,就会搜集到尽可能多的知识源头。 一般来说,数据集成的方式有两种:实时的方式可以保证及时地抓取到最新的数据,但是对性能的影响会比较大,对数据同步的要求会比较高,在集成的异构数据源数量较多时效率会比较低。 非实时的方式不能保证及时地抓取到最新的数据,对数据同步的要求不会太高,可以在系统负载较小时进行数据更新。实时方式适用在数据更新快、异构数据源较少的场合。非实时的方式则适用在异构数据源较多、数据更改不太频繁的情况下。 2. 知识建模和整理加工 知识建模和整理加工是整个知识管理系统的核心部分,也是现今知识管理系统的薄弱环节。 图3是意大利卡拉布里亚大学的Mario Cannataro教授等人提出的针对半结构化数据的知识抽取过程,较好地概括了在XML数据库基础上的知识建模和知识发现过程。
图3 知识建模和知识加工的一般过程 从底层看,XML数据库系统作为信息的存储和交换的基础平台。这里需要定义知识描述的XML框架,也就是经常提到的元数据模型(Metadata)。 第二层就是知识建模层。在底层的XML数据库系统平台中,利用XML来描述概念模型(conceptual knowledge),XSL(eXtensible Stylesheet Language)是用来转换和格式化XML的相关语言。知识建模的一般过程就是,XSL从XML模型中读取信息并用来产生UML模型。如果说XML是一种表达信息的工具,那么XSL就是用来操作这些信息的语言。 OMG定义的MOF(Meta Object Facility)语言可以用来描述基于UML的整体模型(meta-model)。XMI(XML Metadata Interchange Format)是基于XML表述UML的格式语言。从XML信息模型中产生的中间设计模型可以通过XMI或MOF来实现。这里转换成中间XMI模型的过程应该是一目了然的,因为XSL简化了从XML到XMI的转换。 第三层,知识的组织和集成。所谓知识的组织和集成就是通过建立数据仓库,利用OLAP工具来实现对知识的加工和整理。基于XML的数据仓库技术的研究和开发近年来一直是业界关注的热点。在数据库界的三大国际会议(SIGMOD、VLDB、ICDE)上,每年都有一定数量的文章,研究的热点主要集中在XML数据的清洗(cleaning)、数据建模和查询、如何在XML数据上建立OLAP立方体(cube)等方面。 随着XML数据库技术的不断发展,XML数据仓库技术也开始由实验室产品走向商用系统。其中比较著名的就是法国INRIA的Xyleme计划的Dynamic Data Warehouse for the XML Data of the Web(Web上XML数据的动态数据仓库)项目。 该项目的设计目标是将互联网上的所有XML数据都整理装入XML数据仓库。数据量是TB级。该系统的主要技术特点概括为: ● 存储系统采用的是德国曼海姆大学开发的Natix系统。Natix是业内著名的以存储管理树型数据见长的系统,十分适合XML数据。 ● 在查询处理方面,支持主流的XML查询语言(如XQuery等),并为此设计了出色的Xyleme索引机制。 ● 在数据获取方面,采用推(通过Web服务方式发布)和拉(在Web上漫游)两种方式,由于数据量较大而采取并发地处理方式。 ● 在变更控制方面,设置了一个服务器来及时处理网页变更和用户的个性化订阅。 ● 在语义数据集成方面,要求每一个XML文档都附加DTD(文档类型定义),没有DTD的文档必须在抽取DTD后才可以入库。这样就保证了在用户查询时面对的是在语义上经过DTD聚类的XML数据,以提高查询效率。 最后一层:数据挖掘,以发现隐性知识、建立知识之间的联系。 由于知识的主要表现形式是各类文档,所以,所谓知识挖掘就是文本挖掘(TextMining)。尽管文本挖掘技术的发展相当迅速,但是基于XML文档的文本挖掘技术却有着特殊的难点,难就难在XML文档数据本身的树型结构。基于XML的文本挖掘技术呈现出下列特点: ● 在特征集的提取方面,由于传统的文本挖掘技术面对的是有限结构或者完全没有结构的一般文档,而XML文档具有半结构化的特性。因此,在特征集的提取上可以采用较为成熟的频繁模式(频繁子树)挖掘技术,用到较多的图论知识,比如两棵树之间的匹配算法等。 ● 在聚类和分类方面,由于XML文档附带的DTD的存在,可以考虑将XML文档抽取DTD,再在编辑距离(edit distance)定义的基础上实现DTD的多层分类索引,然后较为方便地将相关XML文档予以分类。同样,频繁子树挖掘技术在这里同样有用武之地。关于从XML文档中抽取相应的DTD,技术上已经相对成熟了。 ● 类似的,在提取了DTD和挖掘了频繁模式之后,自动摘要功能就会容易实现。粗糙地看,文档的频繁子树的集合(森林)就可以看成一篇摘要。当然,这样扁平(flat)的摘要还要经过一定的处理。常用方法就是修剪频繁子树森林。 3. 企业级应用的中间件组件库 经过知识的整理和加工,就进入了支持各种企业应用的中间件产品库。具体来说,就是: ● 支持协同工作的工作流产品,配合知识管理部分实现知识的流转和沉淀。 ● 支持Web端的实时信息展现的动态报表产品,通过底层的信息集成工具,可以实时动态地将信息展现给用户。 ● 支持应用层知识的查询、沉淀等功能的知识管理产品,提供诸如知识地图、文档上传、个性化订阅等功能。 ● 对知识文档的浏览、下载、打印进行控制的版权保护产品,主要采用电子水印等技术对知识文档的安全进行控制。 ● 全文检索组件主要依赖于下层的分词和索引技术的支持。自动分词和全文索引技术是知识管理系统的必备功能,实现时需要建立分词词库,通过自学习的机制加以训练,达到稳定状态后才会具有较高的效率。 ● 版本管理、用户和权限管理在一般的应用系统中较为常见。 4. 基于XML的门户系统 一个企业或单位的XML知识管理系统的统一对外窗口就是门户(Portal)系统。基于XML的门户系统区别于其他门户系统的特点之一,就在于利用XML的描述语言替代HTML描述页面。由于HTML的普通文本不是以对象方式描述的,所以普通文本的表示不是很方便,通常需要利用别的对象方式来描述文本的内容。 XML就可以更好地解决这个问题,XML的DTD文档描述结构可以很好地建立各种Tag与数据库中所描述的信息对象的属性关系,并将显示和描述统一起来。利用DTD对所要描述的实体建立与数据库元数据一致的描述关系,并且对文档的操作可以通过Tag对象实现,可以方便地将数据库中的数据输入到动态生成的XML文件描述中。在这种映射下,实现生成用户满意的信息表示格式,可以对系统提供灵活的界面定义。 中科院计算所的褚兴军等人设计的EPortal-I企业门户系统就是一个基于XML的门户系统。 技术难点和发展趋势日益明朗 基于XML的知识管理系统是一个集信息集成、数据库和信息检索、数据挖掘、人工智能、协同处理、智能代理、知识工程、文本处理、Web技术于一身的综合系统。任何一方面的技术进展都会推动其发展,可是任何一方面的技术难点又都会成为其难点。 依笔者的观点,系统面临的技术难点和可能的发展趋势是: ● XML数据库作为本系统的知识存储介质,在系统中处于核心的地位,它的发展对整个系统的影响是不言而喻的。如果打算用XML数据库技术来发展知识管理系统,那么,有两件事情是要做的:其一,提供基于加锁机制的并发协议。因为知识库走向海量是一个必然趋势,而目前的XML数据库中的并发处理手段相对薄弱。其二,在XML数据库系统中支持文档模式抽取,比如,可以方便地产生DTD。这一点十分有助于上层实现诸如建模、聚类等功能。 ● 在知识描述和建模部分,引入本体论和语义网(semantic web)技术是趋势。这些技术本身都处在发展过程中。本体论得到业界承认的多种方 法学都尚不成熟。语义网也刚刚被W3C确定为今后的发展重点。它们的发展会对知识描述和建模甚至整个系统产生影响。比如,加入本体模型的翻译,可以使得多个用户通过Web访问到协同层的对象层,通过活动层完成协同工作。 而目前基于工作流的知识协同尚未做到这一点。 ● 知识整理加工和文本挖掘部分有非常多的工作有待完善。基于频繁模式挖掘的摘要、聚类、特征集提取的算法复杂度较高,针对海量数据,其效率不容乐观。改进算法,降低复杂度是一条途径。而通过抽取DTD、建立多层索引从而在一定程度上避开上述方法在实践上或许是可以考虑的。 (计算机世界报 2005年07月25日 第29期 B2、B3)