找回密码
 立即注册

扫一扫,访问微社区

搜索
智能家庭 首页 智能机器人 查看内容

深度| 人工智能继承进步的关键,天然语言处置惩罚概述

2018-1-9 10:05| 发布者: wphappygirl| 查看: 1134| 评论: 0

简介:作者:JavierCouto呆板之心编译到场:吴攀、李亚洲从上世纪五十年代就已经出现的天然语言处置惩罚有着怎样广泛的应用?从语言学的角度来看,无处不在的天然语言处置惩罚又是怎样明白文本的?符号和统计哪一个是最好 ...

作者:Javier Couto 呆板之心编译 到场:吴攀、李亚洲

从上世纪五十年代就已经出现的天然语言处置惩罚有着怎样广泛的应用?从语言学的角度来看,无处不在的天然语言处置惩罚又是怎样明白文本的?符号和统计哪一个是最好的 NLP 方法?这篇文章对天然语言处置惩罚作出了概述性先容。

假如一台盘算性能够欺哄人类,让人信赖它是人类,那么该盘算机就应当被以为是智能的。——阿兰·图灵

当我照旧个孩子的时间,我读了 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% 完善性能体现黑白常稀有的,但它们已是我们生存的一部门,为我们全部人提供着名贵的资助。

但呆板怎样可以明白文本?

呃,它实在不能……但它可以模仿明白。为了实现这一点,它必须在肯定水平上可以或许相识天然语言的规则。NLP 处置惩罚语言的差别方面:音系学(phonology)、形态学(morphology)、句法学(syntax)、语义学(semantics)和语用学(pragmatics)。而它最大的仇人是歧义(ambiguity)。下面我们将看到差别条理的分析(我会将音系学放到一边,由于它不太直观,必要特定的配景)以及 NLP 体系通常怎样应对它们。

词、词、词

起首必要明白的是词,特殊是每一个词的性子。它是一个名词照旧一个形容词?假如它是一个动词的屈折情势,那么它的不定情势是什么,以及该屈折情势利用了什么对应的时态、人称和数?这个使命被称为词性标注(Part-of-Speech (PoS) tagging)。让我们来看看下面的句子:

John bought a book (John 买了一本书)

那么,有一个直接的方法:我们可以利用一本包罗了全部这些词、它们的屈折情势和词性的信息的辞书,以盘算下面的输出:

John/专著名词

bought/动词已往式

a/限定词

book/名词

好吧,让我们抛开如许一个究竟:语言是一种极为丰富的活性实体,因此我们永久无法知道全部的词。如我们所见,纵然对最简朴的句子而言,这种方法也没有效。bought 这个词也可作形容词,book 还可以是一个动词或作为字母(在这种环境下它的词性是名词)。作为人类,我们通常可以办理这种歧义。但试试解读下面的句子:

Will Will will the will to Will? (可译为:Will 将会想把遗嘱给 Will 吗?)

真正的 NLP 应用通常利用两类方法实行使命:符号的(symbolic)和统计的(statistical)。符号方法由一组为差别语言征象(language phenomena)建模的规则聚集构成,这些规则通常是由人工编写的,但偶然也是主动学习到的。统计方法通常利用呆板学习算法来学习语言征象。

Brill 标注器大概是最广为人知的基于规则的词性标注器。它利用思量到语境的转换规则。起首分配一个词性标注(最常见的),然后应用规则以得到精确的输出。以是假如在上面的例子中「bought」起首被标注为了形容词,可以用一个规则对其举行校正:

假如前面一个词的标注是专著名词,那么:形容词→动词

统计方法将词性标注看作是一个序列标注题目。其根本头脑是:给定带有各自标注的词的序列,我们可以确定下一个词最大概的词性。在例子中,假如我们已经看到了「John bought a」,而且知道它们的词性,那么我们就可以肯定地说「book」是名词而不是动词。这非常故意义。如今已经有隐马尔可夫模子(HMM)或条件随机域(CRF)等统计模子了,这些模子可以利用有标志数据的大型语料库举行练习,而有标志的数据则是指此中每一个词都分配了精确的词性标注的文本。

从词到布局

好了,我们的 NLP 应用知道怎么处置惩罚词了。好比,它可以在一个文本中找到动词「buy(买)」的全部实例。接下来的题目是:谁买了什么?对此我们将必要句法分析。那是个艰巨的题目,偶然乃至对人类来说也很困难。好比在下面的句子中:

I saw a man on a hill with a telescope (译者注:这句话有多重歧义,可译为「我瞥见山上一个带着望远镜的男子」或「我在山上用望远镜瞥见一个男子」或「我用望远镜瞥见一个男子在山上」或「我瞥见一个男子在有望远镜的山上」)

我有望远镜照旧谁人男子有?照旧说望远镜在山上?我在山上照旧他在山上?

如你所见,句法大概会非常棘手。我们必须相识词是怎么构成被称为词块(chunk)的单位的,以及这些词块是怎样相互接洽的。为此,我们利用语法。好比:

句子→ 名词词组 + 动词词组

