查看原文
其他

OpenViDial:一个大规模多模态对话数据集

让你更懂AI PaperWeekly 2022-03-17


人类对话不仅仅只依靠聊天内容,更需要利用视觉信息。本文构建了一个大规模多模态对话数据集,从电影和电视剧中抽取出(句子,图片)对,经过数据处理与清洗,最终得到一百万余条句子,及其对应的图片信息。此外,本文还构造了三个融合多模态信息的模型。

实验表明,融合细粒度的视觉信息,模型能够生成质量更高的对话,而只有文本的模型效果最差,这验证了视觉信息在对话中的必要性。本文希望所提出的数据集及模型能促进学界大规模多模态对话学习的发展。


论文标题:

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 默认每篇文章都是首发,均会添加“原创”标志


📬 投稿邮箱:

• 投稿邮箱:hr@paperweekly.site 

• 所有文章配图,请单独在附件中发送 

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通



🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧



关于PaperWeekly


PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存