熊 雪, 劉秉權(quán), 吳翔虎
(哈爾濱工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 哈爾濱 150001)
作為用戶生成內(nèi)容(UGC)的一個(gè)典型代表,問答社區(qū)(CQA)平臺中的問答對體現(xiàn)了人們在自然狀態(tài)下的語言習(xí)慣。然而,CQA系統(tǒng)中問題和答案都是屬于短文本的范疇,短文本在語言內(nèi)容上存在2個(gè)主要問題,對此可表述如下。
(1)詞語空間的特征稀疏,通常經(jīng)過停用詞過濾等預(yù)處理操作后答案中僅剩少量有意義詞語。
(2)答案文本中經(jīng)常缺少指代信息、語義解釋,存在許多無關(guān)或者冗余信息[1]。
答案選擇根據(jù)問題與答案選擇合理的分句構(gòu)成新的答案,能方便用戶快速獲取相關(guān)信息。因此,有必要對面向答案選擇的語義信息要素提取的方法展開研究,以更趨全面地對現(xiàn)有的CQA語料資源進(jìn)行重新整合,從而改善CQA系統(tǒng)的服務(wù)性能。本文首先將句子進(jìn)行切分,得到多個(gè)候選答案,將問題與候選答案結(jié)合,形成問題-答案對。一個(gè)有效的句子匹配在建模過程中不僅要考慮到句子內(nèi)部的結(jié)構(gòu),也要考慮句間的邏輯關(guān)系?;谀壳白⒁饬C(jī)制在機(jī)器翻譯[2]、閱讀理解[3]、短文本摘要[4]等領(lǐng)域方面的實(shí)際應(yīng)用,能在訓(xùn)練時(shí)將重點(diǎn)更多地投注在關(guān)鍵詞上。因此本文即嘗試將注意力機(jī)制引入答案選擇任務(wù),主要貢獻(xiàn)如下:
(1)在答案選擇模型中融合句內(nèi)注意力機(jī)制,基于雙向長短期記憶網(wǎng)絡(luò)對問題句與候選答案句提取特征,提出了一種基于句內(nèi)注意力機(jī)制的答案選擇方法。
(2)在答案選擇模型中融合層疊注意力機(jī)制,基于雙向長短期記憶網(wǎng)絡(luò)與詞匹配方法對問題句與候選答案句進(jìn)行特征提取,提出了一種基于層疊注意力機(jī)制的答案選擇方法。
隨著深度學(xué)習(xí)的發(fā)展,很多深度學(xué)習(xí)方法已被研究引入到答案選擇任務(wù)中。Wang等人[5]將長短時(shí)記憶網(wǎng)絡(luò)(LSTM)用作問答系統(tǒng)的句子選擇,將 LSTM擴(kuò)展為雙向長短時(shí)記憶網(wǎng)絡(luò),并作為訓(xùn)練模型,減少問答系統(tǒng)對語法特征及額外資源的依賴,將問答對通過word2vec轉(zhuǎn)化為特征,作為輸入,而且不限制輸入句子的長度,得到問答對是否保留,從而實(shí)現(xiàn)問題答案選擇。Logeswaran等人[6]提出了一種基于循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的句子排序方法,將句子排序任務(wù)轉(zhuǎn)化為求解句子在每個(gè)位置的可能性的任務(wù)。模型首先使用預(yù)訓(xùn)練的詞向量對句子進(jìn)行句子表示,并用LSTM對句子進(jìn)行句子級別特征提取,然后將句子特征輸入到循環(huán)神經(jīng)網(wǎng)絡(luò)中,學(xué)習(xí)句子集合的信息,最終輸出當(dāng)前位置的可能的句子。模型通過判斷句子在每個(gè)位置的可能性,采用解空間檢索算法求得最優(yōu)排序結(jié)果。Gong等人[7]提出了一種基于端到端的指針網(wǎng)絡(luò)的句子排序方法,模型首先對句子進(jìn)行詞向量表示,并通過句子特征提取模型來運(yùn)行求得句子特征提取,通過指針網(wǎng)絡(luò)對句子集合進(jìn)行學(xué)習(xí),模型的輸入端是無序的句子序列,輸出端是有序的句子序列,即模型直接輸出最終的句子排序。Chan等人[8]將問句和答案句,分別用word2vec給出表示,并通過一個(gè)多層卷積神經(jīng)網(wǎng)得到長度固定的輸入的問答對特征,將所有問答對經(jīng)過卷積后的特征輸入LSTM中,得到結(jié)果,判斷答案是否保留。
對于問答社區(qū)的答案選擇研究,本文將其定義為一個(gè)信息檢索和序列標(biāo)注問題,即對于給定問題,標(biāo)注候選答案是否為問題的真實(shí)答案,對候選答案與問題做出相關(guān)性排序,考量其排名值。
2.2.1 引入句內(nèi)注意力機(jī)制的特征提取
引入句內(nèi)注意力機(jī)制答案選擇模型結(jié)構(gòu)如圖1所示。由圖1可知,網(wǎng)絡(luò)的輸入包括具有n個(gè)詞的問題句Q,以及具有m個(gè)詞的候選答案句C。首先使用embedding層進(jìn)行變換,得到問題句和答案句的詞向量{q1,q2, …,qn}及{c1,c2, …,cm}, 然后使用雙向LSTM對兩者進(jìn)行建模,以問題句為例可得數(shù)學(xué)表述如式(1)所示:
(1)
圖1 引入句內(nèi)注意力機(jī)制答案選擇模型結(jié)構(gòu)
BLSTM所有隱藏層輸出通過均值池化Hq計(jì)算得到Qmean,由此得到基于句內(nèi)注意力機(jī)制的問題句特征sq,綜合上述的數(shù)學(xué)運(yùn)算過程可分別如式(2)~(5)所示:
Qmid=tanh(WqhHq+WhQmean?eBLSTM)
(2)
aq=softmax(wTQmid)
(3)
sq=Hq(aq)T
(4)
(5)
其中,Wqh,Wh∈RF*h,eBLSTM,wT∈Rh;F表示句內(nèi)注意力機(jī)制層所提取到的特征維度;h表示隱含層維度;eBLSTM表示雙向LSTM的序列長度,并在反向傳播(BPTT算法)的過程中調(diào)整詞向量的權(quán)重。
在雙向LSTM中,每一個(gè)時(shí)間步的隱藏層輸出都是結(jié)合了2個(gè)方向LSTM的輸出。換言之,整個(gè)問題句和答案句的上下文信息都得到了適當(dāng)兼顧。由式(5)可知,每個(gè)時(shí)間步最終輸出的yt,經(jīng)過softmax得到了候選答案句是否為真實(shí)答案的概率。
2.2.2 引入層疊注意力機(jī)制的特征提取
考慮到問答系統(tǒng)的特殊性,應(yīng)當(dāng)著重評估問題句與回答句之間的依賴關(guān)系,問題句中并不是每一個(gè)詞都會對下一個(gè)狀態(tài)的生成來發(fā)揮影響。以“造成心肌缺血的原因有哪些?”為例,直觀地講,“造成”一詞對答案的影響較低。實(shí)驗(yàn)基于Attention對問題句與候選答案句進(jìn)行建模,研究得出其結(jié)構(gòu)設(shè)計(jì)即如圖2所示。
網(wǎng)絡(luò)對于輸入包括含有n個(gè)詞的問題句Q,含有m個(gè)詞的候選答案句C,首先經(jīng)過雙向LSTM得到問題句與候選答案句每個(gè)詞在句中的向量表示,通過計(jì)算構(gòu)建一個(gè)成對的匹配性矩陣。給定問題句中第i個(gè)詞和候選答案句中第j個(gè)詞,利用點(diǎn)乘得到兩者的匹配得分的計(jì)算公式如下所示:
M(i,j)=hquestion(i)Thcandidate(j)
(6)
圖2 引入層疊注意力機(jī)制答案選擇模型結(jié)構(gòu)
Fig.2Answerselectionmodelbasedonattention-over-attentionmechanisn
這樣,就可以計(jì)算出每個(gè)問題句與候選答案詞的匹配分?jǐn)?shù),形成匹配矩陣M∈R|Q|*|C|,|Q|為問題句的長度,|C|為候選答案句的長度,這些都在預(yù)處理期間采用了固定值,矩陣中第i行、第j列即為匹配得分M(i,j)。根據(jù)匹配性矩陣,先計(jì)算t時(shí)刻問題句中每個(gè)詞的重要性分布,通過一個(gè)按列softmax函數(shù)得到Q2C的匹配得分的數(shù)學(xué)運(yùn)算表達(dá)可如式(7)~(8)所示:
q2c(t)=softmax(M(1,t),M(2,t),…,M(|Q|,t)
(7)
Q2C=[c2q(1),c2q(2),…,c2q(|C|)]
(8)
再進(jìn)行一個(gè)按行softmax函數(shù)得到C2Q的匹配得分的數(shù)學(xué)運(yùn)算表達(dá)可如公式(9)~(10)所示:
c2q(t)=softmax(M(t,1),M(t,2),…,M(t,|C|))
(9)
(10)
通過向量內(nèi)積計(jì)算出層疊注意力機(jī)制得分,由此每個(gè)問題句和候選答案句的重要性能夠得到更好的學(xué)習(xí)。為了確定正確的候選答案句,將一些專有名詞與問題句中出現(xiàn)的問題詞進(jìn)行匹配是十分必要的。然而,許多專有名詞都不在研究選取的詞表當(dāng)中,這是為了避免更新詞表嵌入專有名詞的同時(shí)帶入噪聲。如“肝膽”和“胰”的詞向量表示是十分接近的,因此在確認(rèn)是否為正確的候選答案句時(shí)對這2個(gè)詞加以區(qū)分即是至關(guān)重要的。為了彌補(bǔ)分布式表示的這一不足,研究給出將其與詞匹配特征拼接的研究運(yùn)算公式可順次表示如下:
sq=Q2CT·C2Q
(11)
w=linear([wq,wc])
(12)
s=[sq,w]
(13)
其中,sq,wq∈R|Q|,wc∈R|C|,w∈R2。wq與wc為問題句與候選答案句中各個(gè)詞的匹配結(jié)果,兩者拼接后經(jīng)過線性變換訓(xùn)練得到一個(gè)二維的詞級別匹配結(jié)果;sq為層疊注意力機(jī)制提取的特征,將其與w拼接后通過softmax分類器得到最終結(jié)果。
答案選擇的語料來自2017年百度發(fā)布的DuReader數(shù)據(jù)集,以及2016年國際自然語言處理與中文計(jì)算會議發(fā)布的DBQA數(shù)據(jù)集。
DuReader對用戶熱門提問從百度搜索或百度知道進(jìn)行檢索,收集相關(guān)網(wǎng)頁,將網(wǎng)頁主要段落抽取整合為文檔,人工標(biāo)注了每篇文檔中與問題最相關(guān)的段落,標(biāo)簽為最相關(guān)段落中的所有答案句標(biāo)注為1,其余答案句為0。考慮到將為用戶生成內(nèi)容,對數(shù)據(jù)集進(jìn)行答案過濾,刪除無關(guān)高頻句,如“謝謝您的提問”、“歡迎采用我的答案”、“百度一下你就知道”等,共得到116 382個(gè)有效提問、548 940篇文檔。DBQA數(shù)據(jù)集中每篇文檔都包含一個(gè)問題與若干候選答案,并標(biāo)注了一個(gè)標(biāo)準(zhǔn)答案,對問答對進(jìn)行分詞、統(tǒng)計(jì)詞表、詞表過濾等操作,共得到14 767個(gè)有效問題、304 413組問答對,這里分詞使用的是語言技術(shù)平臺封裝的PyLTP工具。由于篇幅有限,語料中一個(gè)問題和其部分答案與標(biāo)注的示例詳情可見表1。
準(zhǔn)確率、召回率、F值都是利用無序的文檔集合進(jìn)行計(jì)算,而答案選擇過程中使用的是搜索引擎的語料,由其返回的結(jié)果通常都是有序的,參考調(diào)研結(jié)果,使用MAP(Mean Average Precision)與MRR(Mean Reciprocal Rank)作為評價(jià)指標(biāo)。結(jié)合研究目的,可得MRR的數(shù)學(xué)定義則如式(14)所示:
(14)
表1 語料示例
(15)
(16)
(17)
其中,AveP表示平均準(zhǔn)確率;m為標(biāo)準(zhǔn)答案的數(shù)量;n為預(yù)測答案數(shù)量;k為候選答案句在模型返回的n個(gè)預(yù)測答案中排名。若min(m,n)=0,那么AveP(C,A)=0;P(k)為到第k個(gè)預(yù)測答案為止的預(yù)測準(zhǔn)確率;rel(k)表示第k個(gè)預(yù)測答案是否為標(biāo)準(zhǔn)答案。
運(yùn)行得到的實(shí)驗(yàn)結(jié)果可見表2。
表2 模型在特征組合中的最優(yōu)結(jié)果
考慮到訓(xùn)練樣本中正、負(fù)例數(shù)據(jù)不均衡,比例約為10∶1,實(shí)驗(yàn)初期采用上采樣與下采樣的方式對數(shù)據(jù)集進(jìn)行處理,但是由于上采樣中反復(fù)出現(xiàn)一些樣本,導(dǎo)致模型整體過擬合。基于此,實(shí)驗(yàn)后期則采用加權(quán)的方式使得正、負(fù)例間的加權(quán)損失值近似相等,為了確保權(quán)重設(shè)置的合理性,在多種模型下進(jìn)行了實(shí)驗(yàn),最終研究得到當(dāng)基于注意力機(jī)制的模型在權(quán)重比為6∶1時(shí)可取得最佳實(shí)驗(yàn)結(jié)果。
為了進(jìn)一步驗(yàn)證本文的實(shí)驗(yàn)效果,將準(zhǔn)確率與宏觀F1值也納入了評估標(biāo)準(zhǔn),實(shí)驗(yàn)將基于LSTM的答案選擇方法作為基線,該方法在語料中的MAP與MRR指數(shù)分別達(dá)到0.339 5以及0.339 4。而加入詞匹配方法后兩者都得到了明顯的提升,說明加入詞匹配特征的特征提取方法能夠有效改善專有名詞的匹配情況。
基于句內(nèi)注意力模型的答案選擇方法在各方面都優(yōu)于基線方法,但是與加入詞匹配的基線方法仍有一定差距,究其原因可能是預(yù)訓(xùn)練詞表過小導(dǎo)致未登錄詞過多影響了模型的訓(xùn)練效果。而基于層疊注意力模型的答案選擇方法優(yōu)于基于句內(nèi)注意力模型的答案選擇方法,這就表明前者能夠更好地捕捉問題句與候選答案句間的語義邏輯關(guān)系,為了使模型效果能夠更趨理想,在此基礎(chǔ)上添加了詞匹配特征,實(shí)驗(yàn)在語料中MAP達(dá)到0.804 9,取得了最優(yōu)效果,在MRR指標(biāo)上略低于加入詞匹配特征的基線方法。層疊注意力模型對整體準(zhǔn)確性也進(jìn)行了一定的優(yōu)化,這也說明其在判斷候選答案句是否為正確的答案句時(shí)有著出色的表現(xiàn)。
本文嘗試在答案選擇任務(wù)中融入注意力機(jī)制,計(jì)算問題句與候選答案句之間的語義相關(guān)性,訓(xùn)練其排序與標(biāo)注結(jié)果。實(shí)驗(yàn)證明層疊注意力機(jī)制能夠有效作用于答案選擇效果,對比基線方法有著明顯的改善。本文主要的貢獻(xiàn)是通過層疊注意力機(jī)制,增強(qiáng)了模型捕捉句間語義邏輯關(guān)系的能力,通過詞匹配方法增強(qiáng)模型對未登錄詞的匹配情況,最終提升了答案選擇效果。