摘 要:人工智能與計算機技術的結合產生了所謂“知識工程”,本文首先從知識工程的基本概念入手,依次對其包含的知識的獲取、知識的表示和知識的運用三大要素進行詳細的總結概述,同時提出將知識管理加入知識工程對于其實踐應用的巨大作用。
關鍵詞:知識工程;知識獲??;知識表示;知識運用;知識管理
中圖分類號:TP302 文獻標識碼:A
Survey on Development of Knowledge Engineering System
YUAN Guoming1,LI Hongqi1,FAN Bo2
(1.College of Geophysics and Information Engineering, China University of Petroleum, Beijing
Campus,BeiJing 102249,China; 2.China Academy of Chinese Medical Sciences, Beijing 100700,China)
Abstract:This paper first described the basic concept of knowledge,analyzed the three elements of KE(knowledge engineering) in detail,which are knowledge acquisition,knowledge representation and knowledge application.At last, it discussed that knowledge management combined knowledge engineering and development trends in this field.
Key words: knowledge engineering; knowledge acquisition; knowledge representation;knowledge application; knowledge management
1 引 言
知識(knowledge)簡單的說就是經驗的固化,是人們在實踐中獲得的認識和經驗的總結,Turban教授指出:知識是用于解決問題或者決策的經過整理的易于理解和結構化的信息。智能活動主要是獲得知識并運用知識的過程。因此,知識性是人工智能專家系統的主要特征之一。而造就它的關鍵技術在于知識的表示、獲取、管理及其應用。1977年美國斯坦福大學計算機科學家費根鮑姆教授(B.A.Feigenbaum)在第五屆國際人工智能會議—提出知識工程(Knowledge Engineering,KE)的概念。他認為,“知識工程是人工智能的原理和方法,對那些需要專家知識才能解決的應用難題提供求解的手段。恰當運用專家知識的獲取、表達和推理過程的構成與解釋,是設計基于知識的系統的重要技術問題?!边@類以知識為基礎的系統,就是通過智能軟件而建立的專家系統(Expert System,ES)。
本文就知識工程中涉及的基本概念,主要內容及其實現的三要素:知識的獲取、知識的表示、知識的運用進行了綜述,并指出知識管理對于知識工程應用的巨大作用。
2 知識工程的基本概念
2.1 數據,信息和知識
在信息化領域,數據(data),信息(information),知識(knowledge)之間,存在著必然的聯系(見圖1),在表1中,給出了它們之間的對比。
圖1 數據,信息,知識和智力資產
2.2 知識工程中的人
確定人在知識工程中所擔當的各種角色是十分重要的。一般說來,可以將人在知識工程中所擔當的角色定義為六種:知識提供者/專家、知識工程師/分析員、項目管理者。知識系統開發人員、知識用戶以及知識管理者。圖2描述了在知識工程中六個不同角色的圖形視圖。
1.知識提供者/專家:在知識工程中,一個重要角色就是知識的“擁有者”。傳統上,他是應用領域的一位“專家”,但也可能是愛這個組織中具有專家地位的其他人。在知識工程中,一個重要問題是找到真正的專家,設定一個虛假的“專家”對項目而言是有百害而無一利。
2.知識工程師/分析員:盡管嚴格意義上講,知識工程師是指開發過程中所有階段的工作人員,但它通常是指進行系統分析工作的人,因此,分析員也許是個更貼切的術語。
圖 2 人在KE中的六種角色
3.知識系統開發人員:在一個小項目中,系統實現通常是由分析的人來完成的。現在隨著系統被例程化的生成,情況就發生了變化。知識系統開發人員所擔當的角色具有特殊的特征,他要對系統的設計和實現負責。同時,開發人員必須具有分析方法方面的基本背景知識,這樣才可以理解由知識分析人員所提出的需求。
4.知識用戶:一個知識用戶總是直接或間接的使用知識系統,對于一個知識系統而言,從一開始就有知識用戶參與其中,這是因為知識密集型任務的自動化處理肯定要影響到相關人員的工作。知識工程師必須能夠把經過知識系統后所得到的分析結果提供給現存的或潛在的知識用戶,對于一個成功的知識系統而言,其衡量的一個主要標準是知識分析結果是否可以被該領域內具有某些背景知識的知識用戶所理解。
5.項目管理者:知識項目管理者要負責一個知識系統開發項目的實際運作。典型的項目是小型項目,由4~6人參與,項目管理者可以利用所定義的知識模型套件為項目的規劃和控制提供一個功能強大和靈活的工具。
6.知識管理者:知識管理者不直接參與知識開發項目,他只是從業務級別上提出知識策略。
3 知識的獲取
知識獲?。↘nowledge Acquisition,KA)是指從專家或其他專門知識來源汲取知識并向知識型系統轉移的過程或技術。
3.1 知識獲取的方式
知識獲取是建立知識系統的關鍵,同時也是一個耗時、低效的過程。目前尚缺乏一種統一有效的 知識獲取方法。因而,知識獲取被認為是知識處理中的一個“瓶頸”。
傳統的知識獲取方式如圖3所示:圖3 人工知識獲取
為解決這一“瓶頸”問題,人們嘗試運用各種理論和方法,自動化知識的獲取過程包括早期的自然語言理解、機器學習等,以及上世紀末新興的KDD(數據庫中的知識發現,Knowledge Discovery in Databases)技術。如圖4:
圖4 自動知識獲取
KDD 又稱為“知識發現(Knowledge Discovery)”,是從數據倉庫(DW)或海量數據庫中挖掘有用的信息的技術,即從數據中發現知識的技術其目的在于運用計算機自動化地對(經常是很龐大的)數據集進行深入地分析,獲得關于數據的一些前所未知的有用特性,從而幫助數據擁有者更好地理解、預測、控制和優化他們的與這些數據相關的行為。
Usama Fayyad 等人給出的KDD 全過程(如圖5 所示)的五個步驟為:
1.數據選擇:確定發現任務的操作對象,即目標數據(target data),它是根據用戶的需要從原始數據庫中抽取的一組數據;
2.數據預處理:一般可能包括消除噪聲、推導計算確值數據、消除重復記錄、完成數據類型轉換等;
3.數據轉換:其主要目的是消減數據維數或降維(dimension reduction),即從初始特征中找出真正有用的特征以減少數據開采時要考慮的特征或變量個數;
4.數據挖掘:這一階段包括確定挖掘任務/目的、選擇挖掘方法、實施數據挖掘;
5.模式解釋/評價:數據挖掘階段發現出來的模式,經過用戶或機器的評價,可能存在冗余或無關的模式,需要剔除;也有可能模式不滿足用戶的要求,需要退回到整個發現階段之前,重新進行KDD 過程。
圖5 KDD的基本步驟
3.2 數據挖掘的常用方法
在KDD 的數據挖掘子步驟中,常用的方法有:
1.關聯規則(Association Rule)挖掘:關聯規則挖掘發現大量數據中項集之間“有趣的”關聯或相關聯系。大量數據中多個項集頻繁關聯或同時出現的模式可以用關聯規則的形式表示;規則的支持度和置信度是兩個規則興趣度度量,分別反映發現規則的有用性和確定性。關聯規則如果滿足最小支持度閾值和最小置信度閾值,則認為該規則是“有趣的”模式。
2.決策樹(Decision Tree)方法:決策樹是通過一系列規則對數據進行分類的過程。它以信息論中的互信息(信息增益)原理為基礎尋找數據庫中具有最大信息量的字段,
創建決策樹的一個結點,再根據字段的不同取值建立樹的分枝;在每個分枝中繼續重復創建決策樹的下層結點和分枝的過程,即可建立決策樹。采用決策樹,可以將數據規則可視化.其輸出結果也容易理解。典型的決策樹算法如ID3、C4.5/5.0,該類方法的實用效果好,影響較大。
3.統計(Statistics)方法:統計方法是從事物的外在數量上的表現去推斷該事物可能的規律性,即利用統計學原理對數據庫中的信息進行分析。可進行常用統計(求大量數據中的最大值、最小值、總和、平均值等)、回歸分析(求回歸方程來表示變量間的數量關系)、相關分析(求相關系數來度量變量間的相關程度)、差異分析(從樣本統計量的值得出差異來確定總體參數之間是否存在差異)等。
4.粗糙集(Rough Set)方法:粗糙集是一種刻劃具有信息不完整、不確定系統的數學工具,能有效地分析和處理不精確、不一致、不完整等各種不完備信息,并從中發現隱含的知識,揭示潛在的規律。在數據庫中,將行元素(即一條記錄數據)看成對象,列元素作為屬性(分為條件屬性和決策屬性),通過等價類劃分尋找核屬性集和約簡集,然后從約簡后的數據庫中導出分類/決策規則。
5.人工神經網絡(Artificial Neural Network,ANN):人工神經網絡模擬人腦神經元方法,以MP 模型和HEBB 學習規則為基礎,建立了三大類多種神經網絡模型:前饋式網絡、反饋式網絡、自組織網絡。神經網絡系統由一系列類似于人腦神經元一樣的處理單元組成,即節點(Node),這些節點通過網絡彼此互連;如果有數據輸入,它們便可以進行確定數據模式的工作。神經網絡的處理過程主要是通過網絡的學習功能找到一個恰當的連接加權值來得到最佳結果。通過訓練學習,神經網絡可以完成分類、聚類、特征挖掘等多種數據挖掘任務。
6.遺傳算法(Genetic Algorithm):這是模擬生物進化過程的算法,由三個基本算子組成:a. 繁殖(選擇,selection),即從一個舊種群(父代)選出生命力強的個體,產生新種群(后代);b. 交叉(重組,crossover),即選擇兩個不同個體(染色體)的部分(基因)進行交換,形成新個體;c. 變異(突變,mutation),即對某些個體的某些基因進行變異(1 變0、0 變1)。遺傳算法可起到產生優良后代的作用。這些后代需滿足適應值,經過若干代的遺傳,將得到滿足要求的后代,即問題的解。
4 知識的表示
知識的表示(Knowledge Representation,KR)就是對知識的一種描述,或者說是對知識的一組約定,一種計算機可以接受的用于描述知識的數據結構。某種意義上講,表示可視為數據結構及其處理機制的綜合:表示 = 數據結構 十 處理機制。因此在ES中知識表示是ES中能夠完成對專家的知識進行計算機處理的一系列技術手段。
對于專家系統而言,一個好的知識表示方法應具備以下性質:
1.表達充分性。具備確切表達有關領域中各種知識的能力。
2.推理有效性。能夠與高效率的推理機制密切結合,支持系統的控制策略。
3.操作維護性。便于實現模塊化,并檢測出矛盾的及冗余的知識;便于知識更新和知識庫的維護。
4.理解透明性。知識表示便于人類理解,易讀、易懂,便于知識的獲取。
基于以上知識表示方法具備的性質,目前普遍應用的傳統知識表示方法主要有一階謂詞邏輯表示法、產生式表示法、框架表示法、腳本表示法、語義網絡表示法等。
傳統的知識表示方法在運用上盡管比較成功,但每種表示法均存在著一定的局限性,不能完全滿足知識所具備的四項性質。隨著現代科學的不斷發展,專家系統的應用已經遍布各個科學領域。知識的類型多種多樣,包括分類知識、事實知識、關系知識、統計知識、判斷知識、經驗知識、模糊知識和控制知識等。因此,知識表示方法必須進行改進和發展,才能適應新科技的發展。
4.1 傳統知識表示方法的改進
1.產生式表示法的改進
從產生式表示法的基本形式上分析,可以將產生式變換成推理規則+計算規則。同時,為了解決模糊知識的處理,還可以在計算規則中引入可信度因子r。
推理規則: if (前提1,前提2,…,前提n) then結論
計算規則:結論->值= FUNC[ (前提1->值,前提2->值, …,前提n->值) , r] (0≤r≤1)
這種增強型的產生式系統,不但具有普通系統的優點,而且每條推理規則都對應一條計算規則,函數FUNC與推理規則一起變化。當可信度r≠1時,即可實現靈活的模糊推理。同時,還可以引入規則樹理論。規則樹是產生式規則表示法中引入決策樹技術的一種知識表示結構。這樣就可以將前提和結論用一個二維表進行表示,便于計算機的存取,從而實現強大的計算和推理能力。
2.混合知識表示方法
在知識表示的應用過程中,人們逐漸發現很難找到一種單一的表示方法能有效地解決領域內的所有知識表示。因此,混合知識表示方法將以往成熟的傳統知識表示方法有效結合起來進行運用,成為了許多專家探討的課題。目前,比較成熟的混合知識表示方法有:謂詞邏輯、產生式規則和過程式的結合;產生式、框架和過程式的結合;語義網絡與框架的結合;語義網絡與產生式規則的結合等。這種方法有效地克服了單一表示方法的局限性,并可充分發揮各種方法的長處。
4.2 新型知識表示方法
1.面向對象的知識表示方法
近年來隨著面向對象技術的深入發展,面向對象的知識表示方法逐漸廣泛應用于專家系統中,具有封裝性、模塊性、繼承性、易于維護和可擴展性好等優點。廣義上,對象可以理解為客觀世界的任何事物。按照面向對象方法學的觀點,一個對象的形式可定義為四元組〈對象〉: : = ( ID, DS,MS,M I) 。其中ID代表對象標志符、DS代表數據結構、MS代表方法集合、MI代表消息接口。這種方法可以將知識抽象為對象的內部狀態和靜態特征屬性進行封裝和隱藏,而知識的處理方法表示為對內部狀態和特征屬性的操作,并由消息接口與外界發生聯系。
它既可以實現靈活的推理機制,又使知識的修改操作局限在對象的內部,容易實現知識庫的一致性和完備性。此外,由于對象屬性的獨有,就可以把整個系統抽象為類,每一個對象即為子類。其不但實現了多學科專業知識的層次劃分,還有效地降低了系統的開發難度。
2.模糊技術的知識表示方法
在各種實際領域中,嚴格精確與確定的知識并不多見,大量知識帶有一定的模糊性和不確定性??梢哉f,不確定性是智能問題的本質特征。因此,智能系統能力的提升更能體現在模糊理論的研究上。目前,常用的應用于知識表示的模糊理論主要有:基于概率論經典理論的知識表示,但它要求直接給出知識的概率,因此其應用受到限制;基于可信度的不確定理論是肖特里菲( E. H. Shortliffe)等人在確定性理論基礎上提出的,因其直觀、可信度的計算比較簡便,而得到廣泛應用。
3.神經網絡知識表示方法
神經網絡是反映人腦結構及其功能的一種抽象數學模型。它是由大量神經元節點互連而成的復雜網絡,用以模擬人類進行知識表示、儲存和推理的行為。具有代表性的模型主要有感知器、多層影射BP網絡、GMDH網絡、RBF網絡、Hopfield反饋神經網絡以及雙向聯想記憶等。
目前,神經網絡與模糊理論的結合發展很快??梢灶A見,隨著技術的深入發展,神經網絡與模糊理論融為一體,必將推動人工智能研究與應用進入新的發展時期。
5 知識管理與知識工程的應用
知識工程發展的歷史就很好的體現了知識工程在實踐過程中的應用。簡而言之,KE的發展史就是KE的應用史。
5.1 知識工程的應用
知識工程學的發展從時間上劃分大體上經歷3個時期:
1.1965至1974年——實驗性系統時期
DENDRAL系統標志著“專家系統”的誕生。
2.1975至1980年——MYCIN時期
MYCIN專家系統是規范性計算機專家系統的代表。
3.1980年以來——知識工程的“產品”在產業部門開始廣泛應用的時期。以各類專業ES為代表的知識工程產品,進入國民生產生活的各個層面:從工業到農業;從天文學的行星發現到地質學上的礦藏探測;分析商場客戶的消費行為模式到分析生物的基因構成。下圖6是KE應用在電信業中的例子。
圖6 KE在電信業中的應用
知識工程在國內的研究集中在計算機科學與人工智能領域,如中科院的陸汝鈐研究員對知識工程、知識科學進行深入研究,中科院的史忠植研究員對知識發現進行了深入研究 ,北京科技大學的楊炳儒教授主要從邏輯的角度對知識工程進行深入研究,浙江大學潘云鶴教授等從形象思維方面人手,運用心象思維理論,研究了語義知識與圖形圖像之間的轉換 ,石純一等教授研究了基于Agent的KQML(Knowledge Query and Manipulation Language,知識查詢操作語言)知識操作。無論哪派知識工程,重技術輕組織管理是知識工程的共同特征。
但是知識工程的應用卻又離不開對知識工程的結晶--知識庫的管理。
5.2 知識的管理
知識管理(KM, Knowledge Management)是網絡新經濟時代的新興管理思潮與方法,不同的學者對KM都給出了自己的定義:
巴斯(Bassi,1997)認為,知識管理是指為了增強組織的績效而創造、獲取和使用知識的過程。
奎達斯等(P.Quitas,1997)則把知識管理看作\"是一個管理各種知識的連續過程,以滿足現在和將來出現的各種需要,確定和探索現有和獲得的知識資產,開發新的機會。
文莉(Verna Alle,1998)對知識管理的定義是\"幫助人們對擁有的知識進行反思,幫助和發展支持人們進行知識交流的技術和企業內部結構,并幫助人們獲得知識來源,促進他們之間進行知識的交流\"。
不同的定義,我們都看到對于建立知識工程、應用知識工程,知識管理在其中的重要性。知識管理的目標:更有效率的建立KE,應用KE,最大可能的提高企業的經濟效益和社會效益。
把知識工程包含于知識管理或把知識管理包含于知識工程都是不可取的,知識管理更多地關注人的因素,屬于管理范疇;知識工程更多地關注技術的實現,屬于技術范疇。
因此,同時對應的發展KE和KM是企業和社會共同的目標。
6 總 結
知識工程是一個浩大的人工智能系統工程,其中知識的獲取、知識的表示和知識的運用是它最為重要的三大部分。將它和知識管理結合起來,可以預見:在不久的將來會對人類社會的進步作出巨大的貢獻。
參考文獻
[1] 袁國銘,李洪奇 關于決策支持系統的發展綜述[J].北京:微型機與應用,2010(23):5-7.
[2] Guus Schreiber 知識工程和知識管理[M].史忠植 梁永全 吳斌 等譯.北京:機械工業出版社,2005.
[3] 王眾托 知識系統工程[M].北京:科學出版社,2004.
[4] 胡運發 數據與知識工程導論[M].北京:清華大學出版社,2003.4.
[5] 郭強. 現代知識社會學[M]. 北京:中國社會出版社, 2000:緒論
[6] 張志偉. 西方哲學史[M]. 北京:中國人民大學出版社, 2002:582.
[7] 何云峰. 建構知識科學作為一個新的科學門類[J]. 中共浙江省委黨校學報, 2003 (1) :80-83.
[8] 王緒琨,初福玲. 知識科學的興起和發展[J]. 大連理工大學學報, 2001(2):15-20.
[9] 柯平.知識學研究導論[J].圖書情報工作,2006(4) :6-10,34
[10] 顧基發,唐錫晉. 綜合集成與知識科學[J]. 系統工程理論與實踐,2002(10):2-7.
[11] 石倬英,郭強. 現代知識學探微[J]. 寧夏大學學報:社會科學版 ,1989 (2):20-26
[12]陳清碩. 現代知識學的發現:知識的人類生態學化[J]. 知識工程,1991(4):17-20.
[13]彭修義. 關于開展“知識學”研究的建議[J]. 圖書館學通訊,1981(3):85-88
[14]朱為. 認識的深入:從知識學、知識社會學到科學知識社會學[J]. 經濟與社會發展, 2007 (5):43-45
[15]CHAIM Z. Redefining information science: from“information science”to“knowledge science”[J]. Journal of documentation, 2006,61(4):447-461.
[16]劉邦凡. 什么是知識學[EB/OL]. (2005-11-19). http: / / column. bokee.com /82712. html
[17]陸汝鈐. 知識科學及其研究前沿[J]. 中國青年科技, 2000 (4):10-13.
[18]劉大有. 知識科學中的基本問題研究[M]. 北京:清華大學出版社,2006.
[19]柯平. 21世紀知識學研究的目標和任務[J]. 圖書情報知識, 2009,(1) :40-45.
[20]王知津,陳芳芳. 從情報科學到知識科學[J]. 情報科學, 2007,(9) : 1281-1286, 1292.
[21]王平.“知識學”研究倡議與研究綱領[J]. 圖書情報知識, 2009,(1):46-49.
[22]ANDRZEJP. WIERZBICKIY N. Knowledge sciences and nanatsudaki, a new model of knowledge creation processes[J]. Journal of system science and systems engineering, 2007,16(1):2-21.
[23]何云峰. 關于建構知識科學的問題[J]. 上海師范大學學報:哲學社會科學版,2003(1):8-12.
[24]詹越.創新學與知識學的關聯研究[J].圖書情報知識,2009(1):54-56.
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文