APP下载

图像标题生成中的人物类名实体填充方法研究

2019-10-21张家硕姚建民

中文信息学报 2019年9期
关键词:维基百科段落实体

张家硕,洪 宇,唐 建,程 梦,姚建民

(苏州大学 计算机科学与技术学院,江苏 苏州 215006)

0 引言

图像标题生成任务是为给定图像自动生成含义和内容对等的标题。这一标题也称为图注(caption)。面向图像的标题自动生成技术有着广泛的应用前景,例如助残机器人、跨媒体信息处理和认知智能。同时,这一任务也是跨领域的研究课题,对于图像处理和自然语言处理技术均有较高的依赖性。

现有基于端到端(图像—语言)架构的跨媒体生成技术已经取得了瞩目的研究成果,借助图像特征的编码和语言特征的解码过程,能够将一个图像自动“翻译”为一条基本符合人类语言规范的语句。此外,注意力机制的引入使得模型性能获得了较大幅度的提升。然而,大量的数据观测显示,这类标题虽然有着较为流畅的可读性,但在表意层面却相距真实标题甚远,表达力明显的欠缺。其中,实体信息匮乏是目前标题生成最为明显的短板之一。

对于图像中的具体命名实体(人、物、机构、地点和时间),现有标题生成技术无法给出精确且贴切的命名,例如,针对图1中的人名实体,现有技术仅仅会输出“一名男子”或“一个运动员”,而无法输出其真实的姓名“费德勒”。其原因在于现有数据集本身即缺少有形的实体标注。如微软图像标注数据集(MSCOCO)[1]和雅虎图像标注数据集(Flickr)[2]等。而真实的图像标题含有确切的实体信息,因此,本文前期工作为采集维基百科页面上的图像与真实标题数据对,构造包含实体信息的数据集,并基于此数据集训练得到图像标题生成系统。但是,这一研究结果显示,虽然生成的标题中蕴涵了具体的人名实体,但往往都是错误的。例如,错将图1中的“费德勒”生成为“纳达尔”(另一位网球运动员)。原因在于,训练数据集中只有关于“纳达尔”样本。

本文针对上述生成标题中实体信息匮乏的问题展开研究,目标在于为图像生成含有人名实体的标题,使之对图像内容的描述更加具体且精确。主要包括两个步骤: ①使用采集于维基百科的数据训练得到图像标题生成系统;②对自动生成的图像标题进行去实体化(即将原有生成的名实体或人物的泛化称谓进行滤除)及实体填充(使用正确的人名实体填入生成的图像标题中)。由此,本文将现有前沿的问答技术引入图像标题的优化过程中。具体地,针对人名实体,完型填空任务等价于回答通用Who类型问题,即以“谁”为疑问词的问题。

因此,我们采用阅读理解模型R-NET[3]专门抽取目标段落中的文字序列作为答案,而这一答案将被最终填充于上述人名实体的空槽,从而形成一种修正人名实体的图像标题生成后处理技术。

上述待抽取的目标段落指的是与目标图像相关的文本段落。本文针对源于维基百科的数据进行实验,使用了结构化数据处理方法,实现了图像与其所在网页中的关联段落的一一对齐,并将这类段落认定为局部相关信息。此外,本文将上述段落中不同人名实体词条链接的网页内容指定为外部信息,例如,“费德勒”与“纳达尔”作为链接词条,往往导向以两者为关键词条的维基百科网页,这类网页的第一段简介往往直观地综述了人名实体的主要信息。本文实验尝试借助R-NET在上述两种不同的段落级数据源中进行人名实体的抽取与标题槽的填充,并分别进行测试。实验结果显示,利用外部信息的方法取得了更为有效的填充性能。此外,不管使用哪一种信息源进行名实体抽取与填充,修订后的图像标题都在BLEU值上取得了性能提升。

本文组织结构如下: 第1节介绍相关工作;第2节介绍包含人名实体信息的图像标题生成方法;第3节给出实验结果和分析;第4节总结工作并提出未来展望。

1 相关工作

图像标题生成是指给定一张图像,为其生成一种特定语言的标题。该任务早期的工作主要集中于基于模板和基于相似图像检索的方法。Kulkarni等[4]首先通过目标检测算法从图像中提取出实体、实体的属性以及实体与实体之间的空间位置关系,填充到人工编辑的标题模板中,再根据自然语言的统计规则选择最优标题。Kuznetsova等[5]在通过检索得到相似图像之后,对所得相似图像的标题做出修改,以适应当前图像。

