自然语言生成 – Natural-language generation - NLG

  • 一、什么是 NLG?
  • 二、NLG 的3个 Level
  • 三、NLG 的6个步骤
  • 四、NLG 的3种典型应用
  • 总结
  • 参考

自然语言生成 – NLG 是 NLP 的重要组成部分,他的主要目的是降低人类和机器之间的沟通鸿沟,将非语言格式的数据转换成人类可以理解的语言格式。

本文除了介绍 NLG 的基本概念,还会介绍 NLG 的3个 Level、6个步骤和3个典型的应用。

一、什么是 NLG?

NLG 是 NLP 的一部分。

NLP = NLU + NLG

自然语言生成 – NLG 是 NLP 的重要组成部分。NLU 负责理解内容,NLG 负责生成内容。

以智能音箱为例,当用户说“几点了?”,首先需要利用 NLU 技术判断用户意图,理解用户想要什么,然后利用 NLG 技术说出“现在是6点50分”。

自然语言生成 – NLG 是什么?

NLG 是为了跨越人类和机器之间的沟通鸿沟,将非语言格式的数据转换成人类可以理解的语言格式,如文章、报告等。

自然语言生成 – NLG 有2种方式:

  1. text – to – text:文本到语言的生成
  2. data – to – text :数据到语言的生成


百度百科:
自然语言生成是研究使计算机具有人一样的表达和写作的功能。即能够根据一些关键信息及其在机器内部的表达形式,经过一个规划过程,来自动生成一段高质量的自然语言文本。

自然语言处理包括自然语言理解和自然语言生成。自然语言生成是人工智能和计算语言学的分支,相应的语言生成系统是基于语言信息处理的计算机模型,其工作过程与自然语言分析相反,是从抽象的概念层次开始,通过选择并执行一定的语义和语法规则来生成文本。

维基百科:
自然语言生成(NLG)是语言技术的一个方面,侧重于从结构化数据或结构化表示(如知识库或逻辑形式)生成自然语言。当这种形式表征被解释为心理表征的模型时,心理语言学家更喜欢语言生成这个术语。

可以说一个NLG系统就像一个翻译器将数据转换成自然语言表示。然而,由于自然语言的固有表现力,产生最终语言的方法与编译器的方法不同。NLG已经存在了很长时间,但商业NLG技术最近才被广泛使用。

二、NLG 的3个 Level

  1. Level1: 简单的数据合并

自然语言处理的简化形式,这将允许将数据转换为文本(通过类似Excel的函数)。为了关联,以邮件合并(MS Word mailmerge)为例,其中间隙填充了一些数据,这些数据是从另一个源(例如MS Excel中的表格)中检索的。

  1. Level2: 模板化的 NLG

这种形式的NLG使用模板驱动模式来显示输出。以足球比赛得分板为例。数据动态地保持更改,并由预定义的业务规则集(如if / else循环语句)生成。

  1. Level3: 高级 NLG

这种形式的自然语言生成就像人类一样。它理解意图,添加智能,考虑上下文,并将结果呈现在用户可以轻松阅读和理解的富有洞察力的叙述中。

三、NLG 的6个步骤

第一步:内容确定 – Content Determination

作为第一步,NLG 系统需要决定哪些信息应该包含在正在构建的文本中,哪些不应该包含。通常数据中包含的信息比最终传达的信息要多。

第二步:文本结构 – Text Structuring

确定需要传达哪些信息后,NLG 系统需要合理的组织文本的顺序。例如在报道一场篮球比赛时,会优先表达:“什么时间”、“什么地点”、“哪2支球队”,然后再表达"比赛的概况",最后表达"比赛的结局"。

第三步:句子聚合 – Sentence Aggregation

不是每一条信息都需要一个独立的句子来表达,将多个信息合并到一个句子里表达可能会更加流畅,也更易于阅读。

第四步:语法化 – Lexicalisation

当每一句的内容确定下来后,就可以将这些信息组织成自然语言了。这个步骤会在各种信息之间加一些连接词,看起来更像是一个完整的句子。

第五步:参考表达式生成 – Referring Expression Generation|REG

这个步骤跟语法化很相似,都是选择一些单词和短语来构成一个完整的句子。不过他跟语法化的本质区别在于“REG需要识别出内容的领域,然后使用该领域(而不是其他领域)的词汇”。

第六步:语言实现 – Linguistic Realisation

最后,当所有相关的单词和短语都已经确定时,需要将它们组合起来形成一个结构良好的完整句子。

四、NLG 的3种典型应用

NLG 的不管如何应用,大部分都是下面的3种目的:

  1. 能够大规模的产生个性化内容
  2. 帮助人类洞察数据,让数据更容易理解
  3. 加速内容生产

下面给大家列一些比较典型的应用:

自动写新闻

某些领域的新闻是有比较明显的规则的,比如体育新闻。目前很多新闻已经借助 NLG 来完成了。

《腾讯机器人日均写稿过千篇 你读的新闻可能是AI写的》

聊天机器人

大家了解聊天机器人都是从 Siri 开始的,最近几年又出现了智能音箱的热潮。

除了大家日常生活中很熟悉的领域,客服工作也正在被机器人替代,甚至一些电话客服也是机器人。

《跟你通话的客服是个机器人!》

BI 的解读和报告生成
几乎各行各业都有自己的数据统计和分析工具。这些工具可以产生各式各样的图表,但是输出结论和观点还是需要依赖人。NLG 的一个很重要的应用就是解读这些数据,自动的输出结论和观点。(如下图所示)

总结

自然语言生成 – NLG 是 NLP 的重要组成部分,他的主要目的是降低人类和机器之间的沟通鸿沟,将非语言格式的数据转换成人类可以理解的语言格式。

