近年來,隨著問答技術和多模態理解技術的蓬勃發展,視覺問答任務(Visual Question Answering)變得越來越受關注。諸如 VQA、CLEVER、Visual-7W 等大規模視覺問答資料集陸續釋出,極大地推動了視覺問答任務的迭代發展。然而,當前大部分視覺問答資料都是人工合成問題,如 “她的眼睛是什麼顏色” 這種標註者在看到圖片後虛構設計出的。人工產生的資料會相對簡單、低質甚至有偏。因此,在這項工作中,我們基於 QQ 瀏覽器中使用者真實的問題,提出了一個基於中文的大規模圖片問答資料集:ChiQA。
ChiQA 包含有超過 4 萬個真實使用者 query 和超過 20 萬個問題 - 影像對。資料和一些 baseline 模型已經公佈在GitHub。相關研究已經被 CIKM2022 長文錄用。
論文地址:https://arxiv.org/abs/2208.03030
Github地址:https://github.com/benywon/ChiQA
對比單模態問答任務
ChiQA的三個顯著特性
問答系統(Question Answering) 是人工智慧和智慧語言處理中非常重要的任務之一。近年來,隨著大規模資料集(如 SQuAD、NaturalQuestions)的釋出以及大規模預訓練語言模型(如 BERT、GPT)的提出,問答任務得到了飛速的發展。然而,當前大部分問答任務都是單模態的,即問題、資源以及答案都是基於文字的。然而,從認知智慧以及實際應用的角度來說,多模態資源如影像在很多時候往往能提供更為豐富的資訊和答案。例如,對於一個問題:iPhone13 的尺寸是多少?一個針對 iPhone13 不同型號的尺寸對比圖會更加清楚和直觀。還有一些例子如下圖所示:
圖一:一些適合用圖片回答使用者問題的例子
1)所有的問題都是影像相關的(image-dependent),即標註者看到圖片之後提出問題。在大規模資料構建過程中,人工生成的問題往往會缺乏多樣性,而且往往由於標註者的主觀因素會產生偏置。在這種先看資源,再提問的資料上訓練的模型往往可以不用看背景資源只看問題而輕易達到非常好的效果;
真實問題,真實圖片:ChiQA 中的圖片來源於隨機使用者的查詢。這些查詢是開放域中隨機的使用者 query,這些 query 非常多樣,而且 query 的領域分佈非常廣泛。這樣隨機的多樣性 query 保證了我們的資料中的問題不會有偏; 可回答性:對於問答任務來說,可回答性是一個非常重要的方面。在 ChiQA 中我們不要求標註人員給出最終的答案:因為這樣往往會引入一些額外的偏置,比如標註人員的常識。相反的,我們著重於可回答性,即圖片對於問題是否可以回答。這種可回答性可以讓 ChiQA 的標註人員既需要理解 query,也需要理解圖片; 無偏的:因為隨機 query 中也會存在 28 定律,即一些高頻或者單一的問題往往會出現很多次,資料中這種簡單模式的問題會佔據大多數,造成資料中真正跨模態理解的偏置。因此,我們在資料收集過程中引入了兩階段的主動學習過程,在第一階段隨機 query 標註完成後,我們訓練了一個簡單的模型,然後用這個模型挑選出 "更難" 的一些模型,從而讓二階段的標註資料中資料的豐富度和難度相對更高。
最終我們收集了超過 40000 個問題,每個問題都有大約 5 個相關的圖片,即總量超過 20 萬的問題 - 圖片對。每個問題都有若干張圖片,我們對每個圖片以2-1-0進行三擋打分。
一些 ChiQA 中的例子如下圖所示:
資料收集:所有問題均來源於使用者真實查詢
整個資料的收集過程可以分為四步,整體流程圖如下:
對於 ChiQA 來說,其一大特色是所有的問題都來源於使用者真實的查詢。然而,如果我們隨機從搜尋引擎使用者的搜尋日誌中取樣使用者的查詢,那麼大部分查詢都是沒有問答意圖的。
因此我們首先需要過濾出有問答意圖的 query。在這個工作中,我們採用了一種內部構造的弱監督方法訓練了一個二分類器,來判定一個 query 是不是有問答意圖。人工評測這個意圖模型能夠達到 90% 的精度以及 80% 的召回。我們透過這個模型對使用者的 query 進行取樣,得到了大約 7.5 萬個經過模型判定具有問答意圖的使用者 query 進入下一輪。
影像收集&標註過程和經驗
得到了問題之後,我們將這些問題傳送給谷歌提供的開放 API(Google Images API - SerpApi)進行相關影像檢索。谷歌 API 對每個 query 會返回最相關的 100 個影像。為了保證最後資料的質量,我們去掉了那些長度或者寬度小於 200 畫素的 query以及那些過長或者過寬的影像。
得到了原始影像之後,我們取經過過濾後的前 5 個圖片,並讓標註人員標註這個 query 和對應的 5 個圖片。我們內部專門為本任務設計了一個標註介面,如下圖所示。
在標註過程中,我們讓標註人員標註三個方面:
1) 問題標註
由於本工作主要著眼於圖片問答,而事實上在普通的使用者問題中很多都和圖片問答無關(或者很難用圖片來回答)。因此我們首先讓標註人員標註這個問題是不是可以算作一個圖片問答的問題。例如:
如果一個問題是“xxx 和 xxx 的差別”,那麼這個問題就會被認為是一個具有影像問答意圖的問題;
如果一個問題是模糊的、具有歧義的或者包含有沒有事實根據推論的觀點,那麼這個問題就會被歸類於無影像問答意圖,並且不會參與到後續圖片標註的過程中。
一些 query 標註的例子如圖 6 所示:
2) 圖片標註
對於上一步中有效的 query,我們對其 5 個候選 query 進行標註。標註的標準是三級 0-1-2 標註,其中:
0 分表示這個圖片完全不能用來回答這個問題,2 分表示這個圖片質量過關並且可以完全獨立的回答這個問題。而 1 分的圖片則介於這兩者之間,表示這個圖片和這個 query 相關,但是卻無法直接回答,使用者可能需要更多的查詢或者推理才能得到最終的答案。一些 0 分、1 分、2 分的例子如下圖所示:
3) 質量控制
我們在整個標註過程中採用了嚴格的質量控制方案。具體來說,我們首先會邀請 3 個質量團隊進行試標註,選擇標註質量最好的那個團隊來標註餘下所有的資料。其次,在標註過程中,我們會將標註資料分批,每一批次的資料我們會取樣其中五分之一的資料進行人工校驗,如果資料的合格率小於 90%,那麼這一批次的資料將會被打回重新進行標註,直到資料精度達到 90%。
主動學習的資料標註
讓結果更無偏
經過資料收集的工作,我們發現如果隨機對資料進行取樣和標註,那麼資料中往往會存在一些簡單的模式,這種簡單的模式大量存在於資料中可能會對最終的模型造成偏置影響。因此,我們設計了一個主動學習的標註過程。具體來說,我們首先將讓標註人員標註一批資料,這一批資料標註完成之後,我們就用這一批資料訓練一個跨膜態的文字影像匹配模型。模型訓練完畢之後,我們開始用這個模型來 “選擇” 新的樣本:如果模型對這個新的樣本預測非常不確定(即最後分類預測的熵特別大),那麼我們認為這個樣本相對模型較難,因此有較大機率保留到下一輪中間,反之說明模型對這個資料已經很置信了,那麼這個模型以較小的機率保留到下一輪中。
我們發現主動學習資料選擇過程確實使資料集更無偏。我們發現第一階段的標記資料包含一些難以察覺的偏置。例如,包含 “的技巧” 字的問題標記為有效問題,但幾乎所有相應的影像被標記為無法回答(即 0 分),因此模型很可能不看圖片直接根據 query 中的問題就預測出最終的結果。而這種主動學習的過程降低了這種可能性,種高置信度且有偏的竅門(shortcut)在下一輪中很難被選擇上,從而降低了這種模式的影響面。
測試集標註
我們隨機從標註資料中篩選出來 2500 條資料,並且讓不同的標註者重新標註。如果標註的結果和之前的結果一樣,則這個資料被保留為測試集,要是不一樣,我們讓一個對任務非常瞭解的“專家”重新標註這個資料,最終得到了 2362 條測試資料以及超過 4 萬條訓練資料。訓練集和測試集的統計資訊如下圖所示:
資料的推理和分析
在標註完資料之後,我們對 ChiQA 中的資料進行統計和分析。
1)query 常用詞分析:
我們用結巴分詞對 query 進行切分,並且將 query 中的詞按照頻率展示在下面的雲圖上:
可以看到 ChiQA 中最常見的 query 是區別、圖解、位置等。這和我們的直覺一樣,因為這些詞確實是很適合圖片來回答的問題。
2)領域分析
我們使用內部的一個領域分類的分類器來對所有的 query 進行分類,最終的結果如下圖所示:
可以看到 ChiQA 中 what 類和 how to 類問題佔了大多數,而其他的一些問題也有相當大的比例。
3)影像分析
除了問題之外,我們也對 ChiQA 中的影像進行了分析。由於影像大部分是語言無關的,因此我們採用了一個在業界公認效能比較優良的目標檢測模型 DETR 來挖掘出影像中的實體。DETR 可以將影像中的實體對映到標準 MS-COCO 定義的實體中,如 “人物”、“狗” 等。我們對 ChiQA 中的每個影像挖掘出實體,並將最高頻次的實體分佈展示在下圖中:
4)推理技能
為了更好地分析資料,我們還對 ChiQA 資料中所需要的推理技能進行了分析。著重分析了 5 中需要推理的技能:
Grouding: 需要模型和系統將問題中提到的實體進行理解和定位
閱讀:需要模型理解圖片中出現的文字部分
對比:需要模型對比一些不同的屬性和內容,例如身高、大小等等
因果推理:模型需要深層次理解問題和圖片中存在的因果部分(即事物發生的原因或者造成的結果)
邏輯推理:需要模型理解問題或者圖片中的一些邏輯比較因素,例如否定、條件等等
我們隨機取樣了 200 條數 ChiQA 據並且根據上述 5 個標準進行標註,其中某些資料可能需要不止一種推理技能。其結果如下圖所示。
實驗評估指標
在 ChiQA 資料集中,標註打分有三擋:0,1,2,所以在實驗中我們測試模型排序的指標和普通分類的指標。分為三類:
NDCG@N:Normalized Discounted Cumulative Gain
Mean Average Precision(MAP@N):平均精度 (MAP@N)
Accuray / Precision / Recall / F1
基線模型
我們在 ChiQA 資料集上實驗了多個常用的模型。仿照之前圖片 - 文字匹配的工作,我們先把圖片和文字分別用編碼器進行編碼,然後將它們的表示進行跨模態融合,最後用一個預測層來獲取匹配得分。在下面所列模型中,加♣代表模型經過了預訓練,加♦則表示沒有。
Random♦:對測試集中的每條資料,在 0、1、2 中隨機選擇一個預測分數,random 模型是作為 ChiQA 上的一個基線模型。
Majority♦:選擇訓練集中出現最多的標籤作為測試集上所有資料的預測分數。
LSTM+ResNet♦:在文字和視覺的大規模預訓練模型出現前,LSTM 和 ResNet 分別是文字和視覺領域最常用的模型之一。
Bert+ViT♣:我們使用 Bert 模型編碼查詢文字,使用 ViT 模型編碼圖片,其中,Bert 和 ViT 模型都是在大規模無監督資料上預訓練過的。最後使用 < CLS > 的表示向量進行匹配分數預測。
ALBEF♣:ALBEF 是一種大規模的視覺和語言表示學習,已經在各種視覺語言任務上展示出較大的改進。
+Pretrain♣:對於中文的跨模態預訓練,我們在悟空資料集上對Bert-ViT和ALBEF進行跨膜態預訓練,預訓練方式和ALBEF類似。悟空資料集是一個包含1億個圖片-文字對的開源跨模態資料。
Wenlan♣:Wenlan 是一個大規模的多模態預訓練模型,在 3000 萬文字-影像對上進行了訓練,模型包含近十億個引數。我們使用他們公開的api服務獲取文字和圖片的表示向量,並使用兩個向量的Cos相似度作為預測的匹配分數。
Human:除了上述這些模型,我們還評估了人類在測試集上的預測水平。由於測試集資料較多,我們人工隨機抽樣了 100 條資料進行預測和評估預測指標。
以下是結果顯示:
最後,在 ChiQA 上微調的模型在基線上取得了很大的進步,但與人類的表現仍然相差較遠,所以模型在 ChiQA 資料集還有很大的提升空間。
ChiQA在產品裡的應用
隨著網際網路的發展,使用者對問答的需求更高,需要系統提供更為直觀、便捷的答案。特別是最近幾年,多媒體內容愈加的豐富,以圖片、影片為載體的問答內容越來越多的出現在公眾面前。QQ 瀏覽器實驗室立知團隊在今年 4 月份率先在業界推出圖片問答專案,如使用者搜獼猴桃和奇異果的區別,結果會以圖片的形式直觀的展現在使用者面前。如下圖所示:
作者團隊介紹
QQ 瀏覽器搜尋技術中心團隊是騰訊 PCG 資訊平臺與服務線負責搜尋技術研發的團隊,依託騰訊內容生態,透過使用者研究驅動產品創新,為使用者提供圖文、資訊、小說、長短影片、服務等多方位的資訊需求滿足。在演算法方面,以自然語言處理、深度學習、多模態理解與生成、知識計算與應用等技術為基礎,建設內容理解、相關性和排序、多模態搜尋、智慧問答、多語言翻譯、搜尋推薦等技術方向,探索和應用業界先進技術、打造更優秀的使用者搜尋體驗;在工程方面,建設搜尋技術中臺工業化系統,打磨高效能、高可用、低成本的百億級檢索系統,為騰訊 PCG 各個內容業務的搜尋場景提供基礎的搜尋引擎服務,當前已支援 QQ 瀏覽器、騰訊影片、騰訊新聞、騰訊微視等 PCG 多條產品線。