机器之心发布
近年来,随着问答技术和多模态理解技术的蓬勃发展,视觉问答任务(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 不同型号的尺寸对比图会更加清楚和直观。还有一些例子如下图所示:
图一:一些适合用图片回答用户问题的例子
无偏的:因为随机 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 多条产品线。
© THE END
转载请联系本公众号获得授权
投稿或寻求报道:content@jiqizhixin.com