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

_原题为 程序员:我只想买件没有格子的衬衫 , 怎么就这么难?
晓查 发自 凹非寺
量子位 报道 | 公众号 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)两者之间的差别 。
格子|程序员:我只想买件没有格子的衬衫,怎么就这么难?
文章图片

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


推荐阅读