通过替代文本描述使LinkedIn媒体更具包容性

  • 2019 年 12 月 31 日
  • 筆記

文 / Vipin Gupta,Ananth Sankar,Jyotsna Thapliyal

译 / 元宝

原文 https://engineering.linkedin.com/blog/2019/alternative-text-descriptions

作为我们为全球员工的每一位成员提供经济机会的愿景的一部分,LinkedIn为会员们创造了一个独特的环境,使会员们可以联网、学习、共享知识,并找到工作。在很多方面,LinkedInfeed已经成为这项工作的核心,它是我们在网站上分享信息和参与对话的卓越方式。除了文本之外,富媒体也已经成为了feed的重要组成部分。但是,在LinkedIn feed中添加富媒体引发了一个问题:就是feed是否对所有LinkedIn成员都是完全包容的?

例如,一个有视力障碍的会员还能在feed上享受富媒体吗?一个在带宽有限的区域中的会员,是否可以阻止一个图像完全加载,而且仍然可以享受完整的feed体验吗?为了维护我们的愿景,我们必须让所有会员都可以访问到富媒体。

有一种提高富媒体可访问性的方法,就是在上传图像时提供替代的文本描述。一个好的替代文本描述可以彻底的描述图像,同时把观看者的注意力带到重要的细节上。图像的所有主要元素或对象必须被标识和投射在一个单一的、无偏见的陈述中。目前,LinkedIn允许会员在通过web界面上传图像时手动添加替代文本描述,但并不是所有的会员都选择利用这一功能。为了提高站点的可访问性,我们的团队已经开始创建一个工具,该工具可为上传到LinkedIn的图像添加建议的替代文本描述。尽管近年来计算机视觉科学取得了巨大的进步,但自动文本描述仍然是一项艰巨的任务——此外,LinkedIn上的图像往往属于专业或以工作为导向的类别,而不是泛泛而谈。

这篇博客文章简要概述了我们正在探索的技术,这些技术将通过MicrosoftCognitive Service使用现有的解决方案,来帮助我们提高LinkedIn上的内容可访问性,同时也为LinkedIn独特的数据集定制我们的模型。

为什么要使用替代性文本描述?

对于图像的替代文本描述可以通过若干种方式来改善feed中富媒体的可访问性。对于使用辅助技术(例如屏幕阅读器)的会员,替代文本描述提供了图像内容的文本描述。类似地,在带宽可能受到限制的地区中,即使图像本身无法加载,这样的描述也能让会员理解图像的关键特性。

如果一个会员在上传图像时没有提供替代文本描述,我们可以使用多种方法来生成替代文本描述,包括深度学习、神经网络和机器学习。

替代文本描述的实例(来自LinkedIn feed)

生成自动文本描述的挑战是什么?

描述一个图像或场景,与其说是科学,不如说是艺术。并不存在确切的“正确”描述——因为它总是主观的。学科的专业知识和各种物理对象及其属性的知识是生成图像的良好的描述所必须的。此外,在特定的时间点,图像只是我们对三维世界的二维投影,而且能够帮助更准确地基于时间来识别活动的信息缺失了,这就使得编写替代文本描述更加困难。

鉴于这些挑战,构建自动图像替代文本描述生成模型需要大量的训练图像数据集,这些数据集带有我们人为做的注释,以此来捕获主观变化和各种不同的对象。随着深度学习和自然语言处理模型的发展,最先进的图像描述模型可以为图像生成这些模型;然而,这些模型的准确率仅在50-70%之间[1,2]。此外,如果我们将这些技术应用于更具体的数据类型(例如,经常在LinkedIn feed上共享的专业主题的富媒体),那么它的准确性将继续下降。因此,需要针对特定类型的数据对这些模型进行训练,以便对特定用例的效果最好,并且需要谨慎的应用这些模型。

利用MicrosoftCognitive Services

Microsoft Cognitive Services提供了许多计算机视觉功能,包括Analyze API,它可以生成替代的文本图像描述。该服务将其输出定义为“用其支持的语言构建完整的句子,来描述图像内容”。该描述基于一组内容标记,这些标记也由操作返回。并且可以为每个图像生成多个替代文本描述。这个描述是根据它们的置信度得分来排序的。当我们开始探索自动图像描述和在LinkedIn堆栈中进行集成时,我们决定利用这个Microsoft Services。

Analyze API是在一个相当“通用”的数据主体上进行训练的,所以我们需要做的第一件事是评估如何使用LinkedIn特定数据来执行图像替代文本描述功能。为此,我们创建了四个类别,供评估人员用来评估性能。

