本發(fā)明涉及關(guān)系抽取,具體涉及一種基于互注意力機(jī)制的自適應(yīng)多模態(tài)關(guān)系抽取方法。
背景技術(shù):
1、關(guān)系抽取(re,relation?extraction)的目標(biāo)是識別文本信息中兩個(gè)給定實(shí)體之間的語義關(guān)系,在問答和知識庫檢索等任務(wù)中起著至關(guān)重要的作用。大多數(shù)現(xiàn)有的基于文本的re方法可以大致分為基于序列的模型和基于依賴的模型。這些模型只能從文本中提取信息,當(dāng)文本信息缺乏足夠的上下文時(shí),它們的預(yù)測性能顯著下降。因此,利用視覺信息輔助文本中實(shí)體對的提取已成為當(dāng)前研究的主要焦點(diǎn),即多模態(tài)關(guān)系提取(mre,multimodalrelation?extraction)。mre通過圖像信息對模型識別文本中的實(shí)體對提供幫助,從而更有效地提升預(yù)測準(zhǔn)確率。
2、對于視覺信息的提取,現(xiàn)有方法引入了自適應(yīng)共注意力網(wǎng)絡(luò),該網(wǎng)絡(luò)擴(kuò)展了雙向長短期記憶網(wǎng)絡(luò)和條件隨機(jī)場的結(jié)合,以全局圖像信息為線索,并引入了自適應(yīng)共注意力機(jī)制。也有方法提出了一種新的神經(jīng)網(wǎng)絡(luò)模型,它利用圖像中的視覺對象作為細(xì)粒度的圖像表示,可以保留圖像中更多的局部信息。然而,這些方法的關(guān)注點(diǎn)僅在于視覺信息的提取,但并沒有考慮如何融合兩種不同模態(tài)信息的問題。
3、現(xiàn)有解決該問題的思路可大致分為兩種:
4、1、提取視覺信息作為視覺前綴,幫助文本信息提??;
5、這種方式通過對圖像視覺信息進(jìn)行提取,并將提取的視覺信息作為文本實(shí)體提取的提示進(jìn)行前綴融合。
6、2、分別提取兩種模態(tài)的信息,并利用注意力編碼器進(jìn)行模態(tài)融合;
7、這種方式可以最大程度上利用視覺信息去補(bǔ)全文本信息,但是需要一個(gè)有效的視覺信息提取方法。
8、mre數(shù)據(jù)集包含了全局圖像和通過裁剪整體圖像獲得的輔助圖像。然而對于每個(gè)文本-圖像對,并非圖像中包含的所有輔助圖像都一定能提高預(yù)測性能?,F(xiàn)有方法忽略了上述問題,并且在融合階段使用的基于注意力的編碼模型還會導(dǎo)致模態(tài)信息丟失的問題。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于提出一種基于互注意力機(jī)制的自適應(yīng)多模態(tài)關(guān)系抽取方法,以便在面對復(fù)雜的文本-圖像對時(shí)可以更好地完成多模態(tài)關(guān)系抽取的任務(wù)。以解決現(xiàn)有技術(shù)中不能有效融合文本和視覺信息,以及現(xiàn)有技術(shù)在融合階段使用的基于注意力的編碼模型還會導(dǎo)致模態(tài)信息丟失的技術(shù)問題。
2、本發(fā)明解決上述技術(shù)問題采用的技術(shù)方案是:
3、一種基于互注意力機(jī)制的自適應(yīng)多模態(tài)關(guān)系抽取方法,包括以下步驟:
4、a、訓(xùn)練多模態(tài)關(guān)系抽取模型:
5、a1、將待處理的圖像利用金字塔模塊提取分層視覺特征,將每一層視覺特征作為文本編碼的提示信息;同時(shí),將最上層視覺特征單獨(dú)處理形成另一種編碼信息,并與文本信息在融合階段進(jìn)行融合;
6、a2、通過特征向量動態(tài)分配模塊對每一層視覺特征進(jìn)行處理,得到特征向量。然后,將得到的特征向量通過鍵值對生成模塊提取包含鍵值對的提示向量;
7、a3、將最上層視覺特征信息和文本編碼信息進(jìn)行降噪處理,并通過正負(fù)樣本的方式將文本和圖像兩種模態(tài)的編碼信息進(jìn)行對齊;
8、a4、將對齊后的兩種模態(tài)信息通過多模態(tài)互融合模塊進(jìn)行融合,得到用于預(yù)測的編碼信息;
9、a5、用預(yù)測模塊對訓(xùn)練集里的實(shí)體關(guān)系進(jìn)行預(yù)測;
10、a6、計(jì)算損失函數(shù),并按比例求和得到本模型最終的損失值,并通過隨機(jī)梯度下降的方式訓(xùn)練多模態(tài)關(guān)系抽取模型;
11、b、多模態(tài)關(guān)系抽取任務(wù):
12、將訓(xùn)練后的關(guān)系抽取模型用于實(shí)際的多模態(tài)關(guān)系抽取任務(wù)中,根據(jù)視覺提示為文本中的實(shí)體對生成一個(gè)最可能的關(guān)系類型。
13、進(jìn)一步地,步驟a1中,所述利用金字塔模塊提取分層視覺特征,具體包括:
14、將數(shù)據(jù)集中的全局圖像和對應(yīng)的輔助圖像進(jìn)行裁剪,得到裁剪后的全局圖像,和輔助圖像iaux={ia1,...,iaj,...,ian};其中,n表示輔助圖像的數(shù)量,j∈[1,n];
15、以resnet為基礎(chǔ),使用金字塔模塊對全局圖像,和輔助圖像iaux進(jìn)行編碼,生成相應(yīng)的全局圖像編碼序列pi和輔助圖像編碼序列paux={pa1,...,paj,...,pan};
16、進(jìn)一步地,步驟a2中,所述通過特征向量動態(tài)分配模塊對每一層視覺特征進(jìn)行處理,具體包括:
17、對a1中得到的全局圖像編碼序列pi和輔助圖像編碼序列paux進(jìn)行分割、堆疊和重塑處理,得到相應(yīng)的全局提示向量fi和輔助提示向量列表faux={fa1,...,faj,...,fan};
18、利用多頭注意力機(jī)制權(quán)重公式計(jì)算權(quán)重分?jǐn)?shù):
19、
20、其中,使用全局提示向量fi對應(yīng)的查詢q和鍵k通過權(quán)重公式計(jì)算得到全局上下文權(quán)重wi,使用全局提示向量fi對應(yīng)的查詢q和第j個(gè)輔助提示向量faj對應(yīng)的鍵k計(jì)算得到第j個(gè)輔助上下文權(quán)重wa,softmax是歸一化激活函數(shù),dk代表的是參數(shù)因子,
21、將權(quán)重分?jǐn)?shù)通過如下上下文公式計(jì)算上下文提示:
22、t=w×v
23、其中,使用全局上下文權(quán)重wi和全局提示向量fi對應(yīng)的值v通過上下文公式計(jì)算得到全局上下文fi,使用第j個(gè)輔助上下文權(quán)重wa和第j個(gè)輔助提示向量faj對應(yīng)的值v通過上下文公式計(jì)算得到第j個(gè)輔助上下文ta;
24、將全局上下文添加到第j個(gè)輔助上下文中,從而獲得自適應(yīng)生成的上下文信息:
25、fc=fi+αta
26、其中,fc代表得到的第j個(gè)上下文信息,α代表權(quán)重參數(shù);
27、模塊對每一組fi和faj通過h次上述操作得到h個(gè)上下文信息fc,將所有上下文信息fc線性集成,h代表注意力頭的數(shù)量:
28、fcs=concat(fc1,fc2,...,fch)wo
29、其中,concat是拼接函數(shù),wo是輸出投影矩陣;然后執(zhí)行兩個(gè)歸一化步驟,以確保每個(gè)樣本的數(shù)據(jù)分布在不同特征維度上大致相同,同時(shí)還使用relu函數(shù)引入非線性來獲得處理后的信息;
30、特征向量動態(tài)分配模塊對同一對圖像編碼序列進(jìn)行四次處理,得到處理后的最終上下文的列表,其結(jié)果為fclj={fcs1,fcs2,fcs3,fcs4};
31、將全局提示向量fi與所有輔助提示向量對分別進(jìn)行處理得到上下文列表,將得到的所有上下文列表整合得到特征向量:
32、f=stack(fcl1,...,fclj,...,fcln)
33、其中,stack是堆疊函數(shù);最后得到的特征向量f是對每個(gè)圖像對的編碼信息進(jìn)行整合后得到的最終特征向量。
34、進(jìn)一步地,步驟a2中,所述將得到的特征向量通過鍵值對生成模塊提取包含鍵值對的提示向量,具體包括:
35、通過計(jì)算一個(gè)門控值,模型可以根據(jù)輸入數(shù)據(jù)的特征動態(tài)決定是否激活特定的提示信息,從而控制這些提示信息對最終輸出的影響程度,門控值pg具體公式如下:
36、
37、其中,fimg表示特征向量f中的每個(gè)編碼層,對應(yīng)于n張上下文列表fcl1,fcl2,...,fcln;∑seqfimg代表沿著fimg的第三維度進(jìn)行求和,gateidx表示第idx個(gè)門限函數(shù);特征向量f中的每個(gè)編碼層fimg對最終的提示向量貢獻(xiàn)都不相同,通過門控單元可對每個(gè)編碼層貢獻(xiàn)的權(quán)重進(jìn)行控制,將pg的第i行與fimg的第i列元素進(jìn)行逐元素相乘,然后求和;
38、fval=einsum(′b,bh->bh′,pg[:,i],fimg[i])
39、其中,einsum表示對pg[:,i]和fimg[i]進(jìn)行逐元素乘法然后求和,并計(jì)算四次得到fval1,fval2,fval3,fval4,將其相加得到貢獻(xiàn)權(quán)重:
40、fval=fval1+fval2+fval3+fval4
41、對特征向量f中的每個(gè)編碼層fimg都執(zhí)行上述操作,然后將得到的所有貢獻(xiàn)權(quán)重添加到同一個(gè)列表中,并進(jìn)行分割、堆疊和重塑處理以獲得包含鍵值對的提示向量。
42、進(jìn)一步地,步驟a3中,所述將最上層視覺特征信息和文本編碼信息進(jìn)行降噪處理,具體包括:
43、利用a2中得到的鍵值對的提示向量作為輔助,使用bert對文本進(jìn)行編碼,分別在每個(gè)提取句子的開頭和結(jié)尾插入兩個(gè)特殊標(biāo)記[cls]和[sep],使用處理后的句子信息作為文本信息seq;
44、將a1中得到的全局圖像編碼序列pi和輔助圖像編碼序列paux最上層視覺信息進(jìn)行拼接,并經(jīng)過分割、堆疊和重塑處理得到視覺信息vis;
45、為了使梯度可以通過,通過重參數(shù)化技巧將隨機(jī)抽樣轉(zhuǎn)換為確定性函數(shù)加上隨機(jī)噪聲,從而允許梯度在抽樣操作中流動,同時(shí)保持在采樣過程中反向傳播梯度的能力,潛在變量計(jì)算公式如下:
46、z=μ+e(logσ)⊙ε
47、其中,z為潛在變量,μ為均值,σ為標(biāo)準(zhǔn)差,⊙表示哈達(dá)瑪積,ε是從標(biāo)準(zhǔn)正態(tài)分布中采樣的隨機(jī)噪聲;
48、使用文本信息的均值μ和標(biāo)準(zhǔn)差σ通過潛在變量計(jì)算公式計(jì)算文本的潛在變量ztxt,使用視覺信息的均值μ和標(biāo)準(zhǔn)差σ通過潛在變量計(jì)算公式計(jì)算視覺的潛在變量zimg。
49、進(jìn)一步地,步驟a3中,所述通過正負(fù)樣本的方式將兩種模態(tài)的編碼信息進(jìn)行對齊,具體包括:
50、正樣本得分計(jì)算:
51、scorepos=sigmoid(discriminator([sampletxt;sampleimg]))
52、負(fù)樣本得分計(jì)算:
53、scoreneg=sigmoid(discriminator([sampletxt;negsampleimg]))
54、其中,sampletxt是由文本潛在變量ztxt經(jīng)第二維度切片后得到的類別級別文本潛在變量,sampleimg是由視覺潛在變量zimg經(jīng)第二維度切片后得到的類別級別視覺潛在變量,negsampleimg是sampleimg經(jīng)過滾動得到的負(fù)樣本,discriminator是判別器;sigmoid是激活函數(shù)。
55、進(jìn)一步地,步驟a4中,所述將對齊后的兩種模態(tài)信息通過多模態(tài)互融合模塊進(jìn)行融合,具體包括:
56、首先經(jīng)過一個(gè)多模態(tài)互編碼器,將文本和視覺信息進(jìn)行初次融合,計(jì)算互注意力矩陣公式如下:
57、
58、其中,是比例因子,是文本潛在變量ztxt經(jīng)過線性層處理生成的鍵,是視覺潛在變量zimg經(jīng)過線性層處理生成的鍵,t表示轉(zhuǎn)置。然后,計(jì)算由視覺參與的文本特征以及文本參與的視覺特征;
59、視覺參與的文本特征計(jì)算公式如下:
60、
61、文本參與的視覺特征計(jì)算公式如下:
62、
63、其中,是文本潛在變量ztxt經(jīng)過線性層處理生成的值,是視覺潛在變量zimg經(jīng)過線性層處理生成的值;
64、最后,計(jì)算融合的文本和視覺特征信息:
65、
66、這里得到的fmul即為第一次融合的結(jié)果,將這里的結(jié)果通過線性層,處理后用于下一個(gè)多頭注意力編碼器,并將最后一個(gè)多頭注意力編碼器的輸出用于關(guān)系預(yù)測。
67、進(jìn)一步地,步驟a5中,所述用預(yù)測模塊對訓(xùn)練集里的實(shí)體關(guān)系進(jìn)行預(yù)測,具體包括:
68、首先通過分類器獲得每個(gè)樣本的原始分?jǐn)?shù)yi,然后對每個(gè)樣本的yi應(yīng)用softmax函數(shù),并將其歸一化為概率分布:
69、
70、其中,yi中包含了c種不同的類別,yi[c]表示樣本i在類別c上的預(yù)測值。pi[c]即為第i個(gè)樣本yi屬于第c類的概率。
71、進(jìn)一步地,步驟a6具體包括:
72、a61、計(jì)算散度損失函數(shù):
73、
74、其中,d表示潛在變量的維數(shù),μi和σi分別代表均值和標(biāo)準(zhǔn)差;使用文本信息的均值和標(biāo)準(zhǔn)差通過散度損失函數(shù)計(jì)算文本的散度損失使用視覺信息的均值和標(biāo)準(zhǔn)差通過散度損失函數(shù)計(jì)算視覺的散度損失
75、a62、計(jì)算正負(fù)樣本損失函數(shù):
76、首先計(jì)算正樣本損失函數(shù),目標(biāo)是全1張量,意味著正樣本應(yīng)該被模型識別為正確的匹配,公式如下:
77、
78、然后計(jì)算負(fù)樣本損失函數(shù),目標(biāo)是全0張量,意味著負(fù)樣本應(yīng)該被模型識別為不正確的匹配,公式如下:
79、
80、其中,scorespos和scoresneg分別表示正樣本和負(fù)樣本的模型預(yù)測得分,numneg表示負(fù)樣本的個(gè)數(shù),ones表示表示全1張量矩陣,zeros表示全0張量矩陣,crossentropy是二元交叉熵;
81、正負(fù)樣本損失:
82、
83、將兩個(gè)得到的損失加在一起即可得到總損失;
84、a63、計(jì)算預(yù)測損失函數(shù):
85、
86、其中,yi中包含了c種不同的類別,n為樣本個(gè)數(shù),yi[c]表示樣本i在類別c上的預(yù)測值;
87、a64、組合上述的所有損失函數(shù),獲得模型的最終損失并通過隨機(jī)梯度下降法最小化最終損失來訓(xùn)練多模態(tài)關(guān)系抽取模型,公式如下:
88、
89、其中,β1、α2和β3是損失函數(shù)的權(quán)重參數(shù),和分別表示文本和視覺的散度損失。
90、本發(fā)明相對于現(xiàn)有技術(shù)的有益效果是:
91、1)本發(fā)明考慮了不同輔助圖像對全局圖像的貢獻(xiàn)程度,通過設(shè)計(jì)一個(gè)特征向量動態(tài)分配模塊,使得每一組圖像對可以自適應(yīng)生成包含鍵值對的提示向量,從而避免了某些貢獻(xiàn)價(jià)值較低的輔助圖像對模型預(yù)測帶來的負(fù)面影響。
92、2)考慮了模態(tài)融合時(shí)產(chǎn)生的模態(tài)不平衡問題,根據(jù)多模態(tài)的特征構(gòu)建一個(gè)互注意力融合模塊,使文本信息和視覺信息產(chǎn)生各自的融合特征,最后將兩種特征均衡地融合,避免了普通編碼器可能造成的模態(tài)丟失問題。