晓查 发自 凹非寺 
量子位 报道 | 公众号 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

本文系网易新闻•网易号特色内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止随意转载。

喜欢就点「在看」吧 !

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

  1. 优秀程序员应该做的几件事【转】

    为什么80%的码农都做不了架构师?>>>    下面是一些优秀程序员应该做的几件事,当然这只是建议,每个人都有不同的生活和学习方式,以下提供的几条也仅供参考. 程序员每天该做的事 1 ...

  2. 程序员可以只关心技术么?

    摘要:不少程序员爱维护喜欢的技术,虽然他们说的有道理,但程序员价值的实现并不取决于技术.模式不一样,程序员价值也不一样,而这也暗含了程序员生涯的两个进阶模式,读完此文,相信你会重新思考个人生涯发展方向 ...

  3. 临近年关,为何越来越多的程序员不愿回家,带你盘点那些程序员最怕的几件事

    接近年关,该回家的就回家了,虽然现在科技发达了,程序员已经不再是一个陌生的行业,但在很多地方的农村,对程序员还是有很多的误解,很多程序员过年回趟家就会被折腾的再也不想回去,每次回来都感觉无力吐槽,而最 ...

  4. 自学成为程序员_成为程序员不需要的10件事

    自学成为程序员 Do you have what it takes to become a programmer? Chances are, you will base your answer on ...

  5. 写给那些想做程序员和不想做程序员的人

    <写给那些想做程序员和不想做程序员的人> 首先说一说进入计算机专业的目的,我个人是因为十分喜欢IT业,很喜欢折腾电脑,所以在填报志愿是毫不犹豫的在报了的所有的学校都填写的计算机专业,梦想着 ...

  6. [转]读《程序员应该知道的97件事》

    正文之前 熟知软件开发的人都知道这个行业里充满了一次次悲壮的失败,每一座成功项目的丰碑下都埋葬着无数同类型的失败项目.大多数软件项目都像是一次典型的死亡行军 加班是一种习惯,并会逐渐产生依赖 编程远远 ...

  7. 程序员应该知道的97件事

     转自:http://dearymz.blog.163.com/blog/static/205657420139243750104/ 正文之前 熟知软件开发的人都知道这个行业里充满了一次次悲壮的失 ...

  8. 每个程序员应该了解的97件事情

    原文:http://dearymz.blog.163.com/blog/static/205657420139243750104/ 正文之前 熟知软件开发的人都知道这个行业里充满了一次次悲壮的失败,每 ...

  9. 读《程序员应该知道的97件事》

    原文链接:http://dearymz.blog.163.com/blog/static/205657420139243750104/ 正文之前 熟知软件开发的人都知道这个行业里充满了一次次悲壮的失败 ...

最新文章

  1. Krona绘制物种或功能组成圈图
  2. 浪潮英特尔在德国发布KEEP升级计划 用户可提前体验英特尔KNM
  3. 保存一波集合框架的介绍
  4. html语言循环语句,Scala @功能/语言的HTML文档 - for循环,如果语句等
  5. 字符流读取的全部方法
  6. oracle 检查链接数,oracle连接数检查
  7. mac os adb下载
  8. 大白菜超级U盘启动盘制作工具极速装机版
  9. hbase —— Dead Region Servers
  10. 后端修行 - java中PO、VO、BO、POJO、DAO、DTO、TO、QO的理解
  11. word中公式添加序号后字体变小问题的解决方案(2010和2016两个版本)
  12. xilinx Edition arm M3 使用笔记
  13. 应用程序迁移_加速绿色IT-关于应用程序迁移和重新托管的实用指南
  14. mysql 优化总结
  15. 怎么用stata打开dta文件_第三十二章、用c语言打开文件
  16. PDFObject.js的使用
  17. 养生视野·新知(四)
  18. JDBC完成对数据库数据操作(增,删,改,查)
  19. 一次简单的Windows和Linux多线程效率测试
  20. 英特尔 ncs2_带有英特尔神经计算棒2 ncs2的图像分类管道

热门文章

  1. 【Whalepaper】CV论文研读 - Involution内卷:超越Convolution的新算子
  2. 数据结构与算法:07 Leetcode同步练习(二)
  3. 终于有人站出来为程序员说话了
  4. 溢价 5 倍欲将 SiFive 收入麾下,英特尔的绝地反击战
  5. 又一例“监视员工?”百度回应:和 996 无关,目前没有任何应用
  6. 滴滴AI Labs负责人叶杰平离职!CTO 张博接任
  7. 我在攻克机器学习硕士学位的那些年
  8. 这可能是史上最全的Python算法集!
  9. 如何通过引入硬注意力机制来学习视觉问答任务?
  10. HTTP Host 头攻击,是什么鬼?