表1:用于验证替代文本描述的标签摘要

Microsoft API会返回一个置信度得分,以及图像的替代文本描述、类别(可以在这里找到这些类别的详细定义)和标签。置信度得分可预测生成的图像文本描述的质量。为了评估API在LinkedIn数据上的表现,我们的评估人员将每个结果的标签与自动生成的置信度得分进行了比较。以下是一些手动评估不同标签的示例。根据置信度得分,每个标签被分成三个类别。

如上表第一行所示,Microsoft API能够很好地捕捉人群、对象(如报纸)和位置(如地铁)。在AI模型中,置信度与训练数据分布是密切相关的。由于微软的分析API并没有在LinkedIn数据上进行训练,因此我们期望中的LinkedIn富媒体的置信度评分会更低一些,因为该富媒体的置信度得分应该包含具有特定背景的图像(例如,在上面的表格中,第二行的图像有的在背景中使用了幻灯片/投影仪,而其中的描述并不准确)。在LinkedIn平台上分享的图片通常是在特定场合拍摄的,例如在展览、会议、研讨会等上。会员还可以分享带有很多文本的图片,例如产品海报、证书和图形图像(例如图表)等。由于Linkedin数据的特殊性,微软的置信度得分不够准确。因此,我们需要设计一种不同的方法来评估描述质量——一种考虑到我们特有数据集的方法。

要理解Microsoft Cognitive Services分析API的功能和输出,请查看下面的表,在表2中显示了来自MS-COCO数据集的一些示例,以及来自Microsoft API的标签、描述和置信度列的输出。可以观察到,Microsoft返回了一些标签,这些标签可以识别前景中的自然对象,例如“人”、“狗”、“背景对象( 如“草地”、“栅栏”、“办公桌”等)”、活动、场景类别(例如“户外”、“室内”),等等。并且,描述就是一句简短地描述图像的话。

表2:Microsoft Cognitive Services“分析图像”功能在公共数据集图像上的示例

性能评估

在上一节中,我们介绍了Microsoft Analyze API,以及指出它是如何在特定图像上进行定性的。尽管它对于大多数图像都做得很好,但问题仍然在于为一个描述分配正确的后验概率。为了解决这个问题,我们决定更深入的研究一下LinkedIn数据中替代文本的正确性。其目的是找出一些特定于图像描述质量的常用模式。为了获得这些模式,我们处理了诸如标签和类别之类的元数据,这些由Microsoft返回的元数据生成了词云:其中一种是来自图像描述被标记为“好”(人工评估)的图像,另一种是来自图像描述被标记为“坏”(人工评估)的图像。

基于这一分析,我们得出结论,Microsoft的解决方案适用于具有人群、室内位置、站立的人、许多人等特征的图像。对于其他特定类型的图像,我们意识到需要在特定于linkedin的数据上进一步训练模型,以获得更准确的结果。

LinkedIn元分类器解决方案

Microsoft Cognitive Services Analyze API被设计用于适合广泛采用的常见用例。由于LinkedIn feed专注于专业网络,并且我们拥有关于我们的会员和他们的内容的其它数据来源,我们希望通过调优LinkedIn用例的系统来改善API的效果。我们的目标是提高置信度得分,以确保将高质量的替代文本传递给LinkedIn feed。元分类器的解决方案如图2所示。它有助于以更高的精度提高在Feed上传递“好”字幕的比例。

图2:提高替代文本描述质量的系统流程图

处理不恰当的图像描述

不正确的图像描述可能会影响我们的会员体验。我们开发的元分类器有助于过滤掉这些文本描述(如下面的表2)。此外,还开发了一个图像描述校正模块,用于替换已识别的性别,频繁出现的包含“屏幕截图”等词的错误图像描述。

表2:不恰当的替代文本示例以及元分类器如何帮助提高评分

下一步

在这篇文章中,我们简要概述了我们如何探索改进在LinkedIn上的内容可访问性的方法。如上所述,我们目前正在利用Microsoft现有的解决方案,结合特殊训练的模型,来生成自动图像文本描述。LinkedIn的AI团队也正在为LinkedIn平台上的富媒体内容构建图像描述模型,以帮助提高整体图像描述的准确性。在近期内,我们计划通过与Microsoft在标签分类和相关词典方面的紧密合作,以及尝试与feed帖子相关的附加文本,来继续改进我们的元分类器模型。

我们总是对反馈持开放态度,并希望收到您关于如何让LinkedIn变得更好的建议。如果有任何想法或问题,我们鼓励会员通过DisabilityAnswer Desk给我们的团队发送电子邮件。