讓擁有知識(shí)的人能方便地共享自己的知識(shí),讓需要知識(shí)的人可以簡單快捷地找到知識(shí),這是企業(yè)知識(shí)管理系統(tǒng)的一個(gè)追求,而基于XML的知識(shí)管理系統(tǒng)正成為企業(yè)一個(gè)明智的新選擇。
現(xiàn)在知識(shí)管理已經(jīng)非常“流行”,企業(yè)不斷推出各種知識(shí)管理解決方案,包括IBM及微軟這樣著名的公司在內(nèi)的幾乎所有IT企業(yè)都在推銷自己的知識(shí)管理理念及相關(guān)技術(shù)與產(chǎn)品。從商業(yè)公司到各種組織都正在開發(fā)各種知識(shí)管理系統(tǒng)。
不過,在建立知識(shí)管理系統(tǒng)方面,基于XML的知識(shí)管理系統(tǒng)開始引起人們的注意,現(xiàn)已成為一個(gè)非常重要的發(fā)展方向。
早期系統(tǒng)投石問路
其實(shí)早在幾年前,國際上就有若干研究機(jī)構(gòu)陸續(xù)投入基于XML的知識(shí)管理系統(tǒng)的研發(fā)。其中,較為著名的可以列舉幾家。
德國GMD-IPSI(德國國家信息技術(shù)研究中心集成出版和信息系統(tǒng)研究所)的研究小組,聯(lián)合西班牙、法國、奧地利等國的研究機(jī)構(gòu),開發(fā)了XML-KM(IST-12030)系統(tǒng)。該項(xiàng)目立項(xiàng)于2000年年初,是一個(gè)利用XML技術(shù)進(jìn)行底層異構(gòu)數(shù)據(jù)源的集成,采用數(shù)據(jù)倉庫和數(shù)據(jù)挖掘技術(shù)支持知識(shí)抽取,含有事務(wù)處理和安全控制較為完整的知識(shí)管理系統(tǒng)。
圖1就是經(jīng)過了簡化的XML-KM(IST-12030)系統(tǒng)結(jié)構(gòu)。可以看出,信息的采集(集成)、知識(shí)的發(fā)現(xiàn)和抽取、知識(shí)的發(fā)布,三個(gè)層次較為分明地體現(xiàn)在系統(tǒng)中。該結(jié)構(gòu)基本概括了以XML為基礎(chǔ)的知識(shí)管理系統(tǒng)的主要內(nèi)容,因此在業(yè)界有著一定的影響,在一段時(shí)間以來成為研發(fā)知識(shí)管理系統(tǒng)的重要參考。
 圖1 XML-KM(IST-12030)系統(tǒng)結(jié)構(gòu)
