文本生成(附代码视频)

文本生成技术是自然语言处理领域的另一重要技术。应用者可以利用既定信息与文本生成模型生成满足特定目标的文本序列。文本生成模型的应用场景丰富如生成式阅读理解、人机对话或者智能写作等。当前深度学习的发展也推动了该项技术的进步,越来越多高可用的文本生成模型诞生,促进行业效率,服务智能化社会。

10.1 文本生成的发展现状

文本生成的技术路线发展与其他NLP技术路线类似,均是从简单的规则逐步发展至大型深度神经网络的过程。当然,文本生成显然难于其他NLP技术,因为文本生成技术的预测目标并不在既定的文本中,其需要根据既定文本去生成符合目标的文本,而阅读理解、命名实体识别等技术则是通过抽取既定文本里的相应文本段来达成预测的目标。

10.1.1 文本生成模板


文本生成技术的发展同样离不开简单规则的约束。本文所说的规则就是预先定义好的模板,每一个模板对应一种应用场景。根据应用场景的特性,我们将需要生成的通用性语句事先规范化(模板),而后再利用NLP技术去抽取相应的非通用语句对模板进行插空,从而完成文本生成任务。如图10-1所示,图中标红的字体就是模板,黑色字体则可通过计算涨跌来填充模板中的空缺,从而完成股市新闻的签发。

图10-1文本生成模板

当然,图10-1只是一个简单的模板呈现,要生成符合复杂应用场景的文字模板,这需要考虑模板中的内容、文本结构、句子语法与阅读流畅度等,这就需要大量的专业人员去维护每一套模板的产生。

10.1.2 变分自编码器

变分自编码器(VAE)是自编码器中的一种。常见的自编码器如图10-2所示,最简单的自编码器只有三层结构,中间的隐藏层才是我们所需要关注的地方,以隐藏层为界限,左边为编码器(encoder), 右边为解码器(decoder),所以在训练过程中,输入才能在经过编码后再解码,还原成原来的模样。

对传统机器学习有所了解的读者应该都知道主成分分析(PCA),它就是用来对数据进行降维。假如我们通过一组数据训练出了我们的自编码器,然后我们拆掉自编码器的解码器(decoder),就可以用剩下的编码器(encoder)与隐藏层来表征我们的数据了。隐藏层的神经元数目远低于输入层,那么就相当于我们用更少的特征(神经元)去表征我们的输入数据,从而达到数据降维压缩的目的。

当然,自编码器学习到的特征表征不仅仅可以用来数据降维,也可以将特征表征接入一个简单的分类器,将抽象的特征用来文本分类。同样地,我们可以利用自编码器所得到的特征(这里也称隐变量)并对编码器与解码器进行改造,从而实现文本生成技术。

图10-2自编码器网络结构

10.1.3 序列到序列技术

虽然序列到序列(Seq2Seq)技术与变分自编码器在文本生成都利用了编码器与解码器,但两者仍然存在些许不同,变分

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值