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