摘要:自動咨詢服務(wù)是實現(xiàn)圖書館自動化的重要手段,而傳統(tǒng)的圖書館咨詢服務(wù)系統(tǒng)面臨咨詢服務(wù)滿意度較低的問題。針對問題,文章提出基于Bert語義的圖書館自動咨詢方法,該方法首先利用問句理解模塊對問句進(jìn)行語義分類,其次采用問句檢索模塊對讀者提出的問題進(jìn)行匹配,隨后通過預(yù)訓(xùn)練模型Bert進(jìn)行答案句生成。在真實的問題數(shù)據(jù)集上進(jìn)行測試,文中所提出的方法咨詢性能優(yōu)于傳統(tǒng)的咨詢方法,準(zhǔn)確率有了較大提高。
關(guān)鍵詞:圖書館; 自動咨詢;?Bert語義; 答案生成
中圖分類號:G250.7?文獻(xiàn)標(biāo)識碼:A
DOI: 10.13897/j.cnki.hbkjty.2021.0097
0?引言
自動咨詢服務(wù)是實現(xiàn)圖書館自動化的重要手段,它是圖書館開展信息服務(wù)、普及專業(yè)知識的重要工具[1]。在傳統(tǒng)的信息咨詢服務(wù)模式下,圖書館員能否為讀者提供滿意的咨詢服務(wù),往往取決于圖書館員對圖書館各方面的了解以及溝通能力。由于不同館員的溝通能力和知識水平不同,往往導(dǎo)致咨詢服務(wù)不滿意甚至有投訴現(xiàn)象的發(fā)生。此外,讀者經(jīng)常詢問一些重復(fù)的問題,導(dǎo)致咨詢服務(wù)的圖書館員工作量過大。可見,構(gòu)建一個高效的圖書館自動咨詢系統(tǒng)是解決這類問題的有效途徑。
近年來,人工智能技術(shù)的快速發(fā)展,逐漸改變了傳統(tǒng)的信息咨詢服務(wù)模式,特別是深度學(xué)習(xí)技術(shù)在自然語言處理領(lǐng)域的成功應(yīng)用,為圖書館智能咨詢系統(tǒng)的設(shè)計和開發(fā)提供了新的思路。針對傳統(tǒng)圖書館咨詢服務(wù)的不足,本文提出了基于Bert語義的圖書館自動咨詢方法,構(gòu)建了圖書館智能咨詢系統(tǒng),為國內(nèi)圖書館智能咨詢服務(wù)提供了一種新的解決方案。
1?研究現(xiàn)狀
隨著互聯(lián)網(wǎng)和數(shù)字技術(shù)的發(fā)展,圖書館的信息咨詢服務(wù)也有了長足的進(jìn)步[2?3]。圖書館不同類型的咨詢服務(wù)系統(tǒng)實現(xiàn)方法存在一定差異。目前,傳統(tǒng)咨詢系統(tǒng)中主要包括問題理解、信息檢索和答案生成3個模塊[4],這些模塊的實現(xiàn)方法屬于傳統(tǒng)模型。例如,問句理解模型常用基于支持向量機(jī)的分類模型[5]、KNN模型[6]以及最大熵模型[7]等,信息檢索模型通常使用BM25模型[8]、向量空間模型以及語言模型[9]等。答案生成模塊通常使用基于QANet的序列標(biāo)注模型[10]以及候選答案驗證過程中使用的BIDAF[11]問答匹配模型等。這種基于傳統(tǒng)模型的問答系統(tǒng)往往需要人工進(jìn)行特征標(biāo)注,因此這種方法缺少針對不同領(lǐng)域數(shù)據(jù)處理的泛化能力。由于傳統(tǒng)模型的缺點,在面對不同種類的咨詢問題時,圖書館館員不得不對數(shù)據(jù)進(jìn)行人工標(biāo)注,并且標(biāo)注的準(zhǔn)確度直接依賴圖書館館員的經(jīng)驗,這就造成了傳統(tǒng)的咨詢系統(tǒng)滿意度較低的現(xiàn)象。
近年來,隨著深度學(xué)習(xí)技術(shù)的發(fā)展,為圖書館自動咨詢系統(tǒng)提供了新的思路和解決方案,深度學(xué)習(xí)模型的優(yōu)勢在于能夠自動捕獲文本的有效信息,使得圖書館咨詢系統(tǒng)中很多語義鴻溝問題得到一定程度的改善或解決。端到端的深度學(xué)習(xí)模型減輕了人工標(biāo)注的大量工作,靈活多變的深度網(wǎng)絡(luò)結(jié)構(gòu)提供了強(qiáng)大的文本建模能力。本文借助深度學(xué)習(xí)方法對咨詢系統(tǒng)中的各個模塊進(jìn)行建模,試圖緩解圖書館咨詢系統(tǒng)中的語義鴻溝問題,提升圖書館咨詢系統(tǒng)的性能。
2?方法描述
依據(jù)數(shù)據(jù)流在圖書館領(lǐng)域咨詢系統(tǒng)中的處理流程,本文所構(gòu)建的圖書館自動咨詢系統(tǒng)主要包括3個模塊,包括問句理解、信息檢索、答案生成三個功能組成部分,如圖1所示。首先,問句理解模塊采用問題分類的方法對問題進(jìn)行語義理解和劃分。隨后,根據(jù)問句理解得到的查詢表示,信息檢索模塊借助語義詞典HowNet和詞向量知識庫,從FAQ語料庫中檢索相關(guān)信息,傳遞給后續(xù)的答案生成處理模塊。通過檢索模塊得到的信息,答案生成模塊利用BERT模型對本文進(jìn)行語義理解和推理,實現(xiàn)候選答案的抽取和答案的生成。最終,根據(jù)讀者提出的問題返回簡潔性、正確性的答案。
2.1?問句分類
問句理解模塊是問答系統(tǒng)了解用戶意圖的重要環(huán)節(jié),問題分類就是對于給定的問題,根據(jù)問題的答案類型把該問題映射到給定的語義類別中。問題分類作為問答系統(tǒng)的一個重要子模塊,是咨詢系統(tǒng)所要處理的第一步,對咨詢系統(tǒng)的后繼模塊答案抽取和答案選擇有很好的指導(dǎo)作用。首先,問題分類能夠決定答案選擇策略,根據(jù)不同的問題類型調(diào)節(jié)對不同問題的答案分析策略。其次,問題分類能有效地減少候選答案的空間,提高咨詢系統(tǒng)返回答案的準(zhǔn)確率。
為了測試本系統(tǒng)問題分類模塊的功能,本文整理了近5年山西省圖書館的日常咨詢問題,將常見問題分為6類,如表1所示:
本文采用目前在分類問題上應(yīng)用較多的卷積神經(jīng)網(wǎng)絡(luò)CNN[12](Couvolutional Neural Networks)模型對問題進(jìn)行語義層面的表示,完成對問題的有效分類。將問句以字的形式輸入模型中,通過卷積層、池化層和全連接層,最后通過softmax 函數(shù)確定每個類別的概率,最終輸出每個問題所對應(yīng)的語義類型,CNN網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
2.2?問句檢索
當(dāng)讀者提出的問題進(jìn)入信息檢索模塊,檢索模塊檢索常用問題集合(FAQ語料庫),通過計算FAQ知識庫中問題與用戶提出問句的相似度,將相似度大于一定閾值的問句作為結(jié)果。如果找到相似的問句,則返回FAQ知識庫中對應(yīng)的候選答案,如果沒有找到相似的候選句,則將檢索結(jié)果輸入答案生成模塊。
在進(jìn)行問句相似度計算時,傳統(tǒng)的方法采用關(guān)鍵詞淺層匹配,導(dǎo)致與問句語義相關(guān)的候選問句相似度很低。例如,用戶提出問題“帶電腦來圖書館工作,是否可以接外接電源?”,與常用問題集合中“帶筆記本來圖書館學(xué)習(xí),館里有插座嗎?”問題語義相關(guān),但是在關(guān)鍵字層面匹配度較低。在語義詞典和詞向量空間中,“電腦”與“筆記本”、“學(xué)習(xí)”與“工作”、“插座”與“電源”等詞語的語義距離較近。
2.3?答案生成
通常讀者提出的問題種類繁多,涉及到圖書館或者日常生活中的方方面面,經(jīng)常有一部分問題不在常用候選數(shù)據(jù)集中出現(xiàn)。對于這些問題,檢索模塊無法將答案檢索出來。針對該問題,文本提出一種基于BERT的答案生成模型,對不常見問題進(jìn)行答案生成。首先利用問答語料庫中的問題—答案對模型進(jìn)行訓(xùn)練,Bert模型可以對問題和答案進(jìn)行語義表示和推理。隨后,將讀者提出的問題輸入訓(xùn)練好的模型,通過Bert語義模型對讀者的咨詢問題進(jìn)行答案生成。該問題不僅包含分詞后的問句,而且包含問題的語義類別,本文認(rèn)為,問題的語義類別可以幫助Bert模型進(jìn)行語義理解和推理,提高問答系統(tǒng)返回答案的準(zhǔn)確率。
2.3.1?Bert模型
Bert模型的輸入特征:每個句子首部都會添加一個特殊符號“[CLS]”。文本將問題理解模塊中預(yù)測的語義類別加在符號“[CLS]”前面。為了對不同的句子進(jìn)行區(qū)分,在輸入序列中每個句子的末尾加入了特殊符號“[SEP]”。由于本文的任務(wù)是進(jìn)行圖書館咨詢解答,因此輸入序列是由兩個句子組成的句子對,即問句—答案候選句。Bert模型的輸出特征:經(jīng)過多層編碼器對應(yīng)的融合問句和答案候選句信息的語義表示。
3?實驗
3.1?實驗數(shù)據(jù)及評價指標(biāo)
本文的主要工作是設(shè)計并實現(xiàn)一種基于深度學(xué)習(xí)的自動咨詢方法,輔助圖書館館員解決讀者在獲取和使用圖書館資源或者學(xué)術(shù)知識時遇到的疑問。根據(jù)山西省圖書館辦證咨詢臺近五年讀者提出的常用問題,本文構(gòu)建了常見問題庫(FAQ語料庫),該問題庫包括常用問題以及問題解答532對,內(nèi)容覆蓋入館須知、資源查找、借閱服務(wù)、網(wǎng)絡(luò)服務(wù)以及設(shè)施服務(wù)等。此外,為了彌補(bǔ)常見問題庫不能覆蓋所有讀者提問的不足,本文使用大規(guī)模中文語料庫對答案生成Bert模型進(jìn)行訓(xùn)練,選取了百度發(fā)布的大規(guī)模中文問答語料 DuReader[16]數(shù)據(jù)集。該數(shù)據(jù)來源于百度知道和百度搜索中的真實問題及回答,本文的實驗選取了觀點類型和描述類型的數(shù)據(jù),總計包括98 215個問答對,設(shè)計內(nèi)容包括日常生活中的方方面面。
采用五倍交叉實驗,將語料平均分成五份,使用其中一份作為測試集,其他四份作為訓(xùn)練集,重復(fù)五次實驗,取平均值作為最終結(jié)果。在實驗中,將測試集中的問題提交給咨詢系統(tǒng) ,讓系統(tǒng)自動地給出答案。然后把系統(tǒng)自動找出的答案和測試集中的答案進(jìn)行對比。如果問答系統(tǒng)給出的答案通過人工的對比基本正確 ,則可以判斷這個答案是正確的 ,否則可以判斷這個答案是錯誤的。這樣就可以計算出咨詢系統(tǒng)的回答準(zhǔn)確率 ,公式如下:
3.2?模型參數(shù)設(shè)置
在問句檢索模塊,β1:β2=0.4:0.6用來調(diào)節(jié)語義字典和詞向量權(quán)重對句子相似度影響。在答案生成模塊,BERT預(yù)訓(xùn)練模型是Google開源的BERT-base模型,網(wǎng)絡(luò)結(jié)構(gòu)共12層,隱藏層有768維,采用12多頭注意力機(jī)制,學(xué)習(xí)率設(shè)置為0.00004,句子最大長度設(shè)置為40,迭代輪數(shù)epoch設(shè)置為10,批量大小Batch_size設(shè)置為128。
3.3?實驗結(jié)果及分析
3.3.1?不同問句檢索方法比較
為了驗證本文所提出的問句檢索方法的有效性,同時為了與其他問句相似度計算方法進(jìn)行比較,本文將基于關(guān)鍵字匹配作為基線方法(baseline),公式如下所示:
即計算兩個句子共現(xiàn)的關(guān)鍵詞個數(shù)與兩個句子詞個數(shù)的比值,數(shù)值越大,表示兩個句子越相似。本文將各種方法在常見問題庫數(shù)據(jù)集上進(jìn)行實驗對比,實驗結(jié)果如表2所示。
在表2中,本文將各種問句檢索方法進(jìn)行對比。當(dāng)分別使用基于HowNet和Word2Vec進(jìn)行句子相似度計算時,咨詢系統(tǒng)的準(zhǔn)確率都比基于關(guān)鍵詞匹配的準(zhǔn)確率高,說明兩種方法都可以克服關(guān)鍵詞匹配方法的不足。當(dāng)使用本文所提出的方法,綜合利用兩種相似度匹配方法時,系統(tǒng)的準(zhǔn)確率進(jìn)一步上升,說明語義詞典和詞向量可以相互彌補(bǔ)各自的弱點。此外,在咨詢效果最好時,β1:β2=0.4:0.6,說明詞向量要比語義字典的權(quán)重更大,這是由于詞向量是在真實語料庫中訓(xùn)練的,比語義字典更加適合句子相似度計算。
3.3.2?Bert模型與其他答案生成模型比較
為了驗證本文所提出的Bert答案生成模型的有效性,同時為了與答案生成方法進(jìn)行比較,我們選取 BIDAF 模型[11] 和 QANet模型[10]與本文方法進(jìn)行對比。實驗結(jié)果如圖4所示。
BIDAF模型使用字符嵌入和詞嵌入相結(jié)合的方式,并且在模型中引入雙向注意力,最后通過指針網(wǎng)絡(luò)輸出答案片段。 QANet模型引入位置編碼來表示序列關(guān)系,編碼層將自注意力機(jī)制和卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合,將三個與編碼層相同的結(jié)構(gòu)模塊疊加,輸出答案片段。
在大規(guī)模中文問答語料庫DuReader上進(jìn)行測試,Bert模型的咨詢效果優(yōu)于其他兩種答案生成模型,準(zhǔn)確率達(dá)到了74%,這是由于Bert模型采用了目前流行的特征提取器Transformer,同時還實現(xiàn)了雙向語言模型,集成了深度學(xué)習(xí)模型的優(yōu)點,從而使該模型在對答案句進(jìn)行篩選、理解和推理方面更加具有優(yōu)勢。此外,本文將山西省圖書館的常見日常咨詢問題分為6類,把問題的語義類別進(jìn)行預(yù)測并將其融入Bert模型后,咨詢系統(tǒng)的準(zhǔn)確率進(jìn)一步上升,準(zhǔn)確率達(dá)到了76%。說明本文對問題進(jìn)行語義劃分是有意義的,同時在系統(tǒng)中引入問題的語義類別對答案生成具有一定的促進(jìn)作用。
5?結(jié)語
本文提出了基于Bert語義的圖書館自動咨詢方法,該方法首先利用問句理解模塊對問句進(jìn)行語義分類,其次采用問句檢索模塊對讀者提出的問題進(jìn)行匹配,隨后利用預(yù)訓(xùn)練模型Bert生成答案句。該方法可以有效彌補(bǔ)傳統(tǒng)圖書館咨詢系統(tǒng)所面臨的語義鴻溝問題,在一定程度上提高了圖書館咨詢服務(wù)滿意度。目前,圖書館咨詢問題語料較少,針對圖書館咨詢問答任務(wù)的預(yù)訓(xùn)練模型還不夠完善。在未來的工作中,一方面要利用數(shù)據(jù)增強(qiáng)的方法擴(kuò)充數(shù)據(jù),另一方面還要將語言學(xué)知識融入預(yù)訓(xùn)練模型Bert中,進(jìn)一步提升系統(tǒng)咨詢效果。
參考文獻(xiàn)
[1]刁羽. 基于小數(shù)據(jù)的高校圖書館智庫型信息咨詢服務(wù)模式研究[J]. 圖書館工作與研究, 2019 (8):84-88.
[2]李慧芳, 孟祥保. 近十年國內(nèi)外圖書館資源發(fā)現(xiàn)系統(tǒng)研究與實踐進(jìn)展述評[J].圖書情報工作,2020,64(6):122-131.
[3]姚飛, 紀(jì)磊, 張成昱,等. 實時虛擬參考咨詢服務(wù)新嘗試——清華大學(xué)圖書館智能聊天機(jī)器人[J]. 現(xiàn)代圖書情報技術(shù), 2011(4):77-81.
[4]莫少強(qiáng). 數(shù)字圖書館參考咨詢服務(wù)系統(tǒng)的建設(shè)與服務(wù)[J]. 圖書情報工作, 2004(1):12-15.
[5]張宇, 余正濤, 樊孝忠, 等. 基于支持向量機(jī)的漢語問句分類[J]. 華南理工大學(xué)學(xué)報(自然科學(xué)版), 2005(9):25-29.
[6]賈可亮, 樊孝忠, 許進(jìn)忠.基于KNN的漢語問句分類[J]. 微電子學(xué)與計算機(jī), 2008(1):162-164.
[7]牛彥清. 中文問答系統(tǒng)的問句分類研究[D].山西:太原理工大學(xué),2011.
[8]胡國平. 基于超大規(guī)模問答對庫和語音界面的非受限領(lǐng)域自動問答系統(tǒng)研究[D].合肥:?中國科學(xué)技術(shù)大學(xué),2007.
[9]楊海天, 王健, 林鴻飛. 一種基于主題類別信息問句檢索的新方法[J]. 計算機(jī)應(yīng)用與軟件, 2015(2):24-27.
[10]Yu A W , D Dohan, Luong M T , et al. QANet: Combining Local Convolution with Global Self-Attention for Reading Comprehension[J].Computational Linguistics,2018,13(3):55-75.
[11]Seo M , Kembhavi A , Farhadi A , et al. Bidirectional Attention Flow for Machine Comprehension[J]. Computational Linguistics,2016,15(2):32-52.
[12]MD Zeiler, Fergus R . Visualizing and Understanding Convolutional Neural Networks[C]// European Conference on Computer Vision.Springer International Pu-blishing, 2013.
[13]Dong Z , Dong Q , Ebrary I . Hownet and the Computation of Meaning[J]. Journal of Artificial Intelligence Research,2015,11(5):22-30.
[14]Ling W, Dyer C, Black A W, et al. Two/too simple adaptations of word2vec for syntax problems[C]//Proceedings of the 2015 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. 2015: 1299-1304.
[15]Devlin J,Chang M W,Lee K,et al.BERT:Pretraining of deep bidirectional transformers for language understanding[C]//Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics:Human Language Technologies,Volume 1,2019:4171-4186.
[16]He W, Liu K, Liu J, et al. DuReader: a Chinese Machine Reading Comprehension Dataset from Real-world Applications[C]//Proceedings of the Workshop on Machine Reading for Question Answering. 2018: 37-46.
作者簡介:段蘇凌(1987?),女,碩士,山西省圖書館館員。研究方向:讀者服務(wù)、參考咨詢、智能圖書館建設(shè)。
(收稿日期:2021-07-20?責(zé)任編輯:張長安)