人工智能继续进步的关键,自然语言处理概述
时间:2016年04月25日 人气:...

            来源:机器之心

如果一台计算机能够欺骗人类,让人相信它是人类,那么该计算机就应当被认为是智能的。 ——阿兰·图灵

当我还是个孩子的时候,我读了 Jeremy Bernstein 的一本书《分析引擎——计算机的过去、现在和将来》。在图灵机(Turing Machine)或加法器(Pascaline)等迷人的概念之间,Bernstein 提到机器翻译是计算机可以执行的一种任务。试想一下:一台能够理解语言文本并拥有将其翻译成另一种语言所需知识的机器。

机器能像我们人类一样理解文本吗?我知道,这听起来有点难以置信。而且多年以来那对我来说就像是魔术,直到我发现了一个解决这类问题的领域——自然语言处理(NLP:Natural Language Processing)。是的,通过人工智能、计算语言学和计算机科学的力量的结合,NLP 让机器可以理解自然语言,这项任务到目前为止都还只是人类独有的特权。

第一次应用 NLP 是 20 世纪 50 年代从俄语到英语的机器翻译。那时的结果不是特别好,而接下来的几十年中还有以下一些案例说明了该领域的限制:当《圣经》中的句子「The spirit is willing but the flesh is weak(心灵固然愿意,肉体却是软弱的)」被翻译成俄语后再被翻译回英语时,结果是「The vodka is good but the meat is rotten(伏特加很不错但肉烂了)」。好吧,这只是一个主要受直译的缺陷所启发的故事,但它通常被认为是一个实际的案例,多年以来一直在败坏 NLP 领域的名声。

自 20 世纪 50 年代以来,人们已经取得了很多进展,而当互联网从友好的计算机小型社区成长为可利用数据的巨型资源库时,NLP 就变成了经济和社会发展中的一个主要问题。我撰写本文的目的是给出该领域的一个简要介绍,并尝试解释我们日常所用的一些应用背后的一点「魔法」。本文的目的不是给出关于该领域的广泛而深刻的见解,也不会是给出正式定义或精确的算法和技术。这只是一篇概述,而且如果这些内容能够激发你对这一已让我着迷多年的领域的好奇心,我就会非常高兴了。

 

即使我们不知道,但NLP无处不在

自然语言处理方面让我吃惊的一件事是尽管这一术语并不如大数据(Big Data)或机器学习(Machine Learning)那样流行,但我们每天都在使用 NLP 应用或受益于它们。下面是 NLP 应用广泛使用的一些例子:

机器翻译

也许你已经使用过机器翻译并且现在它对你来说似乎是一个自然的功能:Twitter 上的地球图标、Facebook 帖子中的「查看翻译」链接、谷歌和必应的搜索结果、一些论坛或用户审核系统。

我们已经远远超越了「spirit(心灵)」与「vodka(伏特加)」的故事,但翻译的质量是波动的,有时候并不好。机器翻译在一些特定的领域工作良好,即当词汇和惯用语的结构主要是已知的时。例如,当翻译技术手册、支持内容或特定的目录时,机器翻译可以显著地降低成本。

然而,在一般情况下仍有改进的空间。我想,你收到过你有资格享受退税或某个遥远国度的好心人坚持向你的拖欠账户转入数百万美元浮游资金的邮件。而其中一些是用糟糕的英语写成的,几乎无法理解,对不对?嗯,有时候机器翻译的结果会给你同样的印象。问题在于尽管这些诈骗邮件是故意写成那样以获得信任或通过垃圾邮件过滤器的,但当你试图理解用外语写成的指示列表或包装说明书时,糟糕的翻译真的会成为一个问题。

让我们假设你正在旅行,而且你必须处理以下文本:

越式炸春卷

即便有各种可能的术语和语法错误,但有一个拍张照片就能得到以下译文的应用难道不是很好吗?

Vietnamese fried spring rolls(直译为:越南的炸过的春天卷)

