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