胡 偉
(1. 南京大學(xué) 計(jì)算機(jī)軟件新技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,江蘇 南京 210023;2. 南京大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)系,江蘇 南京 210023)
自1977年美國(guó)人工智能專家愛(ài)德華?費(fèi)根鮑姆(Edward Albert Feigenbaum)提出“知識(shí)工程”(knowledge engineering)的概念以來(lái),知識(shí)工程的研究和應(yīng)用已經(jīng)有了很大發(fā)展,特別是近年來(lái)伴隨互聯(lián)網(wǎng)、大數(shù)據(jù)、機(jī)器學(xué)習(xí)等熱潮,知識(shí)工程研究的內(nèi)容和重點(diǎn)也在不斷變化,主要體現(xiàn)在以下4個(gè)方面[1-2]。
(1)知識(shí)表示方式的多樣化,例如Web本體語(yǔ)言O(shè)WL。
(2)研究對(duì)象從專業(yè)領(lǐng)域知識(shí)轉(zhuǎn)向常識(shí)研究,例如百科知識(shí)圖譜。
(3)知識(shí)工程處理對(duì)象由規(guī)范化的、確定性的知識(shí)進(jìn)一步深入到非規(guī)范化的、模糊的、不確定的、相對(duì)難處理的知識(shí)。
(4)知識(shí)的處理規(guī)模和方式從專家系統(tǒng)擴(kuò)大為能處理海量知識(shí)的大規(guī)模知識(shí)工程。
在此背景下,一批國(guó)內(nèi)外大學(xué)和機(jī)構(gòu)都先后開(kāi)設(shè)了知識(shí)工程相關(guān)課程,以及不定期舉辦各類講習(xí)班和培訓(xùn)班。大家都在摸索如何建設(shè)新時(shí)期的知識(shí)工程課程,以提高教學(xué)質(zhì)量,突出課程特色,培養(yǎng)學(xué)生的科研與工程能力。
通過(guò)調(diào)研國(guó)內(nèi)外相關(guān)課程發(fā)現(xiàn),國(guó)外一些知名大學(xué)比較早地開(kāi)設(shè)了知識(shí)工程相關(guān)課程,例如美國(guó)斯坦福大學(xué)、德國(guó)哈索?普拉特納研究所(Hasso-Plattner-Institut)、蘇格蘭愛(ài)丁堡大學(xué)和荷蘭馬斯特里赫特大學(xué)(Maastricht University)等。國(guó)內(nèi)多所高校也相繼開(kāi)設(shè)了課程,主要面向計(jì)算機(jī)專業(yè)研究生,使用的課程名稱包括知識(shí)工程、知識(shí)圖譜、語(yǔ)義網(wǎng)等,這也體現(xiàn)出知識(shí)工程課程內(nèi)容和重點(diǎn)在新時(shí)期的變化和發(fā)展。幾所國(guó)內(nèi)高校的開(kāi)課情況如下。
1)清華大學(xué)“知識(shí)工程”研究生學(xué)科專業(yè)課。
課程講授知識(shí)工程與知識(shí)處理技術(shù)的有關(guān)理論知識(shí)、網(wǎng)絡(luò)計(jì)算模式與環(huán)境下知識(shí)處理問(wèn)題的研究與實(shí)現(xiàn)技術(shù)、知識(shí)的系統(tǒng)化管理與組織、知識(shí)處理技術(shù)、知識(shí)查詢與處理語(yǔ)言、處理結(jié)果的可視化/可聽(tīng)化/可操化、知識(shí)處理系統(tǒng)的實(shí)現(xiàn)、機(jī)器學(xué)習(xí)與知識(shí)獲取更新等。
2)中科院大學(xué)“知識(shí)圖譜導(dǎo)論”研究生專業(yè)普及課。
課程首先介紹了知識(shí)圖譜和機(jī)器學(xué)習(xí)的基礎(chǔ)知識(shí),然后從知識(shí)圖譜框架、實(shí)體識(shí)別、實(shí)體消歧、關(guān)系抽取、事件抽取、知識(shí)的存儲(chǔ)和檢索、知識(shí)推理和知識(shí)庫(kù)問(wèn)答等方面講授知識(shí)圖譜構(gòu)建涉及的關(guān)鍵技術(shù)。
3)南京大學(xué)“知識(shí)工程及語(yǔ)義網(wǎng)技術(shù)”研究生專業(yè)選修課。
課程首先簡(jiǎn)要介紹經(jīng)典的知識(shí)工程,然后側(cè)重講授互聯(lián)網(wǎng)環(huán)境下的知識(shí)工程新進(jìn)展,主要包括互聯(lián)網(wǎng)上的知識(shí)表示、知識(shí)獲取、知識(shí)存儲(chǔ)與查詢、知識(shí)推理、知識(shí)融合、知識(shí)搜索與瀏覽等內(nèi)容。另外,還設(shè)置了互聯(lián)網(wǎng)上的知識(shí)庫(kù)和基于知識(shí)的應(yīng)用兩次集體研討課。
4)東南大學(xué)“知識(shí)工程”研究生專業(yè)選修課。
課程內(nèi)容主要包括知識(shí)獲取的機(jī)器學(xué)習(xí)方法、互聯(lián)網(wǎng)上的知識(shí)表示、知識(shí)存儲(chǔ)與查詢技術(shù)、知識(shí)的推理、知識(shí)庫(kù)系統(tǒng)簡(jiǎn)介等。
另外,天津大學(xué)、桂林電子科技大學(xué)、北京科技大學(xué)等高校也正在開(kāi)設(shè)有關(guān)知識(shí)工程的課程。中文信息學(xué)會(huì)語(yǔ)言與知識(shí)計(jì)算專委會(huì)、復(fù)旦大學(xué)、北京理工大學(xué)以及一些培訓(xùn)機(jī)構(gòu)也多次在國(guó)內(nèi)舉辦知識(shí)工程講習(xí)班和培訓(xùn)班。
在知識(shí)工程教材選擇方面,國(guó)外課程選用的教材主要涉及知識(shí)表示與推理[3]和語(yǔ)義網(wǎng)技術(shù)[4]兩個(gè)方面,而國(guó)內(nèi)課程選用的教材也較為類似[5-7]??傮w看來(lái),教材選擇更偏向理論性和時(shí)效性,已經(jīng)很少再使用專家系統(tǒng)方面的教材了。
通過(guò)分析調(diào)研結(jié)果發(fā)現(xiàn),當(dāng)前的知識(shí)工程課程偏重基礎(chǔ)知識(shí)的課堂講授,評(píng)分方式也以課堂研討和撰寫課程論文為主,對(duì)于學(xué)生工程實(shí)踐能力的培養(yǎng)關(guān)注度不足。調(diào)研到的少數(shù)課程實(shí)驗(yàn)相對(duì)簡(jiǎn)單,主要是使用現(xiàn)有工具構(gòu)建本體知識(shí)庫(kù)以及進(jìn)行知識(shí)庫(kù)查詢。如何綜合處理知識(shí)信息、開(kāi)發(fā)基于知識(shí)的應(yīng)用系統(tǒng)均未深入,還未能真正達(dá)到“以能力培養(yǎng)為中心”的教學(xué)目標(biāo),對(duì)提高研究生工程和科研能力的作用較為有限,因此很有必要重新設(shè)計(jì)知識(shí)工程實(shí)驗(yàn)教學(xué)的內(nèi)容,具體改革目標(biāo)如下。
(1)通過(guò)實(shí)驗(yàn)教學(xué)講授基礎(chǔ)知識(shí):期望能夠讓學(xué)生系統(tǒng)地學(xué)習(xí)知識(shí)工程的相關(guān)知識(shí)和技術(shù),深入了解新時(shí)期知識(shí)工程的內(nèi)涵,為有志于在知識(shí)工程相關(guān)的前沿學(xué)科進(jìn)行探索研究與工程開(kāi)發(fā)的學(xué)生提供良好的基礎(chǔ)知識(shí)和技術(shù)儲(chǔ)備。
(2)通過(guò)實(shí)驗(yàn)教學(xué)傳授研究方法:針對(duì)知識(shí)工程領(lǐng)域不同子課題的研究特點(diǎn),通過(guò)實(shí)際開(kāi)發(fā)傳授分析問(wèn)題與解決問(wèn)題的研究方法,培養(yǎng)學(xué)生的主動(dòng)性思維與科研技能,激發(fā)學(xué)生對(duì)本領(lǐng)域的學(xué)習(xí)與研究興趣。
(3)通過(guò)實(shí)驗(yàn)教學(xué)積累實(shí)踐經(jīng)驗(yàn):通過(guò)需求分析、程序撰寫和軟件工具使用來(lái)為學(xué)生提供探索性與工程性相結(jié)合的初步實(shí)踐經(jīng)驗(yàn)。此外,通過(guò)實(shí)驗(yàn)指導(dǎo)學(xué)生查找并閱讀相關(guān)的學(xué)術(shù)論文,培養(yǎng)良好的研發(fā)習(xí)慣。
根據(jù)上述知識(shí)工程課程實(shí)驗(yàn)教學(xué)的改革目標(biāo),設(shè)計(jì)4個(gè)新的實(shí)驗(yàn)教學(xué)內(nèi)容(表1),分別涉及本體構(gòu)建、知識(shí)融合、語(yǔ)義搜索和知識(shí)庫(kù)問(wèn)答4個(gè)方面。內(nèi)容設(shè)計(jì)主要依據(jù)知識(shí)工程課程的核心知識(shí)(如本體、知識(shí)庫(kù))和關(guān)鍵技術(shù)(例如獲取、融合、搜索、問(wèn)答),側(cè)重培養(yǎng)學(xué)生的工程實(shí)踐能力(如搜索系統(tǒng)、問(wèn)答系統(tǒng))和科研探索能力(如融合算法),以實(shí)現(xiàn)上述針對(duì)加強(qiáng)基礎(chǔ)知識(shí)、傳授研究方法和積累實(shí)踐經(jīng)驗(yàn)3方面的改革目標(biāo)。
實(shí)驗(yàn)1:本體構(gòu)建。通過(guò)本課程實(shí)驗(yàn),掌握流行的本體構(gòu)建方法和工具軟件。具體內(nèi)容如下:首先,通過(guò)使用Protégé軟件構(gòu)建一個(gè)領(lǐng)域本體,要求包括類、屬性、實(shí)例、類層次結(jié)構(gòu)、屬性定義域/值域等。在此基礎(chǔ)上,嘗試添加更復(fù)雜的邏輯約束,并使用可視化插件,例如OWL Viz,觀察所建本體。進(jìn)一步地,使用Jena工具包解析該本體,并比較推理前和推理后解析結(jié)果的不同。
表1 知識(shí)工程課程實(shí)驗(yàn)教學(xué)內(nèi)容設(shè)計(jì)
實(shí)驗(yàn)2:知識(shí)融合。通過(guò)本課程實(shí)驗(yàn),掌握基本的本體映射算法及映射結(jié)果綜合方法。具體內(nèi)容如下:首先,給定兩個(gè)OWL本體,實(shí)現(xiàn)基于文本相似度的本體映射算法,例如基于編輯距離的算法或基于向量空間模型的算法。其次,實(shí)現(xiàn)基于結(jié)構(gòu)相似度的本體映射算法,例如基于相似度傳播的算法。最終,通過(guò)設(shè)定規(guī)則或機(jī)器學(xué)習(xí)來(lái)綜合生成映射結(jié)果,并以規(guī)范化的RDF/XML格式輸出。
實(shí)驗(yàn)3:語(yǔ)義搜索。通過(guò)本課程實(shí)驗(yàn),掌握語(yǔ)義搜索引擎的基本框架和核心算法。具體內(nèi)容如下:首先,給定一個(gè)本體知識(shí)庫(kù),實(shí)現(xiàn)一個(gè)基于關(guān)鍵詞查詢的搜索引擎,能支持關(guān)鍵詞搜索到SPARQL查詢的轉(zhuǎn)換,訪問(wèn)本體知識(shí)庫(kù)進(jìn)行查詢。其次,實(shí)現(xiàn)基于類型的刻面過(guò)濾、搜索結(jié)果的呈現(xiàn)和排序等語(yǔ)義搜索核心算法。
實(shí)驗(yàn)4:知識(shí)庫(kù)問(wèn)答。通過(guò)本課程實(shí)驗(yàn),初步掌握面向知識(shí)庫(kù)的自然語(yǔ)言問(wèn)答系統(tǒng)的基本框架和核心算法。具體內(nèi)容如下:首先,給定一個(gè)本體知識(shí)庫(kù),實(shí)現(xiàn)基于模板匹配的自動(dòng)問(wèn)答,包括問(wèn)句解析,與預(yù)定義問(wèn)句模板的匹配等核心算法。其次,實(shí)現(xiàn)基于深度學(xué)習(xí)的端到端問(wèn)答,主要使用TensorFlow工具包和BiLSTM模型。
這4個(gè)實(shí)驗(yàn)的設(shè)計(jì)由易到難,且相互之間存在依賴關(guān)系。例如,實(shí)驗(yàn)1構(gòu)建的本體可以用于后續(xù)實(shí)驗(yàn),而實(shí)驗(yàn)3和實(shí)驗(yàn)4如果考慮多知識(shí)庫(kù)的情況,就需要用到實(shí)驗(yàn)2的知識(shí)融合技術(shù)。另外,作為提高內(nèi)容,可以考慮加入邏輯推理和異構(gòu)數(shù)據(jù)處理,包括使用Pellet推理機(jī)實(shí)現(xiàn)基于描述邏輯的本體推理,以及融合文本、數(shù)據(jù)庫(kù)和知識(shí)庫(kù)等異構(gòu)數(shù)據(jù)的混合搜索和問(wèn)答。
課程實(shí)驗(yàn)考核方面,要求學(xué)生以2~3人小組為單位開(kāi)展實(shí)驗(yàn),并根據(jù)完成情況進(jìn)行評(píng)分,建議實(shí)驗(yàn)成績(jī)占課程總成績(jī)的40%~50%,其余成績(jī)由課堂集體研討和課程論文構(gòu)成。
筆者于2017-2018學(xué)年春季學(xué)期,在南京大學(xué)“知識(shí)工程及語(yǔ)義網(wǎng)技術(shù)”研究生專業(yè)選修課上使用了上述實(shí)驗(yàn)教學(xué)內(nèi)容,課程選修人數(shù)包括全日制研究生32人和非全日制研究生18人。除1名非全日制研究生放棄外,其余學(xué)生基本完成了所有實(shí)驗(yàn)內(nèi)容。通過(guò)填寫調(diào)查問(wèn)卷以及邀請(qǐng)個(gè)別學(xué)生座談的方式,收集到對(duì)于知識(shí)工程課程實(shí)驗(yàn)的反饋,總體評(píng)分為4.88/5(5分表示“非常滿意”),對(duì)于反饋意見(jiàn)主要總結(jié)為以下幾方面。
(1)通過(guò)課程實(shí)驗(yàn)將抽象概念與具體應(yīng)用相結(jié)合。知識(shí)工程中的許多概念都是抽象的,例如本體,對(duì)于學(xué)生而言難以直觀地理解。然而,通過(guò)完成上機(jī)實(shí)驗(yàn),學(xué)生能夠從實(shí)際案例出發(fā),掌握理論知識(shí)。例如,對(duì)于本體構(gòu)建而言,課程講授部分主要講授本體構(gòu)建的方法學(xué),比如斯坦?!捌卟椒ā?。然而,如果不結(jié)合實(shí)際例子構(gòu)建本體,學(xué)生很難真正理解這些構(gòu)建方法學(xué)提出的步驟順序的原因。同時(shí),通過(guò)動(dòng)手實(shí)踐,也對(duì)知識(shí)工程的諸多細(xì)節(jié)有了進(jìn)一步的認(rèn)識(shí),特別是知識(shí)處理的復(fù)雜性和不確定性。
(2)通過(guò)課程實(shí)驗(yàn)激發(fā)了學(xué)生的研究興趣。伴隨知識(shí)工程相關(guān)理論和方法技術(shù)的快速發(fā)展,已經(jīng)出現(xiàn)了一批知識(shí)工程的新應(yīng)用,例如語(yǔ)義搜索和自動(dòng)問(wèn)答。通過(guò)設(shè)計(jì)相關(guān)實(shí)驗(yàn)內(nèi)容,學(xué)生能夠接觸到最新的研究熱點(diǎn),極大激發(fā)了學(xué)生的研究興趣和開(kāi)發(fā)熱情。例如,實(shí)驗(yàn)2知識(shí)融合主要偏重算法設(shè)計(jì),需要使用諸如動(dòng)態(tài)規(guī)劃等算法,愛(ài)好算法的學(xué)生對(duì)這些在實(shí)際場(chǎng)景中衍生出的算法問(wèn)題很感興趣。又如,實(shí)驗(yàn)4知識(shí)庫(kù)問(wèn)答是當(dāng)前學(xué)術(shù)界和工業(yè)界的一個(gè)熱點(diǎn)問(wèn)題,而采用基于深度學(xué)習(xí)的端到端自動(dòng)問(wèn)答對(duì)學(xué)生而言也頗具挑戰(zhàn)。實(shí)驗(yàn)提供的框架和模型只是起到一個(gè)“拋磚引玉”的作用,一些有興趣的學(xué)生還在此基礎(chǔ)上自發(fā)地閱讀最新文獻(xiàn),甚至在國(guó)際公開(kāi)測(cè)試數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn)測(cè)評(píng)。
(3)通過(guò)課程實(shí)驗(yàn)也提高了學(xué)生的程序開(kāi)發(fā)和工程實(shí)踐能力。首先,在實(shí)驗(yàn)過(guò)程中會(huì)用到多種高級(jí)程序設(shè)計(jì)語(yǔ)言,包括Java和Python等。其次,還需要學(xué)會(huì)使用一些工具軟件,例如Protégé和TensorFlow。再次,實(shí)驗(yàn)并不僅僅局限于某個(gè)算法或過(guò)程,還需要掌握一些框架和模型,例如搜索引擎的基本架構(gòu)和組件。另外,分組開(kāi)發(fā)也給了同學(xué)們相互學(xué)習(xí)的機(jī)會(huì)。許多學(xué)生反饋,通過(guò)參與課程實(shí)驗(yàn)學(xué)習(xí)到很多實(shí)際開(kāi)發(fā)經(jīng)驗(yàn)和技巧,提高了自己的開(kāi)發(fā)能力,并感覺(jué)在今后的科研和學(xué)習(xí)中可以繼續(xù)使用。
在實(shí)驗(yàn)過(guò)程中也暴露出一些不足之處。首先,由于部分實(shí)驗(yàn)需要在某個(gè)現(xiàn)有框架下開(kāi)發(fā),對(duì)于少數(shù)學(xué)生而言快速理解和掌握該框架存在一定困難,特別是一些與知識(shí)工程方向相隔較遠(yuǎn)方向的學(xué)生。其次,對(duì)于知識(shí)庫(kù)問(wèn)答實(shí)驗(yàn)中的基于深度學(xué)習(xí)的端到端問(wèn)答,許多學(xué)生雖然完成了實(shí)驗(yàn),但是卻存在“知其然,不知其所以然”的現(xiàn)象,并未掌握諸如BiLSTM模型的基本原理。這些問(wèn)題和不足需要在今后的課程實(shí)驗(yàn)教學(xué)內(nèi)容設(shè)計(jì)上進(jìn)一步改進(jìn)。
李德毅院士指出:人工智能的發(fā)展離不開(kāi)智能科學(xué)和技術(shù)的研究,知識(shí)工程是人工智能時(shí)代最有意義的課題之一[8]。通過(guò)調(diào)研現(xiàn)有知識(shí)工程相關(guān)課程及教材,發(fā)現(xiàn)現(xiàn)有課程在實(shí)驗(yàn)教學(xué)上的不足,有針對(duì)性地設(shè)計(jì)新的知識(shí)工程課程實(shí)驗(yàn)教學(xué)內(nèi)容,并在筆者的實(shí)際教學(xué)中進(jìn)行了初步驗(yàn)證。未來(lái)隨著知識(shí)工程的發(fā)展和課程的不斷推進(jìn),還需要對(duì)實(shí)驗(yàn)教學(xué)內(nèi)容和教學(xué)方法作出相應(yīng)調(diào)整,而發(fā)現(xiàn)和應(yīng)對(duì)這些變化將是筆者的下一步主要工作。