首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

“我的语文是计算机老师教的”

吃了好几期的理论,今天的午餐,我们来放松地吃点瓜。

在大家还是小学生的时候,应该都做过“看图说话”这道语文题。能够看一幅图片,写一个句子;或者看几幅图片,讲一个故事——这是许多人都具备的基本能力。

小学的看图说话练习题

但是,对于机器来说,别说看图讲故事了,连看图说句子都是一件非常困难的事情。简单来说,要描述一张图片,机器不仅需要处理视觉信息,还需要把语言信息与视觉信息对应起来。

相信大家一定很好奇:

如果我们把一些图片给机器,让它们看图说话,它们会说出什么样的句子呢?

进一步,如果机器看图说出一句话,我们能够判断出,这是机器还是人类所说的吗?

在人工智能中,图像标注 (Image Caption)正是一个解决如何教机器“看图说话”的任务。然而,目前的研究大部分集中在“看图说英文”上。

今天,我们有幸请来了一位学过中文的看图说话机器,让它给我们展示一下,什么叫“我的语文是计算机老师教的”。

下面,我们就来试试,这位机器看到一些日常生活的图片,会怎么描述——

∆ 以下图片来自于公开数据集MSCOCO;图片的机器标注属于清华大学Bigeye实验室Jin Li (特别致谢)。本文内图片已获授权;未经允许,请勿转载使用。

你说我们谁是马桶!今天一定要说清楚!

难道你是鲁迅?!!

睁着眼睛说瞎话...

你一定就是

深度神经病网络下的人工智障了...

这些图片标注,大家一眼就可以看出是机器写的;因为人类根本不可能说出这样的句子。但是,也有一些机器标注,看起来更为自然。

比如,下面这些图片的机器标注,初看时,就不能完全确定究竟是机器还是人类所说——

我明明已经进站了...

非常有诗意...

你才是熊...你全家都是熊!

可以说是很具体了

这些句子初看很正常。但是,部分了解语言学、或对中文句法比较敏感的人,会很快发现它们不对劲的地方。

这里,我们不去探究机器是如何学习看图说话的(这些内容会在未来介绍)。我们先从语言学的角度想想:为什么人类能看出来这些是机器说的句子?除去图像识别失误,机器产生的句子缺失了什么呢?

首先,最明显的一点是,有些句子里的名词用得不太对。因为描述图片,最不可避免的就是名词。名词一旦有问题,句子就显得特别不自然。

大家一定发现了,这些句子里到处都是“一个”开头的名词,来表示不定指(indefinite)。比如——

这张图片太有欺骗性了...

马:帅成摩托车的我 ?!

除去图片内容识别失误,我们会发现,这两个句子本身,也不太自然。

在英文里,我们经常用不定冠词“a”加上名词开始一个句子。比如"A man came out of the room."。因此,在训练机器用英文标注图片的时候,可能会限制"there be"句型,直接以“a+名词”的形式开头。

然而,中文与英文有着一个很大的差别。在中文里,我们常常、甚至必须在“一个+名词”的前面加上“有”,来表示不定指的存在(此处关于“有”的句法不作过多讨论,可以参考诸多论文)。

比如,我们常说“杯子在桌上”、“有一个杯子在桌上”,却不常说“一个杯子在桌上”。我们也会将地点(Location)信息放在主语,说,“桌上有一个杯子”。

同时,在中文里,除非强调数量或存在,其余很多时候都会用光杆名词(bare noun)或者量名词(classifier noun phrase)来表示不定指。

比如,我们常说,“哥哥在骑自行车”;却不常说“哥哥在骑一辆自行车”。

这种使用偏好的差别,导致机器产生的部分“一个”名词看起来有些生硬。

其次,在汉语中,表示地点的词所在的位置也很重要。

比如下图——

别的火车都在天上行驶...

“一辆火车在铁轨上行驶”初看非常自然。但是如果我们仔细想想,就会发现,面对这样一张图片,我们很可能不会这么描述。

因为一般而言,火车都在铁轨上行驶,因此“在铁轨上”并不是一个重要信息。故意把这个信息用“在”字加强,就会略显生硬。

相比之下,“铁轨上有一辆火车”就自然很多。因为“有”字把重点放在了“火车”上。

再比如,我们先想想,面对下图,我们会怎么描述——

相信许多人都会说,“路边有辆摩托车”,或者“路边停着一辆摩托车”,而不会说“一辆摩托车停在路边”。

第三,机器往往不能很好地识别动作的状态。

我们发现,如果图片描述的是一个短期内不会发生改变的状态,机器产生的句子里,动词往往比较恰当——

分不清玩具狗和狗

完全无视投影屏幕...

上面的图片里,“几只狗躺在沙发上”、“桌子上放着一台电脑”,动作的持续性都比较强。

然而,如果图片里的动作在短期内会发生改变,机器产出的动词就不那么恰当了——

宝宝已经要上天了...

我明明已经进站了...

第一张图片里,机器并无法识别出飞机“起飞”的状态,只好说“一架飞机停在跑道上”。

第二张图片里,机器也不能很好地识别出火车“进站”的状态,只能说“一列火车行驶在铁轨上”。

第四,我们会发现,部分句子描述的信息很局限,或者说,关注点不对——

你的眼里只有钟

一群摩托车在草地上吃草...

背后的牧车人在用力微笑...

面对第一幅图,也许我们会注意到风格古老的钟楼、时钟的时间,以及钟楼只露出了一角等等。然而,图片只给出了“钟楼上有钟”这种有些显而易见的重复信息。

第二幅图里,我们可能会更关注人的主动性,说“车手把摩托车停成了一排”等等。然而,机器忽略了背景事件,仅仅描述了一个静态的状态。

相比机器,人类处理语言信息,也是记忆、认知等综合作用的结果。

看了这些句子,我们一定会更加珍惜我们聪明的大脑。当然,机器学习这个前沿的领域也在发生着日新月异的变化,未来我们将介绍更多相关信息。

最后——

没错,就是你啦!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180319B0KPUK00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券