自然语言生成

本课程主要介绍自然语言生成技术,并对对话生成系统做了一个比较全面详细的综述。(课时:84 分钟)

自然语言处理 深度学习 语言生成 对话生成

讲师:   李嫣然


课程背景

自然语言生成是研究使计算机具有人一样的表达和写作的功能。即能够根据一些关键信息及其在机器内部的表达形式,经过一个规划过程,来自动生成一段高质量的自然语言文本。科学家们对自然语言生成的研究,也有很长的历史了。最早的语言生成模型还是基于模板匹配的,生成的语言一般比较生硬,让人一眼就能识别出来,所以并没有达到真正意义上的自然语言生成。然而最近几年,在深度学习的催生下,自然语言生成技术有了非常大的进展,甚至有两个来自谷歌的对话系统,竟然可以互相对话。那到底是什么促进了自然语言生成技术的发展?自然语言生成内部的机制是什么?认真学习本节课程,你就能明白了。

课程目的

学完本课程,你能做到

  • 了解语言生成的发展历史与最新动态

  • 熟悉语言生成的主流框架

  • 了解在解决语言生成问题时会遇到的问题

  • 了解谷歌的对话系统Allo

课程详情

在本讲解中,我们从如下方面介绍了目前的语言生成技术:

  • 语言生成发展简史

    • 早期的模版匹配、语言模型

    • 生成春联、天气预报、看图说话

    • 故事生成、机器自动对话

  • 语言生成的主流框架

    • 基于编码-解码(Encoder-decoder)框架的端到端(End2end)架构

    • 可变编码-解码(Variational encoder-decoder)方法

    • 可变自编码(Variational autoencoder)方法

  • 语言生成的常见问题:

    • 语义漂移、高频模式、文不对题等,以及相应的解决方案,如混合生成策略

  • 谷歌对话系统Allo架构


课程笔记:




自然语言生成笔记


  • 笔记作者:王泽宇、陈浩然、李茵


Current Developments and Future Directions

自然语言生成,这是一个前沿的、不成熟的、tricky的内容


1.无限猴子定理:无数只猴子在打字机上打东西,能有一个猴子打出莎士比亚的作品。

考虑以下问题:

①可以做到的概率是多少?

②如果猴子能做到的话,机器能不能可以?

③如果机器可以,那么如何驱动机器的行为做到?

④能否生成其他类型的自然语言?

⑤终极问题:机器如何自动生成自然语言?


2.早期对自然语言处理的尝试:当时计算机、模型等都很落后

①方法:基于模板的方法,类似数据库,告诉机器某个空填哪一类的数据,真实值放到对应位置。

②效果:能实现短的、结构的东西。

③问题:

·需要定义的模板太多,没有可操作性;

·生成的东西太死板,没有自然语言的感觉;

·没有对真实语境进行了解,还是人告诉的;


3.泛化性的努力(1994年):

·Text planning:取决于交流的目的,语言要传达什么内容的归类

·Sentence planning:具体的话用什么样的逻辑框架、语法结构来表达

·Surface realization:内容具体用什么词表达

问题:需要投入大量的人力、物力、专业人士去做,离机器代劳的自动生成差得很远


4.进一步抽象问题:复杂来自于抽象得不够

自然语言的本质:

·content:内容;

·language model:语法:怎么像人话——比如字的顺序本身不影响阅读;

·text types:文体,与content和language model相关


5.进入自动生成的时代:一旦意识到了交流目标,机器可以理解内容的含义,自动生成语言。

①能实现的:

 ·天气预报:模板时代就解决了

·中国对联:微软亚洲研究院

·英文诗歌、中文古诗、宋词:结构有对称性所以好做

②不成熟的:

·Image caption, Image and Video Description:机器根据图片或视频生成对它的描述。

——做的事情:目标识别、理解目标间关系、将关系组合成语法规则的句子

——实现架构:encoder与decoder的架构。

……


若要阅读全文,请购买该课程