喬奮鳳,朱欣娟,高 嶺
(西安工程大學 計算機科學學院,陜西 西安 710600)
智能問答系統(tǒng)的構(gòu)建方法主要分為三種:基于模式模板匹配用戶問題句式的方法、基于相似度匹配問題庫的方法和基于知識圖譜實時檢索的方法。Karpagam等人[1]使用模式模板的方法對用戶提交的查詢進行問題類型的識別,依賴于早期構(gòu)建的模式模板的完備性。Cai等人[2]使用問題對匹配的方法來實現(xiàn)限定域內(nèi)的中文智能問答。該類方法依賴于FAQ庫的建立,不能根據(jù)用戶需求實時更新FAQ庫。知識圖譜通過“實體-關(guān)系-實體”的形式來保存數(shù)據(jù),可以有效地組織和表示知識,從而使知識本身得到有效利用[3]。因此,基于知識圖譜的智能問答系統(tǒng)成為智能問答系統(tǒng)構(gòu)建的主流。
基于知識圖譜的智能問答系統(tǒng)通常由用戶意圖識別、數(shù)據(jù)處理和答案檢索[4]三個模塊構(gòu)成。在用戶意圖識別階段,如何分析用戶問題語句,獲取用戶意圖,最常用的方法是將用戶問題語句進行分類,把分類結(jié)果看作用戶意圖。
基于知識圖譜的智能問答系統(tǒng)目前仍處在起步階段,進一步的發(fā)展需要從淺層語義理解逐步過渡到深層語義理解[5]。要實現(xiàn)深層語義理解,重點應(yīng)該關(guān)注用戶意圖識別,也就是問題分類。在用戶意圖識別方面,各類學者做了大量研究工作。Lim等人[6]針對文本數(shù)據(jù)以單詞表示的特點,提出了基于語義張量空間模型的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),從而對問題語句進行建模。Qiao等人[7]使用基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)的方法自動將句子歸類。Xu等人[8]提出一種改進的基于CNN的跳格法的中文文本分類方法,并證明該方法比基于CNN的單熱方法具有更高的性能。余本功等人[9]使用多層級注意力卷積長短時記憶模型(multi-level attention convolution LSTM neural network,MAC-LSTM),它結(jié)合卷積神經(jīng)網(wǎng)絡(luò)與長短時記憶模型,并行提取詞匯級特征,以此對用戶問題語句進行建模,并實現(xiàn)問題分類,實驗證明使用MAC-LSTM對用戶問題類型進行識別,準確率遠遠大于使用傳統(tǒng)深度網(wǎng)絡(luò)模型進行用戶問題類型識別。Wu等人[10]將注意力機制應(yīng)用于文本分類中,驗證了注意力機制的有效性。
目前智能問答系統(tǒng)普遍使用單層網(wǎng)絡(luò)模型分析用戶語句,由于單層網(wǎng)絡(luò)模型識別能力的限制,造成對問題中的細節(jié)特征提取不足。如何充分挖掘用戶問題中的語義信息,進行深層次用戶意圖識別,提高問題的分類精度是智能問答系統(tǒng)亟待解決的問題之一。同時,沒有一個智能問答系統(tǒng)是一成不變的。隨著用戶需求的變化和知識的更新,智能問答系統(tǒng)中原先設(shè)定的問題類型和對應(yīng)的知識也該隨之迭代更新。常規(guī)的方法是使用機器學習、深度學習對網(wǎng)絡(luò)上的知識進行提取,以此來豐富系統(tǒng)知識。此方法依賴大量的用戶數(shù)據(jù),但是在系統(tǒng)搭建之初是缺乏大量用戶數(shù)據(jù)的。因此,如何對系統(tǒng)中現(xiàn)有的問題類型和知識進行動態(tài)更新也是智能問答系統(tǒng)有待解決的問題之一。
針對以上智能問答系統(tǒng)構(gòu)建存在的問題,筆者做了如下工作:
(1)使用雙層網(wǎng)絡(luò)模型進行用戶意圖的識別,重點關(guān)注了用戶問題語句中的關(guān)鍵詞,把它作為用戶問題語句中的細節(jié)特征,作為輸入信息添加到用戶問題類型的識別模型中,實現(xiàn)了智能問答系統(tǒng)的深層次用戶意圖識別。
(2)為了使智能問答系統(tǒng)擁有更多的智能,該文提出了一種自適應(yīng)擴展機制,利用人工和機器自動算法相結(jié)合的方式進行問題類型知識庫的更新,實現(xiàn)了智能問答系統(tǒng)的擴展。
(3)在步驟(1)和(2)的基礎(chǔ)上設(shè)計了針對學科課程問答的智能問答系統(tǒng),該系統(tǒng)包括三個模塊:意圖識別、答案檢索、數(shù)據(jù)更新。意圖識別模塊使用(1)中的基于關(guān)鍵詞分離的用戶意圖識別技術(shù);答案檢索模塊使用基于用戶典型案例庫的方法在知識圖譜中進行答案的檢索;數(shù)據(jù)更新模塊使用(2)中的基于自適應(yīng)擴展技術(shù)的智能問答系統(tǒng)優(yōu)化方法。
領(lǐng)域智能問答系統(tǒng)依賴特定領(lǐng)域知識,該文以學科課程領(lǐng)域智能問答系統(tǒng)為例展開研究。智能問答系統(tǒng)后臺數(shù)據(jù)庫的構(gòu)建包括兩個內(nèi)容:用戶問題案例庫的構(gòu)建和學科課程領(lǐng)域知識圖譜的構(gòu)建。
根據(jù)用戶問題語句中的已知條件、待求答案、答案檢索方式,將用戶常見問題進行分類,分別對應(yīng)每類用戶意圖,整理為用戶問題案例庫。構(gòu)建好的典型用戶問題案例示例如表1所示。
表1 典型用戶問題案例示例
當對用戶問題在知識圖譜中進行答案檢索時,首先針對該問題類型的答案檢索預(yù)設(shè)檢索規(guī)則。而針對知識圖譜來說,該檢索規(guī)則應(yīng)該和實體關(guān)系進行一一對應(yīng)。但實際上,為了避免知識圖譜存儲的冗余,各種實體關(guān)系之間是可以進行推理的,所以最終呈現(xiàn)的基本實體關(guān)系邊事實上與該檢索規(guī)則不是一一對應(yīng)的關(guān)系。因此,需要對問題類型進行一定的整理,以便和知識圖譜的基本實體關(guān)系進行一一對應(yīng)。將問題類型定義如下:
定義1:問題類型。按照不同答案檢索規(guī)則分為三類,分別為 “屬性類問題”、“推理類問題”和“關(guān)系類問題”。對應(yīng)知識圖譜的實體和屬性,檢索規(guī)則為對屬性進行檢索的問題類型稱為“屬性類問題”;檢索規(guī)則可以和知識圖譜中的基本實體關(guān)系進行一一對應(yīng)的問題類型稱為“關(guān)系類問題”;檢索規(guī)則和知識圖譜中的基本實體關(guān)系不能達到一一對應(yīng),但是可以通過知識圖譜的基本實體關(guān)系推理得到,稱這類型問題為“推理類問題”。
這三種問題類型對應(yīng)的知識圖譜檢索規(guī)則如表2所示。
表2 三類問題類別的檢索路徑規(guī)則
領(lǐng)域知識圖譜構(gòu)建的基礎(chǔ)是構(gòu)建本體庫[11]。結(jié)合用戶問題數(shù)據(jù)的特征設(shè)計本體模型[12],設(shè)計好的教育技術(shù)領(lǐng)域?qū)W科課程知識圖譜本體模型如圖1所示。
圖1 學科課程知識圖譜本體模型
文中學科課程知識圖譜的初始數(shù)據(jù)來源為課程教學大綱,后續(xù)根據(jù)網(wǎng)絡(luò)爬蟲爬取維基百科的同類型詞條對知識圖譜進行數(shù)據(jù)擴充。
基于關(guān)鍵詞的用戶意圖識別也就是把用戶意圖分為兩層,第一層是用戶問題語句中的關(guān)鍵詞,第二層是用戶問題語句所屬的問題類型。
分析發(fā)現(xiàn),用戶問題中的關(guān)鍵詞很大程度上影響了用戶問題分類結(jié)果,也影響了用戶意圖判斷,例如:
句子1:計算機網(wǎng)絡(luò)管理這本書是哪門課上學的?
句子2:二叉樹這個知識點是在哪門課上學的?
在這兩個句子中,語法結(jié)構(gòu)類似,所包含的詞匯大體相同,僅有關(guān)鍵詞不同,導(dǎo)致問題類型和檢索路徑也不同,具體如下:
(1)關(guān)鍵詞類型不同:句子1中的關(guān)鍵詞為“計算機網(wǎng)絡(luò)管理”,屬于“教材”實體類別;句子2中的關(guān)鍵詞為“二叉樹”,屬于“知識點”實體類別。
(2)用戶問題類型不同:句子1所屬的問題類型為“教材課程”,句子2所屬的問題類型為“知識課程”。
(3)答案檢索路徑不同:對用戶答案檢索時,句子1的答案檢索規(guī)則為從“教材”出發(fā),沿著“教材課程”邊進行檢索;句子2檢索規(guī)則為從“知識點”出發(fā),沿著“知識課程”邊進行檢索。
綜合以上分析,用戶問題中的關(guān)鍵詞對用戶意圖識別有重要作用。常規(guī)的用戶意圖識別,如文獻[7-9],缺乏對這種細節(jié)特征的充分利用,對用戶語句整體進行問題類型提取,對問題類別識別率造成影響。
基于關(guān)鍵詞分離的用戶意圖識別由兩個子模型組成,分別為用戶問題關(guān)鍵詞識別模型和用戶問題類型識別模型,總體結(jié)構(gòu)設(shè)計如圖2所示。
圖2 基于關(guān)鍵詞分離的用戶意圖識別模型結(jié)構(gòu)
圖2首先對用戶意圖進行初步提取,提取結(jié)果為用戶語句中的關(guān)鍵詞及關(guān)鍵詞類別,將提取結(jié)果作為用戶的第一層意圖,用戶第一層意圖識別模型使用的是雙向長短時記憶網(wǎng)絡(luò)和條件隨機場模型。
識別到關(guān)鍵詞后,為了使識別到的用戶意圖更充分,也為了后期更方便地檢索答案,根據(jù)關(guān)鍵詞的數(shù)目對問題句式進行區(qū)分。對問題句式做如下定義:
定義2:問題句式。根據(jù)問題語句中關(guān)鍵詞數(shù)目的不同,將問題句式分為三種,具體如下:
If關(guān)鍵詞數(shù)目≥3:
then問題句式為“判斷句式(選擇判斷)”;
If關(guān)鍵詞數(shù)目=2:
then問題句式為“判斷句式(是否判斷)”;
If關(guān)鍵詞數(shù)目=1:
then問題句式為“搜索內(nèi)容句式”。
例如:
“判斷句式(是否判斷)”,如“《可視化程序設(shè)計》是選修課嗎”,關(guān)鍵詞為“可視化程序設(shè)計”和“選修課”,數(shù)目為2個;
“判斷句式(選擇判斷)”,如“《地理信息系統(tǒng)》是網(wǎng)絡(luò)工程專業(yè)開設(shè)的還是軟件工程專業(yè)開設(shè)的”,關(guān)鍵詞為“地理信息系統(tǒng)”、“網(wǎng)絡(luò)工程”、“軟件工程”,數(shù)目為3個;
“搜索內(nèi)容句式”,如“首先學習哪方面的知識會對我學習二叉樹知識有幫助” ,關(guān)鍵詞為“二叉樹”,數(shù)目為1個。
在用戶問題類型識別模型中,首先使用依存句法分析工具[13]對用戶語句進行分析,得到分詞結(jié)果和依存句法分析結(jié)果,然后融合關(guān)鍵詞、分詞、詞性和依存句法分析結(jié)果,綜合作為用戶第二層意圖識別模型的初始特征進行特征提取。用戶第二層意圖識別模型使用的是融合了注意力機制的雙層雙向長短時記憶網(wǎng)絡(luò)(double-layer BILSTM-att),雙向長短時記憶網(wǎng)絡(luò)(bidirectional long short term memory network,BILSTM)可以有效利用文本的前后長距離特征[2],使用雙層特征提取可以使得特征提取更充分。采用注意力機制(attention)可以通過計算特征與結(jié)果的相似度差值對特征的權(quán)重進行調(diào)整[2]。添加了關(guān)鍵詞特征的用戶問題類型識別模型結(jié)構(gòu)如圖3所示。
圖3 添加關(guān)鍵字特征的用戶問題類型識別模型結(jié)構(gòu)
最后,綜合用戶的兩層意圖,共同組合為用戶的最終意圖。這樣,使用雙層網(wǎng)絡(luò)模型,關(guān)鍵詞特征就更充分地被利用起來了。
針對三種問題句式,構(gòu)建的檢索方案如表3所示。
表3 三種問題句式的答案檢索方案
根據(jù)表3的答案檢索方案,以及用戶問題案例庫中的檢索路徑,對用戶意圖進行檢索,可以檢索到用戶所詢問的知識詞匯,將該詞匯插入到設(shè)定好的回答語句槽中,組合完成的語句直接作為答案進行輸出。
另外,當用戶檢索問題時,首先使用基于同義詞詞林的詞語相似度計算方法[14]將關(guān)鍵詞與實體詞典中的實體作對照,作為對不規(guī)范關(guān)鍵詞描述的修正,輸出該實體對應(yīng)問題的答案,即為用戶所提問題的答案。當用戶對給出的答案仍不滿意時,可以選擇對答案進行評分。
當系統(tǒng)輸出答案時,允許用戶對答案進行評分,系統(tǒng)將接收評分,并將其寫入反饋數(shù)據(jù)庫,自適應(yīng)擴展就在于定期對反饋數(shù)據(jù)庫中的用戶反饋進行處理。
定期對反饋數(shù)據(jù)庫中的數(shù)據(jù)進行整理。用戶反饋主要為兩種:一種是需要擴充用戶問題案例庫,即用戶提出新的類型問題。另一種是答案不在知識庫中。對于前一類反饋,首先使用基于句法結(jié)構(gòu)的層次聚類算法進行問題的初步聚類;然后人工對新問題類型進行命名,更新用戶問題案例庫;最后通過網(wǎng)爬數(shù)據(jù)及官方數(shù)據(jù)進行知識圖譜實例更新。對于后一類反饋,只需擴充數(shù)據(jù)來源,進行知識圖譜實例更新即可。
自適應(yīng)擴展智能問答系統(tǒng),也就是自適應(yīng)擴展用戶問題案例庫,重點在于對用戶反饋進行分析處理??紤]用戶語句的特點,使用基于句法結(jié)構(gòu)的層次聚類算法[15]。文獻[15]表明在中文文本領(lǐng)域,該算法能夠準確地進行聚類分析,并能得到很好的聚類效果。
經(jīng)分析發(fā)現(xiàn),句法結(jié)構(gòu)對文本含義的影響很大,比如用戶問題語句為:
A.計算機包含數(shù)據(jù)庫嗎?
B.網(wǎng)絡(luò)包含TCP/IP嗎?
C.我的計算機里面有數(shù)據(jù)庫軟件嗎?
如果僅考慮文本之間的相似度,由于句子A和句子C中都包含 “計算機”和“數(shù)據(jù)庫”,那么A和C將被劃分為一類,但是考慮用戶意圖,句子A是詢問“計算機”這門課中是否包含“數(shù)據(jù)庫”這個知識點;句子B是詢問“網(wǎng)絡(luò)”這門課中是否包含“TCP/IP”這個知識點;句子C是詢問“計算機”這個設(shè)備中是否包含“數(shù)據(jù)庫”軟件。所以句子A和B屬于同類型問題。根據(jù)分析發(fā)現(xiàn)句子A和句子B句法結(jié)構(gòu)類似,均為a包含b的句式,可以先把這樣的句式提取出來,再進行下一步聚類。
對于問題文本來說,在聚類前并不知道將要操作的數(shù)據(jù)有多少種類型,故使用分層聚類算法,預(yù)先不劃定聚類簇數(shù),而是在操作中對聚類簇數(shù)進行更新。在聚類時,計算待比較文本的相似度,如果相似度在閾值內(nèi),則進行更新;如果任意兩個句子的相似度都不在閾值內(nèi),那么結(jié)束聚類操作。
對如下兩個數(shù)據(jù)預(yù)處理后的句子Si和Sj:
Si[(w1i,w1i')p1i,(w2i,w2i')p2i,…,
(wmi,wmi')pmi]
Sj[(w1j,w1j')p1j,(w2j,w2j')p2j,…,
(wnj,wnj')pnj]
其中,w1i,w1i',w2i,w2i',…,wmi,wmi',w1j,w1j',w2j,w2j', …,wnj,wnj'表示經(jīng)過句法結(jié)構(gòu)分析后的詞;p1i,p2i,…,pmi,p1j,p2j,…,pnj表示句法分析符號。
句子Si和句子Sj的相似度simij的計算公式為:
(1)
match(Ski,Sj)=max{similarity(wki,w1j)+
similarity(wki',w1j'),…,
similarity(wki,wnj)+
similarity(wki',wnj')}
(2)
其中,SCounti為句子Si的有效搭配對數(shù),SCountj為句子Sj的有效搭配對數(shù),Ski為句子Si的的匹配對。match為匹配函數(shù)。similarity(wi,wj)為相似函數(shù),結(jié)果通過計算同義詞詞林中wi和wj對應(yīng)的義項編號的距離得到[14],max為最大值函數(shù)。
在結(jié)合新簇后,需要對簇中心點進行更新,中心點的計算方法為:計算簇中每個句子與其余句子的平均相似度,平均相似度最大的句子為該簇的中心點。
基于句法結(jié)構(gòu)的文本聚類方法步驟如下:
第一步:數(shù)據(jù)預(yù)處理。
(1)提取關(guān)鍵詞[16],避免關(guān)鍵詞語義對文本分析的影響。處理方法為:使用意圖識別模型的第一層模型提取用戶問題中的關(guān)鍵詞,并將關(guān)鍵詞所代表的詞語用符號表示,不是關(guān)鍵詞的內(nèi)容繼續(xù)用原來的詞語表示。根據(jù)第1部分的描述,關(guān)鍵詞的種類有6種,關(guān)鍵詞及對應(yīng)符號為:“課程”->C、“教材”->B、“課程性質(zhì)”->Y、“考試形式”->T、“專業(yè)”->S、“知識點”->K。
(2)提取文本的句法結(jié)構(gòu)。
分析文本的句法結(jié)構(gòu),使用中文依存句法分析工具[13]進行句法結(jié)構(gòu)分析,并將句法結(jié)構(gòu)分析的結(jié)果作為待比較文本的替代。
對于原句子:“數(shù)據(jù)通信原理考試形式是什么”, 經(jīng)過預(yù)處理后的結(jié)果為“(C, '考試形式'), ('考試形式', '是'), ('是', 'root'), ('什么', '是')”。其中,root是句法結(jié)構(gòu)分析的根,所有句法結(jié)構(gòu)關(guān)系都由這個根發(fā)出,這個根由文獻[13]的句法結(jié)構(gòu)分析工具自動生成。
第二步:分層聚類。
對預(yù)處理后的兩個句子進行分層聚類。
基于句法結(jié)構(gòu)的分層聚類算法描述如下:
算法:基于句法結(jié)構(gòu)的分層聚類算法。
輸入:預(yù)處理后的文本序列DataList;相似度閾值T;
輸出:聚類后的結(jié)果conclusion。
1: for sen in DataList:
2: 計算相似度最大的兩個文本(sen1,sen2)的相似度
3: if sim≥T:
4: conclusion. append(sen1,sen2) // 把這兩個句子加入聚類結(jié)果
5: 計算聚類簇的中心點center
6: DataList. delete (sen1, sen2)
7: DataList. append(center) // 用中心點替換原來的兩個句子
8: else:
9:聚類結(jié)束,輸出結(jié)果
進行基于句法結(jié)構(gòu)的層次聚類后,形成C1,C2,…,Cm共m種新的問題類型,為了保證問答助手的準確性,人工對聚類結(jié)果進行二次篩選,并給新的問題類型命名,將其寫入用戶問題案例庫中。新類型問題的解決依賴大量知識圖譜實例,故采取網(wǎng)絡(luò)爬蟲和擴充數(shù)據(jù)來源的方式進行知識圖譜實例更新。
在本節(jié)中,使用該文提出的方法構(gòu)建了一個基于自適應(yīng)擴展的智能問答系統(tǒng),并在教育技術(shù)領(lǐng)域用戶常用問題集上進行了測試。
基于知識圖譜的智能問答系統(tǒng)數(shù)據(jù)一方面依賴知識圖譜的完備性,另一方面依賴問答分類標準。對于教育技術(shù)領(lǐng)域的問題分類,目前還沒有公開的數(shù)據(jù)集,而其他領(lǐng)域的數(shù)據(jù)集也不適用于該領(lǐng)域。為了解決這一問題,利用某大學計算機科學學院的課程大綱構(gòu)建了面向?qū)W科課程知識問答的知識圖譜雛形,并使用爬蟲技術(shù)爬取了同類型實體詞條進行擴充。
用戶意圖識別的數(shù)據(jù)來源有兩個:
(1)公開領(lǐng)域有各種類型的用戶問題語句,根據(jù)課程大綱數(shù)據(jù)在這些問題的基礎(chǔ)上進行修改。
(2)網(wǎng)爬各大教育平臺及教務(wù)系統(tǒng)的學生問題。
教育技術(shù)專家制定教育技術(shù)領(lǐng)域的數(shù)據(jù)標注標準,使用眾包的方式對使用以上兩種方式收集的用戶語句進行標注。為了避免小樣本數(shù)據(jù)造成的過擬合,提高模型魯棒性,首先對樣本中的名詞使用同義詞替換的方式進行數(shù)據(jù)增強,最終生成針對教育技術(shù)領(lǐng)域面向?qū)W科課程的智能問答系統(tǒng)用戶意圖識別小型數(shù)據(jù)集CCID(Chinese course intention dataset)。
在意圖識別的實驗中,使用準確率、召回率、F1值作為意圖識別結(jié)果的評價指標。其中,準確率指在分類結(jié)果為某類別的樣本中,實際上屬于該類別的樣本個數(shù)占該樣本個數(shù)的比值;召回率指實驗分類結(jié)果為某類別的樣本個數(shù)占實際上應(yīng)屬于該類別的樣本總數(shù)的比值;F1值(f1-score)為準確率與召回率的算術(shù)平均數(shù)。
文本聚類的判斷標準為準確率,使用公式(3)、公式(4)來計算用戶問題類型聚類結(jié)果的正確率precision。
(3)
(4)
其中,Ci表示聚類結(jié)果中代表文本類型為i的聚類簇的聚類正確率;n表示聚類簇數(shù);Si表示聚類結(jié)果為文本類型i的聚類簇中文本的總個數(shù);Counti表示聚類結(jié)果本該為文本類型i的文本個數(shù)。在以上公式中,i的取值范圍均為1~n。
進行兩個實驗來驗證提出的自適應(yīng)擴展模型。
第1個實驗驗證使用關(guān)鍵詞分離的方法提高了用戶意圖識別的準確率??傮w采用十次十折交叉驗證的方式進行測試。本實驗將文中方法與其他文獻中的網(wǎng)絡(luò)模型結(jié)果進行多次實驗對比。表4為文中雙層模型的超參數(shù)。實驗得到的數(shù)據(jù)結(jié)果如表5所示。
表4 模型參數(shù)設(shè)置
表5 文中方法與其他網(wǎng)絡(luò)模型對問題 類型識別的結(jié)果對比
從實驗結(jié)果可以得出,文獻[9]的MAC-LSTM使用的雙層網(wǎng)絡(luò)模型較傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)有明顯的效果提升。而文中提出的模型優(yōu)于MAC-LSTM,具體表現(xiàn)為:在文中用戶意圖識別模型不添加關(guān)鍵詞特征時,比MAC-LSTM的正確率提高了7%,召回率提高了3%,F(xiàn)1值提高了5%,原因是文中在問題類型識別模型中使用了雙層雙向長短時記憶網(wǎng)絡(luò),比普通的長短時記憶網(wǎng)絡(luò)能獲取更多的特征;在文中用戶意圖識別模型添加關(guān)鍵詞特征時,比MAC-LSTM的正確率提高了14%,召回率提高了8%,F(xiàn)1值提高了11%。這是由于相比于MAC-LSTM,文中提出的方法將文本中的關(guān)鍵詞作為特征。使用文中提出的用戶意圖識別模型,添加關(guān)鍵詞特征比不添加關(guān)鍵詞特征的準確率提高了7%,召回率提高了5%,F(xiàn)1值提高了6%。由此說明,添加關(guān)鍵詞特征的雙層意圖識別模型是有效的。這是因為關(guān)鍵詞特征在問題類型識別中占有很大的作用。比如對于“課驗知識”和“先驗知識”,在不添加關(guān)鍵詞作為特征時,這兩類類型易混淆,它們的含義都是已知一個類別,求這個類別的先驅(qū)知識。如果不考慮關(guān)鍵詞特征,光從語義上來看,并不能確認某一個問題表示的是課驗知識還是先驗知識。但是添加了關(guān)鍵詞特征后,如果關(guān)鍵詞類別為“知識點”,那么這個問題就被劃分為“先驗知識”,如果關(guān)鍵詞類別為“課程”,那么這個問題就被劃分為“課驗知識”,由此可見,提前進行關(guān)鍵詞的識別在一定程度上可以減輕問題類型識別的混淆度。
第2個實驗是選擇在哪個閾值下基于句法結(jié)構(gòu)的分層聚類算法能得到聚類最好效果。在其他條件不變的情況下調(diào)整閾值T,并計算最終得到的聚類正確率,得到的實驗結(jié)果如圖4所示。圖中橫坐標為閾值,縱坐標表示在該閾值下聚類結(jié)果的正確率。
圖4 改變閾值對基于句法結(jié)構(gòu)的分層聚類算法的正確率的影響對比
從圖4中可以看到,當閾值T取值為0.58時,聚類的正確率達到了76%,在這樣的正確率下,可以在一定程度上更新智能問答系統(tǒng)的后臺數(shù)據(jù)。
通過以上實驗結(jié)果,可以得到結(jié)論:添加了自適應(yīng)擴展機制后,智能問答助手有更好的用戶滿意度。究其原因,是因為深度學習方法需要大量用戶數(shù)據(jù),而智能問答系統(tǒng)搭建之初,用戶數(shù)據(jù)較少,文中自適應(yīng)擴展機制使用的是基于句法結(jié)構(gòu)的層次聚類算法,這種方法依賴較少的數(shù)據(jù),在一定程度上可以滿足對智能問答系統(tǒng)數(shù)據(jù)更新的需求。另外,該自適應(yīng)擴展機制使用定期更新的方式對用戶反饋進行處理,可以動態(tài)滿足用戶的需求。同時,定時對后臺數(shù)據(jù)進行更新,也有助于構(gòu)建更可靠的智能問答系統(tǒng)。
該文提出一種基于自適應(yīng)擴展機制的智能問答系統(tǒng)構(gòu)建方法,并以學科課程領(lǐng)域知識問答為例。首先構(gòu)建用戶問題案例庫和知識圖譜;然后對于目前大多數(shù)智能問答系統(tǒng)使用單層模型不能充分利用用戶語句中的細節(jié)特征、不能獲取用戶深層語義、從而不能更好地識別用戶意圖的問題,提出基于關(guān)鍵詞分離的雙層模型識別用戶意圖方法。實驗表明,該方法可以有效提高用戶問題意圖的識別精度。針對系統(tǒng)構(gòu)建之初用戶數(shù)據(jù)量較少,智能問答系統(tǒng)需要進行后臺優(yōu)化的問題,首先使用基于句法結(jié)構(gòu)的層次聚類算法對用戶語句進行初步聚類,然后人工對聚類結(jié)果進行二次核查并更新用戶問題案例庫,達到智能問答系統(tǒng)自適應(yīng)擴展的目的。提出的基于關(guān)鍵詞分離的雙層模型識別用戶意圖方法和自適應(yīng)擴展機制,基于特定領(lǐng)域知識圖譜,可以進行拓展應(yīng)用。目前智能問答系統(tǒng)構(gòu)建技術(shù)仍有很大的發(fā)展空間,未來的研究工作將更多著眼于尋求在自動聚類時,提高識別新問題類型的成功率的方法,以此進一步減少人工參與。