白佳 何苗 周浩然 席山山 趙咪咪
(西安工程大學計算機科學學院,陜西西安 710048)
近十幾年以來,各種搜索引擎產(chǎn)品不斷推陳出新,滿足了用戶的信息檢索需求。隨著人工智能技術(shù)的發(fā)展,智能問答逐漸成為人們獲取領(lǐng)域知識的常用方法之一。智能問答助手軟件能夠自動識別用戶意圖并返回用戶需要的答案,在隨時隨地方便用戶獲取知識的同時,大大節(jié)省人力物力成本開銷。因此,將人工智能中的智能問答應(yīng)用在教育技術(shù)工作中已成為一種發(fā)展趨勢。現(xiàn)如今在線網(wǎng)絡(luò)課程學習逐漸成為大眾學習的新模式,同時在線網(wǎng)絡(luò)課程用戶在選課學習過程中往往有許多困惑,如一門課課程主要知識點是什么?想學一門課之前應(yīng)該先學哪些課程?兩門課程之間有何關(guān)系等。如果有一個智能問答助手能夠隨時回答用戶的該類問題,將會極大地方便用戶的學習。研發(fā)計算機課程智能問答小助手,用戶輸入自己想要了解的問題,便可直接得到相關(guān)答案,解決學生學習過程中對于未知課程的困惑,使學習更加便捷,這就是其智能化的體現(xiàn)。相關(guān)方法技術(shù)可以推廣致其他學科領(lǐng)域,為教育技術(shù)領(lǐng)域智能問答助手構(gòu)建打下技術(shù)基礎(chǔ)。本文以智能化的體現(xiàn)為脈絡(luò),通過“計算機類課程智能問答助手”為用戶提供一個能系統(tǒng)脈絡(luò)清晰,問題解答正確率更高的網(wǎng)絡(luò)平臺。
目前國外已經(jīng)出現(xiàn)很多較為成熟的智能問答系統(tǒng)產(chǎn)品,比如蘋果公司基于機器學習技術(shù)的Siri系統(tǒng)和微軟公司基于云計算、搜索引擎和“非結(jié)構(gòu)化數(shù)據(jù)”分析技術(shù)的Cortana。由于智能問答系統(tǒng)的智能性,不僅使得用戶可以快速準確的獲取自己想要的信息,而且還可以減少部分地人工勞動力。未來智能問答系統(tǒng)的研究將基本圍繞信息的抽取、問句的語義理解、知識推理三方面進行展開,不只需要更加完善的知識庫,還需對用戶所提出的問題進行深入準確的理解和學會推理回答。同時,國內(nèi)也推出了大量利用智能問答技術(shù)的智能問答機器人,例如百度公司基于DuerOS對話式人工智能和機器學習技術(shù)的度秘在與人們進行閑聊同時,還可以提供智能客服的服務(wù)。中文的連寫、狹義的形態(tài)變化、語法靈活、一詞多義以及語法、語義詞典等中文語言學資源的缺乏使得目前的智能問答系統(tǒng)并非完美,因此以語義理解、知識推理為方向的智能問答系統(tǒng)的研究有重要的發(fā)展前景。
計算機類課程智能問答助手總體實現(xiàn)流程主要包括準備工作階段、模型訓練階段以及答案匹配階段。系統(tǒng)設(shè)計流程圖1所示。準備工作階段的任務(wù)是為系統(tǒng)的實現(xiàn)做準備,主要是對數(shù)據(jù)進行預處理。數(shù)據(jù)預處理需要收集并完善語料庫,根據(jù)用戶所輸問題的具體情況確定其特征類型,由人工對待分類的特征類型進行分類,形成模型訓練樣本的集合,并對語料庫進行篩選轉(zhuǎn)換為需要的格式。在模型訓練階段的任務(wù)就是生成分類器,使用樸素貝葉斯對處理好的語料庫進行訓練,通過計算出TF-IDF后輸入樸素貝葉斯中進行訓練,這里可以采用默認參數(shù)訓練即可達到較好的分類效果[1]。這一階段是由計算機根據(jù)相應(yīng)公式由程序自動計算完成。最后的答案匹配階段,主要是對事先確定好的類別進行映射處理,這一階段也是由程序不斷自我訓練完成,答案匹配采用了模糊度匹配的方法對用戶提的問題進行匹配,搜索出相似的問題并給出其對應(yīng)的答案[2]。
系統(tǒng)處理用戶提出的計算機類課程問題文本最基本的就是對于關(guān)鍵詞的提取,而分詞是提取關(guān)鍵詞的基礎(chǔ),計算機類課程智能問答助手利用Python中一個開源的解決中文分詞的組件—“jieba”,將用戶問題分成一個個詞語。使用jieba分詞器的另一個優(yōu)勢是開發(fā)者可以自己在系統(tǒng)中設(shè)置自己的自定義詞典,以便包含“jieba”詞庫中不存在的詞,從而來提高分詞的正確率[3-4]。
進行分詞之后只有提取出關(guān)鍵詞并進行詞向量化分析之后,才能更好地進行下一步的用戶問題文本分析。利用TF-IDF模型算法可以將系統(tǒng)用戶提出的計算機類課程問題中含有的像“非常”“什么”“有”這樣無實際意義的詞賦予相對應(yīng)權(quán)重,從而可以分析出該問題中更重要的詞和不重要的詞分別有哪些。TF(詞頻)和IDF(逆文檔頻率)都是衡量一個詞權(quán)重的重要指標。根據(jù)TF和IDF的定義(公式1、公式2)就可以得到某個詞在用戶所提問題中出現(xiàn)的頻率越多,在其他問題中出現(xiàn)的頻率越低,即所占權(quán)重就越大,則這個詞就能很好地反映當前系統(tǒng)用戶所想提出問題的內(nèi)容。
計算機類課程智能問答助手的用戶提交問題之后,系統(tǒng)利用樸素貝葉斯方法進行模型訓練,將問題對應(yīng)到開發(fā)者自定義好的事項類別中,匹配出系統(tǒng)中存在的最佳問題與答案。其中,系統(tǒng)事項類別分為平臺、語言、概念和課程導學等,見圖2。樸素貝葉斯分類的思想基礎(chǔ)是對于給出的待分類項,求解在此項出現(xiàn)的條件下各個類別出現(xiàn)的概率,哪個最大,就認為此待分類項屬于哪個類別,其公式見公式3。對于計算機類課程智能問答助手從概率統(tǒng)計知識來說,分類問題可定義為已知集合C={平臺,語言,...,課程導學}和I={用戶問題1,用戶問題2,...,用戶問題n},確定映射規(guī)則A=f(B)。其中C叫做事項類別集合,每一個元素就是一個類別,而I叫做特征集合,每一個元素是一個待分類項,f叫做分類器。分類算法的任務(wù)就是構(gòu)造分類器f,然后根據(jù)給定的特征,得出相應(yīng)的事項類別,這也是所有分類問題的關(guān)鍵,它的具體流程如圖3所示。
圖2 部分用戶自定義事項類別Fig.2 Some user defined event categories
圖3 樸素貝葉斯分類流程圖Fig.3 Flow chart of naive Bayes classification
(注:A是特征,B是類別。)
計算機類智能問答助手前端的網(wǎng)站用Python語言實現(xiàn)前端界面設(shè)計以及程序的設(shè)計。系統(tǒng)先進行數(shù)據(jù)預處理,包括前期收集、完善語料庫,反復篩選數(shù)據(jù)及數(shù)據(jù)轉(zhuǎn)換。通過Jieba分詞對用戶提出的問題進行分詞,采用樸素貝葉斯算法對關(guān)鍵詞進行分類、訓練,最終將問題對應(yīng)到開發(fā)者自定義好的事項類別中,匹配出系統(tǒng)中存在的最佳問題與答案,同時模糊匹配算法匹配其他相似問題。結(jié)合基于規(guī)則的問題語義識別方法,實現(xiàn)樸素貝葉斯和模糊度算法識別器,用戶通過前端界面輸入問題,系統(tǒng)將問題分析后提取出關(guān)鍵字,向后端請求數(shù)據(jù),后端及時響應(yīng)、獲取相應(yīng)數(shù)據(jù)并反饋給界面,對用戶所提出的問題進行回答[5-6]。
計算機智能問答助手軟件是基于傳統(tǒng)的硬件設(shè)備的交互技術(shù),用戶通過鍵盤向?qū)υ捒蛑休斎氩⑻峤凰鶈枂栴},系統(tǒng)可以通過提取問題中的關(guān)鍵字自動識別用戶意圖并返回用戶需要的答案。用戶快速準確獲取知識的同時,還能提高用戶對于學習的趣味性。在界面設(shè)計上,根據(jù)界面設(shè)計的三大原則:簡潔、一致性、對比度,小組成員對界面進行詳細規(guī)劃和設(shè)計要素選擇,完成本網(wǎng)頁的設(shè)計。界面設(shè)計以簡約為主,界面模塊清晰,智能問答助手回答的對話框在屏幕上側(cè),用戶提出問題的對話框在屏幕下側(cè)(即問題輸入框),符合大眾的使用,給用戶帶來更好的體驗。界面背景采用白色,旨在舒緩用戶眼部疲勞,同時令用戶心情愉悅,吸引更多的用戶使用本計算機類智能問答助手系統(tǒng)[7-8]。見圖4所示:
圖4 系統(tǒng)界面Fig.4 System interface
本文基于人工智能技術(shù),從語料庫的收集到系統(tǒng)可以與用戶實現(xiàn)智能化的交互,研發(fā)了一個特定領(lǐng)域的計算機類課程智能問答助手。通過擬分析教育技術(shù)領(lǐng)域?qū)W生在計算機學科課程學習過程中的常見問題,讓用戶輸入自己想要了解的問題,自動識別用戶問題關(guān)鍵詞,便可直接得到相關(guān)答案,解決學生學習過程中對于未知課程的困惑,使學習更加有趣、便捷,解決了廣域搜索引擎定位不準確、耗費時間的問題。計算機類課程智能問答助手能更精準地表達和滿足用戶的要求,并且這種特定領(lǐng)域智能問答系統(tǒng)邏輯清晰,對于用戶問題的回答正確率更高,有益于對人們普及計算機類相關(guān)知識。相關(guān)方法技術(shù)可以推廣致其他學科領(lǐng)域,為教育技術(shù)領(lǐng)域智能問答助手構(gòu)建打下技術(shù)基礎(chǔ)。