名词词组 → 限定词 + 名词

名词词组 → 专著名词

动词词组 → 动词 + 名词词组

专著名词 → John

动词→ bought

限定词 → a

对于这种语法,一旦在一个被称为剖析(parsing)的过程中对我们的例句举行了分析,就构建了一个剖析器树(parser tree);然后我们就知道是「John」买了「a book」。语法可以人工编写,也可以从树库(treebank)学习到,树库是指用剖析器树解释过的文本语料库。

获取词的寄义

幽默格言「Time flies like an arrow. Fruit flies like a banana.」(译者注:fly 做动词表现飞行,做名词表现蝇。这个格言有多种译法,最正常的是:韶光飞逝如箭,果蝇喜煌c蕉;最不正常的是:时间苍蝇喜好箭,水果像香蕉一样飞行)完善地说明白语义歧义的复杂性。语义歧义有两个重要题目:

1. 多义词:具有多种寄义的词

2. 同义词:具有雷同寄义的差别词

别的另有一些别的的紧张的语义关系,如反义关系和上下义关系,但多义关系和同义关系通常是最故意义的。

词汇语义学(lexical semantics)处置惩罚以词为单元的寄义,而组合语义学(compositional semantics)研究的是词怎么联合构成更大的意义。以是存在几种语义学方法,这仍旧是 NLP 的一个庞大的开放题目。

词义消歧(WSD:word sense disambiguation)试图确定给定句子中多义词的寄义。让我们以下面的句子为例:

The tank is full of soldiers.

The tank is full of nitrogen.

(译者注:tank 有多个寄义,这里用到的两个寄义是坦克和罐子。上面两个句子可正常地译为:「坦克装满了士兵」和「罐子布满了氮气」。)

如你所见,这确实是个非常困难的题目。在上面两个句子中,词性标注和句法都是一样的。一个 NLP 应用怎样知道每个句子中「tank」的寄义呢?嗯,可以利用一种深度的方法。它必要关于天下的知识。好比说:一个罐子通常不装人。固然这本钱太高了,以是更为常用的是浅度的方法:对于句子中给定的 tank,它四周的词是什么?这是有原理的:当我们看到词「soldiers(士兵)」或「nitrogen(氮气)」时,我们人类可以确定这是什么 tank。以是词的共现(co-occurrence)可被用来消除歧义。这个知识可以从每个词的寄义都被精确标志的语料库中学习到。

词义消歧范畴内的大部门应用都是通过利用 WordNet 实行的;WordNet 是一个非常大的盘算词库,此中的名词、动词、形容词和副词各自被构造成了同义词的聚集——同义词集(synset)。每一个同义词集代表一个独特的概念。好比,tank 有五个名词同义词集和三个动词同义词集。和我们上面例子相干的两个同义词集分别是{tank, army tank(陆军坦克), armored combat vehicle(装甲战车), armoured combat vehicle(装甲战车)} 和 {tank, storage tank(储存罐)}。

你可以在线试试 WordNet,看看什么词可以是多义词。也大概想看看别的相干的语义资源,如 FrameNet 或 ConceptNet。

关于组合语义学,事变就变得有点复杂了。起首,此中的关键头脑是组合原则(principle of compositionality),团体的意义可以通过部件的意义创建。在组合语义学中,该部件通常是指句法分析(syntactic parse)的身分。以是,为了明白一个句子,我们构建它的逻辑表征。我们可以利用一阶谓词逻辑(first-order predicate logic),此中谓词有特定的非歧义寄义。让我们想象一位用户写出了以下的哀求:

a hotel with sea view near San Francisco (旧金山附近的海景旅店)

要精确处置惩罚这个哀求,该体系必须以非常准确的方式明白它。以是该体系可以构建该哀求的以下逻辑表征:

x Hotel(x) Λ View(x, Sea) Λ Near(LocationOf(x), LocationOf(SanFrancisco))

然后该体系可以利用 Prolog 如许的编程语言来盘算效果。固然,这在一样平常环境下非常困难且昂贵,而且全局意义并不总是可以或许从部件的意义中派生出来,但在有限定的范畴内,我们可以得到相称好的效果。组合语义学还是一个悬而未决的题目,它也是 NLP 范畴当前一项关键的研究课题。

关于语用学的词

关键不是你说了什么或怎么说的,而是语境。语用学(pragmatics)研究的是语境对意义的影响方式。想象一下对话:

JOHN: You are an idiot. (你是个白痴。)

PETER: Oh, thanks, that’s very kind of you. (哦,谢了,你真是太好了。)

一个NLP 应用应该以为 Peter 以为 John 的话是好话吗?要是 John 只是在开顽笑呢? 讽刺和讥讽黑白常复杂的机制。NLP 范畴有实验特性化它们的研究工作。好比,我们可以练习一个分类器来确定某条推文是否是讽刺的。特性可以包罗词频(假设不可猜测是讽刺的一个信号)或某些形容词的利用(假设浮夸也是讽刺的一个信号)等。但只管现在已有一些风趣的效果,这仍旧是一个开放的题目,另有很大的提拔空间。

