虽然我们离可以独立思索的机器人尚有几年的工夫,但在过去的几年里,机器学习和自然言语了解范畴曾经获得了严重停顿。个人助理(Siri/Alexa)、聊天机器人和问答机器人等运用程序正在真正彻底改变我们与机器的交互方式,并末尾浸透我们的日常生活。
自然言语了解(Natural Language Understanding,NLU)和自然言语生成(Natural Language Generation,NLG)是人工智能发展最快的运用之一,由于人们越来越需求从言语中了解并推导出意义,而言语的特点是,有许多歧义和多样的结构。据 Gartner 称,“到 2019 年,自然言语生成将成为 90% 的古代商业智能和分析平台的标准功能”。在本文中,我们将讨论自然言语生成成立之初的简史,以及它在将来几年的发展方向。
什么是自然言语生成?
言语生成的目的是经过预测句子中的下一个单词来传达信息。运用言语模型可以处理(在数百万种能够性中)哪个单词能够被预测的成绩,言语模型是对单词序列的概率分布。言语模型可以在字符级别、n 元语法级别、句子级别甚至段落级别构建。例如,为了预测 I need to learn how to __ 之后的下一个单词,该模型为下一个能够的单词集分配了一个概率,可以是 write、drive 等等。神经网络(如递归神经网络和长短期记忆网络)的最新停顿是的长句的处理成为能够,分明提高了言语模型的正确率。
马尔科夫链
马尔科夫链是最早用于言语生成的算法之一。它们仅经过运用当前单词来预测句子中的下一个单词。例如,假如模型仅适用以下句子停止训练:I drink coffee in the morning 和 I eat sanwiches with tea,那么,它预测 coffee 会跟随 drink的能够性是 100%,而 I 跟随 drink 的能够性是 50%,跟随 eat 的能够性也是 50%。马尔科夫链思索到每一个独一单词之间的关系来计算下一个单词的概率。在早期版本的智能手机输入法中,马尔科夫链用于为句子中的下一个单词生成建议。
用于言语生成的递归神经网络
在递归神经网络的每次迭代中,模型都会将之前遇到的单词存储在内存中,并计算下一个单词的概率。例如,假如模型生成了文本 We need to rent a __,那么它如今就必须计算出这句子中的下一个单词。对于词典的每个单词,模型根据它所看到的前一个单词来分配概率。在我们的这个示例中,house 或 car这两个词的概率要比river 或dinner这样的单词高得多。然后选择概率最高的单词并将其存储在内存中,然后模型继续停止下一次迭代。
将下面这句话作为模型的输入:I am from Spain. I am fluent in __. 为了正确地预测下一个单词为Spanish,该模型将重点放在前一句中的Spain 一词上,并应用单元记忆来“记住”它。该信息在处理序列时由单元存储,然后用于预测下一个单词。当遇到句号时,遗忘门会看法到句子的上下文能够有所变化,当前单元形状信息就可以被忽略。这样网络就可以选择性地只跟踪相关信息,同时最小化梯度消逝成绩,模型就可以在更长的工夫内记住信息。
长短期记忆网络及其变体似乎就是消弭梯度来产生连接句子成绩的答案。但是,由于从以前的单元到当前单元照旧有一条复杂的顺序途径,因此可以保存多少信息还是有限制的。如此一来,长短期记忆网络可以记住的序列长度就限制在几百个单词以内。另外一个缺陷就是,由于计算要求很高,因此长短期网络很难训练。由于顺序性,它们很难并行化,这就限制了它们应用古代计算设备(如 GPU、TPU 之类)的才能。
Transformer
Transformer 最后是在 Google 论文《Attention Is All You Need》引入的,它提出了“自留意力机制”(self-attention mechanism)的新方法。Transformer 目前被广泛运用于各种自然言语处理义务,如言语建模、机器翻译和文本生成。Transformer 由一组编码器和一组解码器组成,前者处理恣意长度的输入,后者输入生成的句子。
Transformer 生成文本是基于相似于机器翻译的结构。假如我们举一个例句: Her gown with the dots that are pink, white and __.模型将会预测下一个单词是blue,由于它经过自留意力机制将列表中的前一个单词分析为颜色(white 和 pink),并了解预测的单词也应该是一种颜色。自留意力允许模型有选择地关注每个单词的句子的不同部分,而不是仅仅记住递归块(recurrent block)(在递归神经网络和长短期记忆网络中)的一些特征,这些特征大部分不会用于几个块中。这有助于模型可以回忆起后面句子的更多特征,并得到更准确和连接的预测。与以前的模型不同,Transformer 可以在上下文中运用一切单词的标识,而无需将一切信息紧缩为固定长度的表示。这种架构允许 Transformer 在更长的句子中保留信息,而不会分明添加计算需求。它们在不需求停止特定域修正的状况下,跨域的功能要比以前的模型表现得更好。
言语生成的将来
在本文中,我们看到了言语生成的演化过程,从运用简单的马尔科夫链生成句子,到运用自留意力机制的模型生成更长的连接文本。但是,我们照旧处于生成言语建模的早期,而 Transformer 只是朝着真正自主文本生成方向迈出的一步。除此之外,生成模型也正在开发其他类型的内容,如图像、视频和音频等。这开启了将这些模型与生成文本模型集成的能够性,从而开发出具有音频 / 视频界面的高级个人助理。
但是,作为一个社会,我们需求慎重地运用生成模型,由于它们为在网上生成虚伪旧事、虚伪回复和冒充别人开拓了多种能够性。OpenAI 决议不发布 GPT-2 模型,由于担心被滥用。这反映了这么一个理想:我们如今已进入一个言语模型弱小到足以惹起关注的时代。
生成模型有望改变我们的生活;但是,它们也是一把双刃剑。我们必须对这些模型停止过度的审查,无论是经过研讨机构还是政府监管。在将来几年里,这一范畴一定还会获得更多停顿。不管结果如何,展望将来,应该终会有激动人心的一刻!
原文链接:
https://medium.com/sfu-big-data/evolution-of-natural-language-generation-c5d7295d6517