近年来,继神经网络中的编码器—解码器框架在机器翻译任务中取得显著效果之后,其被应用于图像标题生成任务中,并迅速成为该任务上的主流方法。Vinyals等[6]使用卷积神经网络(Convolutional Neural Network,CNN)[7]作为编码器,将CNN中最后一层的输出作为图像的特征矩阵。同时,利用循环神经网络(Recurrent Neural Network,RNN)[8]作为解码器,对上述所得特征矩阵解码,逐步生成单词序列。Xu等[9]将注意力机制引入编码和解码过程中,在RNN进行解码的每个时刻,使用注意力机制为局部特征分配权重,动态地关注当前时刻图像中的重点区域。Karpathy等[10]使用目标检测领域中包含卷积特征的区域(Regions with CNN features,R-CNN)[11]算法提取出图像中的实体特征,并用其代替整张图像的特征作为解码端RNN的输入。Rennie等[12]将强化学习中的策略梯度方法结合到了编码器—解码器框架中,使用基于共识的图像标题指标(Consensus-based Image Description Evaluation,CIDEr)[13]代替交叉熵,在训练过程中对CIDEr分值进行优化。Anderson等[14]使用准确率更高的Faster R-CNN算法[15]提取图像中的实体特征,在解码阶段结合注意力机制,并同样使用了强化学习方法。

针对生成标题中实体信息匮乏的问题,Tran等[16]通过人脸识别方法识别出部分名人及地标等。但此方法可扩展性不足,不能处理数据集中未出现过的人物、地标等名实体。显然,解决这一问题的策略之一是基于命名实体词典进行查找。然而,名实体及标记数据集的构建往往需要人工参与,且需要保证获取名实体相关信息的检索技术具有极高的精度。此外,Venugopalan等[17]分别从图像分类数据集和图像标题生成数据集中学习更加细粒度的类别标签和图像标题,并将标签融入所生成的标题中。但这些细粒度的类别标签仍属于类的范畴,尚未精确到个体信息。Lu等[18]提出一种Entity-aware标题生成模型,该研究是目前唯一尝试“蕴含人名实体对象的图像标题生成”的相关工作,但在数据和方法上与本文有以下不同:

• 其一,Lu等[18]使用的数据集采集于图片分享网站,图片上传者已为图片标注出相关的标签(例如,事件、主题、人物、地点等)。因此,该数据集中的图片天然带有实体标注。而本文数据集采集于维基百科。其中,每条数据包括图片及相关文本段落,并不具有对图片的实体标注。

• 其二,Lu等[18]方法的输入为图片及对图片的实体标注,重点在于对已知的实体标注进行筛选及精准填充至生成的标题中。而本文方法的输入为图片及相关的文本段落,重点在于从文本段落中自动抽取出图片中包含的人名实体。

2 基于人名实体填充的图像标题生成

本节首先给出方法框架,然后分别对标题生成和面向Who问题的阅读理解方法给予介绍。

2.1 方法框架

图2给出了结合人名实体填充的图像标题生成方法框架。与以往方法不同,本文以图像以及与其相关的段落作为输入,并从相关段落中抽取图像场景中关键角色的人名实体,对生成的原标题进行修正。值得注意的是,相关段落中的人名实体往往多种多样,例如,在一段关于“费德勒参加网球公开赛”的段落中,其竞争对手、颁奖嘉宾、解说员、裁判员和教练员都在枚举和提名之列,从而人名实体抽取的关键问题是判定哪一个实体是图像中的“主角”或“参与者”,而非简单调用一套名实体识别方法并进行标题实体槽填充即可解决的问题。总体架构的核心部分包括两个方面: 图像标题生成和图像参与者的名实体抽取。

