張衍坤,陳羽中,劉漳輝
(福州大學(xué) 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,福州 350116) (福建省網(wǎng)絡(luò)計(jì)算與智能信息處理重點(diǎn)實(shí)驗(yàn)室,福州 350116)
E-mail:zhliu@163.com
近年來(lái),社區(qū)問(wèn)答網(wǎng)站越來(lái)越受到人們的歡迎,人們可以在問(wèn)答社區(qū)上提問(wèn),同時(shí)也能夠回答其他人的提問(wèn).對(duì)于一個(gè)問(wèn)題可以由多個(gè)社區(qū)成員進(jìn)行回答,用戶通過(guò)他人的回答來(lái)得到正確的答案,隨著社區(qū)問(wèn)答的發(fā)展,大量的問(wèn)題和答案形成了特定的知識(shí)庫(kù),自動(dòng)為問(wèn)題匹配正確的答案也成為智能問(wèn)答的一個(gè)重要的任務(wù).
表1展示了一個(gè)CQA問(wèn)答的經(jīng)典例子,答案C1和C2是好的答案,都對(duì)提問(wèn)者有幫助,C3是對(duì)C1和C2的回復(fù),表達(dá)了對(duì)這兩個(gè)回答者的感謝.C4是對(duì)C1的進(jìn)一步補(bǔ)充回答,C5表達(dá)了對(duì)C4答案的認(rèn)同,C5和C3有助于確定之前的答案是好答案、壞答案或潛在有幫助的答案,但本身不包含對(duì)問(wèn)題有用的信息,因此被視為壞答案.除此之外,問(wèn)題和答案的文本長(zhǎng)度較短,且由不規(guī)范,非正式的句子組成.可以看出,CQA問(wèn)答具有序列上下文相關(guān),且問(wèn)答對(duì)匹配較為復(fù)雜的特點(diǎn).
對(duì)于社區(qū)問(wèn)答中的問(wèn)答匹配,現(xiàn)有方法大都通過(guò)問(wèn)答之間的語(yǔ)義進(jìn)行匹配.較早的工作主要是通過(guò)特征工程對(duì)候選答案進(jìn)行匹配,工作量較大,也難以適應(yīng)不同的問(wèn)題領(lǐng)域.
隨著深度學(xué)習(xí)的發(fā)展,目前有許多研究工作利用深度學(xué)習(xí)來(lái)進(jìn)行問(wèn)題和答案對(duì)間的匹配.一些方法基于CNN來(lái)抽取問(wèn)答對(duì)的語(yǔ)義進(jìn)行問(wèn)答匹配[1,2].另外一些方法在通過(guò)CNN學(xué)習(xí)問(wèn)答對(duì)的語(yǔ)義的基礎(chǔ)上,利用LSTM學(xué)習(xí)問(wèn)答序列的上下文相關(guān)性[3,4].除此之外,一些方法引入注意力機(jī)制來(lái)對(duì)問(wèn)答對(duì)進(jìn)行匹配[5,6].與特征工程方法相比,深度學(xué)習(xí)方法無(wú)需進(jìn)行復(fù)雜的特征選擇工作.
先前的研究工作在社區(qū)問(wèn)答中的問(wèn)答匹配問(wèn)題上取得了一定的效果,但是問(wèn)答匹配仍然是一件具有挑戰(zhàn)性的任務(wù),其原因主要在于:1)問(wèn)題和答案之間存在詞匯鴻溝,數(shù)據(jù)具有稀疏性;2)答案質(zhì)量不一,并且有些回答是用戶之間的討論,上下文具有相關(guān)性.3)不同回答者更可能對(duì)擅長(zhǎng)的領(lǐng)域提供高質(zhì)量的答案,分析用戶所擅長(zhǎng)領(lǐng)域,有助于減輕數(shù)據(jù)的稀疏性問(wèn)題,提升問(wèn)答匹配的效果.
表1 社區(qū)問(wèn)答案例Table 1 Example of CQA
針對(duì)上述問(wèn)題,基于社區(qū)問(wèn)答的問(wèn)答匹配方法應(yīng)從問(wèn)題/答案的語(yǔ)義相關(guān)性、答案序列的上下文相關(guān)性、用戶-問(wèn)題的相關(guān)性三個(gè)方面入手.因此,本文提出了一種面向社區(qū)問(wèn)答匹配的混合神經(jīng)網(wǎng)絡(luò)模型HNNMA(Hybrid Neural Network with Multi-dimensional Attention),工作的主要貢獻(xiàn)可歸納如下:
·融合CNN和LSTM,更加準(zhǔn)確地學(xué)習(xí)問(wèn)答對(duì)的語(yǔ)義信息和上下文相關(guān)性.
·對(duì)用戶歷史回答進(jìn)行建模,通過(guò)注意力機(jī)制分析問(wèn)題與用戶歷史回答之間的相關(guān)性,提升問(wèn)答匹配的效果.
·在SemEval-2015CQA官方數(shù)據(jù)集上與多個(gè)現(xiàn)有的模型進(jìn)行了實(shí)驗(yàn)對(duì)比,驗(yàn)證了HNNMA模型的有效性.
問(wèn)答匹配是社區(qū)問(wèn)答的一項(xiàng)關(guān)鍵性任務(wù),通??杀徽J(rèn)為是分類或者排序任務(wù).早期的問(wèn)答匹配研究多基于特征工程的、語(yǔ)言工具和外部資源等方法.文獻(xiàn)[7]利用線索級(jí)特征來(lái)改進(jìn)問(wèn)答匹配分類的性能.文獻(xiàn)[8]提取詞匹配特征,非文本特征等5組特征后,使用SVM對(duì)答案質(zhì)量進(jìn)行預(yù)測(cè).文獻(xiàn)[9]提出了層次分類的方法,其使用集成學(xué)習(xí)以先將答案分成好壞兩類,再對(duì)壞答案進(jìn)行細(xì)分的方式來(lái)進(jìn)行問(wèn)答匹配.文獻(xiàn)[10]使用基于樹(shù)編輯的特征,構(gòu)造一個(gè)線性鏈條件隨機(jī)場(chǎng),將社區(qū)問(wèn)答的問(wèn)答匹配看作答案序列標(biāo)注問(wèn)題.文獻(xiàn)[11]結(jié)合句法和淺層語(yǔ)義信息,使用SVM進(jìn)行訓(xùn)練,實(shí)驗(yàn)表明兩者在問(wèn)答匹配上具有一定的貢獻(xiàn).上述方法往往需要手工進(jìn)行特征構(gòu)造,工作量大,并且對(duì)領(lǐng)域知識(shí)有一定的要求,也難以處理多語(yǔ)言的問(wèn)答匹配問(wèn)題.
近年來(lái)深度學(xué)習(xí)在包括社區(qū)問(wèn)答在內(nèi)的很多領(lǐng)域獲得了應(yīng)用.文獻(xiàn)[1]基于CNN來(lái)計(jì)算語(yǔ)義,不需要額外的語(yǔ)義分析工具,而是引入問(wèn)答對(duì)詞之間的相關(guān)程度作為特征附加到詞向量矩陣,輸入CNN中來(lái)得到問(wèn)答對(duì)匹配分?jǐn)?shù).文獻(xiàn)[2]提出了結(jié)合全局句子語(yǔ)義信息和局部特征的CNN模型進(jìn)行問(wèn)答匹配.文獻(xiàn)[12]使用LSTM與2D神經(jīng)網(wǎng)絡(luò)等深度學(xué)習(xí)模型進(jìn)行語(yǔ)義特征提取,并與傳統(tǒng)的NLP特征相融合來(lái)進(jìn)行問(wèn)答匹配.在提取問(wèn)答對(duì)語(yǔ)義信息的同時(shí),問(wèn)答序列的上下文相關(guān)性也得到了關(guān)注.文獻(xiàn)[3]將問(wèn)答匹配看作序列標(biāo)注問(wèn)題,使用CNN學(xué)習(xí)問(wèn)題和答案的語(yǔ)義表示,使用LSTM學(xué)習(xí)答案序列的上下文相關(guān)性.文獻(xiàn)[4]在文獻(xiàn)[3]的基礎(chǔ)上設(shè)計(jì)了一個(gè)雙階段策略來(lái)提高上下文相關(guān)性的學(xué)習(xí)能力,并結(jié)合線索特征來(lái)進(jìn)行問(wèn)答匹配.
除此之外,一些研究在問(wèn)答匹配模型中引入了注意力機(jī)制.文獻(xiàn)[5]在LSTM上使用注意力機(jī)制來(lái)增強(qiáng)對(duì)問(wèn)答序列的上下文相關(guān)性的學(xué)習(xí),并結(jié)合條件隨機(jī)場(chǎng)來(lái)進(jìn)行問(wèn)答匹配.文獻(xiàn)[6]結(jié)合RNN與CNN,并加入注意力機(jī)制來(lái)學(xué)習(xí)問(wèn)答對(duì)的語(yǔ)義匹配關(guān)系以進(jìn)行問(wèn)答匹配.文獻(xiàn)[13]認(rèn)為問(wèn)題主題和問(wèn)題主體具有相似性和差異性,使用多重注意力機(jī)制[14]學(xué)習(xí)問(wèn)答對(duì)的語(yǔ)義相似度.文獻(xiàn)[15]使用混合注意力機(jī)制學(xué)習(xí)句子中的局部相關(guān)性和句子間的相關(guān)性,進(jìn)行問(wèn)答對(duì)匹配,并利用CNN學(xué)習(xí)用戶的歷史回答,從而對(duì)用戶建模.文獻(xiàn)[16]使用transformer network[17]的多頭注意力機(jī)制來(lái)對(duì)詞向量間的依賴關(guān)系建模,再輸入LSTM來(lái)獲取問(wèn)題或者答案句中的全局信息和序列特征,最后通過(guò)加權(quán)平均池化,最大池化,注意力池化三種聚合策略來(lái)產(chǎn)生句子的向量從而進(jìn)行問(wèn)答對(duì)匹配.
上述方法雖然考慮到問(wèn)答序列的上下文相關(guān)性,但抽取文本的長(zhǎng)距離信息的能力較差,本文的HNNMA模型引入類似文獻(xiàn)[18]的CNN架構(gòu),能夠抽取更長(zhǎng)距離語(yǔ)義信息,更加準(zhǔn)確的抽取問(wèn)答對(duì)的語(yǔ)義,以便于問(wèn)答對(duì)的語(yǔ)義匹配和上下文相關(guān)性學(xué)習(xí).用戶的歷史回答在一定程度上反應(yīng)了用戶的興趣點(diǎn)和擅長(zhǎng)領(lǐng)域,也是用戶權(quán)威度的體現(xiàn).文獻(xiàn)[15]雖然有對(duì)用戶進(jìn)行建模,但是只是簡(jiǎn)單的通過(guò)卷積網(wǎng)絡(luò)得到用戶的向量表示,沒(méi)有實(shí)際與問(wèn)題交互.文獻(xiàn)[14]提出了多維注意力機(jī)制,其與傳統(tǒng)注意力機(jī)制不同之處在于計(jì)算的注意力分?jǐn)?shù)是一個(gè)特征向量,而不是一個(gè)張量,能夠?qū)W習(xí)到更多維度的語(yǔ)義特征.文獻(xiàn)[13]采用了多維度注意力機(jī)制,但是只是在問(wèn)答對(duì)之間進(jìn)行交互.本文的HNNMA模型使用多維度注意力機(jī)制分析問(wèn)題和用戶歷史回答的相關(guān)性,判斷用戶擅長(zhǎng)領(lǐng)域和當(dāng)前問(wèn)題的相關(guān)性,從而得到更加準(zhǔn)確的用戶表示.最后通過(guò)用戶表示和問(wèn)答對(duì)表示的融合提升問(wèn)答匹配的精度.
本文將社區(qū)問(wèn)答中的問(wèn)答匹配作為分類任務(wù).模型的總體架構(gòu)如圖1所示,其中模型包括以下組件:詞向量層,問(wèn)答對(duì)語(yǔ)義層,問(wèn)答序列上下文相關(guān)性層,用戶模型層,特征融合和歸一化層.
對(duì)問(wèn)題、答案和用戶歷史回答的輸入句子,用s=[w1,w2,…,wk]來(lái)表示,k表示輸入句子長(zhǎng)度,wk表示第k個(gè)單詞對(duì)應(yīng)的詞向量,wk∈Rd,d是詞向量的維度大小.
對(duì)給定的問(wèn)題和對(duì)應(yīng)候選答案池中的每個(gè)答案,可以形成問(wèn)答對(duì)(q,at),q表示問(wèn)題,at表示第t個(gè)候選答案,使用CNN來(lái)對(duì)問(wèn)答對(duì)的語(yǔ)義進(jìn)行學(xué)習(xí).CNN在自然語(yǔ)言處理任務(wù)中的文本分類廣泛使用,并取得了不錯(cuò)的效果[18,19],其中文獻(xiàn)[18]提出的深度金字塔卷積網(wǎng)絡(luò)是嚴(yán)格意義上第一個(gè)單詞級(jí)別上的深層文本分類卷積網(wǎng)絡(luò),文獻(xiàn)[19]對(duì)文本的長(zhǎng)距離依賴關(guān)系學(xué)習(xí)的能力較弱,但是文獻(xiàn)[18]網(wǎng)絡(luò)層數(shù)更深,所以可以學(xué)習(xí)到更長(zhǎng)距離的文本依賴關(guān)系.因此使用類似文獻(xiàn)[18]的CNN架構(gòu)來(lái)學(xué)習(xí)問(wèn)答對(duì)的語(yǔ)義表示,對(duì)于輸入的問(wèn)答對(duì)句子(q,at),使用并列的CNN架構(gòu)來(lái)分別得到句子的語(yǔ)義表示.
對(duì)輸入句子s,首先進(jìn)行一維卷積,卷積核為3,過(guò)濾器數(shù)量為250,結(jié)果作為CNN架構(gòu)最底層的輸入向量,接著對(duì)向量進(jìn)行兩次的等長(zhǎng)一維卷積操作,卷積大小為3,過(guò)濾器數(shù)量為250.同時(shí),為了避免梯度彌散問(wèn)題,使用文獻(xiàn)[20]的shortcut方法對(duì)區(qū)域向量和兩次卷積后的向量連接.使用大小為3,步長(zhǎng)為2的最大池化對(duì)向量序列進(jìn)行處理,增加網(wǎng)絡(luò)能夠感知到的文本片段,再進(jìn)行兩次的等長(zhǎng)卷積操作,重復(fù)兩次池化卷積操作.最后得到語(yǔ)義表示vq和va.對(duì)于輸入問(wèn)答對(duì)(q,at),
vq=CNNq(q,Wq)
(1)
va=CNNa(at,Wa)
(2)
其中,vq,va分別是問(wèn)答對(duì)經(jīng)過(guò)CNN后學(xué)習(xí)到的語(yǔ)義表示,Wq,Wa分別是CNN模型的參數(shù).
為了學(xué)習(xí)到問(wèn)題和答案對(duì)(q,at)的融合語(yǔ)義表示,將vq,va連接,vqa=[vq,va]輸入到隱藏層獲得聯(lián)合語(yǔ)義表示st.
st=σ(Whvqa+bh)
(3)
其中Wh,bh是隱藏層的參數(shù),σ是relu激活函數(shù).
在社區(qū)問(wèn)答中,對(duì)回答者的答案并沒(méi)有嚴(yán)格的要求,因此答案有可能是提問(wèn)者經(jīng)過(guò)實(shí)踐后對(duì)上一個(gè)回答者的答案表示認(rèn)同或者感謝.也可能是回答者對(duì)問(wèn)題的一系列討論,如當(dāng)一個(gè)答案內(nèi)容不詳細(xì)或者不正確時(shí),其他回答者有可能對(duì)這個(gè)答案進(jìn)行補(bǔ)充或者反駁.因此社區(qū)問(wèn)答的問(wèn)題和答案序列間存在著一定且關(guān)鍵的上下文關(guān)系.
LSTM被廣泛應(yīng)用于對(duì)文本上下文關(guān)系的學(xué)習(xí).LSTM包括輸入門it,遺忘門ft,輸出門ot和記憶單元ct.對(duì)一個(gè)問(wèn)題答案對(duì)序列R,使用問(wèn)題答案對(duì)的語(yǔ)義序列進(jìn)行表示.R=[s1,…,st,…,sn],st表示第t個(gè)問(wèn)答對(duì)的語(yǔ)義表示,n表示問(wèn)題答案對(duì)的語(yǔ)義序列長(zhǎng)度.將每個(gè)問(wèn)答對(duì)語(yǔ)義表示作為一個(gè)時(shí)間步輸入到Bi-LSTM中進(jìn)行學(xué)習(xí).則對(duì)第t個(gè)時(shí)間步st有:
it=σ(Wsist+Whiht-1+bi)
(4)
ft=σ(Wsfst+Whfht-1+bf)
(5)
ct=ftct-1+ittanh(Wscst+Whcht-1+bc
(6)
ot=tanh(Wsost+Whoht-1+bo)
(7)
ht=ottanh(ct)
(8)
其中,Wsi,Whi,bi,Wsf,Whf,bf,Wsc,Whc,bc,Wso,Who,bo是可訓(xùn)練參數(shù),σ是sigmoid激活函數(shù).
在社區(qū)問(wèn)答匹配問(wèn)題中,數(shù)據(jù)的稀疏性和詞匯鴻溝是兩個(gè)關(guān)鍵性的挑戰(zhàn),特別是當(dāng)多數(shù)回答十分簡(jiǎn)短時(shí).因此可以通過(guò)使用用戶的歷史回答來(lái)對(duì)用戶建模.類似文獻(xiàn)[13],本文采用多維度注意力機(jī)制來(lái)對(duì)用戶建模,使用戶歷史回答和問(wèn)題進(jìn)行交互,從而更好地學(xué)習(xí)問(wèn)題和用戶歷史回答文本間的相關(guān)性,如圖2所示.
圖2 基于多維注意力機(jī)制的用戶建模結(jié)構(gòu)Fig.2 User modeling structure based on multi-dimensional attention mechanism
qs=[s1,s2,…,sl]
(9)
qb=[b1,b2,…,bm]
(10)
(11)
(12)
其中qs是問(wèn)題主題的詞向量表示,si表示問(wèn)題主題第i個(gè)詞的向量化表示,qb是問(wèn)題主體的詞向量表示,bj表示問(wèn)題主體第j個(gè)詞的向量化表示.
通過(guò)全連接層計(jì)算多維注意力權(quán)重,激活函數(shù)為tanh函數(shù),然后將獲得的向量歸一化計(jì)算,最后得到的輸出是問(wèn)題主體中的每個(gè)詞向量乘上對(duì)問(wèn)題主題的詞向量注意力權(quán)重的乘積之和,計(jì)算公式如下:
(13)
(14)
(15)
獲取問(wèn)題的相似表征向量,計(jì)算公式如下:
Fp=σ(Wqfqs+WsfSap+bf)
(16)
Sp=FpΘqs+(1-Fp)ΘSap
(17)
其中Wqf,Wsf,bf是訓(xùn)練參數(shù),σ是激活函數(shù),Θ表示逐點(diǎn)相乘,得到問(wèn)題的相似表征向量Sp,類似得到問(wèn)題的差異表征向量So,將Sp和So和連接得到問(wèn)題表征向量Qr.
將問(wèn)題和用戶歷史回答對(duì)齊,計(jì)算問(wèn)題表征Qr和用戶歷史回答表征Ua的注意力加權(quán)和,計(jì)算公式如下:
(18)
(19)
(20)
(21)
將問(wèn)題和用戶歷史回答對(duì)齊,通過(guò)多維注意力機(jī)制得到問(wèn)題表征qsum和用戶歷史回答表征向量usum,計(jì)算公式如下:
As=Watanh(WsaSai+bs)+bas
(22)
(23)
其中Wa,Wsa,bs,bas是可訓(xùn)練的參數(shù),usum通過(guò)同樣的方法得到.
最后將問(wèn)題的表征向量和用戶的歷史表征回答向量連接,得到用戶表征向量:
Ur=[qsum,usum]
(24)
對(duì)得到的問(wèn)答對(duì)表征向量ht,t表示第t個(gè)問(wèn)答對(duì),和用戶表示向量Ur,使用一個(gè)隱藏層來(lái)對(duì)特征學(xué)習(xí)以便于將特征融合.
h=tanh(Wqaht+WuUr)
(25)
其中Wqa,Wu是可訓(xùn)練的參數(shù),h是最終的向量表示.
將得到的最終向量表示h輸入到softmax進(jìn)行歸一化操作,計(jì)算答案屬于各個(gè)類別的概率:
p(yi)=softmax(h)
(26)
其中,p(yi)為預(yù)測(cè)為類別i的概率,0≤p(yi)≤1,L為類別的總數(shù).
模型訓(xùn)練的目標(biāo)是最小化損失函數(shù),損失函數(shù)的計(jì)算公式如下:
(27)
其中D為問(wèn)答對(duì)訓(xùn)練集.t∈{0,1,2},0表示答案是好的,1表示答案是潛在有幫助的,2表示答案是壞的.通過(guò)梯度優(yōu)化算法AdaGrad進(jìn)行學(xué)習(xí)率更新以及利用反向傳播迭代更新模型參數(shù),以最小化損失函數(shù)來(lái)訓(xùn)練模型.
本文實(shí)驗(yàn)采用SemEval-2015CQA數(shù)據(jù)集對(duì)提出的模型進(jìn)行評(píng)估.在SemEval-2015CQA數(shù)據(jù)集中,每個(gè)問(wèn)題有對(duì)應(yīng)的候選答案池,對(duì)應(yīng)若干個(gè)答案.數(shù)據(jù)集分為已標(biāo)注的數(shù)據(jù)和未標(biāo)注的數(shù)據(jù).在已標(biāo)注的數(shù)據(jù)中,每個(gè)答案被分為3類中的其中一類:好的,壞的,潛在有幫助的.數(shù)據(jù)集的統(tǒng)計(jì)信息如表2所示,數(shù)據(jù)集來(lái)自QatarLiving(1)https://www.qatarliving.com/forum論壇,且每個(gè)問(wèn)題和答案包含用戶id.實(shí)驗(yàn)采用Macro-F1、Macro-precision以及Macro-recall作為評(píng)估指標(biāo).
表2 SemEval-2015社區(qū)問(wèn)答數(shù)據(jù)集的統(tǒng)計(jì)Table 2 Statistics of SemEval-2015 dataset
首先對(duì)數(shù)據(jù)集包含的問(wèn)答對(duì)進(jìn)行預(yù)處理,詞向量使用預(yù)訓(xùn)練的Glove詞向量,通過(guò)300維的Glove詞向量將所有的詞進(jìn)行詞向量化,對(duì)于未登錄詞使用全0的詞向量表示.將問(wèn)題、答案和用戶歷史回答的長(zhǎng)度分別設(shè)為100,100,400的固定值,當(dāng)文本長(zhǎng)度小于設(shè)定長(zhǎng)度時(shí)用0填充,大于設(shè)定長(zhǎng)度時(shí)截?cái)?在卷積網(wǎng)絡(luò)中,過(guò)濾器的寬度設(shè)為3,過(guò)濾器的大小設(shè)為250.在長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)中,記憶單元的數(shù)量設(shè)為360.L2系數(shù)設(shè)為0.01.
實(shí)驗(yàn)包含以下部分:1)模型HNNMA和對(duì)比算法在SemEval-2015CQA數(shù)據(jù)集上的實(shí)驗(yàn)性能對(duì)比.2)模型HNNMA和對(duì)比算法在好的、壞的和潛在有用的3個(gè)類別上的性能對(duì)比,評(píng)估指標(biāo)為Macro-F1.3)不同詞向量對(duì)模型HNNMA的實(shí)驗(yàn)性能的影響.4)各個(gè)子模型對(duì)模型HNNMA性能的貢獻(xiàn)分析.
實(shí)驗(yàn)所對(duì)比的算法包括基于特征工程的JAIST[8]、HITSZ[9],以及基于深度學(xué)習(xí)的F-RCNN[3]、B-RCNN+[4]以及A-ARC[5]等算法.
·JAIST:將特征分為5組,如詞匹配特征組,非文本特征組,基于詞向量的特征等.然后使用SVM-regression模型來(lái)對(duì)特征進(jìn)行學(xué)習(xí)從而對(duì)答案質(zhì)量進(jìn)行預(yù)測(cè).
·HITSZ:對(duì)答案使用兩級(jí)層次分類,先分成兩類再對(duì)第一級(jí)分類進(jìn)行細(xì)分.除此之外,使用多個(gè)分類器同時(shí)進(jìn)行學(xué)習(xí),選擇前N個(gè)分類器投票作為最終的結(jié)果.
·F-RCNN:結(jié)合CNN和前向RNN來(lái)對(duì)問(wèn)答對(duì)序列進(jìn)行處理.首先使用CNN分別對(duì)問(wèn)答對(duì)句子語(yǔ)義進(jìn)行學(xué)習(xí),然后使用前向RNN對(duì)問(wèn)答對(duì)語(yǔ)義序列上下文相關(guān)性進(jìn)行學(xué)習(xí),最后使用softmax來(lái)對(duì)答案進(jìn)行分類.
·B-RCNN+:相比F-RCNN,在CNN上使用了雙向RNN,并且添加了額外的外部特征向量,在雙向RNN訓(xùn)練時(shí)進(jìn)行微調(diào)的操作.用B-RCNN表示未經(jīng)過(guò)微調(diào)和添加外部特征的深度學(xué)習(xí)模型.
·A-ARC:提出了一個(gè)帶有注意力機(jī)制的深度神經(jīng)網(wǎng)絡(luò),在CNN對(duì)句子編碼后,使用帶有注意力機(jī)制的LSTM來(lái)對(duì)答案序列間相關(guān)性學(xué)習(xí),然后輸入條件隨機(jī)場(chǎng)來(lái)進(jìn)行學(xué)習(xí)問(wèn)答匹配.
表3是HNNMA模型和對(duì)比算法在SemEval-2015CQA數(shù)據(jù)集上的Macro-average分?jǐn)?shù)對(duì)比結(jié)果.表4是HNNMA模型和對(duì)比算法在好的,壞的,潛在有幫助的這3個(gè)類別上的Macro-F1分?jǐn)?shù)對(duì)比結(jié)果.從表3中可以看到,HNNMA取得了優(yōu)于其他對(duì)比算法的結(jié)果,其中在Macro-P上優(yōu)于最優(yōu)對(duì)比算法0.15%,在Macro-R上優(yōu)于最優(yōu)對(duì)比算法0.63%,在Macro-F1上,HNNMA相對(duì)最優(yōu)對(duì)比算法B-RCNN+提高0.69%.但是B-RCNN+在深度學(xué)習(xí)模型的基礎(chǔ)上,引入了外部特征.在同樣沒(méi)有引入外部特征的情況下,HNNMA模型相對(duì)模型B-RCNN提高2.64%,相對(duì)于排名第二的對(duì)比算法A-ARC提高了1.11%,證明了HNNMA模型的有效性.
表3 SemEval-2015數(shù)據(jù)集性能比較結(jié)果Table 3 Comparison on Semeval-2015 data set
表3中的JAIST和HITSZ需要大量的特征工程工作,而HNNMA是一個(gè)端到端的深度學(xué)習(xí)模型,通過(guò)訓(xùn)練能夠自動(dòng)得到特征向量,從而避免大量人工提取特征.從實(shí)驗(yàn)結(jié)果來(lái)看,HNNMA獲得了遠(yuǎn)超JAIST與HTISZ的性能,表明其自動(dòng)學(xué)到的特征向量更為有效.對(duì)比F-RCNN與A-ARC的結(jié)果發(fā)現(xiàn),可以通過(guò)學(xué)習(xí)問(wèn)答對(duì)語(yǔ)義和語(yǔ)義序列相關(guān)性提高問(wèn)答匹配的效果.基于上述想法,使用類似文獻(xiàn)[18]的架構(gòu)來(lái)對(duì)問(wèn)答對(duì)的語(yǔ)義進(jìn)行學(xué)習(xí),從而更好地學(xué)習(xí)問(wèn)答對(duì)的上下文相關(guān)性.從表3可以看到實(shí)驗(yàn)結(jié)果得到提高,表明對(duì)問(wèn)答對(duì)的語(yǔ)義和問(wèn)答序列的上下文相關(guān)性學(xué)習(xí)性能得到改善.
從表4可以發(fā)現(xiàn),HNNMA在3個(gè)分類上的都取得了較高的評(píng)分,在潛在有幫助的類別上,更是取得了24.30%的最高M(jìn)acro-F1分?jǐn)?shù).潛在有幫助的類是中間類,也是最小的類,只有訓(xùn)練數(shù)據(jù)的10%是中間類.通過(guò)比較可以得到,HNNMA模型在其他類性能接近的情況下,能夠更好地識(shí)別潛在有幫助的類.HNNMA在潛在答案上性能有所提高的原因在于能夠更好地捕捉問(wèn)題和答案序列的語(yǔ)義相關(guān)性,有利于識(shí)別潛在答案.因?yàn)闈撛诖鸢缚赡馨糠执鸢感畔ⅲ蛘呤菍?duì)好的答案的評(píng)論和補(bǔ)充.除此之外,用戶建模也有所幫助,其原因是有經(jīng)驗(yàn)或者對(duì)話題感興趣的用戶更能提供好的答案,其答案也更可能是潛在有用的.
表4 SemEval-2015數(shù)據(jù)集上的Macro-F1分?jǐn)?shù)Table 4 Macro-F1 scores on Semeval-2015 data set
表5顯示了不同詞向量模型對(duì)HNNMA的影響.本文分別使用100、200、300維的Glove詞向量以及word2vec詞向量進(jìn)行實(shí)驗(yàn).從表5可以看出,Glove詞向量能夠取得優(yōu)于word2vec的實(shí)驗(yàn)結(jié)果.在詞向量的維度上,維度更多的Glove詞向量能夠取得更好的實(shí)驗(yàn)結(jié)果,其原因在于維度多的詞向量包含更多的語(yǔ)義信息,更有利于識(shí)別出答案類別.
表5 HNNMA使用不同詞向量模型的性能比較Table 5 Performance of HNNMA model on different word embedding
除此之外,本文對(duì)模型子結(jié)構(gòu)對(duì)HNNMA的貢獻(xiàn)進(jìn)行對(duì)比實(shí)驗(yàn),HNNMA(CRNN)相較完整的HNNMA模型沒(méi)有使用多維注意力機(jī)制來(lái)對(duì)問(wèn)題和用戶歷史回答進(jìn)行交互,而是使用CNN學(xué)習(xí)問(wèn)答對(duì)的語(yǔ)義表示后,輸入Bi-LSTM對(duì)問(wèn)答序列間序列相關(guān)性進(jìn)行學(xué)習(xí).HNNMA(UCNN)相較完整的HNNMA模型沒(méi)有對(duì)問(wèn)答序列間的上下文相關(guān)性進(jìn)行學(xué)習(xí),而是使用CNN對(duì)問(wèn)答對(duì)語(yǔ)義進(jìn)行學(xué)習(xí),同時(shí)通過(guò)多注意力機(jī)制對(duì)用戶建模.
表6是子模型在SemEval-2015CQA數(shù)據(jù)集上的Macro-average分?jǐn)?shù)對(duì)比結(jié)果.表7是子模型在好的,壞的,潛在有幫助的這3個(gè)類別上的Macro-F1分?jǐn)?shù)對(duì)比結(jié)果.表6中HNNMA(CRNN)的Macro-F1分?jǐn)?shù)為57.78%,對(duì)比表3的B-RCNN的56.82%提高了0.96%,表明HNNMA模型能夠更好的對(duì)問(wèn)題和答案對(duì)的語(yǔ)義和問(wèn)題和答案對(duì)間的語(yǔ)義序列相關(guān)性進(jìn)行學(xué)習(xí).HNNMA(UCNN)的Macro-F1分?jǐn)?shù)為57.10%,實(shí)驗(yàn)結(jié)果同樣較B-RCNN高,表明對(duì)用戶歷史回答建模有利于問(wèn)答匹配.完整的HNNMA模型的Macro-F1分?jǐn)?shù)相較兩個(gè)子模型分別提高了1.68%和2.36%,表明兩個(gè)模型子結(jié)構(gòu)對(duì)HNNMA模型性能提高都有較大貢獻(xiàn).在表7可以看到,HNNMA(CRNN)和HNNMA(UCNN)與HNNMA相比,在好的和壞的這兩類上取得了相近的精度.但是在潛在有幫助類上,HNNMA模型取得遠(yuǎn)高于兩者的實(shí)驗(yàn)結(jié)果.實(shí)驗(yàn)表明這兩個(gè)模型子結(jié)構(gòu)有助于識(shí)別出潛在有幫助的類,能學(xué)習(xí)到有益于問(wèn)答匹配的不同隱藏信息.
表6 子模型性能比較Table 6 Performance comparison of submodels
表7 子模型在3個(gè)類別上的Macor-F1分?jǐn)?shù)Table 7 Macro-F1 scores of submodels on individual categories
本文提出了一種在社區(qū)問(wèn)答的問(wèn)答匹配的解決方案.首先使用CNN模型來(lái)對(duì)問(wèn)題和答案對(duì)的語(yǔ)義信息進(jìn)行抽取,再使用LSTM來(lái)對(duì)問(wèn)題和答案對(duì)語(yǔ)義序列間的上下文相關(guān)性進(jìn)行學(xué)習(xí).同時(shí),利用多維注意力機(jī)制來(lái)對(duì)用戶歷史回答和問(wèn)題交互,從而對(duì)用戶建模.通過(guò)結(jié)合問(wèn)答對(duì)語(yǔ)義和問(wèn)答對(duì)語(yǔ)義序列上下文相關(guān)性以及用戶建模來(lái)對(duì)答案進(jìn)行匹配.在SemEval-2015CQA數(shù)據(jù)集上進(jìn)行的實(shí)驗(yàn)表明,HNNMA模型在性能上優(yōu)于現(xiàn)有的系統(tǒng)和神經(jīng)網(wǎng)絡(luò)模型.HNNMA模型對(duì)問(wèn)題和答案對(duì)的序列上下文相關(guān)性和用戶建模的學(xué)習(xí)是有效的,能夠改善問(wèn)答匹配.在未來(lái),我們將考慮旋轉(zhuǎn)記憶單元[21]等模型對(duì)問(wèn)答對(duì)的語(yǔ)義序列上下文相關(guān)性進(jìn)行學(xué)習(xí),進(jìn)一步提升模型性能.