遺憾的是,上述系統(tǒng)雖然規(guī)劃了以XML數(shù)據(jù)庫作為系統(tǒng)的主要部分,但是,由于該項(xiàng)目起步較早,當(dāng)時(shí)的XML數(shù)據(jù)庫技術(shù)尚不成熟,以XML技術(shù)來集成異構(gòu)數(shù)據(jù)源的實(shí)踐也未開始,因此系統(tǒng)從一開始就遇到了較大的困難,并沒有取得預(yù)期的成果。但是,當(dāng)我們這些后來者重新研讀該系統(tǒng)的技術(shù)資料時(shí),不得不為先行者的一些技術(shù)遠(yuǎn)見所折服。
另一個(gè)XML知識(shí)管理系統(tǒng)的先行者就是INRIA(法國國立信息與自動(dòng)化研究院)。INRIA的VERSO小組開發(fā)了著名的XML數(shù)據(jù)庫系統(tǒng)xyleme,在XML數(shù)據(jù)庫及其相關(guān)技術(shù)方面有著較為雄厚的技術(shù)積淀。WebCOKACE是INRIA的ACACIA小組正在開發(fā)的知識(shí)管理產(chǎn)品,基于XML技術(shù)。
WebCOKACE主要有以下特點(diǎn):
● 在一個(gè)協(xié)同的平臺(tái)上,可以跨Internet和Intranet集成多個(gè)異構(gòu)數(shù)據(jù)源。以XML作為數(shù)據(jù)的基本存儲(chǔ)形式,包括數(shù)據(jù)格式、知識(shí)模型和語義元數(shù)據(jù)的表達(dá)。
● 引入本體(ontology)概念作為知識(shí)查詢的載體。在服務(wù)器端設(shè)計(jì)了一個(gè)解釋器,用來將CommonKADS形式表達(dá)的本體轉(zhuǎn)換成RDF(資源表述框架)模式,再到XML數(shù)據(jù)庫中查詢相關(guān)知識(shí)。它還設(shè)計(jì)了一個(gè)本體過濾引擎(ontological filtering engine),以回答客戶的簡單查詢。
● 作為一個(gè)應(yīng)用例子,在應(yīng)用層開發(fā)了RESEDA系統(tǒng),這是一個(gè)道路事故診斷系統(tǒng),它可以利用服務(wù)器端開發(fā)的一個(gè)推理引擎(Inference engine),接受用戶的查詢請(qǐng)求,查詢XML知識(shí)庫,經(jīng)過簡單處理,給出事故診斷的初步建議。
在WebCOKACE系統(tǒng)中,集成異構(gòu)數(shù)據(jù)源、XML數(shù)據(jù)表達(dá)、協(xié)同處理、知識(shí)建模、基于Web服務(wù)等較為流行的技術(shù)都得到了應(yīng)用。
XML知識(shí)管理系統(tǒng)框架基本落地
近兩年來,隨著XML數(shù)據(jù)庫技術(shù)的不斷發(fā)展和成熟,更重要的是,隨著應(yīng)用需求的不斷發(fā)展,商用的基于XML的知識(shí)管理系統(tǒng)的研發(fā)和推廣日益深入。
加拿大的IXIASOFT公司在北美市場推出的相關(guān)知識(shí)管理產(chǎn)品,美國IPEDO公司在美國和亞太地區(qū)推出的KCP(知識(shí)協(xié)同平臺(tái))產(chǎn)品,都是以各自的XML數(shù)據(jù)庫產(chǎn)品為基礎(chǔ)開發(fā)的XML知識(shí)管理系統(tǒng)。國內(nèi)的產(chǎn)品中,較有代表性的如長沙麓谷數(shù)碼科技公司的基于XML的企業(yè)協(xié)同工作與知識(shí)管理平臺(tái)。
這些商用產(chǎn)品都有一些共性特點(diǎn),比如,都以XML數(shù)據(jù)庫技術(shù)為基礎(chǔ),都以XML技術(shù)來集成跨系統(tǒng)的異構(gòu)數(shù)據(jù)源,都支持J2EE/.NET企業(yè)應(yīng)用構(gòu)架,都提供基于工作流的協(xié)同工作機(jī)制,都支持Web端的動(dòng)態(tài)知識(shí)展現(xiàn)等。
圖2顯示了當(dāng)前商用XML知識(shí)管理系統(tǒng)的基本框架。它綜合了目前主流的技術(shù)路線。它的主要技術(shù)特點(diǎn)有:
 圖2 基于XML知識(shí)管理系統(tǒng)的一般結(jié)構(gòu)