图像标题生成部分,本文基于端到端的神经网络方法,具体地,使用加入注意力机制的CNN-LSTM模型进行标题的自动生成。本文采集真实的维基百科图像—标题数据集对该模型进行训练,其学习过程如图3所示。图2给出了该模型生成的标题样例,即“Joeperformingwiththeband”(译文: Joe与乐队合作演出)。实验结果显示,基于上述维基百科数据集训练而得的模型可为图像生成具有确切的名实体的标题。这是基于标准数据集训练所得系统所不具备的。尽管受限于有限数据集固有的局限性,而无法大范围地生成正确的图像参与者名称,但对某些高频出现于训练样本中的名实体(例如“奥巴马”),其往往仍能给予正确结果;相比而言,MSCOCO中的标题则缺少名实体及其标记,无法支持生成具体人名实体的应用需求。

人名实体抽取使用了微软提出的阅读理解系统R-NET,该系统的输入为问题和相关段落,输出为该问题的答案。如前所述,本文将生成的图像标题进行人名实体的识别与滤除,形成了类似完型填空任务的样本,对于有待填充的实体槽,本文将其转化为Who类型的问题表述,并在此基础上使用阅读理解系统R-NET在相关段落上抽取答案。

图2 图像标题优化方法的总体框架

图3 图像标题生成系统

下例给出了上述处理步骤的结果:

例1Caption(标题): Bruce Arena playing for the Italy.

Cloze(完型填空): playing for the Italy.

WHO-type Question(Who类型问题): Who playing for the Italy?

SlotFilling(槽填充):

Revised Caption(修正后的标题): WikiLando playing for the Italy.

本文使用斯坦福命名实体识别工具实现对生成标题中人名实体的识别。具体地,使用Stanfordcorenlp(1)https://github.com/Lynten/stanford-corenlp,调用该工具包内命名实体识别函数ner()即可获得一句话中的命名实体词。工具包,完成对生成标题中人名实体的识别。进而结合转换规则将所生成标题转换为寻找正确人名实体的问句。相关测试图像、图像标题和对齐于图像的段落均采集于维基百科页面。实验中的图像—段落对齐采用了基于结构化数据的定位策略。对齐的段落被用作局部信息。此外,本文采用维基百科的词条链接,引入了对应段落中所有人名实体的链接网页内容,并将正文中第一段作为外部相关信息,实验对比了两者对人名实体抽取的不同影响。

2.2 图像标题生成

其中,Wva、Wha和Wa是要学习的参数。最后通过softmax层获得每个单词的条件概率分布,如式(4)所示。

(4)

其中,yt即为当前时刻所生成的单词。

2.3 基于R-NET的人名实体抽取方法

2.3.1 Who问题生成

该模块首先利用斯坦福命名实体识别工具,识别出已生成初始标题中的命名实体,将实体类型为“PERSON”的实体替换为疑问关键词“Who”。由于所生成标题结构并不复杂且长度较短,所以通过规则即可将标题转换为质量较好的问题,例如,图2中所生成标题“Joeperformingwiththeband.”转换为问句过程:

• 使用NER工具得到待纠正的人名实体对象

[PERSON]

• 根据转换规则将“Joe”转换为“Who”,补充谓语动词,其他成分保持不变,形成由Who引导的特殊疑问句:

Who is performing with the band?

2.3.2 阅读理解模型R-NET

目前,在阅读理解任务上存在较多性能较高的方法,值得说明的是,这些方法均满足本文需求,在方法性能较高的前提下,本文对阅读理解方法的选择并无特殊要求。具体地,本文采用R-NET实现人名实体抽取工作,该模型以问题和相关段落为输入,借以从段落中抽取文字串,并将其作为答案给予返回,在本文中,等价于抽取出段落中的人名实体。模型的整体架构如图4所示。

图4 R-NET 模型结构图

R-NET的网络结构主要分为以下四层:

(5)

其中,ct为注意力分布向量,如式(6)所示。

(6)

(7)

2.4 局部及全局相关信息获取

本文的测试数据均采集于维基百科页面,包括图像、图像的相关文档以及图像下方的标题(参考答案)。具体地,本文为每张测试图像构造了两种相关文档,分别称为局部信息和全局信息,并以此两种信息作为人名实体抽取来源。本节将具体介绍上述两种相关文档的获取方法,该方法框架如图5所示。相关代码已上传至此(2)https://github.com/jiasureZ/filling-name-in-image-captioning。

图5 相关文档获取方法

局部信息指图像所在维基页面中与图像直接相关的文档。维基页面上的一篇文章往往包含多张附图,但与每张图像相关的信息只存在于个别段落中。例如,图6中子图a、子图b分别与段落Pa、段落Pb对应。

