一文纵览自然语言生成的发展

摘要:从马尔科夫链到Transformer,本文带您纵览自然语言生成的发展。

人们对人工智能的兴趣随着科幻电影的诞生和发展变得愈发浓厚。每当我们听到“人工智能”这个词,便会联想到《终结者》、《黑客帝国》、《我,机器人》等电影。

机器人具有独立思考的能力在目前看来还比较遥远,但机器学习和自然语言理解领域已经在过去几年取得了重大进展。个人助理(Siri/Alexa)、聊天机器人及问答机器人等应用程序正悄无声息地改变着人们的生活方式。

人们需要理解大量有歧义且结构多变的语言并从中获取意义,这促使自然语言理解(Natural Language Understanding,NLU)和自然语言生成(Natural Language Generation, NLG)成为人工智能中发展最快的应用。Gartner预测,“到2019年,自然语言生成将是90%的现代BI和分析平台的标准特征”。本文将回顾NLG的历史,并展望其未来。

什么是NLG?

NLG通过预测句子中的下一个单词传达信息。使用语言模型能够预测下一个可能出现的单词,也就是找到单词在序列中的概率分布。举个例子,预测“I need to learn how to __”的下一个单词,语言模型会计算下一个单词,如“write”,“drive”可能出现的概率。RNNs及LSTMs等高级神经网络能够处理较长的句子,提高了语言模型预测的准确性。

马尔可夫链(Markov Chains)

马尔可夫链是最早用于语言生成的算法。它通过当前单词预测句子中的下一个单词。举个例子,模型通过下面两个句子进行训练,“I drink coffee in the morning”和“I eat sandwiches with tea”。“drink”后面出现“coffee”的概率是100%,“I”后面出现“eat”和“drink”的概率分别为50%。马尔可夫链在计算下一个单词出现概率的时候,会把每个单词之间的关系考虑进去。该模型最早用于为智能手机输入句子提供下一个单词生成建议。

但由于仅注意当前单词,马尔可夫模型无法探测当前单词与句子中其它单词的关系以及句子的结构,使得预测结果不够准确,在许多应用场景中受限。

循环神经网络(Recurrent Neural Network, RNN)

神经网络启发于人类大脑的工作原理,通过对输入和输出数据之间的非线性关系进行建模,为计算提供了一种新的方法,用于语言建模即称为神经语言建模。

RNN是神经网络的一种,它能够捕捉输入数据的序列特征。通过前馈网络处理序列中的每一个item,并将模型的输出作为序列的next item,此过程能够帮助存储前面每步的信息。这样的“记忆”使得RNN在语言生成中有着出色的表现,因为记住过去的信息能够帮助更好的预测未来。与马尔可夫链不同的是,在进行预测时,RNN不仅关注当前单词,还关注已经处理过的单词。

利用RNN进行语言生成

在RNN的每一次迭代中,模型都能在其“记忆”单元中存储出现过的单词,以及计算下一个单词出现的概率。举个例子,有“We need to rent a __”,此时要预测句子中的下一个单词。模型能够记住在词典中每个单词随前面单词出现的概率。在上述例子中,“house”或者“car”比“river”和“dinner”有着更高的出现概率。“记忆”单元选择概率更高的单词,并对其进行排序,然后进行下一次迭代。

但RNN有一个很大的问题——梯度消失。随着序列长度的增加,RNNs不能存储那些很久前遇到的单词,便只能根据最近的单词进行预测。这使得RNNs无法应用于生成连贯的长句子。

长短期记忆网络(Long Short-Term Memory, LSTM)

长短期记忆网络是RNNs的变体,比vanilla RNNs更适合处理长序列。LSTM应用广泛,其与RNNs的结构类似。不同的是,RNNs只有一个简单的层结构,而LSTM内部有4个层结构。一个LSTM由4部分组成:cell,输入门,输出门以及遗忘门。

利用LSTM进行语言生成