1. 異構(gòu)數(shù)據(jù)源的集成
知識(shí)的演化途徑定義為:信息、數(shù)據(jù)、知識(shí)。很顯然,知識(shí)蘊(yùn)含在大量的數(shù)據(jù)里面。而數(shù)據(jù)的形式是多樣化的,包括結(jié)構(gòu)化的數(shù)據(jù)、半結(jié)構(gòu)化的數(shù)據(jù)和非結(jié)構(gòu)化的數(shù)據(jù)。有資料統(tǒng)計(jì)說,一般知識(shí)管理系統(tǒng)中的數(shù)據(jù),結(jié)構(gòu)化的只占到10%,其余90%都是半結(jié)構(gòu)化和非結(jié)構(gòu)化的數(shù)據(jù)。針對(duì)這種情況,XML技術(shù)正好可以發(fā)揮它的長處。這就是為什么知識(shí)管理系統(tǒng)對(duì)XML技術(shù)的依賴會(huì)越來越強(qiáng)。由于數(shù)據(jù)是分散在多個(gè)異構(gòu)的系統(tǒng)中,所以用XML技術(shù)來集成這些數(shù)據(jù)就顯得十分必要。
從技術(shù)實(shí)現(xiàn)的角度來說,在ERP系統(tǒng)、數(shù)據(jù)倉庫系統(tǒng)的背后,真正的數(shù)據(jù)存儲(chǔ)者可能是各種關(guān)系型數(shù)據(jù)庫;OA系統(tǒng)、文件系統(tǒng)和郵件系統(tǒng)面對(duì)的是文檔;而在互聯(lián)網(wǎng)上的則是浩如煙海的HTML文檔。
從用戶的角度來說,底層能夠集成盡可能多的數(shù)據(jù)源,就會(huì)搜集到盡可能多的知識(shí)源頭。
一般來說,數(shù)據(jù)集成的方式有兩種:實(shí)時(shí)的方式可以保證及時(shí)地抓取到最新的數(shù)據(jù),但是對(duì)性能的影響會(huì)比較大,對(duì)數(shù)據(jù)同步的要求會(huì)比較高,在集成的異構(gòu)數(shù)據(jù)源數(shù)量較多時(shí)效率會(huì)比較低。
非實(shí)時(shí)的方式不能保證及時(shí)地抓取到最新的數(shù)據(jù),對(duì)數(shù)據(jù)同步的要求不會(huì)太高,可以在系統(tǒng)負(fù)載較小時(shí)進(jìn)行數(shù)據(jù)更新。實(shí)時(shí)方式適用在數(shù)據(jù)更新快、異構(gòu)數(shù)據(jù)源較少的場合。非實(shí)時(shí)的方式則適用在異構(gòu)數(shù)據(jù)源較多、數(shù)據(jù)更改不太頻繁的情況下。
2. 知識(shí)建模和整理加工
知識(shí)建模和整理加工是整個(gè)知識(shí)管理系統(tǒng)的核心部分,也是現(xiàn)今知識(shí)管理系統(tǒng)的薄弱環(huán)節(jié)。
圖3是意大利卡拉布里亞大學(xué)的Mario Cannataro教授等人提出的針對(duì)半結(jié)構(gòu)化數(shù)據(jù)的知識(shí)抽取過程,較好地概括了在XML數(shù)據(jù)庫基礎(chǔ)上的知識(shí)建模和知識(shí)發(fā)現(xiàn)過程。
 圖3 知識(shí)建模和知識(shí)加工的一般過程