图6 图像—相关段落样例

我们通过以下方法获取页面中与图像直接相关的内容: 首先获取图像所在网页的源代码,在网页源代码中定位图像所在的网页位置,分别将该位置上、下首次出现的标题类标签作为局部信息的上、下边界,取出上、下边界范围内的文档作为局部信息。

此外,维基百科会为文章中出现的人物提供词条链接(图7),该链接指向人物的介绍页面,对人物进行详细介绍。

全局信息是指局部信息内出现的所有人物的维基百科介绍内容。首先找到页面内所有的链接,对所有链接进行如下操作: 根据每个链接的title属性确定此链接是否指向人物的维基百科介绍,若title属性的值为“PERSON”,则将该链接认定为有效链接(局部信息中平均包含13.7条人物链接)。经观测发现,第一段落内容均存在源代码中首个段落标签之内,同样通过解析网页的方式获取该链接指向页面的第一段落内容。最后,使用所有人物词条的第一段落组合形成全局信息。这里之所以使用人物词条的第一段落,是因为第一段落中包含了人物职业、主要经历等人物最显著的特征,对每个候选都有较强的区分性,有利于我们后期对人名实体进行抽取。

图7 人物词条样例

3 实验及分析

3.1 实验数据

因为通用的图像标题生成数据集如MSCOCO和Flickr30K等本身不包含命名实体类的具体词汇,所以模型无法学习到生成人名实体词的能力,即无法为图像生成包含人名实体信息的标题。因此,我们通过网络爬虫技术从维基百科页面爬取图像以及图像下方的标题,组成二元组,构建我们的实验数据,与上述数据集不同,这些标注中人名实体信息充足,是理想的训练数据。为避免数据稀疏问题,本文对采集而得的数据进行了过滤。具体地,借助斯坦福命名实体识别工具对图像标题中不含人名实体的数据对进行了滤除,以确保本文使用的所有数据均包含人名实体。

我们一共搜集了4.1K条与人物相关的(图像,标题)数据对,涉及体育、音乐、政治等多个领域,将数据随机划分,形成3 505条训练数据、335条验证数据和和260条测试数据,用以训练标题生成模型。测试阶段,我们为260张图像构造两种不同的相关文档,即之前所述的局部信息和全局信息,并基于此两种相关文档验证了上述无监督方法的有效性。

3.2 评价标准

我们的目标是生成含有人名的图像标题,是否生成正确的人名是我们最为关注的一点,因此,我们使用生成标题中人名实体的准确率作为主要的评价指标,同时使用BLEU以及ROUGE-L值辅助评价所生成标题的质量。BLEU值是一种基于精确度的相似性度量方法,考察生成标题与图像真实标题中的n元组(n-gram)的匹配程度。ROUGE-L是一种基于召回率的相似性度量方法,主要考察生成标题的充分性和真实性。但除本文所使用的人名实体的准确率之外,目前图像标题的评价指标仅从相似度角度考察生成标题和真实标题的匹配程度,尚不能针对生成标题中实体的质量做出评价(包括上述BLEU和ROUGE-L存在同样的缺陷),原因在于这些评价准则并未对人名实体词和其他词汇区分对待。例如,无论是人名实体词“Obama”还是冠词“a”,其在分值的计算过程中的地位是相当的。所以,使用上述两种评价指标(BLEU和ROUGE-L)尚且不能完全体现出经修正人名实体之后的标题的优越性。

3.3 实验对比设置

为验证本文所提方法的有效性,我们进行了以下对比实验。

•Baseline: 本文的对比基准是指由图像标题生成系统生成的初始标题,即此时未对标题中人名实体进行修正。

•Similarity+TFIDF: 一种基于TFIDF的相似度方法。具体地,在得到初始标题之后,对初始标题中的人名实体词进行识别和滤除,形成待填充的空槽,并将此成分残缺的表述视为模板,用文章中出现的所有人名依次填入空槽中,构成多个候选标题。计算得到候选标题以及图像的相关文档中所有单词的TFIDF权重,使用余弦相似度逐句计算候选标题和文档中每句话的文本相似度,将相似度最高的余弦距离作为此候选标题的分值。最终,选择分值最高的候选标题作为本图像的最终标题。

