石鳳貴
(馬鞍山師范高等專科學校 軟件工程系,安徽 馬鞍山 243041)
隨著互聯(lián)網技術和多媒體技術的快速發(fā)展,傳統(tǒng)的教學模式再也不能滿足日常的教學。許多課程都構建了在線精品課程教學網站,提供了豐富的教學資源,部分教學網站還提供了如留言板、BBS等互動版塊。技術和社會的發(fā)展推動了人才培養(yǎng)方案的改革,教學方式和模式也隨著發(fā)生了變化,出現了MOOC(massive open online courses)教學。無論是在線精品課程網站還是MOOC均缺乏實時交互功能,問題不能得到及時回復。學生在課程學習中肯定會遇到疑問,如果這些疑問不能達到及時解答將直接影響學生學習的積極性。因此,需要尋求一種能實時智能解答問題的方式——自動問答(Question Answering)。
盡管搜索引擎相當于一本“百科全書”,但是搜索引擎返回的結果是網頁結果集,包含了許多噪聲,從中獲取有效答案需要進行人工二次篩選,用戶體驗較差。縱觀科學技術發(fā)展,每一次變革都伴隨著技術的革新,鼠標和鍵盤打開了PC時代的大門,手持終端打開了移動互聯(lián)時代的大門,語音交互和模式識別帶領人類進入人工智能(Artificial Intelligence)時代。答疑是教學中必不可少的一個環(huán)節(jié),如何有效提高答疑時效?借助計算機技術和人工智能技術開發(fā)一個高效、準確、智能化的自動問答系統(tǒng)。本研究以《編譯原理》課程為例,構建基于Web的課程智能答疑系統(tǒng)。
人工智能已上升到國家戰(zhàn)略,已經滲透到人們的日常生活、工作和學習。計算機輔助教學的方式還是不能滿足個性化教學的需求。智能化教育以學習者為中心,以學習者需求為導向,培養(yǎng)人的思維和創(chuàng)造能力。應用人工智能技術,遵從教學規(guī)律,創(chuàng)新教學方式,優(yōu)化人才培養(yǎng)方案,人工智能技術與教學深度融合,實現個性學習、實施交互、及時問答。從而改變傳統(tǒng)教學與學習方式,實現人機結合;改變課程設計,線上線下同步實施,自動答疑解惑。
自動問答系統(tǒng)是利用自然語言處理技術,通過計算機理解用戶提出的問題,然后檢索答案并自動將答案返回給用戶。自動問答系統(tǒng)可以有效減輕教師的教學負擔,幫助學生學習,提供學生學習的積極性。自動問答系統(tǒng)是一種新型的信息檢索系統(tǒng),接受自然語言形式描述的問題,準確返回問題的答案。如“編譯與編譯過程之間有什么關系?”中文語句結構復雜,識別和處理中文語言是中文問答系統(tǒng)面臨的困難與挑戰(zhàn)[1]。
20世紀60年代,面向醫(yī)療應用的ELIZA系統(tǒng)[2]問世;20世紀70年代,面向Unix知識問答的系統(tǒng)Unix Consultant[3]問世;后來相繼出現了麻省理工學院研發(fā)的START[4],美國華盛頓大學研發(fā)的問答系統(tǒng)MULDER,Answer Bus[5]。START是第一個基于信息檢索的開放域自動問答系統(tǒng),Answer Bus是支持多種語言的基于Web的自動問答系統(tǒng)?;谖闹械膯柎鸱障到y(tǒng)典型的有中國移動推出的“10086智能客服機器人”和“靈犀語音助手”[6],京東商城的“JIMI客服機器人”[7],百度推出的“小度”,小米推出的“小愛同學”等。
基于Web的自動問答系統(tǒng)是借助互聯(lián)網進行訪問,用戶訪問不受時空限制,網絡結構如1所示。

系統(tǒng)允許學生以自然語言(漢語或英語等)問句的形式提出問題,并及時地將相關的答案返回給學生。如果沒有找到相關的答案,則將該問題轉發(fā)到課程教師的郵箱或提交到留言版和論壇,待解答后返回。通過開發(fā)這樣一個系統(tǒng),目的是改革高校課程網站,特別是精品課程網站的在線答疑模式,充分調動學生學習的自主性,提高課程網站本身的資源利用率。
問答系統(tǒng)包括問題理解、答案檢索、答案返回三個基本過程[8],本文系統(tǒng)架構如圖2所示。

