摘 要:在網(wǎng)絡(luò)教學(xué)環(huán)境中,由于其特殊的教學(xué)模式,提供高效智能、方便實用的自動答疑系統(tǒng)成了網(wǎng)絡(luò)學(xué)習者的迫切需要。針對答疑系統(tǒng)的資源建設(shè),通過對網(wǎng)絡(luò)以及其他方式得到的資源進行格式的解析后得到其文本內(nèi)容,然后使用文本分類的技術(shù)來對這些文檔進行分類處理,構(gòu)成系統(tǒng)的答疑資源,這樣就可以根據(jù)具體的問題類別在不同的答案資源中找到答案。文中闡述了答疑系統(tǒng)資源建設(shè)涉及的關(guān)鍵技術(shù),以及存在的問題和可行的改進方法。
關(guān)鍵詞:答疑系統(tǒng) 資源建設(shè) 分詞 文本分類
中圖分類號:G203 文獻標識碼:B文章編號:1673-8454(2007)12-0060-02
答疑系統(tǒng)是網(wǎng)上教育平臺的重要組成系統(tǒng),自動答疑系統(tǒng)是解決非實時答疑的重要方式。[1] 答疑系統(tǒng)的資源包括問題資源和答案資源。問題資源可以通過教師對課程的重點難點的把握以及平時用戶提出問題的積累統(tǒng)計得到,利用這個資源不僅可以使教師了解到學(xué)生對于所學(xué)知識的掌握情況,以提高教學(xué)質(zhì)量,還可以把常見問題的答案進行緩存,用來提高答疑系統(tǒng)的效率。對于答案資源,很多已有的答疑系統(tǒng)采用了數(shù)據(jù)庫存儲的方式,在檢索結(jié)果和速度上可能不盡人意,且難以有效利用網(wǎng)絡(luò)資源來作為答疑的內(nèi)容。該文主要針對答案資源庫的建立,提出對通過網(wǎng)絡(luò)以及其他方式得到的資源進行解析后得到其文本內(nèi)容,并在分詞的基礎(chǔ)上對文本分類,以根據(jù)具體的問題在不同類別中快速準確地尋找答案。
一、對資源文件的解析
答案資源庫中的資源文件包括從網(wǎng)絡(luò)中得到的文件,已經(jīng)存在的課件和已有答案的問題文本,格式可能是Word文檔、HTML文件、PPT文件等,需要對這些文檔進行解析,去除掉格式標記以便進行后繼的分詞分類處理。這里我們采用一些開源軟件包來實現(xiàn)對多種文件格式的內(nèi)容抽取。具體如下表1所示,在文獻以及各開源項目的主頁中有更詳細的介紹和分析。[2]
二、中文分詞
由于書面漢語是字的序列,詞和詞之間沒有間隔標記,分詞的目的在于對漢語中的詞加以識別。這里使用的是規(guī)則與統(tǒng)計相結(jié)合的分詞方法,第一步為全切分,識別出句子中所有的詞,并根據(jù)事先統(tǒng)計好的詞出現(xiàn)概率構(gòu)建詞圖。全切分的分詞詞典的結(jié)構(gòu)為詞條—數(shù)字,其中數(shù)字不為0表明存在以該詞開頭的更長的詞,值為其后綴長度,比如“困—3;困乏—0;困惑不解—0”,分詞并構(gòu)建詞圖的步驟如下:
1.得到句子長度L,設(shè)置變量i初始值為 0;
2.如果i值大于或者等于L則程序結(jié)束;否則取位置i和i+1之間的詞str,計算其概率的負對數(shù)并給相應(yīng)的節(jié)點矩陣賦值;
3.根據(jù)詞典結(jié)構(gòu)得到str對應(yīng)的值v,如果v的值為0,則i加1后轉(zhuǎn)步驟2,否則設(shè)置一個變量end,它的值由L和i+v中較小者確定;
4.取句子中i和i+end之間的詞作為str進行匹配,如果匹配成功,在詞圖矩陣的相應(yīng)位置賦值并更新end值;
5. i值加1轉(zhuǎn)步驟2。
接著把全切分識別出的詞根據(jù)每個詞出現(xiàn)的概率進行負對數(shù)運算,并把值賦給詞圖矩陣的相應(yīng)位置,然后對詞圖求N條最短路徑,得到的N條路徑即為句子的N種粗分詞結(jié)果,求解方法的一個示意圖如圖1。這里我們?nèi)的值為6,然后在這個粗分詞結(jié)果上進行詞性的標注,采用文獻4中的標注方法使用HMM(隱馬爾柯夫)模型進行詞性標注,本文采用的是北大詞性標注集,并利用《人民日報》1998年1月份的免費語料進行訓(xùn)練得到HMM模型的各個參數(shù),最后對粗分詞結(jié)果進行標記后,使用viterbi算法得到出現(xiàn)概率最大的分詞組合作為分詞結(jié)果。[3][4]
三、資源文件的分類
隨著資源庫的不斷積累,檢索問題的時間將會越來越長,如果事先對資源庫的內(nèi)容進行分類,在分析了用戶的提問后,按照問題類型指定檢索的范圍,把數(shù)據(jù)量限定在一個適當?shù)姆秶?,就可以降低答疑系統(tǒng)的響應(yīng)時間。
文本分類的任務(wù)是:在給定的分類體系下,根據(jù)文本的內(nèi)容自動地確定文本關(guān)聯(lián)的類別。文本的表示采用向量空間模型(VSM),用向量(W1,W2…Wn)表示文本,在這里選取分詞后的詞作為特征項,Wi即為特征項的權(quán)重。
實際構(gòu)成文本的詞匯數(shù)量是相當大的,因此,表示文本的向量空間的維數(shù)也相當大,可以達到幾萬維,因此需要進行維數(shù)壓縮的工作,這樣做的目的主要有兩個:第一,為了提高程序的效率,提高運行速度;第二,所有幾萬個詞匯對文本分類的意義是不同的,一些通用的、各個類別都普遍存在的詞匯對分類的貢獻小,在某特定類中出現(xiàn)比重大而在其他類中出現(xiàn)比重小的詞匯對文本分類的貢獻大。為了提高分類精度,對于每一類,我們應(yīng)去除那些表現(xiàn)力不強的詞匯。降維的方法采用特征選擇,對于每個類去除表現(xiàn)力不強的詞匯,篩選出針對該類的特征詞集合。這里采用了計算詞和類別的互信息量log來確定選擇特征詞的方法。
W在Cj中出現(xiàn)的比重,|D|為該類的訓(xùn)練文本數(shù),N(W,di)為詞W在di中的詞頻,|V|為總詞數(shù),∑| V|s=1∑| D|i=1N(Ws,di)為該類所有詞的詞頻和。P(W)的計算與上面的公式類似。
計算完畢根據(jù)詞的互信息量進行排序,去除掉副詞、助詞等停用詞,選取每類排名靠前的詞作為特征項,特征項的選擇數(shù)量根據(jù)實驗來給出,通常先設(shè)置一個經(jīng)驗值,然后計算這個特征值集下的系統(tǒng)性能指標,當系統(tǒng)性能出現(xiàn)下降時即獲得特征項集。[5] 通過實驗得出的比較好的分類結(jié)果在采用KNN算法時取了2500個特征詞,這個值隨著訓(xùn)練數(shù)據(jù)量的大小而變化。
在對文本進行分詞后特征項的權(quán)重的表示方法采用TF-IDF公式:
分類采用KNN(K 最近鄰居)算法,該算法的基本思路是:在給定新文本后,考慮在訓(xùn)練文本集中與該新文本距離最近(最相似)的 K 篇文本,根據(jù)這 K 篇文本所屬的類別判定新文本所屬的類別,具體的算法步驟如下:
1.根據(jù)特征項集合重新描述訓(xùn)練文本向量;
2.在新文本到達后,根據(jù)特征詞分詞新文本,確定新文本的向量表示;
3.在訓(xùn)練文本集中選出與新文本最相似的 K 個文本,計算公式為:
四、結(jié)束語
通過使用文本分類的技術(shù)對構(gòu)成答疑系統(tǒng)的資源進行處理,在回答問題時可以先分析問題所屬的類別然后在相應(yīng)的資源類別中尋找答案,這樣就能較快地找到準確的答案。在分類過程中,分類體系中的類別不是完全互斥的,存在這樣一些既屬于其中一個類別,又同時屬于其他類別的文本,對此可以改進使用多類文本分類方法來提高分類的性能。在分類后的資源基礎(chǔ)上,可以借助使用Lucene等檢索工具包來構(gòu)建一個簡單的答疑系統(tǒng)。
參考文獻:
[1]柳泉波,黃榮懷,何克抗.智能答疑系統(tǒng)的設(shè)計與實現(xiàn)[J].中國遠程教育,2000(8):43-48
[2]Erik Hatcher.Lucene In Action[M].Manning Publications,2005:225-268
[3]E.Q.V. Martins, J.L.E. Santos. A new shortest paths ranking algorithm. Investigacao Operacional[J],20:(1):47-62,2000.
[4]劉穎.用隱馬爾柯夫模型對漢語進行切分和標注排歧[J].計算機工程與設(shè)計,2001,22(4):58-62
[5]黃萱菁,吳立德.獨立于語種的文本分類方法[J].2000 International Conference on Multilingual Information Processing,2000