NLG 的3个level:

  1. 简单的数据合并
  2. 模块化的 NLG
  3. 高级 NLG

NLG 的6个步骤:

  1. 内容确定 – Content Determination
  2. 文本结构 – Text Structuring
  3. 句子聚合 – Sentence Aggregation
  4. 语法化 – Lexicalisation
  5. 参考表达式生成 – Referring Expression Generation|REG
  6. 语言实现 – Linguistic Realisation

NLG 应用的3个目的:

  1. 能够大规模的产生个性化内容
  2. 帮助人类洞察数据,让数据更容易理解
  3. 加速内容生产

NLG 的3个典型应用:

  1. 自动写新闻
  2. 聊天机器人
  3. BI 的解读和报告生成

参考

自然语言生成 (百度百科)
自然语言生成 (维基百科)
一文了解自然语言生成演变史!(weixin)
自然语言生成的演变史 (weixin)

自然语言处理从零到入门 自然语言生成NLG相关推荐

  1. 自然语言处理从零到入门 NLP

    自然语言处理-Natural language processing | NLP 一.NLP 为什么重要? 二.什么是自然语言处理 – NLP 三.NLP 的2大核心任务 自然语言理解 – NLU|N ...

  2. 自然语言处理NLP、自然语言理解NLU、自然语言生成NLG、任务家族

    自然语言处理NLP.自然语言理解NLU.自然语言生成NLG.任务家族 自然语言生成(NLG) 看图说话(image caption) 说话生图(text to image) 文本相似性(text si ...

  3. 智能语音助手的工作原理是?先了解自然语言处理(NLP)与自然语言生成(NLG)

    智能语音助手的工作原理是?先了解自然语言处理(NLP)与自然语言生成(NLG) 语音助手越来越像人类了,与人类之间的交流不再是简单的你问我答,不少语音助手甚至能和人类进行深度交谈.在交流的背后,离不开 ...

  4. 自然语言处理从零到入门 BERT

    BERT | Bidirectional Encoder Representation from Transformers 什么是 BERT? 参考 什么是 BERT? BERT的全称是Bidirec ...

  5. 自然语言处理从零到入门 文本挖掘

    文本挖掘 – Text mining 一.什么是文本挖掘? 二.文本挖掘的5个步骤 三.7种文本挖掘的方法 参考 网络上存在大量的数字化文本,通过文本挖掘我们可以获得很多有价值的信息. 本文将告诉大家 ...

  6. 知识图谱与自然语言生成NLG

    RDF2Text Few-Shot NLG with Pre-Trained Language Model Logical Natural Language Generation from Open- ...

  7. CNCC2018中国计算机大会:自然语言生成,让机器掌握文字创作的本领

    本论坛是2018中国计算机大会(CNCC)的分论坛之一:自然语言生成,让机器掌握文字创作的本领.涉及自然语言生成目前成果总结.产业应用及前景展望.包括微软小冰.阿里小蜜.高考议论文自动生成.腾讯新闻推 ...

  8. 预训练模型ProphetNet:根据未来文本信息进行自然语言生成

    作者 | 刘大一恒.齐炜祯.晏宇.宫叶云.段楠.周明 来源 | 微软研究院AI头条(ID:MSRAsia) 编者按:微软亚洲研究院提出新的预训练模型 ProphetNet,提出了一种新的自监督学习目标 ...

  9. 【论文阅读】自然语言生成(NLG)——基于plan思想的Data2Text任务实现

    NLG方向可以算是NLP的一个分支,即自然语言生成,理解上data2text,image2text,doc2text都在这个范畴内.相对来说data2text是较为容易的一个任务,可以作为很多复杂NL ...

最新文章

  1. 自学python方法-你是如何自学 Python 的?
  2. javascript - this
  3. 修改linux bash shell PS1
  4. 【数据结构与算法】之深入解析“格雷编码”的求解思路与算法示例
  5. 吴恩达机器学习作业Python实现(八):异常检测和推荐系统
  6. 如何快速对接大量的精准客户呢?
  7. TimePickerView(日期选择器)
  8. C++算法学习(分支限界法)
  9. 再见Navicat! IDEA的这个兄弟真的很香!我粉了...
  10. 如何配置 Windows XP SP2 中的 Internet Explorer 增强安全功能
  11. 关于Android中WebView的点滴
  12. abaqus对应python版本_Abaqus里应用Python的一些技巧
  13. 词法分析器(不讲武德java版)
  14. linux 设置 中文输入法,linux的中文输入法设置
  15. 如果我恨一个人,我就领他到中关村买相机。
  16. 西安交通大学学生邮箱设置
  17. 淘宝推广方法大全,教你如何做淘宝(转)
  18. IDEA Java程序启动添加参数 VM options、Program arguments、Program arguments
  19. 幽默感七个技巧_高潜质人士的七个特征之二:有幽默感
  20. html更改地图放大缩小图标,百度地图之添加控件——比例尺、缩略图、平移缩放...

热门文章

  1. PHP+MySQL导出大量数据(Iterator yield)
  2. 【渝粤教育】电大中专电子商务网站建设与维护答案作业 题库
  3. Failed to load API definition
  4. 生鲜供应链行业分析和产品解决方案
  5. 模糊数学Fuzzy Set第1讲——Classic Fuzzy Set: Theory and Applications
  6. js 二进制、十进制、十六进制的互相转换
  7. AI 时代如何提升自己——开发者实战营·深圳站
  8. Java程序员掌握的Linux 基本操作
  9. 十二、数字图像处理之彩色图像处理
  10. Python-文件存储