自动摘要(automatic summarization

和机器翻译一起,自动摘要提出于 20 世纪 50 年代:对于给定的文本,目标是获得一个包含了其中最重要信息的简化版本,一个可以通过提取(extraction)或抽象(abstraction)得到的摘要。

基于提取的方法可以检测输入文本(通常是句子)的最重要部分,并将其提取出来构建一个摘要。除了决定每个句子的相关性问题,基于提取的摘要器(summarizer)还必须解决连贯性的问题。比如,摘要中的句子可以引用不存在于摘要中的句子元素,这个现象被称为悬垂回指(dangling anaphora):

「大众的新 CEO Matthias Mueller 为他削减了他的工作。Mueller 的大部分职业生涯都在大众集团所以他知道该公司的内部运作。现在专家表示他将不得不做出一些大且大胆的变革以让这家世界上最大的汽车制造商回到正轨。」

在上面的例子中,如果只有第三句被系统保留,那么读者肯定会问这个摘要所谈论的「他」到底是谁。

另一方面,基于抽象的方法意味着文本生成(text generation):摘要器并不从输入中复制文本,而是用自己的话写出其从文本中所理解到的内容。这个方法极其复杂,目前大部分可用的系统都使用的是基于提取的方法。

当涉及到给出一组期刊新闻的信息概述时,自动摘要是尤其让人感兴趣的。一些被称为多文档摘要(multi-document summarization)的方法可以将多个文档浓缩成一份摘要。这在避免来自不同文档的冗长和最大化多样性上是很重要的。一些其它方法将建立摘要视为关键词的简单列表,所以它们更像是关键短语或关键词提取器。你可能已经见过一些像博客平台或科学文献索引管理器这样的系统向你建议你的文章或论文中最重要的概念。

情感分析(sentiment analysis)

情感分析的目的是识别文本中的主观信息。它可以是一个判断、意见或情绪状态,而且最近它对那些想要了解自己在互联网上声誉的公司和名人来说是一个重大问题。用户对我们的产品有什么看法?他们怎么看待我的餐厅或我的酒店?他们对我们的客户支持服务满意吗?他们怎么看待这个竞赛?

最常见的情感分析应用是极性检测(polarity detection),即理解关于某个给定主题的文本是正面的、中立的还是负面的。这似乎很简单,而且在某些情况下确实如此:

深度 | 人工智能继续进步的关键,自然语言处理概述 
用户推文:我真的厌恶绿色 iPhone 信息

深度 | 人工智能继续进步的关键,自然语言处理概述

用户推文:《黑色弥撒》是一部用来星期天打盹的好电影。我只睡着了两次,但它就是为了让人休息的,你懂吗?

文本分类(text classification)

文本分类的目标是将预定义的分类分配给文本。在例如自动垃圾邮件检测等一些应用中,分类只有两个:垃圾邮件和非垃圾邮件。我们称这样的应用为二元分类器(binary classifier)。在其它情况下,分类器可以有多个分类,比如按主题组织新闻报道或按领域组织学术论文。因为我们有超过两种分类或分级,我们将其称为多类分类器(multi-class classifier)。而要是一篇博客文章谈论的是体育和娱乐又会怎样?一个分类器如何在多个选项之间选择正确的分类?嗯,那依赖于具体应用:它可以简单地选择最有可能的选项,但有时候为一个文本分配多个分类是有意义的。这被称为多标签分类(multi-label classification)问题。

文本分类中并非所有应用都面向语义。比如,我们可以使用一个分类器执行自动语言检测,即检测文本是用那种语言写成的。

深度 | 人工智能继续进步的关键,自然语言处理概述

《联邦党人文集》封面

一些应用特别复杂。其中我喜欢的一个是作者身份识别(authorship attribution):基于文本的风格,一个系统在合理的误差范围内确定其作者。你能想象吗?这样一个系统必须知道候选作者的集合,并且还要了解其中每一个作者的一组文本样本。为风格建模的方法有很多,而风格实际上是个非常复杂的概念。这些系统所使用的一些典型特征包括词频、词汇丰富度、句子长度和短语结构。尽管这是一个当前的研究主题,但第一个显著的成果则是在1964 年取得的:Mosteller 和 Wallace 的工作分析了有争议的《联邦党人文集》的作者身份。

会话代理(CA:conversational agent)

你记得《2001 太空漫游》中的 HAL 9000吗?HAL 可以说话、思考、还善解人意,他能识别面部、表达感情,甚至还能读唇语和撒谎。会话代理是能与人类进行连贯对话的系统。它可以以纯文本界面的形式呈现,或是口语对话系统。通常对话都有一个确切的目的。例如通常被称为自动在线助理或聊天机器人的客户服务 CA 能够处理用户的请求和问题,另外还有可以给出旅行建议的 CA 等。

你可能已经和某个会话代理交互过,可能一开始还不知道对方实际上是机器。我也猜想你在对话中意识到了这一点,因为这个对话缺少一些东西,一些人类的东西,对话中一定程度上的流畅性和不可预测性。问题是我们目前离创造 HAL 那样的智能实体还相距甚远。但如果我们专注于特定的主题或任务(只需解决某些受限的或程式化的语言),我们就可以得到相当好的结果。

1964 年,Joseph Weizenbaum 编写了一个可以模拟与私人心理治疗师的对话的计算机程序 ELIZA。以下是可能的对话的一个例子:

ELIZA:请告诉我什么一直在困扰着你。

你:没什么,我今天感觉很高兴。

ELIZA:多描述一点这些感觉。

你:呃,我只是高兴。

ELIZA:你的治疗让你高兴吗?

你:当然。

ELIZA:关于这个,告诉我多一点。

你:我不想谈论那个。

ELIZA:那让你感到麻烦吗?

这样的对话可以持续几个小时。ELIZA 使用的是非常基本的模式匹配技术,但在当时其影响是非常巨大的。自那以后,我们已经取得了很多进步。看看两个口语对话系统彼此交谈时会发生什么:

还有其它许多应用

NLP 还有其它很多真实世界的应用。你的电子邮件应用是否会自动检测事件并建议你将它们添加到日历中?嗯,这就是被称为信息提取(Information Extraction)的 NLP 任务。你会使用拼写检查器识别语法错误吗?你是否已经尝试过手写识别软件?像来自麻省理工学院的 Ask.com 或 START 这样的问答系统?基于内容的广告呢?苹果的 Siri、IBM 的沃森?你知道自 2012 年开始福布斯杂志就在使用讲故事的系统 Narrative Science 自动撰写网络文章吗?你最近是否看到过机器人领域的巨大进步?

即使我们不知道,但 NLP 无处不在。而且尽管 NLP 应用达到 100% 完美性能表现是非常罕见的,但它们已是我们生活的一部分,为我们所有人提供着宝贵的帮助。


热门评论