示例,输入句子为“I am from Spain. I am fluent in ___”。为了正确预测出下一个单词“Spanish”,LSTM会更加关注上一句中的“Spain”并且利用cell对其进行记忆。在处理序列时cell会对获取的信息进行存储,这些信息会用于预测下一个单词。当遇到句号时,遗忘门会意识到句子中的上下文发生了改变,并忽略当前cell中存储的状态信息,换句话说,遗忘门的作用是让循环神经网络“忘记”之前没有用到的信息。

LSTM及其变体能够解决梯度消失问题并生成连贯的句子。但是,LSTM也有其局限性:计算要求高,难以训练。

Transformer

Transformer在2017年,由Google团队在论文《Attention Is All You Need》中首次提出,并涉及到一种名为“self-attention mechanism”的新方法。Transformers目前广泛用于解决NLP问题,例如语言建模,机器翻译以及文本生成等。Transformer模型由一组编码器和一组解码器组成,前者负责处理任意长度的输入,后者负责输出生成的句子。

在上述示例中,编码器处理输入句子,并为其生成表示。解码器利用表示生成用于输出的句子。每个单词最初的表示或嵌入由空心圆表示。接下来,Transformer模型利用self-attention机制获取所有其他单词之间的关系,生成每个单词的新表示,如图中的实心圆。对每个单词重复该步骤,连续生成新的表示,类似地,解码器从左往右依次生成单词。

与LSTMs不同的是,Transformer需要的步骤少,应用self-attention机制能够在不考虑单词位置的情况下,直接捕捉句子中所有单词之间的关系。

最近,许多研究学者对vanilla transformer模型进行了改进,提升了速度与精度。在2018年,谷歌提出BERT模型,此模型在各种NLP任务中均取得了最先进的结果。在2019年,OpenAI发布了一个基于transformer的语言模型,只需要输入几行文本就可以生成长篇文章。

利用Transformers进行语言生成

Transformer模型同样可以用于语言生成,最著名的要数OpenAI提出的GPT-2语言模型。该模型通过将注意力集中在与预测下一个单词相关的单词上,更好的学习并预测句子中的下一个单词。

使用Transformer进行文本生成与机器翻译所遵循的结构类似。举个例子,“Her gown with the dots that are pink, white and ____”。通过利用self-attention机制对前面所出现的颜色(白色和粉色)进行分析,理解需要预测的单词也是一种颜色,此时模型的输出为“blue”。Self-attention能够帮助模型选择性地关注每一个单词在句子中担任的角色,而不仅仅是通过循坏记住些许特征。

语言生成的未来

本文带我们纵览了语言生成的发展,从利用马尔可夫链预测下一个单词,到使用self-attention生成连贯的文章。但是,我们仍处于生成语言建模的初期,今后还会往自主生成文本的方向迈进。生成模型也将用于图像、视频、音频等内容的开发。

本文作者:【方向】

作者:阿里云云栖社区

链接:https://www.jianshu.com/p/9d03b4bc72cd

来源:简书

简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,324评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,356评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,328评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,147评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,160评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,115评论 1 296
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,025评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,867评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,307评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,528评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,688评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,409评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,001评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,657评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,811评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,685评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,573评论 2 353

推荐阅读更多精彩内容

  • 4.主流方法介绍 4.1 BERT模型 在计算机视觉处理中,人们越来越多地采用预训练好的大型网络来提取特征,然后再...
    我很配阅读 1,889评论 2 3
  • 相关概念 1.表达式 通过方括号定义数组元素和通过花括号定义对象属性名和属性值之间的映射关系语法成为初始化表达式 ...
    柯琦阅读 307评论 0 0
  • 亲爱的老师,同学们: 大家好! 今天我演讲的主题是“亲情”,我演讲的题目是“最爱我的人”。而接下来我讲的故事都是我...
    原来是端阳呀阅读 695评论 2 6
  • 前年上许维素的亲子课,知道了父母对孩子一定是有期待的。于是对于爱和自由有了边界意识,降低了很多焦虑。知道了一件再糟...
    Anne_GG阅读 184评论 0 0
  • 如梦悠晴阅读 247评论 0 3