•Similarity+Skip: 与Similarity+TFIDF方法类似,经相同方法得到候选标题之后,使用预训练的句向量Skip-thoughts[2]模型分别将候选标题和相关文档中所有句子编码成向量表示。之后,逐句计算候选标题与文档中所有句子的余弦相似度,使用最高的两个相似度结果的平均值作为该候选标题的最终得分。同样,选择得分最高的候选标题作为图像的最终标题。

•+R-NET: 本文第2节中所介绍的方法,即将人名实体填充任务等价于由Who引导的阅读理解任务。由此,使用在阅读理解任务上较为前沿的模型R-NET实现对图像对应的人名实体的抽取,并将抽取结果填充至含有空槽的初始标题中,以此作为图像的最终标题。

•Entity-aware: 在本文数据集上,我们与该方法进行了对比。因该方法以图片及对应的实体标注为输入,所以,我们首先从图片相关的文本段落中识别出所有的命名实体,作为图片的实体标注,进而使用该方法进行了对比实验。

3.4 结果分析

基于上述两种实验数据以及实验设置方式,我们得到了如下的方法性能,并从人名实体抽取准确率(表1)及修正后图像标题质量(表2、表3)两方面对实验结果进行了分析。此外,因本文组织了局部信息和全局信息两种相关文本,源于此两种文本,抽取而得的人名实体在表述方式上有所不同,表4对比了不同人名表述方式对最终结果的影响。

表1 人名实体抽取准确率对比

表1是使用上述几种方法在人名实体抽取准确率上的性能对比结果。可以发现,若不对初始标题中人名实体进行修正,其准确率仅有4.23%。基于两种相似度的方法效果相近,但均难以准确判断出正确的人名实体。Entity-aware方法适合在已有实体标注的情况下进行图像标题生成,而基于本文数据时,数据集中的图片并不具有实体标注。虽然我们从文本中识别出命名实体集合作为对图片的实体标注,以模拟该方法的输入,但这种方式将引入一定噪声,即该集合内存在较多的命名实体不能作为图片的准确标注,这导致该方法获得的人名实体准确率较低,进而影响了最终的标题生成质量。相比而言,本文所提出的+R-NET的方法可以在准确率这一指标上取得明显优势。这也验证了本文所提方法的合理性,即将初始标题中的人名实体修正过程转化为由Who引导的阅读理解任务,进而依靠R-NET模型较高的性能便可以完成对人名实体的抽取。对比表中两列性能可以发现,基于全局信息的人名实体抽取准确率较基于局部信息时更优。经对语料进行观测发现: 很多时候,图像只是作为文章的配图,文章(局部信息)并不是对图像的详细注解,与图像内容仅仅具有浅层的相关性。因此,抽取出正确的人名实体需要高度的理解能力,这使得使用局部信息作为背景知识文档时的人名实体抽取准确率较低。而全局信息由各个候选人物的维基百科词条中第一段落组成。在第一段落中往往包含了人物职业、主要经历等人物最显著的特征,对每个候选都有较强的区分性。所以使用全局信息的人名实体抽取准确率有明显提升。

表2 基于局部信息的方法性能表

表2是基于局部信息的对比结果,可以发现我们提出的+R-NET方法优于上述两种相似度匹配的方法。该方法在人名实体的抽取上可以获得较高的准确率,进而,使用抽取而得的人名实体对生成标题进行填充之后,使得最终标题在BLEU值及ROUGE-L值上都取得了最高的性能。表3是基于全局信息的对比结果,依然可以发现+R-NET方法的优越性。

表3 基于全局信息的方法性能表

无论哪种方法,相较于Baseline来说,人名实体抽取的准确率都得到了较大幅度的提高。例如,+R-NET方法在基于局部信息时,人名实体抽取的准确率提升至35.38%,基于全局信息时,准确率提升至52.31%。但是经对人名实体修正之后得到的最终标题在BLEU以及ROUGE-L值却并未取得对等幅度的提升,BLEU-4及ROUGE-L值上仅分别提升2.93%和3.52%。这是由于BLEU以及ROUGE-L值本身特点所致,它们均属于一种相似度匹配的度量方法。直接考察生成标题和真实标题的匹配程度,并不会对人名实体词给予较大的关注度。对生成标题中人名实体词的质量并不敏感,无法体现出对句中人名实体修正之后的优势。

