黃敏珍
(廣東工業(yè)大學(xué),廣州 510006)
在人的日常生活中,幾乎每個(gè)人都離不開(kāi)金融。提到金融很多人會(huì)想到股票、基金、證券等,感覺(jué)這些離我們生活很遙遠(yuǎn),其實(shí)不然,人們常用的銀行、車(chē)貸、房貸、養(yǎng)老保險(xiǎn)、市場(chǎng)物價(jià)等都離不開(kāi)金融,它其實(shí)是市場(chǎng)的映射,與我們生活息息相關(guān)。對(duì)于機(jī)器閱讀理解的數(shù)據(jù)集有很多,但用在金融領(lǐng)域的數(shù)據(jù)集不多,常用的機(jī)器閱讀理解數(shù)據(jù)集有SQUAD[1]、SearchQA[2]、MS MARCO[3]、Dureader[4]。SQUAD 是文章段落類(lèi)型數(shù)據(jù)集,問(wèn)題和答案都是人工生成的,答案是文章中的一段,但部分答案未必在文章中出現(xiàn);SearchQA 的問(wèn)題和文章爬蟲(chóng)而得,答案是由程序而得,通常是一到兩個(gè)詞;MS MARCO 數(shù)據(jù)集相比前兩者差異較大,問(wèn)題和文章是搜索引擎收集的,答案是人工生成得;Dureader 是2017 年由百度團(tuán)隊(duì)發(fā)布規(guī)模最大的中文機(jī)器閱讀理解數(shù)據(jù)集,其數(shù)據(jù)來(lái)源是百度搜索和百度知道,數(shù)據(jù)結(jié)構(gòu)是一個(gè)問(wèn)題對(duì)應(yīng)多篇文章,且一個(gè)問(wèn)題只含一個(gè)標(biāo)準(zhǔn)答案。而近年來(lái)抽取式的機(jī)器閱讀理解模型成為主流,其主要代表模型有Seo 等人于2016 年提出的雙向注意力流(Bidirectional Attention Flow,BiDAF)[5],Wang等人于2016 提出的一種結(jié)合M-LSTM 和PointerNet的模型Match-LSTM[6],Yu 等人于2018 年提出一種編碼器僅由卷積和self-attention 組成的QANet 模型[7]。
本文在Match-LSTM 基礎(chǔ)上提出一種多重注意力機(jī)制的端到端的抽取式機(jī)器閱讀理解模型。首先對(duì)數(shù)據(jù)重構(gòu),增強(qiáng)問(wèn)題與文章的關(guān)聯(lián),再對(duì)融合后的文檔作自注意力機(jī)制(self-attention)加深問(wèn)題與文章的關(guān)聯(lián),突出文章中與問(wèn)題關(guān)聯(lián)較深的特征,然后聯(lián)合多篇文章再作self-attention 突出文章語(yǔ)義特征與文章間的關(guān)聯(lián)性,我把這種聯(lián)合了多篇文章的注意力機(jī)制稱(chēng)為mul-attention。整個(gè)模型在相同數(shù)據(jù)集下與BiDAF、Match-LSTM、QANet 作對(duì)比,并分析了本文模型對(duì)問(wèn)題類(lèi)型的影響。
Match-LSTM 是一種結(jié)合 M-LSTM 和 PointerNet的模型(Machine Comprehension Using Match-LSTM and Answer Pointer,Match-LSTM)。它主要在匹配層采用M-LSTM,計(jì)算文章中每個(gè)詞關(guān)于問(wèn)題的注意力分布向量,再將注意力分布向量與問(wèn)題編碼向量作點(diǎn)乘,計(jì)算文章中每個(gè)詞對(duì)問(wèn)題的關(guān)聯(lián),最后用同樣的方法倒序再運(yùn)行一遍,結(jié)合這兩次運(yùn)算得到文章向量的新表示形式。然后作答層采用PointerNet,即該文在答案預(yù)測(cè)上提出了兩種模式,第一種是認(rèn)為答案不是連續(xù)的,答案可從文章各處零碎拼接而成,第二種是認(rèn)為答案是連續(xù)的,只需預(yù)測(cè)答案在文章中的始末位置就可預(yù)測(cè)出答案,該文實(shí)驗(yàn)證明答案預(yù)測(cè)始末位置相比從文章各處拼接效率和準(zhǔn)確率更高,但這種方法對(duì)于長(zhǎng)度較長(zhǎng)的答案預(yù)測(cè)效果有待提高。整個(gè)Match-LSTM更適合實(shí)體類(lèi)問(wèn)題的解答。
self-attention 即自注意力機(jī)制,是由注意力機(jī)制[8]演變而來(lái),模擬人類(lèi)大腦的關(guān)注能力,把特征關(guān)鍵點(diǎn)放大增強(qiáng)。self-attention 自身既是觀察者也是被觀察者,被觀察者被看做是固定的序列,觀察者中的每一個(gè)元素與被觀察者作點(diǎn)積,再將每個(gè)元素求得的值加權(quán)求和,得到一個(gè)兩者間的注意力分布,這個(gè)分布在原始的attention 中看作兩者間的相似度,對(duì)于self-attention 就相當(dāng)于自身特征的增強(qiáng)。在自然語(yǔ)言處理的領(lǐng)域中,self-attention 首先是由 Bahdanau 等人[9]于 2014 年提出用于機(jī)器翻譯上,后來(lái)發(fā)現(xiàn)在自然語(yǔ)言處理的其他領(lǐng)域也有不錯(cuò)的效果,漸漸地被應(yīng)用到機(jī)器閱讀理解上,許多實(shí)驗(yàn)[10-12]都發(fā)現(xiàn)它在機(jī)器閱讀理解有增強(qiáng)文章的語(yǔ)義,使其附帶上下文的語(yǔ)義信息的作用。
本模型的數(shù)據(jù)從百度搜索和百度知道而得,包含經(jīng)濟(jì)、股票、匯兌、價(jià)格、儲(chǔ)蓄、貸款等多方面的信息統(tǒng)稱(chēng)為金融領(lǐng)域。一共有1 萬(wàn)個(gè)問(wèn)題,每個(gè)問(wèn)題對(duì)應(yīng)一個(gè)標(biāo)準(zhǔn)答案,5 篇文章,文章一般是篇幅較大得解答,答案選自一個(gè)精確簡(jiǎn)短的解答,答案未必一字不漏的出現(xiàn)在文章中,但文章中部分片段包含與答案相似的含義,其中把6000 個(gè)問(wèn)題用于訓(xùn)練,2000 個(gè)用于測(cè)試,2000 個(gè)用于驗(yàn)證。在訓(xùn)練集中有2010 個(gè)描述類(lèi)問(wèn)題,3244 個(gè)實(shí)體類(lèi)問(wèn)題,746 個(gè)是非類(lèi)問(wèn)題,其中訓(xùn)練集中有1604 個(gè)事實(shí)類(lèi)問(wèn)題,4396 觀點(diǎn)類(lèi)問(wèn)題,具體數(shù)據(jù)類(lèi)型分布如圖1。
模型主要分成4 個(gè)模塊:數(shù)據(jù)重構(gòu)模塊、融合后文章self-attention 模塊、多篇文章mul-attention 模塊、作答模塊。其中作答模塊與Match-LSTM 相同。
圖1 數(shù)據(jù)類(lèi)型分布
由于網(wǎng)上的文章參差不齊,數(shù)據(jù)量繁多,因此需要在有限的長(zhǎng)度內(nèi)截取有用的信息,本模塊根據(jù)文章與問(wèn)題或者答案的相關(guān)性做排序提取有用信息。數(shù)據(jù)采用jieba 分詞,用Word2Vec[13]從1.3G 的中文維基百科語(yǔ)料訓(xùn)練獲取文字的詞向量,詞向量的維度m 為150。其中多個(gè)問(wèn)題記為 Q={q1,q2,…,qn},n 為問(wèn)題個(gè)數(shù),多個(gè)答案記為A={a1,a2,…,an},問(wèn)題q1對(duì)應(yīng)的文章記為P1={p1,p2,p3,p4,p5}。文章p1對(duì)應(yīng)的句子記為為p1 的句子總數(shù)。在訓(xùn)練時(shí),根據(jù)式(1)算出文章p中的句子s 與答案a 的相關(guān)度并根據(jù)相關(guān)度從大到小的順序?qū)ξ恼轮匦屡帕小y(cè)試和預(yù)測(cè)時(shí),根據(jù)式(2)算出文章p 中的句子s 與問(wèn)題q 的相關(guān)度并根據(jù)相關(guān)度從大到小的順序?qū)ξ恼轮匦屡帕小R陨吓判蚝缶唤厝∥恼虑癿ax_p 個(gè)詞,問(wèn)題只截取前max_q 個(gè)詞,答案只截取前max_a 個(gè)詞。重構(gòu)的數(shù)據(jù)作為下一層的輸入。
匹配模塊分為兩個(gè)部分:Match-LSTM 匹配融合和self-attention。
(1)Match-LSTM 匹配融合
這一部分實(shí)質(zhì)是讓文章攜帶問(wèn)題信息,把問(wèn)題看作前提,文章為假設(shè)。首先用單向LSTM 編碼問(wèn)題和文章,如式(3):
再計(jì)算文章上問(wèn)題的注意力分布,并softmax 歸一化,式(4):
(2)self-attention
在融合的前提作self-attention 加深問(wèn)題與文章的關(guān)聯(lián),突出文章中與問(wèn)題關(guān)聯(lián)較深的特征,融合后的文章看作兩個(gè)序列,一個(gè)看作一個(gè)固定的key-value 序列,另一個(gè)看作有移動(dòng)序列,移動(dòng)序列中的每一個(gè)詞都會(huì)遍歷一次key-value。由上一部分得到融合后文章,首先將固定序列每一個(gè)key 與移動(dòng)序列每個(gè)元素作點(diǎn)積,計(jì)算融合后文章本身的注意力分布,然后用Soft?max 歸一化,如式(6),最后加權(quán)、拼接,如式(7),得 PS=
其中d 為隱藏層維數(shù)。
這一模塊把同一個(gè)問(wèn)題對(duì)應(yīng)的所有文章拼接在一起看作一個(gè)整體,對(duì)這個(gè)整體作self-attention,由4.2模塊得第i 個(gè)問(wèn)題self-attention 后的文章為內(nèi)含5 篇文章,即則一個(gè)問(wèn)題對(duì)應(yīng)的文章這個(gè)整體表示為其根據(jù)式(8-9)作自注意力機(jī)制。
本實(shí)驗(yàn)從百度搜索和百度知道獲取的金融類(lèi)型數(shù)據(jù),一共1 萬(wàn)條數(shù)據(jù),6000 條用于訓(xùn)練,2000 條用于測(cè)試,2000 條用于驗(yàn)證,一條數(shù)據(jù)包含一個(gè)問(wèn)題、一個(gè)標(biāo)準(zhǔn)答案、5 篇文章,詞向量維度為150。文章截取的最大長(zhǎng)度max_p 為400,問(wèn)題截取的最大長(zhǎng)度max_q 為60,batch 的大小為16,答案截取的最大長(zhǎng)度max_a 為200,隱藏層的維度d 為64,實(shí)驗(yàn)的迭代次數(shù)epoch 為10 次,模型構(gòu)建采用 TensorFlow1.2.0,Python3.5,采用Adam 優(yōu)化模型參數(shù),學(xué)習(xí)率為0.0001。實(shí)驗(yàn)運(yùn)行硬件條件為E5-2660 10 核、16G 內(nèi)存。訓(xùn)練時(shí)間為7 小時(shí)17 分鐘。
本次實(shí)驗(yàn)評(píng)價(jià)指標(biāo)為Rouge-L 和BLEU-4,首先以 BiDAF、Match-LSTM、QANet 為對(duì)比模型,對(duì)比在相同數(shù)據(jù)集下模型的性能,如表1 所示,Match-LSTM 與BiDAF 性能相近,QANet 與其他模型差距較大,本實(shí)驗(yàn)?zāi)P拖啾绕渌P蚏ouge-L 至少提升2.72,BLEU-4至少提升了7.08。
表1 不同模型驗(yàn)證結(jié)果
接著以Match-LSTM 為基線(xiàn),增量式對(duì)比數(shù)據(jù)重構(gòu)、融合后文章self-attention、mul-attention 對(duì)整個(gè)模型的影響,實(shí)驗(yàn)結(jié)果如表2 所示。由表所示數(shù)據(jù)重構(gòu)后整體性能漲幅明顯Rouge-L 提升了4.2,BLEU-4 提升了5.52。融合后文章self-attention 與mul-attention對(duì)模型的提升接近,前者Rouge-L 和BLEU-4 分別提升了 0.26、0.94,后者 Rouge-L 和 BLEU-4 分別提升了0.1、0.62。
表2 增量式驗(yàn)證結(jié)果
最后從問(wèn)題類(lèi)型的角度觀察模型,統(tǒng)計(jì)在本文數(shù)據(jù)集中實(shí)體類(lèi)型、描述類(lèi)型、是非類(lèi)型問(wèn)題在本文模型的效果,然后以Match-LSTM 為基線(xiàn),針對(duì)問(wèn)題類(lèi)型增量式對(duì)比數(shù)據(jù)重構(gòu)、融合后文章self-attention、mul-at?tention 對(duì)整個(gè)模型的影響,實(shí)驗(yàn)結(jié)果如表3 所示。其中數(shù)據(jù)重構(gòu)對(duì)每一類(lèi)問(wèn)題都有一定程度實(shí)驗(yàn)效果的提升,self-attention 對(duì)是非類(lèi)問(wèn)題類(lèi)型提升效果更高,mul-attention 對(duì)實(shí)體類(lèi)問(wèn)題類(lèi)型實(shí)驗(yàn)效果提升更高。綜合而言整個(gè)模型對(duì)實(shí)體類(lèi)和描述類(lèi)問(wèn)題類(lèi)型實(shí)驗(yàn)效果的提升接近,對(duì)是非類(lèi)問(wèn)題類(lèi)型的提升相對(duì)較小。
表3 不同問(wèn)題類(lèi)型下增量式驗(yàn)證結(jié)果
本文在Match-LSTM 基礎(chǔ)上提出一種多重注意力機(jī)制的端到端的抽取式機(jī)器閱讀理解模型。首先提出了一種數(shù)據(jù)重構(gòu)的方法,使得重構(gòu)后的文章對(duì)問(wèn)題更具有關(guān)聯(lián)性,大幅度的提高模型的訓(xùn)練效果,然后對(duì)融合后的文檔作自注意力機(jī)制(self-attention)加深問(wèn)題與文章的關(guān)聯(lián),突出文章中與問(wèn)題關(guān)聯(lián)較深的特征,最后聯(lián)合多篇文章再作self-attention 突出文章語(yǔ)義特征與文章間的關(guān)聯(lián)性。最終驗(yàn)證結(jié)果達(dá)到Rouge-L 和BLEU-4 分別為44.65、38.37。其次本文還針對(duì)問(wèn)題類(lèi)型對(duì)本模型作出數(shù)據(jù)分析,實(shí)驗(yàn)表明模型對(duì)每一個(gè)問(wèn)題類(lèi)型實(shí)驗(yàn)效果都有提升,實(shí)體類(lèi)和描述類(lèi)問(wèn)題的提升相對(duì)較高。