問句理解主要包括問題的分析理解,將文本轉換為可計算的數字化形式,預處理是對問題進行分詞和去停用詞。答案檢索優(yōu)先在FAQ(frequently asked questions)庫中檢索結構化“問題-答案”對,FAQ庫中檢索不到則從互聯(lián)網檢索。答案返回將問句相似度最高的問題答案直接返回給用戶。對于FAQ庫未能解答的問題,根據互聯(lián)網解答情況或人工解答后自動加入FAQ庫,豐富FAQ庫。
自然語言中,問句都有歸屬的一個類型,對問句類型的判定可以增強對問題語義的理解。早期有人提出了問句分類的標準[9],Wendy Lehnert提出概念分類學[10],包含了13個概念類:原因、目標、能力、結果、驗證、定義、填充等。不過大多數實際的系統(tǒng)中都認為概念類幫助不大,因此它們大多根據答案類型建立更細的類型學。文中系統(tǒng)針對計算機學科教學領域,定義了10種問句類型,它們分別是:定義類、原因類、區(qū)別類、描述類、步驟類、點類、時間類、地點類、人物類、數量類,如表1所示。
檢索答案是一個計算用戶問題與FAQ庫中問題相似度的過程,由未知變成已知。因此,檢索到FAQ庫中問題就可以直接返回答案。因此,檢索答案檢索的是FAQ庫中問題,檢索的過程是一個相似度計算的過程。文中相似度計算采用基于問題關鍵詞匹配度計算的相似度計算[11]。

表1 問句類型
一個問題中含有一個或多個關鍵詞,但是每個關鍵詞在句子中的地位是不一樣的,有的起決定性的作用。該類關鍵詞就是要重點考慮的關鍵詞,它與問題的匹配度為1。
例如:編譯原理是什么?
問題 關鍵詞 匹配度 類型
編譯原理是什么? 編譯原理 1 概念
編譯原理是什么? 編譯 0.5 概念
起決定性作用的關鍵詞,它與該問題的匹配度為1,不起決定性的關鍵詞與問題的匹配度為0.5。
采用這種策略,可以實現簡單的語義分析。例如:
“編譯原理是什么?”與“什么是編譯原理?” 是同一個問題。如果用戶輸入的是這兩個問題,則檢索到的都是同一個問題。
本系統(tǒng)對用戶問題的解答策略為:
策略1:利用FAQ庫和問句匹配技術實現常見問題的快速回答;
策略2:對于策略1無法解答的問題,采Email、在線答疑等方式來實現。
根據以上解答策略,設計了本智能答疑系統(tǒng),模塊結構如圖3所示。

本系統(tǒng)各主要模塊的功能如下:
1)問句理解分析模塊
本模塊的功能是通過對用戶問句進行分詞和問句類型判斷、問句關鍵詞提取,從而完成對用戶問題語義的理解,然后把語義分析結果表示成中間語言形式。
2)FAQ庫問句匹配模塊
FAQ庫中保存的是用戶常問的問題答案對,通過計算用戶問的問題與FAQ庫中的問題的句子語義相似度,查找與用戶問題相似度較高的問題,若有,則把這些問題對應的答案從FAQ庫中返回,若無,則同通過其他途徑來實現。檢索FAQ庫可以實現快速答疑,省去了復雜的計算處理,提高了答疑效果。
文中重點討論問句理解分析模塊和FAQ庫問句匹配模塊。
問題匹配算法流程如圖4所示。

系統(tǒng)采用基于B/S模式的三層分層架構實現,如圖5所示。

客戶層即表示層,系統(tǒng)顯示界面,用戶與系統(tǒng)交互接口,具體由Web瀏覽器完成,采用JSP和HTML技術實現。應用層負責業(yè)務邏輯處理,包括處理用戶層請求、建立數據庫連接、數據庫查詢或更新、處理結果返回給用戶層。本系統(tǒng)中問題分析與處理、答案檢索由應用層完成。數據層負責系統(tǒng)對數據庫的操作,提供對數據庫中各類數據的訪問和管理。三層體系結構具有分布靈活、邏輯處理集中和管理能力強的特點,具體表現在:高效率、易于維護、安全性增強、可伸縮性和移植性好[12-13]。
實驗結果及界面如圖6、圖7所示:


答案的具體內容用一個獨立頁面顯示(*.html)。這樣返回給用戶的答案就可以不是簡單文字描述,可以使用多種多媒體方式呈現,形象直觀,用戶容易理解、吸收,增強了學習者的學習興趣,從而達到教學的最優(yōu)化。
隨著互聯(lián)網和人工智能技術的快速發(fā)展,對日常課程教學及教學課程網站構建提出了新問題,將人工智能應用于課程教學中。問答系統(tǒng)可以有效輔助教學,減輕教師的教學任務。文中對自動問答系統(tǒng)及其相關技術進行了介紹,給出了詳細的設計過程。同時,基于《編譯原理》課程設計并實現了《編譯原理》課程自動問答系統(tǒng)。