齊翌辰,王森淼,趙亞慧*
摘要:近年來,隨著人工智能的飛速發(fā)展,自動問答已經(jīng)成為倍受關注且發(fā)展前景廣泛的研究方向。為了方便學生們檢索有關課程的相關知識,進一步深入學習,本文設計并實現(xiàn)了一個基于倒排索引技術的課程問答系統(tǒng)。通過建立問答系統(tǒng)的數(shù)據(jù)庫,對問題進行分析以及問題關鍵詞的處理、信息檢索進行答案抽取。通過中文分詞系統(tǒng)實現(xiàn)提取問答對中的關鍵詞。通過余弦相似度計算文本相似度與問答對中的問題進行比對及匹配,從而顯示正確答案通過網(wǎng)頁反饋給學生。這樣可以幫助學生更有效地學習課程,為學生對該課程的學習提供了便利。
關鍵詞:倒排索引;余弦相似度;問答對;中文分詞
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2018)35-0068-02
一、引言
隨著計算機技術的飛速發(fā)展,互聯(lián)網(wǎng)技術也發(fā)生了翻天覆地的變化,人們通過搜索引擎查找自己需要得到的答案已經(jīng)成為日常生活中必不可少的一項。
自然語言即人類在生活中進行交流的語言。自然語言處理(Natural Language Processing,NLP)[1]是人類與計算機之間進行溝通的橋梁,將自然語言轉化為計算機可以理解的語言,并通過計算機達到我們想要實現(xiàn)的目的。
問答系統(tǒng)(Question Answering System,QA)[2]屬于信息檢索系統(tǒng)的一種,在檢索的基礎上發(fā)展為可以給用戶的一定反饋的系統(tǒng)。自動問答系統(tǒng)既能用自然語言句子提問,又能為用戶直接返回所需的答案,而不是相關的網(wǎng)頁。所以,問答系統(tǒng)能更好的滿足用戶的檢索需求,能更快地找出用戶所需的答案[3]。
二、文本預處理
文本預處理[4](Text preprocessing)主要包括以下幾個步驟:中文分詞、詞性標注、去除停用詞。
1.中文分詞。中文分詞是中文信息處理的必備條件,對處理的結果起著決定性的作用[5]。中文文本沒有像英文一樣的空格作為分隔符,通過逆向最大匹配法:先將文本以標點符號分割成句子,同時設定一個準備獲取詞的最大長度,然后以每短句為最小單位與字典中的字符進行匹配,若匹配則記錄下這個字符,若不匹配則將該最大長度縮短為一個字節(jié)長度,繼續(xù)進行匹配。最后將記錄下來的詞與詞之間以空格分隔,實現(xiàn)中文分詞,本系統(tǒng)中利用中科院分詞系統(tǒng)進行中文分詞,該系統(tǒng)ICTCLAS(Institute of Computing Technology,Chinese Lexical Analysis System)[6]的主要功能包括中文分詞、詞性標注、命名實體識別、新詞識別,同時支持用戶詞典,分詞精度(98.45%),是當前世界上最好的漢語詞法分析器。
2.詞性標注。詞性標注通過識別一個詞的詞性來確定該詞聯(lián)系的上下文,該步驟是標注出來第一步分好的詞語的詞性過程,此過程可以刪除掉一些詞性對文本意義不大的詞語。
3.去除停用詞。停用詞在信息檢索中,為了節(jié)省存儲空間和提高搜索效率,在處理自然語言數(shù)據(jù)之前或之后會自動過濾掉某些字或詞,這些字或詞即被稱為停用詞。這些停用詞都是人工輸入、非自動化生成的,生成后的停用詞會形成一個停用詞表[7]。若詞語在停用詞表中則去除,這樣可以縮小搜索的范圍。
三、余弦相似度計算
建立完基本的問答對之后,若學生提出的問題恰好與問題集中的問題相同,系統(tǒng)則直接反饋給學生答案集中相應的答案;若不相同,則需要對問題進行分析,找出最相似的問題。余弦相似度又稱為余弦相似性,將問題數(shù)據(jù)庫中的問題特征項與學生提問的問題關鍵詞視為兩條在空間中的出發(fā)于坐標原點指向兩個方向的線段。通過計算兩條線段間形成的夾角的大小來判斷兩個向量相似的程度大小。夾角越小,也就說明計算夾角得到的余弦值越近似于1,兩個向量間距離就越小,可以說明這兩個問題的內容越相似。本文利用java語言實現(xiàn)計算余弦相似度,在已知公式的基礎上,編寫兩個向量相加(plus)、相乘(multi)及求平方和(squares)的公式的函數(shù),使用時調用函數(shù)即可。假設向量a為[x1,y1],向量b為[x2,y2],余弦相似度可寫為:
四、倒排索引
從常規(guī)上來講,索引是在文檔中找關鍵詞,在一篇已知準備好的文檔中搜索關鍵詞,就會對應出現(xiàn)該文檔中有哪些關鍵詞、每個關鍵詞出現(xiàn)的次數(shù)以及每個關鍵詞在該文檔中出現(xiàn)的位置。這種方法相對來說建立起來比較簡單而且容易維護,但是考慮到出現(xiàn)有文檔加入或有文檔被刪除,就需要檢索所有的文檔來保證是否有遺漏,因此導致索引的效率降低。為了提高索引的效率,引入倒排索引的方法。在本系統(tǒng)中,通過建立與課程學習內容相關的問答對數(shù)據(jù)庫,即以問題—答案的倒排索引機制。
五、實驗描述
在對100名學生采取抽樣調查的過程中,對學生掌握不扎實、知識欠缺比較嚴重的知識模塊進行統(tǒng)計。其中有92名學生認為關于Excel的操作知識模塊不易理解。
按照學生們對知識的掌握情況,分別對第一章:計算機基礎相關知識、第二章:關于操作系統(tǒng)的相關知識(以windows為主)、第三章:關于Word的操作、第四章:關于Excel的操作、第五章:關于PowerPoint的操作、第六章:計算機網(wǎng)絡基礎相關知識各建立100道問答對以及著重建立有關Excel操作部分和其他常考知識點400道,共1000道問答對。在實驗過程中,先任意查詢100道問題,在不對問答對進行修改的情況下,由于問答對中某些問題及答案過于相似,導致匹配的準確率僅有73%左右。為區(qū)分開數(shù)據(jù)庫中的相似問答對,經(jīng)過篩選以及對問答對特征項的不斷修改及關鍵詞同義詞的擴展,將每一章節(jié)的問答對分開存儲,最終實現(xiàn)系統(tǒng)的準確率達到87%,最后通過PHP實現(xiàn)系統(tǒng)與網(wǎng)頁的結合。學生們可以自行在慕課平臺網(wǎng)頁上解決該課程的疑點,提高了學習效率,節(jié)省了大量教師回答學生的人力及時間,促進了教學任務的開展。
六、結語
本系統(tǒng)以《大學計算機基礎》課程為藍本,旨在提高教學效率,為學生們提供更加優(yōu)質的教學方式,對學科中難以掌握的重點疑點反復琢磨,深入完成教學任務,給予教師和學生一個更加輕松的教學環(huán)境。本系統(tǒng)利用對問答對的中文分詞以及倒排索引與余弦相似度的結合,減少了相對于一般問答系統(tǒng)的時間損耗,減少了問答對存儲過程中不必要的時間浪費,但仍存在對詞性意義不夠精準的不足之處,需不斷擴充問答對以及對關鍵詞、同義詞擴展的工作,還要繼續(xù)進行研究怎樣做到高質量辨別學生提出的問題,與問答對進行高效匹配,以完成性能更好的系統(tǒng),廣泛地應用于學校的教學工作當中。
參考文獻:
[1]李生.自然語言處理的研究與發(fā)展[J].燕山大學學報,2013,37(05):377-384.
[2]李沛晏,朱露,吳多勝.問答系統(tǒng)綜述[J].數(shù)字技術與應用,2015,(04):69,71.
[3]鄭實福,劉挺,秦兵,李生.自動問答綜述[J].中文信息學報,2002,(06):46-52.
[4]周欽強,孫炳達,王義.文本自動分類系統(tǒng)文本預處理方法的研究[J].計算機應用研究,2005,(02):8.
[5]陳開昌.自然語言處理技術中的中文分詞研究[J].信息與電腦(理論版),2016,(19):61-63.
[6]王健,張俊妮.統(tǒng)計模型在中文文本挖掘中的應用[J].數(shù)理統(tǒng)計與管理,2017,36(04):609-619.
[7]官琴,鄧三鴻,王昊.中文文本聚類常用停用詞表對比研究[J].數(shù)據(jù)分析與知識發(fā)現(xiàn),2017,1(03):72-80.