從底層看,XML數(shù)據(jù)庫系統(tǒng)作為信息的存儲(chǔ)和交換的基礎(chǔ)平臺(tái)。這里需要定義知識(shí)描述的XML框架,也就是經(jīng)常提到的元數(shù)據(jù)模型(Metadata)。
第二層就是知識(shí)建模層。在底層的XML數(shù)據(jù)庫系統(tǒng)平臺(tái)中,利用XML來描述概念模型(conceptual knowledge),XSL(eXtensible Stylesheet Language)是用來轉(zhuǎn)換和格式化XML的相關(guān)語言。知識(shí)建模的一般過程就是,XSL從XML模型中讀取信息并用來產(chǎn)生UML模型。如果說XML是一種表達(dá)信息的工具,那么XSL就是用來操作這些信息的語言。 OMG定義的MOF(Meta Object Facility)語言可以用來描述基于UML的整體模型(meta-model)。XMI(XML Metadata Interchange Format)是基于XML表述UML的格式語言。從XML信息模型中產(chǎn)生的中間設(shè)計(jì)模型可以通過XMI或MOF來實(shí)現(xiàn)。這里轉(zhuǎn)換成中間XMI模型的過程應(yīng)該是一目了然的,因?yàn)閄SL簡化了從XML到XMI的轉(zhuǎn)換。
第三層,知識(shí)的組織和集成。所謂知識(shí)的組織和集成就是通過建立數(shù)據(jù)倉庫,利用OLAP工具來實(shí)現(xiàn)對(duì)知識(shí)的加工和整理。基于XML的數(shù)據(jù)倉庫技術(shù)的研究和開發(fā)近年來一直是業(yè)界關(guān)注的熱點(diǎn)。在數(shù)據(jù)庫界的三大國際會(huì)議(SIGMOD、VLDB、ICDE)上,每年都有一定數(shù)量的文章,研究的熱點(diǎn)主要集中在XML數(shù)據(jù)的清洗(cleaning)、數(shù)據(jù)建模和查詢、如何在XML數(shù)據(jù)上建立OLAP立方體(cube)等方面。
隨著XML數(shù)據(jù)庫技術(shù)的不斷發(fā)展,XML數(shù)據(jù)倉庫技術(shù)也開始由實(shí)驗(yàn)室產(chǎn)品走向商用系統(tǒng)。其中比較著名的就是法國INRIA的Xyleme計(jì)劃的Dynamic Data Warehouse for the XML Data of the Web(Web上XML數(shù)據(jù)的動(dòng)態(tài)數(shù)據(jù)倉庫)項(xiàng)目。
該項(xiàng)目的設(shè)計(jì)目標(biāo)是將互聯(lián)網(wǎng)上的所有XML數(shù)據(jù)都整理裝入XML數(shù)據(jù)倉庫。數(shù)據(jù)量是TB級(jí)。該系統(tǒng)的主要技術(shù)特點(diǎn)概括為:
● 存儲(chǔ)系統(tǒng)采用的是德國曼海姆大學(xué)開發(fā)的Natix系統(tǒng)。Natix是業(yè)內(nèi)著名的以存儲(chǔ)管理樹型數(shù)據(jù)見長的系統(tǒng),十分適合XML數(shù)據(jù)。
● 在查詢處理方面,支持主流的XML查詢語言(如XQuery等),并為此設(shè)計(jì)了出色的Xyleme索引機(jī)制。
● 在數(shù)據(jù)獲取方面,采用推(通過Web服務(wù)方式發(fā)布)和拉(在Web上漫游)兩種方式,由于數(shù)據(jù)量較大而采取并發(fā)地處理方式。
● 在變更控制方面,設(shè)置了一個(gè)服務(wù)器來及時(shí)處理網(wǎng)頁變更和用戶的個(gè)性化訂閱。
● 在語義數(shù)據(jù)集成方面,要求每一個(gè)XML文檔都附加DTD(文檔類型定義),沒有DTD的文檔必須在抽取DTD后才可以入庫。這樣就保證了在用戶查詢時(shí)面對(duì)的是在語義上經(jīng)過DTD聚類的XML數(shù)據(jù),以提高查詢效率。
最后一層:數(shù)據(jù)挖掘,以發(fā)現(xiàn)隱性知識(shí)、建立知識(shí)之間的聯(lián)系。
由于知識(shí)的主要表現(xiàn)形式是各類文檔,所以,所謂知識(shí)挖掘就是文本挖掘(TextMining)。盡管文本挖掘技術(shù)的發(fā)展相當(dāng)迅速,但是基于XML文檔的文本挖掘技術(shù)卻有著特殊的難點(diǎn),難就難在XML文檔數(shù)據(jù)本身的樹型結(jié)構(gòu)。基于XML的文本挖掘技術(shù)呈現(xiàn)出下列特點(diǎn):
● 在特征集的提取方面,由于傳統(tǒng)的文本挖掘技術(shù)面對(duì)的是有限結(jié)構(gòu)或者完全沒有結(jié)構(gòu)的一般文檔,而XML文檔具有半結(jié)構(gòu)化的特性。因此,在特征集的提取上可以采用較為成熟的頻繁模式(頻繁子樹)挖掘技術(shù),用到較多的圖論知識(shí),比如兩棵樹之間的匹配算法等。
● 在聚類和分類方面,由于XML文檔附帶的DTD的存在,可以考慮將XML文檔抽取DTD,再在編輯距離(edit distance)定義的基礎(chǔ)上實(shí)現(xiàn)DTD的多層分類索引,然后較為方便地將相關(guān)XML文檔予以分類。同樣,頻繁子樹挖掘技術(shù)在這里同樣有用武之地。關(guān)于從XML文檔中抽取相應(yīng)的DTD,技術(shù)上已經(jīng)相對(duì)成熟了。
● 類似的,在提取了DTD和挖掘了頻繁模式之后,自動(dòng)摘要功能就會(huì)容易實(shí)現(xiàn)。粗糙地看,文檔的頻繁子樹的集合(森林)就可以看成一篇摘要。當(dāng)然,這樣扁平(flat)的摘要還要經(jīng)過一定的處理。常用方法就是修剪頻繁子樹森林。
3. 企業(yè)級(jí)應(yīng)用的中間件組件庫
經(jīng)過知識(shí)的整理和加工,就進(jìn)入了支持各種企業(yè)應(yīng)用的中間件產(chǎn)品庫。具體來說,就是:
● 支持協(xié)同工作的工作流產(chǎn)品,配合知識(shí)管理部分實(shí)現(xiàn)知識(shí)的流轉(zhuǎn)和沉淀。
● 支持Web端的實(shí)時(shí)信息展現(xiàn)的動(dòng)態(tài)報(bào)表產(chǎn)品,通過底層的信息集成工具,可以實(shí)時(shí)動(dòng)態(tài)地將信息展現(xiàn)給用戶。
● 支持應(yīng)用層知識(shí)的查詢、沉淀等功能的知識(shí)管理產(chǎn)品,提供諸如知識(shí)地圖、文檔上傳、個(gè)性化訂閱等功能。
● 對(duì)知識(shí)文檔的瀏覽、下載、打印進(jìn)行控制的版權(quán)保護(hù)產(chǎn)品,主要采用電子水印等技術(shù)對(duì)知識(shí)文檔的安全進(jìn)行控制。
● 全文檢索組件主要依賴于下層的分詞和索引技術(shù)的支持。自動(dòng)分詞和全文索引技術(shù)是知識(shí)管理系統(tǒng)的必備功能,實(shí)現(xiàn)時(shí)需要建立分詞詞庫,通過自學(xué)習(xí)的機(jī)制加以訓(xùn)練,達(dá)到穩(wěn)定狀態(tài)后才會(huì)具有較高的效率。
● 版本管理、用戶和權(quán)限管理在一般的應(yīng)用系統(tǒng)中較為常見。
4. 基于XML的門戶系統(tǒng)
一個(gè)企業(yè)或單位的XML知識(shí)管理系統(tǒng)的統(tǒng)一對(duì)外窗口就是門戶(Portal)系統(tǒng)。基于XML的門戶系統(tǒng)區(qū)別于其他門戶系統(tǒng)的特點(diǎn)之一,就在于利用XML的描述語言替代HTML描述頁面。由于HTML的普通文本不是以對(duì)象方式描述的,所以普通文本的表示不是很方便,通常需要利用別的對(duì)象方式來描述文本的內(nèi)容。
XML就可以更好地解決這個(gè)問題,XML的DTD文檔描述結(jié)構(gòu)可以很好地建立各種Tag與數(shù)據(jù)庫中所描述的信息對(duì)象的屬性關(guān)系,并將顯示和描述統(tǒng)一起來。利用DTD對(duì)所要描述的實(shí)體建立與數(shù)據(jù)庫元數(shù)據(jù)一致的描述關(guān)系,并且對(duì)文檔的操作可以通過Tag對(duì)象實(shí)現(xiàn),可以方便地將數(shù)據(jù)庫中的數(shù)據(jù)輸入到動(dòng)態(tài)生成的XML文件描述中。在這種映射下,實(shí)現(xiàn)生成用戶滿意的信息表示格式,可以對(duì)系統(tǒng)提供靈活的界面定義。
中科院計(jì)算所的褚興軍等人設(shè)計(jì)的EPortal-I企業(yè)門戶系統(tǒng)就是一個(gè)基于XML的門戶系統(tǒng)。
技術(shù)難點(diǎn)和發(fā)展趨勢日益明朗
基于XML的知識(shí)管理系統(tǒng)是一個(gè)集信息集成、數(shù)據(jù)庫和信息檢索、數(shù)據(jù)挖掘、人工智能、協(xié)同處理、智能代理、知識(shí)工程、文本處理、Web技術(shù)于一身的綜合系統(tǒng)。任何一方面的技術(shù)進(jìn)展都會(huì)推動(dòng)其發(fā)展,可是任何一方面的技術(shù)難點(diǎn)又都會(huì)成為其難點(diǎn)。
依筆者的觀點(diǎn),系統(tǒng)面臨的技術(shù)難點(diǎn)和可能的發(fā)展趨勢是:
● XML數(shù)據(jù)庫作為本系統(tǒng)的知識(shí)存儲(chǔ)介質(zhì),在系統(tǒng)中處于核心的地位,它的發(fā)展對(duì)整個(gè)系統(tǒng)的影響是不言而喻的。如果打算用XML數(shù)據(jù)庫技術(shù)來發(fā)展知識(shí)管理系統(tǒng),那么,有兩件事情是要做的:其一,提供基于加鎖機(jī)制的并發(fā)協(xié)議。因?yàn)橹R(shí)庫走向海量是一個(gè)必然趨勢,而目前的XML數(shù)據(jù)庫中的并發(fā)處理手段相對(duì)薄弱。其二,在XML數(shù)據(jù)庫系統(tǒng)中支持文檔模式抽取,比如,可以方便地產(chǎn)生DTD。這一點(diǎn)十分有助于上層實(shí)現(xiàn)諸如建模、聚類等功能。
● 在知識(shí)描述和建模部分,引入本體論和語義網(wǎng)(semantic web)技術(shù)是趨勢。這些技術(shù)本身都處在發(fā)展過程中。本體論得到業(yè)界承認(rèn)的多種方
法學(xué)都尚不成熟。語義網(wǎng)也剛剛被W3C確定為今后的發(fā)展重點(diǎn)。它們的發(fā)展會(huì)對(duì)知識(shí)描述和建模甚至整個(gè)系統(tǒng)產(chǎn)生影響。比如,加入本體模型的翻譯,可以使得多個(gè)用戶通過Web訪問到協(xié)同層的對(duì)象層,通過活動(dòng)層完成協(xié)同工作。 而目前基于工作流的知識(shí)協(xié)同尚未做到這一點(diǎn)。
● 知識(shí)整理加工和文本挖掘部分有非常多的工作有待完善。基于頻繁模式挖掘的摘要、聚類、特征集提取的算法復(fù)雜度較高,針對(duì)海量數(shù)據(jù),其效率不容樂觀。改進(jìn)算法,降低復(fù)雜度是一條途徑。而通過抽取DTD、建立多層索引從而在一定程度上避開上述方法在實(shí)踐上或許是可以考慮的。
(計(jì)算機(jī)世界報(bào) 2005年07月25日 第29期 B2、B3)
|