全部这些分析都是所需的吗?

并不肯定。这依靠于详细的应用。比方对于垃圾邮件检测,你很大概会在词之上练习一个质朴贝叶斯分类器(Naive Bayes Classifier)。以是根本上,该应用必要知道的是怎样将文天职割成词,这个过程被称为标志化(tokenization)。另一方面,如问答体系或信息提取体系等复杂的应用大概会必要实行形态分析、句法分析和语义分析才气得到适当的效果。

符号或统计,最好的方法是什么?

简短的答复是:它们都不是。关于这个题目的讨论有许多,此中态度激进的讨论是不可忽略的。据报道,曾向导 IBM 语音辨认团队约莫 20 年的 Fred Jelinek 曾说「任何时间只要语言学家脱离团队,辨认率就会上升」,这句话经常以一个更为通顺的方式被引用:「每次我开除一个语言学家,我们的语音辨认体系的性能就会提拔」。另一方面,闻名语言学家 Noam Chomsky 曾在 1969 年表现「必须认可,在这个词的任何已知的表明下,『句子的概率』的概念是完全无用的。」

符号方法主宰了所谓的NLP 的第一个期间。而从 2000 年代开始,统计方法酿成了实际,而多年以来,纵然更多的品评者也不得不认可统计的 NLP 能给出非常好的效果,而且偶然还优于纯符号的方法。

统计方法的长处是你可以利用一点数据做许多事。以是假如你想开辟一个 NLP 应用,你大概会想从这类方法开始。我保举你阅读 Raúl Garreta 关于呆板学习的博客,他给出一些通常来自呆板学习范畴的统计方法的案例。

统计方法也有其范围性。当基于 HMM 的词性标注期间开始时,体现精确率约莫是 95%。嗯,这看起来是个很好的效果,5% 的错误率好像是可以担当的。大概吧,但假如你思量每句话均匀 20 个词,5% 的错误率就意味着每句话中都将有一个词被错误地标注了。自那以后,不管是通过更好的练习资源照旧实验条件随机域(CRF)等别的模子,精确率得到了提拔;但总会有必须处置惩罚的错误率。在一些环境下,错误率非常低以至于可以以为该题目已得到了办理。主动垃圾邮件检测就是此中之一。

另一方面,只管符号方法更为昂贵,但它们却更轻易被人类明白,且不必要概率学和统计学方面的特定配景。别的,在某种水平上,利用这种方法能让你有更好的控制:在测试之后假如你发现了一些错误或缺失的东西,你可以删除或改变规则或创建新规则。统计方法则没那么直接和直观:你可以进步你的练习语料库的质量,你可做特性工程以确定更好的特性,你可以创建新的特性;在任何环境下,你偶然都会有在和黑箱打交道的感觉。

以是符号方法和统计方法哪种更好?答案依靠于详细的应用、目的、现有的资源、人的配景、预算等很多变量。你也可以实验混淆的方法。你可以利用统计方法主动创建规则(就像 Brill 词性标注器做的那样),然后终极手动构造它们。大概,你可以手动向统计方法中注入构建知识以改善效果。比方,你可以编写一个规则声明:名词词组永久不能以限定词作为竣事。如许就算你的体系是用非构造化的语料库练习的,也不会造成错误。

结语

十五年前,要让一家 NLP 公司说将来他们的产物不能以绝对的正确度工作是很困难的。但期间已经改变。随着更好的搜刮引擎、博客、交际网络、电子商务的到来,社会逐步开始明白,纵然 NLP 另有待完善,但它已经为我们的一样平常提供了名贵的资助。

NLP 是一个年轻的范畴,布满了盼望,而且另有一个连续开辟新算法、技能和资源的国际化社区。它正在快速进步。近来利用深度学习的一些结果惊人地改善了一些艰巨的 NLP 使命。人工智能的进步和互联网的涌现,两者之间的联合促使 NLP 到达了几年之前无法想象的水平。

在MonkeyLearn(利用呆板学习做文天职析的平台),我们信赖 NLP 是一个可以改变游戏规则的技能,而且它还将塑造互联网的将来。是的,NLP 是一个困难的范畴,而那正是我们想要改变的。我们与 MonkeyLearn 的目的是让天下上的每一个软件开辟者都可以或许利用 NLP,而且还盼望可以或许带来下一代智能应用。想象一下,通过将通常仅限于数据科学家的范畴转酿成一种每个人都可以或许利用的技能,那会有怎样的无尽大概!

将来我们将看到 NLP、呆板学习和人工智能能走多远。有时间我会想,我们会看到到处可见的呆板都能通过图灵测试的那一天吗?

呆板之心,最专业的前沿科技媒体和财产服务平台,逐日提供优质财产资讯与深度思索,接待关注微信公众号「呆板之心」(almosthuman2014),或登录呆板之心网站www.almosthuman.cn检察更多出色内容。

收藏 邀请
惊呆
惊呆
大哭
大哭
感动
感动
晕倒
晕倒
口水
口水
已有 0 人参与

会员评论

推荐阅读

返回顶部