高鴻斌 毛金瑩 王會勇
摘 要:依照所回答的問題類型區(qū)分,圖像和文本的視覺問答大體分為2類,第1類是可以從圖像中直接獲取答案的問題,第2類是需借助外部知識獲取答案的問題。目前的視覺問答方法只能在一類問題上具有較高的準(zhǔn)確率,回答另一類問題的技術(shù)尚不成熟。為了擴(kuò)大可回答的問題類型,設(shè)計了一種知識圖譜輔助下的視覺問答方法——K-VQA。在基于深度學(xué)習(xí)VQA的基礎(chǔ)上,通過查詢知識圖譜區(qū)分問題類型,對不同類型的問題采用最合適的方法進(jìn)行回答,對于需借助外部知識進(jìn)行回答的問題,利用圖像和問題中的信息判斷回答問題所需的實體和屬性,抽取知識圖譜中的三元組,獲取問題答案。結(jié)果表明,不同的視覺問答技術(shù)適用于不同類型的問題,K-VQA方法既能回答簡單問題也能回答推理性問題,準(zhǔn)確率高達(dá)56.67%。因此,作為知識圖譜輔助下的視覺問答方法,K-VQA可以回答更多類型的問題并獲得較高的準(zhǔn)確率,對于深入研究VQA和VQA方法具有重要的參考價值。
關(guān)鍵詞:知識工程;視覺問答;外部知識;知識圖譜;三元組
中圖分類號:TP392?文獻(xiàn)標(biāo)識碼:A
文章編號:1008-1542(2020)04-0315-12
doi:10.7535/hbkd.2020yx04004
如今,越來越多的智能機(jī)器人被研發(fā)出來并走進(jìn)人們的生活,其中非常關(guān)鍵的一點是其與人之間的溝通與交流,但是交流并不僅限于語言溝通,更多時候需要依據(jù)其他外部知識(如圖片、視頻、音頻等)進(jìn)行對話,因此出現(xiàn)了大量將文本和圖片、視頻、音頻等進(jìn)行結(jié)合的多模態(tài)技術(shù),其中視覺問答(visual question answering,VQA)技術(shù)是研究的熱門話題。VQA技術(shù)旨在通過提取指定圖片和文本中的關(guān)鍵信息,給出問題所對應(yīng)的準(zhǔn)確答案。一般視覺問答通過深度學(xué)習(xí)的方法,分別提取圖像和問題的特征,采用不同方式的特征融合機(jī)制進(jìn)行處理,并獲得答案。
隨著知識圖譜的不斷開放,大量知識圖譜(knowledge graph,KG)也在VQA中得到運用。已知的較大知識圖譜包含從Wikipedia詞條中抽取的DBpedia[1]、Google的Freebase[2]、融合Wikipedia,WordNet[3]和GeoNames的多語言知識圖譜YAGO[4]等?;谥R圖譜的VQA方法,或?qū)⒅R圖譜中的三元組整合為整段文本信息來輔助回答問題,或使用不同方式獲取需要被查詢的實體和關(guān)系,查詢到的三元組中的尾實體即為問題的最終答案。關(guān)于VQA技術(shù),大多數(shù)研究著重采用深度學(xué)習(xí)的方式,進(jìn)行大量圖像和文本的特征提取訓(xùn)練,提高所提取特征的準(zhǔn)確率,進(jìn)而獲得更準(zhǔn)確的答案。這種方式對于回答“What color is this T-shirt?”“What animal is in the picture?”這類問題準(zhǔn)確率較高,但并不適用于回答“What is the material of the shoes?”等類問題,而采用基于知識圖譜的方式可以較為準(zhǔn)確地回答第2類問題。
定義1?簡單問題。問題答案存在于圖像信息之中,可通過對圖像的直觀描述獲取答案。
定義2?推理性問題。問題答案僅靠圖像中的信息無法獲取,需要借助外部知識獲取答案。
目前的VQA模型只能在一類問題上獲得較高的準(zhǔn)確率,但在另一類問題上回答的準(zhǔn)確率較低。為了擴(kuò)大可回答的問題類型,本文設(shè)計了一種知識圖譜輔助下的視覺問答方法K-VQA,在基于深度學(xué)習(xí)VQA的基礎(chǔ)上,通過查詢知識圖譜,既能回答簡單問題也能回答推理性問題,并能獲得較高的準(zhǔn)確率。
1?VQA方法
1.1?基于深度學(xué)習(xí)的VQA方法
基于深度學(xué)習(xí)的視覺問答系統(tǒng)現(xiàn)有架構(gòu)大多數(shù)為多模態(tài)雙線性框架,此類視覺問答系統(tǒng)的設(shè)計方法最早由MALINOWSKI等[5]提出?;谏疃葘W(xué)習(xí)的視覺問答系統(tǒng)處理過程大體分為4步:1)提取圖像信息特征并進(jìn)行向量表示,一般采用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks, CNN)[6-8]、長短期記憶網(wǎng)絡(luò)(long short-term memory, LSTM)[9]、VGG Net[10]、ResNet-152[11]等;2)處理自然語言文本并進(jìn)行特征向量表示,一般采用詞袋、LSTM[6-9]、門控循環(huán)單元(gated recurrent unit, GRU)[12]等;3)采用不同算法將知識特征向量進(jìn)行融合;4)得到的特征向量經(jīng)全連接層和Softmax層后得到最終答案。其中對于多模態(tài)知識的融合是雙線性VQA架構(gòu)中的關(guān)鍵步驟。
VQA多模態(tài)知識融合比較簡單的方法是簡單元素乘法結(jié)合方式[5]。此外還包含F(xiàn)UKUI等[6]提出的MCB(multimodal compact bilinear pooling)方法、KIM等[7]提出的MLB(multimodal low-rank bilinear attention networks)方法、YU等[8]提出的MFH(multi-modal factorized high-order pooling approach)多模態(tài)融合方法和BEN-YOUNES等[13]提出的MUTAN方法。雖然基于深度學(xué)習(xí)的VQA已獲得了較高的準(zhǔn)確率,但依舊存在一些不足:一是不能較準(zhǔn)確地回答推理性問題,二是其向量融合機(jī)制和最終答案的獲取具有不可解釋性。為了準(zhǔn)確回答推理性問題,產(chǎn)生了基于知識圖譜的方法。
1.2?基于知識圖譜的VQA方法
隨著知識圖譜的出現(xiàn)和完善,越來越多的自然語言處理問題采用語義解析的方式,結(jié)合現(xiàn)有知識圖譜進(jìn)行翻譯和問答?,F(xiàn)有的基于知識圖譜的VQA系統(tǒng)并不多,知識圖譜在其中起到的主導(dǎo)地位也不同。WU等[14]對知識圖譜的使用只是增加了數(shù)據(jù)源;WANG等[15]提出Ahab方法,將提取出的圖像信息整合為三元組形式,從知識圖譜中查詢出與圖像信息相關(guān)的所有三元組,將這兩部分三元組整合為“推理鏈”,通過這條推理鏈推理出答案;WANG等[16]對Ahab方法進(jìn)行了改進(jìn),提出了FVQA(fact-based visual question answering)方法,可以回答更多的開放性問題?;谥R圖譜的VQA方法依舊存在不足,首先是不能較準(zhǔn)確回答簡單問題;其次,將知識圖譜三元組擴(kuò)充為描述文本增加回答問題依據(jù),依舊采用深度學(xué)習(xí)的方式,使得推理性問題的回答不具備可解釋性,并且Ahab方法只對回答實體間相似性的問題有效,局限性過大。
基于以上研究工作,本文利用知識圖譜和深度學(xué)習(xí)的知識,設(shè)計了K-VQA方法,在保證回答簡單問題較高準(zhǔn)確率的基礎(chǔ)上,也可準(zhǔn)確地回答推理性問題,并且可以回答更多類型的推理性問題。
2?K-VQA方法
2.1?問題定義與方法概述
為了使視覺問答系統(tǒng)可以較準(zhǔn)確地回答簡單問題和推理性問題,本文在深度學(xué)習(xí)VQA的基礎(chǔ)上,使用知識圖譜進(jìn)行輔助,如圖1所示。通過對問題類型的判斷,選擇是否借助知識圖譜進(jìn)行回答,并將推理性問題進(jìn)一步分類,通過判斷問題文本單詞詞性是否包含明確的實體確定其在三元組中的屬性,采用不同方式查詢知識圖譜。其中如何回答推理性問題,以及怎樣查詢知識圖譜是本文的核心任務(wù)。
定義3?可直接查詢問題(directly answerable question,DQ)。DQ文本中包含明確的需要被查詢的實體,通過此實體可以直接查詢知識圖譜,獲得相關(guān)三元組,并得到最終答案。
定義4?不可直接查詢問題(not directly answerable question, N-DQ)。N-DQ中不包含明確的實體,一般采用“what animal”“what thing”等短語代替實體,無法直接查詢知識圖譜,需要借助在圖像中識別出的實體,將問題轉(zhuǎn)換為可直接查詢問題,進(jìn)而查詢知識圖譜。
K-VQA方法的目的是通過借助知識圖譜,增加基于深度學(xué)習(xí)VQA可回答問題的類型,并增加可回答推理性問題的種類。方法概述如圖2所示。通過文本分類將問題分為簡單問題和推理性問題,將問題類型進(jìn)行判定以后,方法分為以下3條路線。
路線1:回答簡單問題?,F(xiàn)階段回答簡單問題的最優(yōu)方法即深度學(xué)習(xí)的方法,因此,本文對簡單問題采用該方法進(jìn)行回答。將圖像和問題文本分別通過深度學(xué)習(xí)模型提取出特征向量,之后進(jìn)行特征融合并最終輸出答案。
路線2:回答推理性問題DQ。此類問題可以直接提取出文本中的實體和屬性,采用三元組“實體-屬性-值”,通過提取出的實體和屬性查詢知識圖譜獲得三元組中的值,即答案。
路線3:回答推理性問題N-DQ。這種推理性問題需要借助圖像中的實體,首先對圖像進(jìn)行目標(biāo)檢測,然后查詢知識圖譜,判斷與問題有關(guān)聯(lián)的實體,進(jìn)而明確實體,通過查詢到的圖像實體和問題文本中提取的屬性查詢知識圖譜,最終獲得答案。
2.2?問題類別判定
為了提高問題分類的準(zhǔn)確率,采用基于Boosting算法的深度學(xué)習(xí)文本分類器對問題進(jìn)行文本二分類。創(chuàng)建多個推理性問題,結(jié)合VQA數(shù)據(jù)集中的簡單問題,將問題文本手動標(biāo)記為S(simple,簡單)和R(reasoning,推理)2種標(biāo)簽,將Boosting分類器在已標(biāo)記好標(biāo)簽的問題上進(jìn)行訓(xùn)練,使用訓(xùn)練后的最優(yōu)模型實現(xiàn)對簡單問題和推理性問題的分類。如圖3所示,將問題輸入到Boosting分類器后進(jìn)行分類,其中前2個問題分類結(jié)果為R,即推理性問題,通過查詢知識圖譜獲得答案;第3個問題判定為S(簡單)問題,通過深度學(xué)習(xí)VQA獲得問題答案。
由于VQA數(shù)據(jù)集中涵蓋大量的簡單問題,動物領(lǐng)域數(shù)據(jù)集AR-KVQA中涵蓋豐富的關(guān)于動物類別的不同問題樣式,因此目前K-VQA可以回答大部分簡單問題和關(guān)于動物類別的推理性問題。
2.3?簡單問題VQA處理方法
FaceBook在2018年發(fā)布了基于PyTorch的Pythia[17]深度學(xué)習(xí)框架,用來處理視覺和語言任務(wù),并構(gòu)建了深度學(xué)習(xí)視覺問答模型Pythia。此框架現(xiàn)已實現(xiàn)Pythia和LoRRA等模型,支持vqa,vizwiz,textvqa等數(shù)據(jù)集,且Pythia模型表現(xiàn)最為優(yōu)異。僅使用訓(xùn)練集,準(zhǔn)確率可達(dá)66.70%;使用訓(xùn)練集和驗證集,準(zhǔn)確率可達(dá)68.31%。本文基于深度學(xué)習(xí)的VQA模型采用Pythia模型,Pythia模型以bottom-up top-down(up-down)[18]模型為基礎(chǔ)并稍作改動,特征融合采用元素乘法代替特征串聯(lián)。
基于深度學(xué)習(xí)的VQA圖像和問題都采用深度學(xué)習(xí)模型進(jìn)行特征提取,再采用不同算法進(jìn)行特征融合,最終輸出答案。如圖4所示,Pythia模型中圖像和文本分別通過深度學(xué)習(xí)模型Faster-RCNN模型和GRU模型進(jìn)行特征提取,分別輸出特征向量后,將2種特征向量采用元素乘法進(jìn)行融合,融合后的特征通過全連接層和Softmax層后得到答案。
2.4?推理性問題VQA處理方法
當(dāng)問題需要借助知識圖譜進(jìn)行回答時,圖像處理采用目標(biāo)檢測準(zhǔn)確率較高的mask-RCNN方法[19],該方法采用MS COCO數(shù)據(jù)集,可以實現(xiàn)分類、語義分割和目標(biāo)檢測等功能。本文利用目標(biāo)檢測功能,獲取圖片中的實體名稱。首先將文本采用NLTK進(jìn)行命名實體識別,輸出單詞詞性,然后通過詞性判斷文本中的實體和屬性。為了可以更準(zhǔn)確地回答推理性問題,采用基于規(guī)則的方式設(shè)計回答推理性問題的方法。DQ和N-DQ分別包含特有關(guān)鍵詞和短語,將DQ和N-DQ按照特定關(guān)鍵詞進(jìn)行區(qū)分,通過這些特定關(guān)鍵詞抽取要被查詢的實體和屬性。
定義5?集合NK(not directly answerable question keywords)。該集合中包含N-DQ中特有的關(guān)鍵詞。當(dāng)問題中不包含需要被查詢的明確實體時,問題中就會包含需要被查詢實體的上位詞,如 “animals”“plants”“things”等。
定義6?集合P(property)。該集合中包含三元組“實體-屬性-值”中代表屬性的關(guān)鍵詞,如“phylum”“class”“order”“material”等。
定義7?集合U(useless)。該集合中包含的關(guān)鍵詞屬于無用單詞,該類單詞為文本中既不是需要被查詢的實體,也不是屬性的名詞,會干擾對實體和屬性的抽取,如“belong”“picture”等。
由于判斷DQ和N-DQ的關(guān)鍵詞詞性均為NN(名詞)和NNS(名詞復(fù)數(shù)),因此篩選出問題文本中詞性為NN和NNS的單詞。DQ和N-DQ采用NLTK識別出單詞詞性以后,分別采用不同的規(guī)則到知識圖譜中進(jìn)行查詢,算法如圖5所示。步驟如下:1)輸入問題文本Q和集合NK,P,U;2)通過匹配關(guān)鍵詞,判斷問題中是否包含集合NK中的單詞;3)若包含,則將其判斷為N-DQ推理性問題,那么實體采用圖像中的實體,屬性采用問題所包含的P集合中的關(guān)鍵詞,最終輸出圖像實體和屬性;4)如果問題中不包含集合NK中的單詞,則將其判斷為DQ推理性問題,然后刪除問題文本中所包含的集合U中的單詞和集合P中的單詞,剩下的名詞則為實體,屬性采用問題所包含的P集合中的關(guān)鍵詞,最后輸出文本實體和屬性。
在文獻(xiàn)[14]中,知識圖譜作為其中一個數(shù)據(jù)源,推理性問題采用深度學(xué)習(xí)算法進(jìn)行回答,最終答案的獲取依舊具有不可解釋性。在文獻(xiàn)[15]和文獻(xiàn)[16]中,提出的算法采用基于模板的方法,對推理性問題的回答具有可解釋性,但其涉及的推理性問題大多為列舉2個實體間相同的特點,對于屬性的界定很模糊,并且對于實體的確定有時會基于模板中實體所處的位置,并不準(zhǔn)確。本文提出的算法可獲得明確的實體和屬性,從而更準(zhǔn)確地回答推理性問題。
圖6中展示了DQ和N-DQ兩種問題的處理方法。問題文本“What phylum do the animals in the picture belong to?”中的名詞包括“phylum”“animals”“picture”“belong”,其中“animals”為集合NK中的關(guān)鍵詞,因此將該問題判斷為N-DQ,需借助圖像實體。圖像通過深度學(xué)習(xí)模型Mask-RCNN識別出實體為“cat”,按照三元組“實體-屬性-值”的方式,通過此實體名稱和問題中所包含的集合P中的屬性名詞“phylum”,查詢知識圖譜并輸出三元組中的值,即答案。
“What phylum do cats belong to?”中名詞包括“phylum”和“cats”,不包含集合NK和集合U中的關(guān)鍵詞,判定為DQ,因此將集合P中的關(guān)鍵詞“phylum”刪掉后剩下的即為實體“cat”,按照三元組“實體-屬性-值”的方式,通過實體名詞和屬性關(guān)鍵詞“phylum”,查詢知識圖譜并輸出三元組中的值,即答案。
圖6中分別說明了DQ和N-DQ對2個問題模板的回答方法。但由于問題模板數(shù)量有限,因此為了擴(kuò)大可回答推理性問題的范圍,本文將模板進(jìn)行問題拓展。一個問題模板可以拓展為多種類型的問題,不同的問題可以通過匹配同類型的模板進(jìn)行回答,如圖7所示。其中“$e”指代實體,“$e1”“$e2”指代不同實體。模板“What phylum do $e belong to?”可以拓展為“Do $e1 and $e2 belong to the same phylum?”等不同問題形式。這些拓展問題采用NLTK識別出詞性為名詞的單詞,使用名詞與模板進(jìn)行匹配,通過模板查詢知識圖譜,進(jìn)而輸出答案。當(dāng)這些名詞匹配到多個模板時,將多個模板的答案一并輸出。
圖8展示的為匹配模板流程圖。輸入模板和通過NLTK識別出的名詞,將名詞按順序在模板中進(jìn)行關(guān)鍵詞查找。由于模板中僅包含一個實體和一個屬性,因此只需匹配到同時包含2個名詞的模板即可。匹配模板步驟如下。1)輸入模板和名詞n—名詞m。2)首先匹配名詞n,若有模板包含名詞n,則篩選出這部分模板,繼續(xù)匹配名詞(n+1);若不包含名詞n,則查詢模板中是否包含名詞(n+1),以此類推,直到名詞n=名詞(m-1)。3)刪除已經(jīng)匹配到的模板,防止同一模板被重復(fù)匹配。4)最終篩選出的模板中若包含名詞(n+1),則輸出同時包含2個名詞的模板;若不包含名詞(n+1),則繼續(xù)匹配名詞(n+2),以此類推,直到匹配至名詞m。5)若匹配至名詞m后依舊沒有匹配到2個名詞,說明該名詞無法匹配到模板,則名詞n=名詞(n+1),并返回步驟2。
2.5?查詢知識圖譜
當(dāng)問題為推理性問題時,需要借助知識圖譜進(jìn)行回答。DBpedia數(shù)據(jù)來源范圍廣,包含實體信息多,因此本文選用此知識圖譜。如何從圖像中正確篩選出需要的實體,如何得到推理性問題的最終答案,都需要通過查詢知識圖譜得到結(jié)果。
N-DQ問題需要借助圖像中的實體進(jìn)行回答,但是圖像中并不只存在一個實體,因此對圖像實體進(jìn)行判別。本文采用查詢知識圖譜的方式,步驟如下:1)通過深度學(xué)習(xí)模型對圖像進(jìn)行目標(biāo)檢測;2)確定問題領(lǐng)域,集合NK中包含被查詢實體中的上位詞,即代表領(lǐng)域的關(guān)鍵詞,因此通過識別問題文本中所包含的集合NK中的關(guān)鍵詞來判斷問題領(lǐng)域;3)將檢測到的實體和屬性“type”輸入到知識圖譜中,查詢實體是否為需要的實體;4)得到需要的實體后,即可獲得N-DQ問題的答案。
如圖9所示,首先通過Mask-RCNN模型識別出圖像中“Cat”和“Shoe”2個實體,然后判斷問題所屬領(lǐng)域,問題文本中包含NK中的關(guān)鍵詞“animals”,因此判斷問題屬動物領(lǐng)域,之后通過圖像識別出的實體和關(guān)系“type”到知識圖譜中進(jìn)行查詢,“Cat”實體類型為“Animal”“Shoe”實體類型為“Thing”,因此“Cat”為需要被查詢的實體,最后通過此實體名稱和問題文本中所包含的集合P中的屬性名詞,到知識圖譜中進(jìn)行查詢。
對知識圖譜采用SPARQL查詢,構(gòu)成知識圖譜的核心為三元組。本文采用“實體-屬性-值”的三元組形式,通過實體和屬性,查詢知識圖譜最終得到值,即答案。不同的問題模板對應(yīng)著不同的SPARQL查詢模板。部分查詢模板如表1所示,表1中列舉了部分命名空間。當(dāng)查詢圖像中哪個實體是需要被用到的實體時,采用屬性為“type”的查詢模板,將“$e”替換為要被查詢的實體后查詢知識圖譜。在回答推理性問題時,得到要被查詢的實體和屬性,找到屬性對應(yīng)的模板,將實體替換為被查詢實體,最后到知識圖譜中進(jìn)行查詢。
3?實驗部分
在深度學(xué)習(xí)模型Pythia的基礎(chǔ)上使用知識圖譜進(jìn)行輔助,增大Pythia模型可回答問題類型的范圍,通過對數(shù)據(jù)集的問題類型進(jìn)行區(qū)分,驗證深度學(xué)習(xí)VQA方法和知識圖譜VQA方法對不同問題類型的適用性。設(shè)置了一系列實驗評估所提出方法的性能,將整個K-VQA分為2部分,一是深度學(xué)習(xí)模型Pythia,二是基于知識圖譜的KB-VQA方法。KB-VQA方法即K-VQA中將問題借助知識圖譜進(jìn)行回答的部分。將Pythia,KB-VQA和K-VQA方法分別在不同數(shù)據(jù)集上進(jìn)行實驗。
3.1?數(shù)據(jù)集
雖然存在包含大量推理性問題的數(shù)據(jù)集,但是KB-VQA[15]和FVQA[16]并未公開,而OK-VQA[20]中的問題大部分類型為“Which breed of dog is this?”,這些問題是無法通過查詢知識圖譜得到準(zhǔn)確答案的,依舊需要對圖像進(jìn)行大量的訓(xùn)練。使用深度學(xué)習(xí)的方式獲得圖像中實體種類的準(zhǔn)確答案,不適用于K-VQA的實驗。本文建立了動物領(lǐng)域數(shù)據(jù)集AR-KVQA,從MS COCO動物領(lǐng)域圖片中隨機(jī)抽取800張,對每張圖片隨機(jī)提出3個問題,構(gòu)成AR-KVQA數(shù)據(jù)集,答案為通過查詢DBpedia知識圖譜得到的簡單詞匯。AR-KVQA中共有8類問題,分別為動物的界、門、綱、目、科、屬、種及化石范圍類型的問題。將AR-KVQA數(shù)據(jù)集分為1 200條訓(xùn)練集、500條驗證集和700條測試集。
VQA[21]數(shù)據(jù)集是覆蓋圖片最多、問題答案正確率最高的數(shù)據(jù)集。本文對簡單類型問題數(shù)據(jù)集選用VQA2.0,通過動物名稱關(guān)鍵詞篩選出VQA2.0數(shù)據(jù)集中關(guān)于動物的問題。為了進(jìn)行適用性任務(wù)實驗和對K-VQA性能進(jìn)行評估,設(shè)定了2個數(shù)據(jù)集:一是從VQA數(shù)據(jù)集篩選出的動物問題中隨機(jī)抽取700條,形成VQA-Animal數(shù)據(jù)集;二是從VQA篩選出的動物問題中隨機(jī)抽取1 200條數(shù)據(jù)集,從AR-KVQA中隨機(jī)抽取1 200條數(shù)據(jù)集,形成一個既包含簡單問題又包含推理性問題的KA數(shù)據(jù)集,該數(shù)據(jù)集包含2 400條數(shù)據(jù),其中訓(xùn)練集1 200條,驗證集200條,測試集700條。為了進(jìn)行問題分類實驗,設(shè)定了Classify數(shù)據(jù)集,該數(shù)據(jù)集由2部分組成,一是隨機(jī)定義的2 400條與動物類別相關(guān)的推理性問題,二是從VQA2.0中隨機(jī)抽取的2 400條動物領(lǐng)域的簡單問題。數(shù)據(jù)集的信息總結(jié)如表2所示。
3.2?參數(shù)設(shè)置
為了使Pythia模型可以在AR-KVQA數(shù)據(jù)集上獲得較高的準(zhǔn)確率,將Pythia模型在AR-KVQA訓(xùn)練集上進(jìn)行訓(xùn)練,并設(shè)置不同的迭代次數(shù),如圖10所示。實驗表明,迭代次數(shù)越高,準(zhǔn)確率越高,當(dāng)?shù)螖?shù)達(dá)到200時,準(zhǔn)確率達(dá)到最高。因此本文選擇訓(xùn)練200次,既可以保證準(zhǔn)確率也可以保證效率。
為了使Pythia模型可以在KA數(shù)據(jù)集上獲得較高的準(zhǔn)確率,將Pythia模型在KA訓(xùn)練集上進(jìn)行訓(xùn)練,并設(shè)置不同的迭代次數(shù),如圖11所示。實驗表明,訓(xùn)練到200次時準(zhǔn)確率最高。
K-VQA的性能受文本分類、深度學(xué)習(xí)VQA及知識圖譜的影響,其中深度學(xué)習(xí)VQA已選擇了表現(xiàn)優(yōu)異的Pythia模型,對于查詢知識圖譜本文也規(guī)定了方法。為了使K-VQA性能更優(yōu)異,文本分類的準(zhǔn)確率不能過低,這個臨界值受模型Pythia和KB-VQA的影響。在不考慮簡單問題和推理性問題判斷正確個數(shù)差異,即將2類問題判斷正確個數(shù)平分的情況下,形成了式(1)。將問題數(shù)量N乘以文本分類準(zhǔn)確率TA的值平分,分別作為簡單問題和推理性問題分類的正確數(shù)量,并以Pythia模型完全無法回答推理性問題,以及KB-VQA模型無法回答簡單問題為前提。分類正確的問題數(shù)量分別乘以Pythia準(zhǔn)確率PA和KB-VQA準(zhǔn)確率KVA,再除以問題數(shù)量N,若這個值分別大于模型Pythia和KB-VQA在KA數(shù)據(jù)集上的準(zhǔn)確率PKA和KVKA,則證明K-VQA的性能更加優(yōu)異。
通過式(1)的推導(dǎo),TA的臨界值如式(2)所示,將數(shù)據(jù)帶入到式(2)中,粗略得到問題文本分類準(zhǔn)確率TA不得低于72.96%。
3.3?問題分類任務(wù)
將問題文本分為S(簡單)問題和R(推理性)問題2大類,以區(qū)分問題是否需要借助知識圖譜進(jìn)行回答。分類器采用Boosting算法,將Classify數(shù)據(jù)集作為訓(xùn)練集,分類器在Classify數(shù)據(jù)集上進(jìn)行分類訓(xùn)練。
1)評價標(biāo)準(zhǔn)
選取訓(xùn)練結(jié)果最優(yōu)時的模型作為最終進(jìn)行問題判別的模型。
2)結(jié)果及結(jié)論
文本二分類已經(jīng)非常成熟,采用Boosting算法進(jìn)行分類訓(xùn)練的準(zhǔn)確率可達(dá)到100%,將模型在KA數(shù)據(jù)集的測試集上進(jìn)行測試,實驗結(jié)果如表3所示。結(jié)果表明,采用此模型可以達(dá)到文本分類準(zhǔn)確率的最低要求并且遠(yuǎn)遠(yuǎn)高于臨界值,相較于推理性問題,簡單問題文本分類的準(zhǔn)確程度更高。
3.4?適用性任務(wù)
視覺問答領(lǐng)域較多采用深度學(xué)習(xí)的方式,且其常用數(shù)據(jù)集為VQA,可獲得較高的準(zhǔn)確率。VQA數(shù)據(jù)集中關(guān)于動物領(lǐng)域的問題主要圍繞動物的種類、位置、動作及狀態(tài)提問,多為簡單類型問題?;谥R圖譜的VQA方法一般采用FVQA等包含大量推理性問題的數(shù)據(jù)集。為了驗證不同模型所適應(yīng)的不同問題類型,以及不同類型數(shù)據(jù)集對不同模型的影響程度,將深度學(xué)習(xí)模型Pythia和KB-VQA模型在動物領(lǐng)域簡單問題數(shù)據(jù)集VQA-Animal、推理性問題數(shù)據(jù)集AR-KVQA上進(jìn)行實驗。
1)評價標(biāo)準(zhǔn)
采用人工方式判斷最終答案準(zhǔn)確與否。在VQA數(shù)據(jù)集的動物領(lǐng)域中,包含很多無法回答的問題,例如“Is this a female cat?”“Dose the elephant look sad?”等判斷動物性別和情緒的問題,以及詢問動物之前或以后準(zhǔn)備做的事情的問題,Pythia模型會隨機(jī)選擇答案來回答,這些問題無論是在基于深度學(xué)習(xí)VQA還是在基于知識圖譜的VQA中都無法得到回答,因此此類問題是單純靠圖像無法回答的問題,應(yīng)直接將其歸納為回答錯誤的問題。
2)結(jié)果及結(jié)論
表4為深度學(xué)習(xí)模型Pythia在AR-KVQA數(shù)據(jù)集以及VQA-Animal數(shù)據(jù)集上的準(zhǔn)確率。由表4可以看出,由于將所有關(guān)于動物情緒和性別、年齡的問題都判斷為錯誤,因此模型在VQA-Animal上的準(zhǔn)確率要低于68.31%。Pythia模型在AR-KVQA數(shù)據(jù)集上的準(zhǔn)確率明顯低于在VQA-Animal數(shù)據(jù)集上的準(zhǔn)確率,說明深度學(xué)習(xí)VQA模型不適合回答需借助外部知識回答的問題。
深度學(xué)習(xí)模型需要分別對圖像和文本進(jìn)行特征抽取訓(xùn)練才可提高準(zhǔn)確率,若只訓(xùn)練其中一項,那模型整體的準(zhǔn)確率將很低。由于AR-KVQA數(shù)據(jù)集中的問題需要借助外部知識回答,圖像信息除實體以外基本沒有幫助,即便Pythia在AR-KVQA數(shù)據(jù)集上已進(jìn)行訓(xùn)練,但幾乎只有文本特征可以發(fā)揮作用,因此Pythia在AR-KVQA數(shù)據(jù)集上的準(zhǔn)確率要遠(yuǎn)遠(yuǎn)低于在簡單問題數(shù)據(jù)集上的準(zhǔn)確率。
為了進(jìn)一步印證不同模型與不同數(shù)據(jù)集之間的影響,將KB-VQA在AR-KVQA數(shù)據(jù)集和VQA-Animal數(shù)據(jù)集上進(jìn)行測試,結(jié)果如表5所示。由于KB-VQA方法對于無法回答的問題答案全部為No,因此雖然簡單問題在知識圖譜中查詢不到結(jié)果,但是簡單問題存在一部分答案為Yes/No的問題,因此在KB-VQA方法上VQA-Animal數(shù)據(jù)集仍有部分問題被
答對,但準(zhǔn)確率遠(yuǎn)遠(yuǎn)低于AR-KVQA數(shù)據(jù)集。表5中KB-VQA模型在AR-KVQA數(shù)據(jù)集上的準(zhǔn)確率明顯大于在VQA-Animal數(shù)據(jù)集上的準(zhǔn)確率,說明KB-VQA模型不適合回答可直接從圖像中獲取信息的問題,但適用于回答需借助外部知識回答的問題。KB-VQA在AR-KVQA數(shù)據(jù)集上的準(zhǔn)確率達(dá)到64.88%,說明本文針對推理性問題提出的方法可以較準(zhǔn)確地回答該類問題。
3.5?K-VQA性能評估
為了判定本文所提出的K-VQA方法既可以有效回答簡單問題又可以回答推理性問題,并獲得較高準(zhǔn)確率,將深度學(xué)習(xí)模型Pythia,KB-VQA及K-VQA分別在KA數(shù)據(jù)集上進(jìn)行實驗。
1)評價標(biāo)準(zhǔn)
視覺問答的評價標(biāo)準(zhǔn)一般包括準(zhǔn)確率和MALINOWSKI等[5]提出的WUPS評價標(biāo)準(zhǔn),該標(biāo)準(zhǔn)基于WUP[22]標(biāo)準(zhǔn)來計算輸出答案和標(biāo)準(zhǔn)答案之間的語義誤差。WUPS標(biāo)準(zhǔn)適用于答案獲取存在一定隨機(jī)性的視覺問答,本文中推理性問題答案是固定的,該標(biāo)準(zhǔn)對本文的系統(tǒng)并不適用,因此采用準(zhǔn)確率對本文的K-VQA方法進(jìn)行評估。如果K-VQA方法在KA數(shù)據(jù)集上的準(zhǔn)確率比Pythia和KB-VQA模型更高,則證明本文所提出的方法相比于Pythia和KB-VQA方法可以回答更多類型的問題。
2)結(jié)果及結(jié)論
結(jié)果如表6所示。深度學(xué)習(xí)模型Pythia在KA數(shù)據(jù)集上的準(zhǔn)確率相較于KB-VQA要高一些,這是由于Pythia在推理性問題上的準(zhǔn)確率比KB-VQA在簡單問題上的準(zhǔn)確率高。K-VQA在數(shù)據(jù)集上的準(zhǔn)確率要明顯高于Pythia模型和KB-VQA模型。由于問題分類中推理性問題判斷準(zhǔn)確率較低,導(dǎo)致一部分推理性問題采用Pythia回答,所以推理性問題的準(zhǔn)確率較低。實驗結(jié)果表明,K-VQA能回答更多類型的問題,并且能獲得較高的準(zhǔn)確率。
3.6?效果展示
本文提出了K-VQA方法,借助處理圖像及文本的深度學(xué)習(xí)模型、相關(guān)知識圖譜和查詢語句相關(guān)知識,在深度學(xué)習(xí)VQA模型的基礎(chǔ)上采用知識圖譜進(jìn)行輔助,可以回答更多類型的問題并獲得較高的準(zhǔn)確率。圖12展示了問題分別使用Pythia,KB-VQA及K-VQA時輸出的答案。圖12中簡單問題若在Pythia中答對,則在K-VQA中一般也可以答對;若推理性問題在KB-VQA中答對,那么在K-VQA中也有較大幾率可以回答正確;若問題在Pythia或KB-VQA中都無法回答正確,那么K-VQA也無法回答正確。
4?結(jié)?論
1)設(shè)計了一種知識圖譜輔助下的視覺問答K-VQA方法,既可以回答簡單問題又可以回答推理性問題。通過分類器對問題類型進(jìn)行判斷,簡單問題運用深度學(xué)習(xí)VQA進(jìn)行回答,推理性問題借助知識圖譜進(jìn)行回答,提高了回答問題的準(zhǔn)確率。
2)將深度學(xué)習(xí)的VQA模型Pythia、基于知識圖譜的VQA模型KB-VQA以及K-VQA,分別在包含簡單問題和動物類型的推理性問題數(shù)據(jù)集上進(jìn)行實驗。結(jié)果表明,本文提出的K-VQA方法表現(xiàn)更優(yōu)異,準(zhǔn)確率達(dá)到56.67%。
3)創(chuàng)建了知識圖譜視覺問答數(shù)據(jù)集AR-KVQA,包含關(guān)于動物類別的多種問題樣式,可以回答大多數(shù)關(guān)于動物的簡單問題和關(guān)于動物類型的推理性問題,準(zhǔn)確率較高。該數(shù)據(jù)集可以拓展延伸到植物領(lǐng)域,如“What is the phylum of pine?”等,也可以拓展延伸到其他物體,如“What materials of the shoes?”等。
本文提出的視覺問答方法可以回答符合模板的問題以及與模板相關(guān)的問題,雖具有一定的局限性,但對于回答問題的準(zhǔn)確率有一定的保障,并且隨著模板數(shù)量的增加,可回答問題的數(shù)量也將成倍增加。但是,由于實體名稱的差異,以及知識圖譜的單一性,導(dǎo)致部分推理性問題不能在知識圖譜中查詢到答案。因此,后期工作將擴(kuò)大數(shù)據(jù)集,進(jìn)一步增加模板數(shù)量,擴(kuò)大可回答問題的范圍,增加知識圖譜,解決實體名稱差異性問題,提高方法的適用性。
參考文獻(xiàn)/Reference:
[1]?AUER S, BIZER C, KOBILAROV G, et al. DBpedia: A nucleus for a web of open data[C]//
Asian Semantic Web Conference.Busan Korea:DBLP,2007:722-735.