OpenViDial:一個大規模多模態對話數據集

人類對話不僅僅只依靠聊天內容,更需要利用視覺信息。本文構建了一個大規模多模態對話數據集,從電影和電視劇中抽取出(句子,圖片)對,經過數據處理與清洗,最終得到一百萬餘條句子,及其對應的圖片信息。此外,本文還構造了三個融合多模態信息的模型。

實驗表明,融合細粒度的視覺信息,模型能夠生成質量更高的對話,而只有文本的模型效果最差,這驗證了視覺信息在對話中的必要性。本文希望所提出的數據集及模型能促進學界大規模多模態對話學習的發展。

論文標題:

OpenViDial: A Large-Scale, Open-Domain Dialogue Dataset with Visual Contexts

論文作者:

Yuxian Meng, Shuhe Wang, Qinghong Han, Xiaofei Sun, Fei Wu, Rui Yan, Jiwei Li

論文鏈接:

https://arxiv.org/abs/2012.15015

代碼與數據集鏈接:

https://github.com/ShannonAI/OpenViDial

對話中的視覺信息

人們在日常對話的過程中,大都需要依賴視覺信息,而不僅僅是文字本身。比如下面的兩個例子。在第一個例子中,右邊的女孩問“你在幹什麼”,左邊的女孩回答“我在看圖片”。如果忽視視覺信息,只是回答“你在幹什麼”的話,那可能的回答就有無數種。在第二個例子中,母親問孩子“你去幹嘛”,孩子回答“去閣樓”。同理,如果把圖片遮住,人們就不能正確回答“去閣樓”。

上述兩個例子充分體現了視覺信息在人類對話中的必要性,正是這種多模態的信息融合,人們的對話才變得精準而可靠。

然而,當前的對話模型大都忽視了對話過程中的視覺信息,這主要是相應數據集的缺失造成的。

下表是當前相關數據集的比較。OpenSubtitles 與 Cornell Movie-Dialogs 都是基於純文本的對話數據集,而 VisDial,Guess-What?! 和 AVSD 這三個數據集,儘管都包含了多模態信息,但它們的關注點都在視覺問答(Visual Question Answering),而非對話上。

基於上述視覺特徵在對話中的必要性,以及當前多模態對話數據集缺失的現狀,本文構造了一個大規模多模態對話數據集 OpenViDial。OpenViDial 中的數據來自電影與電視劇,使用 OCR 從視頻中抽取出對話文本,並配以當前對話所在的圖像,因此,每一句話都有相應視覺背景,最終形成包含百萬餘條句子的大規模多模態對話數據集。

基於 OpenViDial,本文還構建了三個視覺對話模型,將圖像信息融入到對話生成的過程中。實驗表明,融入視覺信息的模型可以生成質量更高的對話,而融入細粒度的視覺信息,如物體,可以實現最好效果。這驗證了視覺信息對於對話生成的重要性。

總的來說,本文的貢獻如下:

  • 構建並開源 OpenViDial,一個大規模多模態對話生成數據集,包含百萬餘條對話句子,每條句子都配以對應的視覺背景;

  • 提出視覺對話模型,將視覺信息以不同的粒度融入到對話生成中;

  • 通過實驗驗證了視覺信息對高質量對話生成的必要性,促進學界對多模態對話數據集及模型的研究。

數據集OpenViDial構建

OpenViDial 從電影和電視劇中獲取數據,對話來自於附帶的字幕,而圖片則是當前字幕的視頻幀。在這個過程中,主要難點有以下兩個:

  • 如何抽取視頻中的字幕?

  • 如何確保對話完整性與連續性?

OpenViDial 分別用 OCR 與後處理解決上述問題。

抽取字幕作爲對話:OCR

爲了從視頻中抽取字幕文本,OpenViDial 首先訓練了一個 OCR 模型。訓練數據通過“圖片+添加字幕”的形式構造得到。所添加的字幕文本從 CommonCrawl 隨機獲得,而圖片則使用現有的 OCR 模型 EasyOCR,去檢測電影或電視劇中不包含任何文本的圖片。

這裏沒有使用互聯網上普遍存在的圖片,如 ImageNet,而使用現有的 OCR 模型從視頻中抽取,是爲了儘可能保證數據分佈的一致性。

在獲得了文本和圖片後,就可以把文本隨機添加到圖片上構造訓練數據。在文本定位階段(detection),OpenViDial 使用 PSE 模型作爲模型架構。在文本識別階段(recognition),則使用 CRNN 作爲模型架構。

訓練後的模型在測試集上取得字級別 99.98% 的準確率,在句級別上取得 98.4% 的準確率,滿足字幕抽取的需求。

由於視頻每一秒都包含 20~40 幀,所以首先隨機從每秒中選取 3 幀,然後使用該 OCR 模型從這 3 幀中抽取字幕。這樣就得到了原始數據集,每個數據點都是句子-圖片對 。

數據後處理

在得到原始數據集後,還需要考慮一些特殊情況,減少所包含的噪音。

首先是未登陸詞問題。OpenViDial 構造了一個 20 萬詞的詞表,如果得到的句子 中包含未登陸詞,則捨棄該數據點 。

第二是重複圖片問題。由於字幕停留往往會跨越多個連續圖片,所以就可能造成諸多高度相似的數據點。如果出現這種情況,則 OpenViDial 只保留中間的數據點而丟棄其他數據點。

