程序员:我只想买件没有格子的衬衫,怎么就这么难

  晓查发自凹非寺 

  量子位报道公众号 QbitAI

  说到程序员着装,大家会想到什么?

  自然是格子衬衫了。

  但一个外国程序员,终于对此厌倦,他不想再穿格子衬衫或条纹衬衫,于是他打开了亚马逊网站,输入了关键词“无条纹衬衫”(shirt without stripes),结果却是这样的:

  为什么几乎全部都是带条纹的衬衫啊?

  “一定是我打开的姿势不对!”

  或者只是亚马逊的自然语音处理(NLP)技术不够好吧。

  他又接着尝试了谷歌微软的搜索引擎,结果却还是这样:

  反正结果就算不是衬衫,也一定带条纹,甚至还搜出了球衣。

  如果把关键词换成“没有格子的衬衫”(shirt without plaid),结果还是让人失望。

  是不是感到这个世界满满的恶意?程序员想买个没有格子的衬衫怎么就这么难!

  接着,这位程序员把搜索结果上传到 GitHub,短短十个小时就获得了 300 星。

  更让人没想到是,这件小小的事情影响范围还在扩大,几个小时就在 Hacker News 上带了 400 多条评论。

  看来有相同槽点想吐的人,并不少。

  并且事情也“闹大”了。

  大家发现,何止搜索引擎,现在你只需一个“不”就能让 AI 助手变“人工智障”。

  打开你的 Siri,和它说“不要告诉我天气”,但 Siri 还是义无反顾地告诉了你天气状况。

  那么问题来了:为什么 AI 会犯如此低级的错误呢?

  人工智能的盲区

  无论是搜索商品图片还是询问天气,加上了一个“不”或“无”字,就变得复杂起来。

  这个“不”到底是哪个部分做出否定,可能人类也说不清楚。

  这类问题属于“归因”问题,可能是统计学方法不能解决的,这就触及到机器学习的盲区了。

  在上面的问题中,处理一个“不”还算比较清晰,但是在一些对准确性有要求的领域,会有很大的问题。

  比如“无癌症证据”,到底是得到了没得癌症的证据,还是根本没有证据呢?

  这还算是比较简单的,人类语言中还有很多双重否定,有时候连人自己表达的时候都会犯错。

  处理这类问题,不能使用过去的统计方法,而需要更多关注语法内在的逻辑性,语言学中的乔姆斯基学派的研究者就是这么认为。

  但是涉及此类算法的研究很少,甚至很多从事算法的人对此并不感兴趣。

  一些从事机器学习研究的大型公司,他们研究的算法具有很大的适用性,但是在归因等情况下,他们的语言模型可能会失败。

  而且神经网络尚未显示出对此问题的改进。在说“不”这个问题上,各家的 AI 都不能通过图灵测试,甚至显得愚蠢。

  所以是不是“另有隐情”?

  技术不行还是 SEO 捣乱

  是不是因为谷歌没有在搜索引擎里用上 NLP 技术,所以才导致错误的结果?

  实际上,谷歌去年 10 月就已经在英文版的搜索引擎里用上了 BERT。

  过去,谷歌的搜索更多的是基于单个单词的理解。

  比如“2019 brazil traveler to usa need a visa”,以前的谷歌搜索会基于 visa、usa、brazil 这几个关键词,而英文结果里更多的是美国人咨询去巴西,所以搜索结果往往是相反的。

  更新后的谷歌能够理解“to usa”的含义,才能识别正确的结果

  于是这让一些网友觉得,谷歌亚马逊研究多年的 NLP 技术不过如此,要理解人类语言还有很长的路要走。

  不过,经过努力,计算机已经能够搞清楚英文里的“无癌症证据”(No evidence of cancer、Evidence of no cancer)两者之间的差别。

  当然,还有一些技术之外的因素。

  任何搜索引擎都绕不开SEO和广告问题。

  那些卖条纹衬衫的商家会通过各种优化手段,霸占“条纹”和“衬衫”这两个关键词的头部位置,结果导致“no”和“without”之类的关键词被忽略。

  一些网友认为,是 SEO 的垃圾信息毁了搜索引擎,同时广告还是是谷歌搜索的重要收入来源,谷歌自己可能也无心解决——这一点自然无法妄加揣测。

  不过,我们也用最大的中文搜索引擎试了试,发现也是一样的结果:

  但往好的一面看,这也意味着时代之问有解了。

  之前,总有人“抬杠”,在智能时代里,你无法判断跟你交流的是人类还是 AI……

  但现在,钥匙来了:机器是不能说“不”的。

  参考链接:

  https://news.ycombinator.com/item?id=22925087

  https://github.com/elsamuko/Shirt-without-Stripes

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注