李立,管燕
(1.安慶廣播電視大學,安徽安慶246003;2.連云港高等師范??茖W院,江蘇連云港222006)
課程答疑系統(tǒng)能夠在一定程度上跨越時空的局限性,及時解答學生的疑難問題,消除學生的學習障礙,加強遠程教育中師生的交流。目前國內(nèi)具有智能性的網(wǎng)上答疑系統(tǒng)比較少,大多數(shù)采用電子郵件、留言板、聊天室、語音會議系統(tǒng)等基于網(wǎng)絡的人際交互方式實現(xiàn)人工答疑。同時也出現(xiàn)了一些結(jié)合基于數(shù)據(jù)庫的自動答疑系統(tǒng),但這些系統(tǒng)一般智能性不強,準確性不高,答疑很難做到廣泛的知識共享。設計一個反饋及時、答疑智能、知識共享、回答準確的網(wǎng)絡答疑系統(tǒng),解決實踐中所提出的問題,已經(jīng)成為網(wǎng)絡教育中要解決的一個重要課題。
本文提出的基于ontology的智能答疑系統(tǒng)模型,以《大學計算機信息技術》課程為例,構(gòu)建該課程的部分領域本體,在自然語言提問的語義理解上,深入到領域內(nèi)部結(jié)合本體與自然語言處理技術,設計基于ontology的智能答疑系統(tǒng)。
基于ontology的智能答疑系統(tǒng)模型,用戶用自然語言提出問題,先在FAQ庫中匹配答案。如果有,將結(jié)果返回。否則,進入知識庫進行檢索,該模塊主要包括問句分析、查詢產(chǎn)生和知識查詢?nèi)齻€組件,通過這三個組件與領域本體庫和語義知識庫進行交互,從中提取答案,反饋給用戶。如果沒有將返回,答案不滿意,則等待人工答疑。
領域本體是專業(yè)性的本體,可以幫助教學專家建立人性化的知識答疑管理系統(tǒng)與方法,提高教學水平,使答疑系統(tǒng)中的知識和人類用自然方式表達的信息可以相互轉(zhuǎn)換,使答疑系統(tǒng)更加符合學習者的需要[1]。目前構(gòu)建本體還沒有公認的建模標準,通常都按照具體領域的應用需求,確定自己的原則、標準和定義?,F(xiàn)在較為流行的有兩種主要的構(gòu)建領域本體的方法:(1)在領域?qū)<业膸椭掠帽倔w描述語言將本體描述出來。(2)從結(jié)構(gòu)化的數(shù)據(jù)或文本中學習和抽取(發(fā)現(xiàn))概念,構(gòu)建領域本體。
在本系統(tǒng)中,將這兩種方法相結(jié)合,首先采用基于文本解析和語義關聯(lián)分析的方法從文本中抽取和學習概念和概念間關系,得到本體的原型,即本體學習;領域?qū)<一蛴脩艨梢酝ㄟ^本體編輯器修改本體原型以達到滿意的程度。具體步驟如下:
合理界定本體的領域和范圍。課程領域本體可依據(jù)已有的教學大綱較準確地確定其范圍。如《大學計算機信息技術教程》,內(nèi)容主要包括計算機組成原理、計算機軟件、計算機網(wǎng)絡、數(shù)字媒體、信息系統(tǒng)等。
確定本體中的類和實例。類是具有類似性質(zhì)的所有個體的抽象,個體稱為類的實例。
根據(jù)繼承關系建立類之間的層次結(jié)構(gòu)。具體的方法有三種:自頂向下法、自向上法、綜合法。
給各個類定義合適的槽。槽是類和實例的描述符。用以描述對象的一種屬性,或與其他對象的關系。
建立公理庫。在定義了以上各元素之后,用公理來解釋這些元素并表示它們之間的關聯(lián)和約束。
描述類中的實例。同一個類中的實例盡管使用相同的槽,但是槽值各不相同,根據(jù)描述的實例來最終確定槽值。
以Protégé_3.2作為表示本體內(nèi)部概念關系的繪圖工具。
在整個過程中,最重要的是確定核心概念及其關系。要進行領域本體的構(gòu)建首先要確定領域中的關鍵概念。確定上位概念、較為顯著的概念和常用概念,以建立核心概念集,進而確定本體中的類。
整理出核心概念后,要進一步明確這些核心概念的定義和他們之間的關系。本系統(tǒng)對《大學計算機信息技術教程》的218個常見問題進行分析,發(fā)現(xiàn)這些問題中的概念主要存在以下8種關系。因此在遵循本體建立準則[2]的基礎上,采用自頂向下法,采用8種概念關系,按章構(gòu)建課程知識本體。概念由11元屬性描述[3]:C=(n,f,pa, ki,in,at,sy,cop,af,be,conv)。
其中,n表示概念C的名稱;f表示概念C的標識碼;pa表示概念C的部分概念;ki表示概念C的類屬概念;in表示概念C的實例概念;at表示概念C的屬性概念;sy表示概念C的同義概念;cop表示與概念C比較;af表示概念C的后序概念;be表示概念C的前序概念;conv表示概念C轉(zhuǎn)換成另一概念。
作為領域知識的一種模型,領域本體需要不斷的改進才能接近人對客觀世界的認識。沒有哪一個時刻的本體是完善的。因此,本體庫需要在系統(tǒng)的使用過程中不斷地加以完善和維護。
在智能答疑系統(tǒng)中,首先需要對學生所提出的問題進行分析處理。對于同一個問題,學生可能有多種提問方式。因此,需要對這種一個問題多種提問方式的情況進行分析,以便能夠得到一個統(tǒng)一的表示方式,即問題模式。
在本系統(tǒng)中由于使用本體,涉及關系為類、屬性、實例以及它們之間關系,通過問題模式化可以提供對以下三類問題的識別支持:(1)求類或?qū)嵗拿枋鰡栴}。如:“什么是存儲器?”。(2)求類或?qū)嵗哪承┨囟▽傩灾祮栴}。如:“存儲器具有哪些性能?”。(3)求類、實例及屬性之間關系問題。如:“內(nèi)存和外存有何區(qū)別?”。
針對以上三種問題模式,本文使用一個查詢確定算法。
模式一:問句中只映射一個實體A,其類型為ClassA。則得出需要查詢的是關于A的描述(DESCRIBE),故產(chǎn)生輸出查詢?nèi)M(DESCRIBE?x)和<?x,rdf:typeOf,OEIQAS:ClassA>。
模式二:問句中映射的實體A的類型為ClassA,B的類型為propertyB。根據(jù)RDF語義模型,則丟失需要查詢的元素為Class類型實例,不妨設置為“?xclass”。若PropertyB的定義域為ClassA,則輸出查詢?nèi)M<OEIQAS:A,OEIQAS:B?xclass>。若B的值域為ClassA,則輸出查詢?nèi)M<? xclass,OEIQAS:B,OEIQAS:A>。否則輸出為null。
模式三:問句中映射的實體A的類型為ClassA,B的類型為ClassB。則丟失需要查詢的元素為Property類型實例,不妨設置為“?xproperty”。若ClassA有屬性PropertyA的值域是ClassB,則產(chǎn)生的查詢?nèi)M為<OEIQAS:A,?xproperty,OEIQAS:B>;若ClassB有屬性PropertyB的值域是ClassA,則產(chǎn)生的查詢?nèi)M為<OEIQAS:B,?xproperty, OEIQAS:A>;若上述情況都滿足,則產(chǎn)生查詢?nèi)M集<OEIQAS:A,?xproperty,OEIQAS:B>、<OEIQAS:B,?xproperty,OEIQAS:A>,關系為OPTIONAL。
本體的推理就是分析用戶提交的問題并抽取核心的關鍵詞,特別是疑問詞,根據(jù)語義分析結(jié)果,查找核心概念和問題在本體庫中的所在位置,根據(jù)本體庫中的信息,到知識庫中提取問題的知識,并轉(zhuǎn)換為用戶易于理解的表達形式,發(fā)布給用戶。對于基于ontology的智能答疑系統(tǒng)來說,應該充分發(fā)揮本體的推理能力,做到對知識的推理與擴展,讓系統(tǒng)更加智能[4]。本系統(tǒng)利用本體屬性的特征,在產(chǎn)生詞語三元組時定義了如下推理規(guī)則擴充語義教育資源陳述:
1)領域本體中有屬性Pl inverseOf P2、Pi是Pl的實例、Pn是P2的實例;;對于知識Statement<Si, Pi,Oi>成立,則新知識Statement<Oi,Pn,Si>也成立。
2)領域本體中有Pi是屬性P的實例,而P又被聲明為TransitiveProperty。對于知識Statement<Si,Pi,Oi>、<Oi,Pi,On>成立,則新知識statement<Si,Pi,On>也成立。
3)領域本體中有Pi是屬性P的實例,而P又被聲明為SytnmetricProperty。對于知識Statement<Si,Pi,Oi>成立,則新知識Statement<Oi,Pi,Si>也成立。其中,inverseOf、TransitiveProperty和SytnmetricProperty分別表示OWL本體的翻轉(zhuǎn)、傳遞和對稱屬性特征。
本系統(tǒng)通過3種途徑匹配用戶答案:
將用戶提問的標準問句在FAQ庫中搜索,如果有相同的,直接把FAQ庫中這個問題對應的答案返回。
如果搜索后發(fā)現(xiàn)FAQ中沒有相同的問題,本系統(tǒng)借助關鍵詞序列,不僅計算用戶問題與FAQ中問題的相似度,還計算用戶問題與FAQ中答案的相似度,這樣做突破了目前常用的方法,即計算用戶問句與FAQ庫中問句的語義相似度,返回相似性較高的問題所對應的答案。問題與答案的表示可以采用常用的向量空間模型,問題與答案的相似度計算可以計算向量的相似度。本系統(tǒng)設定一個相似度的閾值為α,將相似度大于α的答案按相似度的大小反饋給用戶。
如果應用前兩種途徑都匹配不到的答案的,則等待人工處理,并將處理后的問題、答案添加到FAQ庫中。
為了驗證本文提出的基于ontology的智能答疑系統(tǒng)的有效性,對《大學計算機信息技術教程》六章內(nèi)容分別構(gòu)建了課程的知識本體,針對該課程的80個隨機提問,測試結(jié)果如表1。
表1 實驗結(jié)果Tab.1 Experimental results
從實驗的數(shù)據(jù)來看,總體還是比較滿意的,總體準確率達88.75%。表明本文提出的基于ontology的智能答疑系統(tǒng)切實可行且有效。該系統(tǒng)在直接回答的準確率上還不是很高,是因為構(gòu)建的領域本體不夠豐富,很大程度上影響著答疑系統(tǒng)的準確率。系統(tǒng)的本體知識庫還沒有經(jīng)過多次的實踐迭代。本體工程的開發(fā)應該是一個反復迭代的過程,在初始版本建立后,還要反復地將其應用到實際系統(tǒng)中或者與領域?qū)<疫M行評價和排錯,直至滿意。
利用領域本體提供的知識和豐富的語義信息,使該系統(tǒng)的準確率更高,可以得到較滿意的結(jié)果。
[1]史月飛,張小艷,邵 剛.Ontology理論及其在智能答疑系統(tǒng)中的應用[J].科技信息(學術研究版),2007,229 (17):192-193.
[2]DAVID EICHMANN.The RBSE crawler-balancing effective search against web load[A].In Proceedings of the First International World Wide Web Conference[C].Geneva,Wwitzerland,1994.113-120
[3]管燕,仲兆滿.基于課程知識本體的FAQ庫自動生成方法研究[J].中國遠程教育,2010(07):68-72.
[4]張爭萬.基于本體論的網(wǎng)絡教育智能答疑系統(tǒng)模型研究[J].軟件導刊,2008(12):35-36.