陳柯錦,許光鑾,郭 智,梁 霄
(1.中國(guó)科學(xué)院大學(xué)電子電氣與通信工程學(xué)院,北京 100049; 2.中國(guó)科學(xué)院電子學(xué)研究所,北京 100190; 3.中國(guó)科學(xué)院空間信息處理與應(yīng)用系統(tǒng)技術(shù)重點(diǎn)實(shí)驗(yàn)室,北京 100190)
隨著互聯(lián)網(wǎng)技術(shù)與人工智能的發(fā)展,自然語(yǔ)言處理相關(guān)領(lǐng)域得到研究者們?cè)絹?lái)越多的重視。傳統(tǒng)的搜索引擎技術(shù)采用關(guān)鍵字匹配和淺層語(yǔ)義分析已經(jīng)無(wú)法解決大數(shù)據(jù)時(shí)代的諸多問(wèn)題,用戶亟需一種快速準(zhǔn)確的信息獲取方式。智能問(wèn)答技術(shù)可對(duì)數(shù)據(jù)進(jìn)行更有效的組織和管理,借助人工智能相關(guān)技術(shù)對(duì)問(wèn)題和答案進(jìn)行深度語(yǔ)義分析,向用戶提供更為精確的答案,已經(jīng)被預(yù)見(jiàn)為下一代搜索引擎的核心技術(shù)。問(wèn)答系統(tǒng)主要分為基于Web檢索的問(wèn)答系統(tǒng)、基于社區(qū)的問(wèn)答系統(tǒng)以及基于知識(shí)圖譜的問(wèn)答系統(tǒng)。這3種問(wèn)答系統(tǒng)都包含問(wèn)題分類(lèi)、問(wèn)題分析和答案選擇等模塊,其中問(wèn)題分類(lèi)是問(wèn)答系統(tǒng)的第一步,其通過(guò)對(duì)用戶期望的答案類(lèi)型對(duì)問(wèn)題進(jìn)行分類(lèi),對(duì)后續(xù)獲取更為準(zhǔn)確的答案至關(guān)重要。
本文主要解決基于社區(qū)的問(wèn)答系統(tǒng)中的問(wèn)題分類(lèi)問(wèn)題,其分類(lèi)的目的是對(duì)社區(qū)問(wèn)題進(jìn)行主題分類(lèi),有助于提高答案選擇模塊的排序準(zhǔn)確率。傳統(tǒng)的問(wèn)題分類(lèi)方法,主要對(duì)問(wèn)題進(jìn)行表示學(xué)習(xí),通過(guò)分類(lèi)模型對(duì)問(wèn)題分類(lèi),但是社區(qū)問(wèn)答中大多數(shù)問(wèn)題表現(xiàn)為短文本,其存在信息缺失的問(wèn)題,傳統(tǒng)方法只借助于問(wèn)題的語(yǔ)義特征很難判別問(wèn)題類(lèi)別。如表1所示,對(duì)于問(wèn)題“蘋(píng)果現(xiàn)在多少錢(qián)”,由于“蘋(píng)果”的多重語(yǔ)義,傳統(tǒng)的方法對(duì)于此類(lèi)問(wèn)題很難準(zhǔn)確判斷主題類(lèi)別。除此之外,傳統(tǒng)分類(lèi)方法通?;谠~袋模型或淺層語(yǔ)義分析,很難學(xué)習(xí)到更深層次的語(yǔ)義特征;此外,模型泛化能力也較差。
表1 問(wèn)題分類(lèi)示例
問(wèn)題答案?jìng)鹘y(tǒng)方法本文方法蘋(píng)果現(xiàn)在多少錢(qián)現(xiàn)在普通配置的蘋(píng)果電腦大約13000元左右無(wú)法判別電腦
針對(duì)上述問(wèn)題,本文通過(guò)學(xué)習(xí)問(wèn)題和答案的聯(lián)合表示特征對(duì)問(wèn)題進(jìn)行分類(lèi),對(duì)于表1中的問(wèn)題,如果引入答案“現(xiàn)在普通配置的蘋(píng)果電腦大約13000元左右”的信息,不難判斷該問(wèn)題屬于電腦類(lèi)別。除此之外,為了更好地捕捉問(wèn)題和答案的語(yǔ)義信息,本文采用深度學(xué)習(xí)模型,提出一種卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)合的混合網(wǎng)絡(luò)模型,并對(duì)模型引入注意力機(jī)制,大幅度提高問(wèn)題分類(lèi)的準(zhǔn)確率。
問(wèn)題分類(lèi)受到了學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注,相關(guān)研究工作主要分為2類(lèi):1)基于傳統(tǒng)的機(jī)器學(xué)習(xí)方法,其訓(xùn)練速度較快,占用的計(jì)算資源較少;2)基于深度學(xué)習(xí)模型,采用深度學(xué)習(xí)模型生成問(wèn)題的分布式表示,從而對(duì)問(wèn)題分類(lèi)。
對(duì)于第1類(lèi)工作,傳統(tǒng)的方法主要為貝葉斯、最近鄰、決策樹(shù)和支持向量機(jī)[1]等方法。其中,Aikawa等人[2]利用問(wèn)題的多元特征,采用平滑樸素貝葉斯算法對(duì)問(wèn)題分類(lèi);Li等人[3]采用SNoW(The Sparse Network of Winnows)的方法對(duì)問(wèn)題進(jìn)行分類(lèi),取得了較好的效果,但該模型依賴(lài)于半監(jiān)督學(xué)習(xí)特征。在此之后,Zhang等人[4]采用基于樹(shù)核的SVM,將問(wèn)題生成語(yǔ)法結(jié)構(gòu)樹(shù)的形式,采用樹(shù)核函數(shù)計(jì)算2個(gè)問(wèn)題的距離,實(shí)驗(yàn)結(jié)果表明,基于樹(shù)核的SVM方法優(yōu)于貝葉斯等其他4類(lèi)機(jī)器學(xué)習(xí)分類(lèi)方法。
由于傳統(tǒng)的機(jī)器學(xué)習(xí)方法很難學(xué)習(xí)到問(wèn)題和答案深層次語(yǔ)義和語(yǔ)法特征,再者,該模型泛化能力較差,很難推廣到其他任務(wù)上。因此,研究者們嘗試將神經(jīng)網(wǎng)絡(luò)方法應(yīng)用到問(wèn)題分類(lèi)任務(wù)上,并取得了不錯(cuò)的效果。Kim等人[5]首次將卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)[6]應(yīng)用到文本分類(lèi),其采用一維CNN提取文本特征,通過(guò)全連接層輸出文本類(lèi)別;在此之后,Ma等人[7]采用多層CNN學(xué)習(xí)不同尺度特征,并提出自編碼層學(xué)習(xí)卷積特征,最后通過(guò)Softmax層對(duì)問(wèn)題分類(lèi)。隨著長(zhǎng)短期記憶單元(Long Short-Term Memory, LSTM)[8]和注意力機(jī)制[9]在自然語(yǔ)言處理諸多任務(wù)上廣泛應(yīng)用,相關(guān)工作也相繼而出。Ding等人[10]采用多層雙向長(zhǎng)短期記憶單元(Bidirectional LSTM, BiLSTM)[11],挖掘問(wèn)題語(yǔ)義特征,并在TREC等多個(gè)數(shù)據(jù)集取得了較好的效果;Yang等人[12]采用層級(jí)注意力網(wǎng)絡(luò),其網(wǎng)絡(luò)分為詞級(jí)和句子級(jí)2層網(wǎng)絡(luò),每層網(wǎng)絡(luò)由雙向循環(huán)網(wǎng)絡(luò)組成,詞級(jí)網(wǎng)絡(luò)與句子級(jí)網(wǎng)絡(luò)之間引入注意力機(jī)制,最后輸出全局特征對(duì)問(wèn)題分類(lèi)。
第2類(lèi)方法的主流模型為卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò),本文利用2種網(wǎng)絡(luò)各自的優(yōu)勢(shì),提出一種基于卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)的混合模型。除此之外,本文學(xué)習(xí)問(wèn)題和答案的聯(lián)合特征,引入注意力機(jī)制,增強(qiáng)問(wèn)題特征的表示能力,從而提高分類(lèi)準(zhǔn)確率。
圖1 模型總體框架圖
圖1為本文模型框架,模型底層采用BiLSTM學(xué)習(xí)問(wèn)題和答案的淺層語(yǔ)義特征,并將BiLSTM輸出的答案特征學(xué)習(xí)注意力權(quán)重,使得注意力權(quán)重自動(dòng)增強(qiáng)或減弱問(wèn)題特征,從而提升問(wèn)題特征的表達(dá)能力,降低冗余特征的干擾能力。對(duì)于BiLSTM提取的特征,本文采用4層卷積網(wǎng)絡(luò)進(jìn)一步挖掘語(yǔ)義特征,將問(wèn)題和答案方向輸出的卷積特征聚合得到聯(lián)合特征,最后通過(guò)全連接層和Softmax層對(duì)問(wèn)題分類(lèi)。
循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)[13]具備一定記憶能力,其當(dāng)前時(shí)刻的輸出由前面時(shí)刻的輸出決定,能夠有效解決序列化問(wèn)題,但存在梯度消失和梯度爆炸問(wèn)題。因此為了解決該問(wèn)題,Hochreiter等人[14]提出長(zhǎng)短記憶門(mén)單元。
本文采用Graves等人[15]提出的LSTM的改進(jìn)模型,對(duì)于t時(shí)刻輸入序列xt={x1,x2,…,xn},其隱狀態(tài)向量ht在t時(shí)刻的更新公式如下:
it=σ(Wixt+Uist-1+bi)
(1)
ft=σ(Wfxt+Ufst-1+bf)
(2)
ot=σ(Woxt+Uost-1+bo)
(3)
(4)
ht=ot·tanh (Ct)
(5)
LSTM當(dāng)前時(shí)刻的輸出只跟前面時(shí)刻的輸出有關(guān),無(wú)法利用后面時(shí)刻提供的語(yǔ)義信息,存在信息丟失的問(wèn)題。本文實(shí)驗(yàn)采用BiLSTM,利用問(wèn)題和答案上下文信息,即對(duì)輸入從正反2個(gè)方向使用LSTM學(xué)習(xí),最后將其聚合,其聚合方法如公式(6)所示。
(6)
最近幾年,注意力機(jī)制[9]被廣泛應(yīng)用到計(jì)算機(jī)視覺(jué)、語(yǔ)音信號(hào)處理和自然語(yǔ)言處理諸多任務(wù)上。注意力模型借鑒人類(lèi)視覺(jué)的選擇注意力機(jī)制,當(dāng)人類(lèi)觀察全局圖像時(shí),對(duì)感興趣區(qū)域投入更多的注意力,獲取該區(qū)域更多的細(xì)節(jié)信息,抑制其他冗余信息。本文采用注意力機(jī)制,利用答案方向的BiLSTM輸出特征學(xué)習(xí)注意力權(quán)重,并將其對(duì)問(wèn)題方向的BiLSTM輸出特征選擇,從而達(dá)到抑制冗余特征的效果。該模型更新公式如下:
ma,q(t)=tanh (Wamhq(t)+Wqmha(T))
(7)
Sa,q(t)∝exp(wmsTma,q(t))
(8)
(9)
其中hq(t)為問(wèn)題方向BiLSTM的t時(shí)刻輸出,ha(T)為答案方向BiLSTM最終時(shí)刻輸出特征,Wam、Wqm和wms為注意力模型超參。
本文利用卷積網(wǎng)絡(luò)擅長(zhǎng)捕捉局部特征信息的能力,將其作為本文模型第2層特征提取層,對(duì)問(wèn)題和答案BiLSTM輸出的特征分別采用4層一維CNN提取特征,其卷積核的長(zhǎng)度等于BiLSTM隱含層輸出維度,其特征提取示意圖如圖2所示。
圖2 不同窗口大小下卷積神經(jīng)網(wǎng)絡(luò)特征提取示意圖
圖2中左側(cè)是問(wèn)題或答案BiLSTM層輸出的特征矩陣Xn×k,當(dāng)使用卷積核Wh×k對(duì)矩陣Xn×k進(jìn)行卷積操作可以得到n-h+1個(gè)特征,其具體公式如公式(10)所示。
ci=f(Wh×k·Xi:i+k-1+b)
(10)
其中Wh×k表示卷積網(wǎng)絡(luò)卷積核,h表示窗口大小,k為BiLSTM隱層輸出維度。Xi:i+k-1為矩陣Xn×k第i到i+k-1維向量構(gòu)成的矩陣。b為網(wǎng)絡(luò)偏置向量,f為激活函數(shù),本次實(shí)驗(yàn)中采用tanh,ci為最終提取到的特征。對(duì)整個(gè)特征矩陣作卷積操作后,得到特征向量f={c1,c2,…,cn-h+1}。類(lèi)似地,通過(guò)設(shè)定不同的卷積核大小和濾波器組數(shù),可以得到不同尺度下的特征向量。本文分別對(duì)問(wèn)題和答案BiLSTM層輸出的特征矩陣采用4層一維卷積網(wǎng)絡(luò)分別學(xué)習(xí),然后將學(xué)習(xí)到的特征通過(guò)拼接方式聚合成聯(lián)合特征,最后通過(guò)全連接層和Softmax層得到分類(lèi)類(lèi)別。
本次實(shí)驗(yàn)數(shù)據(jù)集采用張棟等人[16]爬取的360問(wèn)答數(shù)據(jù)集,并對(duì)其進(jìn)行整理和清洗,最終得到10000條問(wèn)答對(duì)。數(shù)據(jù)集主要分為5個(gè)主題類(lèi)別,每個(gè)類(lèi)別包含2000條問(wèn)題和其對(duì)應(yīng)的正確答案,本文實(shí)驗(yàn)按照7∶2∶1的比例將7000條數(shù)據(jù)作為訓(xùn)練集,2000條數(shù)據(jù)作為驗(yàn)證集,1000條數(shù)據(jù)作為實(shí)驗(yàn)測(cè)試集,其中訓(xùn)練集、驗(yàn)證集和測(cè)試集是從5個(gè)主題類(lèi)別等比例抽取,防止出現(xiàn)樣本不均衡問(wèn)題。實(shí)驗(yàn)?zāi)P蜑?分類(lèi)模型,通過(guò)模型的Softmax層輸出判別問(wèn)題類(lèi)別,實(shí)驗(yàn)通過(guò)分類(lèi)準(zhǔn)確率評(píng)價(jià)分類(lèi)效果。
本次實(shí)驗(yàn)的實(shí)驗(yàn)環(huán)境為T(mén)esla K40、 Intel Core i7-6700k 4.0 GHZ、內(nèi)存32 GB的服務(wù)器。本文通過(guò)爬取維基百科語(yǔ)料,采用word2vec[17]訓(xùn)練得到問(wèn)題和答案的詞向量,其中詞嵌入維度為100維。本次實(shí)驗(yàn)網(wǎng)絡(luò)學(xué)習(xí)采用隨機(jī)梯度下降法(Stochastic Gradient Descent, SGD),其初始學(xué)習(xí)率設(shè)置為0.1,網(wǎng)絡(luò)訓(xùn)練的批大小設(shè)置為100,網(wǎng)絡(luò)迭代次數(shù)設(shè)置為100,采取早停止(Early-stop)[18]策略。
由于本文樣本問(wèn)題和答案的長(zhǎng)度大多處于10~40之間,采用較短的截取長(zhǎng)度會(huì)造成信息丟失,而采用較長(zhǎng)的截取長(zhǎng)度會(huì)造成較長(zhǎng)的訓(xùn)練時(shí)間,經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證,本文問(wèn)題和答案的截取長(zhǎng)度設(shè)置為30,可以取得較好的實(shí)驗(yàn)效果。除此之外,根據(jù)詞嵌入維度100, BiLSTM隱含層輸出維度為141維效果較好,其中dropout[19]設(shè)置為0.5。本文卷積層為4個(gè)單層CNN,其卷積核長(zhǎng)度分別為1、2、3和5,通過(guò)設(shè)置不同長(zhǎng)度的卷積核可以捕捉不同尺度的特征。濾波器組數(shù)設(shè)置為500,經(jīng)實(shí)驗(yàn)驗(yàn)證,增加濾波器組數(shù)并不能提高分類(lèi)效果,容易造成模型欠擬合。全連接層神經(jīng)元個(gè)數(shù)設(shè)置為200, Softmax層輸出維度為分類(lèi)總類(lèi)別數(shù),本次實(shí)驗(yàn)設(shè)置為5。
為了驗(yàn)證本文方法在問(wèn)題分類(lèi)任務(wù)上的有效性,本次對(duì)比實(shí)驗(yàn)設(shè)置如下:最大熵模型、最大熵模型+標(biāo)簽傳播算法、CNN模型、LSTM模型、BiLSTM模型、CNN+BiLSTM模型和CNN+BiLSTM+attention模型。其中,最大熵模型通過(guò)詞袋模型對(duì)問(wèn)題和答案表征,采用最大熵模型作為分類(lèi)器。最大熵模型+標(biāo)簽傳播算法則為半監(jiān)督學(xué)習(xí)算法,通過(guò)標(biāo)簽傳播算法標(biāo)注部分?jǐn)?shù)據(jù)來(lái)提高模型泛化能力。本文實(shí)驗(yàn)結(jié)果如表2所示,實(shí)驗(yàn)結(jié)果表明,本文設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò)方法大多數(shù)優(yōu)于監(jiān)督和半監(jiān)督的最大熵模型,分析其原因主要有2點(diǎn):1)傳統(tǒng)的詞袋模型忽略了文本的語(yǔ)法和詞序特征,其表征能力有限,難以捕捉復(fù)雜的上下文語(yǔ)義,而深度學(xué)習(xí)的詞嵌入是基于大規(guī)模語(yǔ)料訓(xùn)練的結(jié)果,有助于對(duì)問(wèn)題和答案的語(yǔ)義理解;2)深度學(xué)習(xí)模型通過(guò)自動(dòng)學(xué)習(xí)文本特征,使得模型具有更好的泛化能力。相比于單一網(wǎng)絡(luò),本文提出的混合神經(jīng)網(wǎng)絡(luò)模型利用CNN和BiSLTM這2種方法各自的優(yōu)勢(shì)可以提取更深的語(yǔ)義和語(yǔ)法特征,其分類(lèi)準(zhǔn)確率相比于單一網(wǎng)絡(luò)提升了1.6%~5.6%,取得了81.7%的準(zhǔn)確率。除此之外,引入注意力機(jī)制可以降低冗余特征對(duì)實(shí)驗(yàn)結(jié)果的干擾,增強(qiáng)問(wèn)題和答案特征的表達(dá)能力,相比于不采取注意力機(jī)制的混合模型提升了0.5%。
表2 不同問(wèn)題分類(lèi)方法性能比較
模型準(zhǔn)確率訓(xùn)練時(shí)間/(s/epoch)最大熵0.672—最大熵+LP0.771—CNN0.76121LSTM0.78538BiLSTM0.80147CNN+BiLSTM0.81255CNN+BiLSTM+attention0.81758
基于問(wèn)題和答案的聯(lián)合表示特征,本文提出了一種卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)合的問(wèn)題分類(lèi)模型。該模型一方面通過(guò)增加答案的語(yǔ)義特征,提升了模型的魯棒性;另一方面,本文采用混合神經(jīng)網(wǎng)絡(luò)模型,利用卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)各自的優(yōu)勢(shì),充分挖掘問(wèn)題和答案的深層語(yǔ)義和語(yǔ)法特征,除此之外,該模型在BiLSTM輸出層引入注意力機(jī)制,自動(dòng)選擇輸出特征,有效抑制冗余特征,提高了模型的泛化能力。本文在360問(wèn)答數(shù)據(jù)集上進(jìn)行了對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,本文模型分類(lèi)性能明顯優(yōu)于傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型。