石鳳貴
(馬鞍山師范高等??茖W(xué)校 軟件工程系,安徽 馬鞍山 243041)
隨著互聯(lián)網(wǎng)技術(shù)和多媒體技術(shù)的快速發(fā)展,傳統(tǒng)的教學(xué)模式再也不能滿足日常的教學(xué)。許多課程都構(gòu)建了在線精品課程教學(xué)網(wǎng)站,提供了豐富的教學(xué)資源,部分教學(xué)網(wǎng)站還提供了如留言板、BBS等互動版塊。技術(shù)和社會的發(fā)展推動了人才培養(yǎng)方案的改革,教學(xué)方式和模式也隨著發(fā)生了變化,出現(xiàn)了MOOC(massive open online courses)教學(xué)。無論是在線精品課程網(wǎng)站還是MOOC均缺乏實時交互功能,問題不能得到及時回復(fù)。學(xué)生在課程學(xué)習(xí)中肯定會遇到疑問,如果這些疑問不能達到及時解答將直接影響學(xué)生學(xué)習(xí)的積極性。因此,需要尋求一種能實時智能解答問題的方式——自動問答(Question Answering)。
盡管搜索引擎相當(dāng)于一本“百科全書”,但是搜索引擎返回的結(jié)果是網(wǎng)頁結(jié)果集,包含了許多噪聲,從中獲取有效答案需要進行人工二次篩選,用戶體驗較差??v觀科學(xué)技術(shù)發(fā)展,每一次變革都伴隨著技術(shù)的革新,鼠標(biāo)和鍵盤打開了PC時代的大門,手持終端打開了移動互聯(lián)時代的大門,語音交互和模式識別帶領(lǐng)人類進入人工智能(Artificial Intelligence)時代。答疑是教學(xué)中必不可少的一個環(huán)節(jié),如何有效提高答疑時效?借助計算機技術(shù)和人工智能技術(shù)開發(fā)一個高效、準(zhǔn)確、智能化的自動問答系統(tǒng)。本研究以《編譯原理》課程為例,構(gòu)建基于Web的課程智能答疑系統(tǒng)。
人工智能已上升到國家戰(zhàn)略,已經(jīng)滲透到人們的日常生活、工作和學(xué)習(xí)。計算機輔助教學(xué)的方式還是不能滿足個性化教學(xué)的需求。智能化教育以學(xué)習(xí)者為中心,以學(xué)習(xí)者需求為導(dǎo)向,培養(yǎng)人的思維和創(chuàng)造能力。應(yīng)用人工智能技術(shù),遵從教學(xué)規(guī)律,創(chuàng)新教學(xué)方式,優(yōu)化人才培養(yǎng)方案,人工智能技術(shù)與教學(xué)深度融合,實現(xiàn)個性學(xué)習(xí)、實施交互、及時問答。從而改變傳統(tǒng)教學(xué)與學(xué)習(xí)方式,實現(xiàn)人機結(jié)合;改變課程設(shè)計,線上線下同步實施,自動答疑解惑。
自動問答系統(tǒng)是利用自然語言處理技術(shù),通過計算機理解用戶提出的問題,然后檢索答案并自動將答案返回給用戶。自動問答系統(tǒng)可以有效減輕教師的教學(xué)負擔(dān),幫助學(xué)生學(xué)習(xí),提供學(xué)生學(xué)習(xí)的積極性。自動問答系統(tǒng)是一種新型的信息檢索系統(tǒng),接受自然語言形式描述的問題,準(zhǔn)確返回問題的答案。如“編譯與編譯過程之間有什么關(guān)系?”中文語句結(jié)構(gòu)復(fù)雜,識別和處理中文語言是中文問答系統(tǒng)面臨的困難與挑戰(zhàn)[1]。
20世紀(jì)60年代,面向醫(yī)療應(yīng)用的ELIZA系統(tǒng)[2]問世;20世紀(jì)70年代,面向Unix知識問答的系統(tǒng)Unix Consultant[3]問世;后來相繼出現(xiàn)了麻省理工學(xué)院研發(fā)的START[4],美國華盛頓大學(xué)研發(fā)的問答系統(tǒng)MULDER,Answer Bus[5]。START是第一個基于信息檢索的開放域自動問答系統(tǒng),Answer Bus是支持多種語言的基于Web的自動問答系統(tǒng)?;谖闹械膯柎鸱?wù)系統(tǒng)典型的有中國移動推出的“10086智能客服機器人”和“靈犀語音助手”[6],京東商城的“JIMI客服機器人”[7],百度推出的“小度”,小米推出的“小愛同學(xué)”等。
基于Web的自動問答系統(tǒng)是借助互聯(lián)網(wǎng)進行訪問,用戶訪問不受時空限制,網(wǎng)絡(luò)結(jié)構(gòu)如1所示。
系統(tǒng)允許學(xué)生以自然語言(漢語或英語等)問句的形式提出問題,并及時地將相關(guān)的答案返回給學(xué)生。如果沒有找到相關(guān)的答案,則將該問題轉(zhuǎn)發(fā)到課程教師的郵箱或提交到留言版和論壇,待解答后返回。通過開發(fā)這樣一個系統(tǒng),目的是改革高校課程網(wǎng)站,特別是精品課程網(wǎng)站的在線答疑模式,充分調(diào)動學(xué)生學(xué)習(xí)的自主性,提高課程網(wǎng)站本身的資源利用率。
問答系統(tǒng)包括問題理解、答案檢索、答案返回三個基本過程[8],本文系統(tǒng)架構(gòu)如圖2所示。
問句理解主要包括問題的分析理解,將文本轉(zhuǎn)換為可計算的數(shù)字化形式,預(yù)處理是對問題進行分詞和去停用詞。答案檢索優(yōu)先在FAQ(frequently asked questions)庫中檢索結(jié)構(gòu)化“問題-答案”對,F(xiàn)AQ庫中檢索不到則從互聯(lián)網(wǎng)檢索。答案返回將問句相似度最高的問題答案直接返回給用戶。對于FAQ庫未能解答的問題,根據(jù)互聯(lián)網(wǎng)解答情況或人工解答后自動加入FAQ庫,豐富FAQ庫。
自然語言中,問句都有歸屬的一個類型,對問句類型的判定可以增強對問題語義的理解。早期有人提出了問句分類的標(biāo)準(zhǔn)[9],Wendy Lehnert提出概念分類學(xué)[10],包含了13個概念類:原因、目標(biāo)、能力、結(jié)果、驗證、定義、填充等。不過大多數(shù)實際的系統(tǒng)中都認為概念類幫助不大,因此它們大多根據(jù)答案類型建立更細的類型學(xué)。文中系統(tǒng)針對計算機學(xué)科教學(xué)領(lǐng)域,定義了10種問句類型,它們分別是:定義類、原因類、區(qū)別類、描述類、步驟類、點類、時間類、地點類、人物類、數(shù)量類,如表1所示。
檢索答案是一個計算用戶問題與FAQ庫中問題相似度的過程,由未知變成已知。因此,檢索到FAQ庫中問題就可以直接返回答案。因此,檢索答案檢索的是FAQ庫中問題,檢索的過程是一個相似度計算的過程。文中相似度計算采用基于問題關(guān)鍵詞匹配度計算的相似度計算[11]。
表1 問句類型
一個問題中含有一個或多個關(guān)鍵詞,但是每個關(guān)鍵詞在句子中的地位是不一樣的,有的起決定性的作用。該類關(guān)鍵詞就是要重點考慮的關(guān)鍵詞,它與問題的匹配度為1。
例如:編譯原理是什么?
問題 關(guān)鍵詞 匹配度 類型
編譯原理是什么? 編譯原理 1 概念
編譯原理是什么? 編譯 0.5 概念
起決定性作用的關(guān)鍵詞,它與該問題的匹配度為1,不起決定性的關(guān)鍵詞與問題的匹配度為0.5。
采用這種策略,可以實現(xiàn)簡單的語義分析。例如:
“編譯原理是什么?”與“什么是編譯原理?” 是同一個問題。如果用戶輸入的是這兩個問題,則檢索到的都是同一個問題。
本系統(tǒng)對用戶問題的解答策略為:
策略1:利用FAQ庫和問句匹配技術(shù)實現(xiàn)常見問題的快速回答;
策略2:對于策略1無法解答的問題,采Email、在線答疑等方式來實現(xiàn)。
根據(jù)以上解答策略,設(shè)計了本智能答疑系統(tǒng),模塊結(jié)構(gòu)如圖3所示。
本系統(tǒng)各主要模塊的功能如下:
1)問句理解分析模塊
本模塊的功能是通過對用戶問句進行分詞和問句類型判斷、問句關(guān)鍵詞提取,從而完成對用戶問題語義的理解,然后把語義分析結(jié)果表示成中間語言形式。
2)FAQ庫問句匹配模塊
FAQ庫中保存的是用戶常問的問題答案對,通過計算用戶問的問題與FAQ庫中的問題的句子語義相似度,查找與用戶問題相似度較高的問題,若有,則把這些問題對應(yīng)的答案從FAQ庫中返回,若無,則同通過其他途徑來實現(xiàn)。檢索FAQ庫可以實現(xiàn)快速答疑,省去了復(fù)雜的計算處理,提高了答疑效果。
文中重點討論問句理解分析模塊和FAQ庫問句匹配模塊。
問題匹配算法流程如圖4所示。
系統(tǒng)采用基于B/S模式的三層分層架構(gòu)實現(xiàn),如圖5所示。
客戶層即表示層,系統(tǒng)顯示界面,用戶與系統(tǒng)交互接口,具體由Web瀏覽器完成,采用JSP和HTML技術(shù)實現(xiàn)。應(yīng)用層負責(zé)業(yè)務(wù)邏輯處理,包括處理用戶層請求、建立數(shù)據(jù)庫連接、數(shù)據(jù)庫查詢或更新、處理結(jié)果返回給用戶層。本系統(tǒng)中問題分析與處理、答案檢索由應(yīng)用層完成。數(shù)據(jù)層負責(zé)系統(tǒng)對數(shù)據(jù)庫的操作,提供對數(shù)據(jù)庫中各類數(shù)據(jù)的訪問和管理。三層體系結(jié)構(gòu)具有分布靈活、邏輯處理集中和管理能力強的特點,具體表現(xiàn)在:高效率、易于維護、安全性增強、可伸縮性和移植性好[12-13]。
實驗結(jié)果及界面如圖6、圖7所示:
答案的具體內(nèi)容用一個獨立頁面顯示(*.html)。這樣返回給用戶的答案就可以不是簡單文字描述,可以使用多種多媒體方式呈現(xiàn),形象直觀,用戶容易理解、吸收,增強了學(xué)習(xí)者的學(xué)習(xí)興趣,從而達到教學(xué)的最優(yōu)化。
隨著互聯(lián)網(wǎng)和人工智能技術(shù)的快速發(fā)展,對日常課程教學(xué)及教學(xué)課程網(wǎng)站構(gòu)建提出了新問題,將人工智能應(yīng)用于課程教學(xué)中。問答系統(tǒng)可以有效輔助教學(xué),減輕教師的教學(xué)任務(wù)。文中對自動問答系統(tǒng)及其相關(guān)技術(shù)進行了介紹,給出了詳細的設(shè)計過程。同時,基于《編譯原理》課程設(shè)計并實現(xiàn)了《編譯原理》課程自動問答系統(tǒng)。