同时,对比表2和表3可以发现,在使用全局信息作为人名实体的抽取来源时,在人名抽取准确率上优于使用局部信息。例如,本文所提的+R-NET方法在使用局部信息时的人名实体抽取准确率为35.38%,使用全局信息作为人名实体抽取来源时,准确率上升至52.31%。但是,最终标题的BLEU及ROUGE-L值却出现了下降的现象,此时的BLEU-4和ROUGE-L值分别下降了2.45%和0.11%。这是由于全局信息的文本特征所致,全局信息中的人名均是全称,而真实标题和局部信息中的人名均是单独的姓或名。比如,图8中所示的例子: 真实标题和局部信息中均是“Gilbert(吉尔伯特)”,而在全局信息中则是“PaulBrandonGilbert(保罗·布兰登·吉尔伯特)”。所以即使我们获得正确的人名实体,依然会造成BLEU以及ROUGE-L值偏低。尤其当人名实体抽取结果错误时,对二者产生的负面影响更大,因为会填入一个有误且更长的单词序列。

图8 测试数据样例

无论抽取结果为简称还是全称,只要属于同一人物,应该视为相同的结果。所以,事实上最终所得标题性能优于表3所显示的数值。例如,使用人名简称替换该人物的全称之后,可以获得如表4所示数据。

表4 不同人名表述方式对最终结果的影响对比

表4说明了不同人名表达方式对最终BLEU和ROUGE-L值的影响。首先,对在全局信息上获得的结果进行修正: 将其中的错误人名修改正确,以此作为原始结果。进而,+R-NETFull name表示将原始结果中的人名全部替换成全称;+R-NETShort name表示将原始结果中的人名全部替换成简称。由表中数据可见,虽然标题中为同一个人物,可以理解为获得了相同的结果,但是当用BLEU值和ROUGE-L值衡量时,依然存在较为明显的差异。对与标准答案表述方式不同的结果会给予较低的分值,在本文中,未能准确评价我们所提方法在基于全局信息时的表现。

虽然对实用过程有积极帮助,但提升后的性能,尚无法完全补全或修正错误的人名实体。而且目前的评价方法侧重对语言流畅度的测量,并未重点考察生成标题中人名实体的质量。例如,人名实体的准确率及含量等。对于单点的词项或人名实体替换前后的效果,无法有效体现。

此外,我们从数据角度进行了错误分析。我们使用从维基百科爬取的数据训练图像标题生成模型,这些数据虽然满足了对人名实体信息含量的要求,但数据中的标题复杂多样,在训练阶段,加大了模型学习的难度。如图9所示,两张图像极为相似,但其真实标题的差别较大。

4 总结与展望

本文提出了一种包含人名实体信息的图像标题生成方法,从人物信息开始我们的初步探究,通过结合图像相关的背景知识,为图像生成了含有具体人名的图像标题。本文借助阅读理解系统,辅助实现一种面向人名实体补充与修正的图像标题自动生成策略。在实验环节,本文采用了基于R-NET的阅读理解模型实现具体人名实体的发现。值得说明的是,目前基于SQUAD数据集及评测框架获得较高性能排名的阅读理解模型较多,且随着技术的不断进步,形成了多项优于R-NET架构的阅读理解模型。因此,在实用过程中可以通过阅读理解模块的方法更替,实现图像标题生成的进一步优化和分析。本文侧重检验阅读理解模型在标题生成中的正面作用,并借助引入R-NET进行实际性能的测评(即使用阅读理解模型和不使用该模型的图像标题生成的性能对比实验)。

在之后的工作中,我们将探索生成包含更多准确命名实体信息(如时间、地点等)的方法,并尝试将相关文档、图像同时作为图像标题生成系统的输入,使用有监督的方法,经训练之后,直接为图像生成包含准确实体信息的标题。

猜你喜欢

维基百科段落实体
趣味•读写练 答案
维基百科青年
【短文篇】
心理小测试
前海自贸区:金融服务实体
实体书店步入复兴期?
夏天,爱情的第四段落
两会进行时:紧扣实体经济“钉钉子”
振兴实体经济地方如何“钉钉子”
APP