最後是間斷對話問題。有時候,一句完整的話被分到了不同的圖片中,不同的圖片包含了對話的不同部分。爲此,OpenViDial 訓練了一個判別模型,用於檢測當前數據點中的對話 是否完整。如果不完整,則合併連續的數據點的文本,將它加入到中間的圖片中,形成新的數據點 。

下表是 OpenViDial 的最終數據統計。共包含 1.1M 個句子及其附帶的圖片,平均每句話包含 7.6 個 Token,平均每一系列對話包含 14 輪,在使用 BPE 之後詞表大小爲 30K。


模型

基於 OpenViDial,本文提出了三個模型,以不同的粒度融合視覺信息。所有的模型都基於 Transformer 實現。

5.1 NoVisual模型(NV)

第一個模型如過去基於純文本的對話生成模型一樣,忽視視覺信息而只依靠數據集中提供的對話文本。模型示意圖如下所示。模型的輸入是前 句話,輸出下一句對話。

5.2 CoarseVisual模型(CV)

第二個模型融入了粗粒度的視覺信息。首先,模型使用一個預訓練的 ResNet-50 得到每句話對應圖片的特徵 ,然後把這個特徵和該句子中每個詞的詞向量以及位置向量相加,這三者的和作爲當前詞的輸入。模型結構如下圖所示。

之所以稱爲粗粒度,是因爲在這個模型中,圖片是作爲一個整體作爲模型的輸入,但實際上,人們在對話時往往關注的是圖片中的具體物體,這就引出了第三個模型。

5.3 FineVisual模型(FV)

第三個模型融入了細粒度的視覺信息,其核心在於使用預訓練的 Faster R-CNN 提取出每個圖片中的物體,然而將物體作爲模型輸入而不是整個圖片。模型結構如下圖所示。

假設當前模型的輸入是前 輪對話 ,以及它們對應的圖片 。對每個圖片 ,模型使用 Faster R-CNN 從中抽取出若干物體, 。把所有圖片抽取的物體拼接在一起 作爲輸入的第一部分,稱爲視覺部分。輸入的第二部分是常規的對話,稱爲文本部分。這兩部分使用了分段向量—— Segment Embedding 加以區分。

由於 Transformer 本身是基於自注意力機制,所以在生成下一段對話 的時候,我們能期望模型關注到重要的物體,而不是整個圖片。

實驗

本文使用上述三個模型在 OpenViDial 上進行實驗。測評指標有 BLEU、Diversity 和 Stopword%,用於衡量所生成對話的精確性、多樣性和豐富性。

下述兩表是實驗結果。從結果看,有視覺信息的模型 CV/FV 比純文本模型 NV 表現更好,而細粒度的模型 FV 又顯著優於粗粒度模型 CV。這表明視覺信息,尤其是細粒度視覺信息對對話生成的必要性。

下表是人工測評的結果。給定圖片及模型生成的對話,標註者需要評價所生成的回答是否(1)與圖片相關,(2)足夠具有多樣性,(3)可讀。人工給出的評價將被歸爲 No/Unsure/Yes 這三個維度。

結果與自動測評一致,細粒度模型優於粗粒度模型,而粗粒度模型又優於純文本模型。

下面是兩個具體的例子,給定前兩步的圖片與對話,模型需要根據當前步的圖片生成對應的對話。純文本模型 NV 與粗粒度模型 CV 總是生成無意義的回覆,如 I'm sorry 或者 I don't know,而細粒度模型 CV 能夠根據圖片中的物體生成相關的對話。

在第一個例子中,FV 抓住了圖片中的動漫女王形象,生成了“queen of the castle”。在第二個例子中,FV 定位了圖中的電話,生成了“call me back”。儘管它們與“真正答案”仍有差距,但總的來說具備了融入視覺信息的能力,並且生成的文本是多樣的、富有信息度的。

下圖呈現了 FV 模型在生成“i need you to call me back”時對圖片中物體的關注度。在 Head 3 中,模型在生成 call 的時候關注了電話與人,在 Head 5 中,模型在生成I的時候關注了人。這表明細粒度的視覺信息對對話生成是比較相關的。

小結

本文構造了一個大規模多模態對話生成數據集 OpenViDial,包含了百萬餘條對話及其對應的視覺信息。基於 OpenViDial,本文還提出了三個不同模態、不同粒度的多模態對話生成模型,利用文本和視覺生成更高質量的對話。實驗表明,視覺信息,特別是細粒度的視覺信息對生成多樣性、相關性和豐富性的對話很有必要。本文希望能促進學界多模態對話學習模型和數據集的發展。

更多閱讀

#投 稿 通 道#

 讓你的論文被更多人看到 

如何才能讓更多的優質內容以更短路徑到達讀者羣體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。

總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成爲一座橋樑,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。 

PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得技術乾貨。我們的目的只有一個,讓知識真正流動起來。

???? 來稿標準:

• 稿件確係個人原創作品,來稿需註明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向) 

• 如果文章並非首發,請在投稿時提醒並附上所有已發佈鏈接 

• PaperWeekly 默認每篇文章都是首發,均會添加“原創”標誌

???? 投稿郵箱:

• 投稿郵箱:[email protected] 

• 所有文章配圖,請單獨在附件中發送 

• 請留下即時聯繫方式(微信或手機),以便我們在編輯發佈時和作者溝通

????

現在,在「知乎」也能找到我們了

進入知乎首頁搜索「PaperWeekly」

點擊「關注」訂閱我們的專欄吧

關於PaperWeekly

PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公衆號後臺點擊「交流羣」,小助手將把你帶入 PaperWeekly 的交流羣裏。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章