9月,艾伦人工智能研究所(AI2)推出了一款名为Aristo的计算机程序正确回答90%以上的问题(在新窗口打开)在八年级的科学考试中。通过中学考试可能听起来很简单,但对计算机来说却很复杂。
Aristo从数十亿份文件中找到了答案自然语言处理,计算机科学的一个分支人工智能这使得计算机能够从非结构化文本中提取意义。虽然我们距离能够理解和说人类语言的机器还有很长的路要走,但NLP在我们每天使用的许多应用程序中已经变得至关重要,包括数字助理、网页搜索、电子邮件和机器翻译。
语言很难
复制人类思维的语言处理能力是人工智能历史上的一个痛点。想象一下,一个人工智能代理必须对天气状况查询做出回应;它必须理解人们询问天气的所有不同方式:
- 今天天气怎么样?
- 明天会下雨吗?
- 雨什么时候会停?
- 芝加哥天气晴朗吗?
- 明天会暖和些吗?
- 下周哪些天是晴天?
在许多情况下,语言带有隐藏的含义,暗示着对世界的一般知识以及物体之间的关系。考虑以下查询:
- 明天的天气适合踢足球吗?
- 厨房里下雪了吗?
任何听到第一句话的人都会知道你在含蓄地问明天是晴天还是不下雨。至于第二句话,人们知道厨房里不下雪。但在人工智能系统中编码这种背景知识和推理一直是研究人员面临的挑战。
使用经典的自然语言处理方法符号人工智能系统(在新窗口打开),软件工程师明确规定了解析语言含义的规则。这个过程是劳动密集型的,而且应用范围有限。例如,开发人员必须手动写下用户可能询问天气的所有方式,然后提供适当的答案。
这些系统只有在用户不超出其指定行为范围的情况下才能正常工作。一旦它们接收到一个与它们的编码规则稍有不同的新查询,它们就会中断。这需要要求用户根据AI系统的限制来调整自己的行为,这将导致容易出错和令人沮丧的体验。
当基于规则的系统处理由几个句子组成的长文本摘录时,需要大量上下文知识,这种限制就变得更加明显了。在翻译等领域尤其如此,因为从一种语言转换长文本需要有关源语言和目标语言以及历史和文化的信息。在这些情况下,AI的行为变得如此不稳定,以至于使用它几乎不可能使用,除非是非常简单的任务。
深度学习和NLP
在过去的几年里发生了一场革命深度学习这种人工智能技术尤其擅长处理图像、声音和文本等非结构化信息。软件工程师不再手动定义深度学习算法的行为,而是通过提供许多示例来“训练”它们。
为了训练天气报告算法,工程师们提供了许多不同的用户如何询问天气的例子,以及正确的回答方法。该算法分析创建了一个统计模型,该模型表示用于询问天气的单词序列中的共同特征。然后,它可以将以前没有见过的新句子映射到正确答案。
深度学习不仅消除了人工工程行为的需要,而且还有助于执行更复杂的NLP任务,例如翻译。
在大型英语文档语料库及其相应的法语版本上训练的深度学习算法,可以找到比逐字翻译更聪明的方法,比如在语言中找到等效的习语和谚语。2016年,谷歌的翻译服务突飞猛进换成了深度学习(在新窗口打开).
今天,大多数NLP应用程序都使用某种形式的深度学习。
应用程序
NLP在许多领域都留下了自己的印记,但在一些领域,该领域的进步甚至为新的应用铺平了道路。
数字助理:Alexa, Siri和Cortana使用自然语言处理将你的句子映射到特定的技能和应用。感谢NLP的进步,你可以以一种几乎随意的方式与你的助手交谈。数字助理可以对各种简单的命令做出反应,比如设置闹钟和提醒、播放音乐、开灯和关灯。
谷歌的Duplex服务是NLP取得长足进步的一个例子:有一些警告,Duplex可以代表用户进行预订多和接待员交流。它还可以监控对话,并从聊天和电子邮件中提取可操作的项目。
聊天机器人:在过去几年里,自然语言处理的进步重新引起了人们对聊天机器人的兴趣。聊天机器人是一种应用程序,可以用对话界面(如信使和社交媒体应用程序)取代用户界面元素(按钮、菜单等)。
你会发现猫机器人应用程序在许多不同的领域,包括卫生保健银行、客户服务和新闻。用户可以与聊天机器人互动,就像他们在与人互动一样(几乎),比如医生或银行顾问。
网页搜索:以前,网络搜索仅限于在网页上搜索关键字。目前,搜索引擎使用的技术字嵌入,这是一种AI模型,用于查找与原始搜索查询相关的关键字和术语。
最近,谷歌整合了BERT,一种最先进的语言模型,进入搜索引擎进一步改善搜索结果。之前提到的AI Aristo也使用BERT的变体在其科学材料语料库中寻找科学问题的答案。
电子邮件:许多电子邮件服务使用NLP来检测和过滤垃圾邮件。此外,自动补全和智能合成等功能使用NLP来处理用户的一些输入,特别是在移动设备上。
社交媒体:社交媒体平台使用NLP完成各种任务,包括检测仇恨言论(或仇恨言论)尝试),评估帖子内容的情绪,以及标记自杀帖子(在新窗口打开).
当前NLP的限制
尽管深度学习为NLP带来了灵活性,但目前人工智能还远远不能理解语言就像人类一样。
深度学习模型的准确性归功于它们所训练的大量数据。人工智能系统看到的例子越多,就越有可能找到它必须回答的问题的答案。深度学习的核心是进行模式匹配——根据统计数据和相似性,使用复杂的数学将输入映射到输出。模式匹配不同于理解单词和句子的意思。
事实上,基于深度学习的语言模型仍然存在一些与基于规则的前辈相同的基本问题。当深度学习语言模型参与到需要对人和事物有一般知识的任务中时,它们经常会犯愚蠢的错误。这就是为什么许多公司仍在雇佣数千名人工操作员引导人工智能算法朝着正确的方向前进。
公平地说,真正的自然语言处理可能是不可能的,直到我们破解的代码人类的人工智能这种合成智能的工作原理与人脑非常相似。但当我们朝着这个难以捉摸的目标前进时,我们的发现正在帮助弥合人类和计算机之间的沟通鸿沟。