本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

wzatv:【组图】百度NLP | 自动写诗 PK 古代诗人:百度「为你写诗」技术深度揭秘(2)

时间:2017-03-15 00:44来源:天下彩论坛 作者:www.wzatv.cc 点击:
结合 NMT 技术,百度工程师提出了一套基于主题规划的诗歌生成框架,有效地提升了主题相关性,大幅提高了自动生成的诗歌质量。相关技术形成一篇论文

结合 NMT 技术,百度工程师提出了一套基于主题规划的诗歌生成框架,有效地提升了主题相关性,大幅提高了自动生成的诗歌质量。相关技术形成一篇论文,在 COLING 2016 会议上发表。(Zhe Wang, Wei He, Hua Wu, Haiyang Wu, Wei Li, Haifeng Wang, Enhong Chen. Chinese Poetry Generation with Planning based Neural Network. COLING 2016.)

主题规划技术首先根据用户 Query(诗歌题目)对要生成诗歌的内容进行规划,预测得到每一句诗的子主题,每一个子主题用一个单词来表示。这个过程和人类创作诗歌比较相似,诗人在创作之前往往会列出提纲,规划出每一句诗要描写的核心内容,然后再进行每句诗的创作。主题规划模型在生成每一句诗的时候,同时把上文生成的诗句和主题词一起输入来生成下一句诗。在这里,主题词的引入可以让生成的诗句不偏离主题,从而使整首诗都做到主题明确,逻辑顺畅。基于主题规划的诗歌生成框架(写诗 2.0 版本)如图二所示。

  

wzatv:【j2开奖】百度NLP | 自动写诗 PK 古代诗人:百度「为你写诗」技术深度揭秘

图二:写诗 2.0 框架(来源于论文 Wang et al. 2016)

图二中用户 Query 是「春天的桃花开了」。在主题规划阶段,经过主题词抽取和主题词扩展两个步骤,得到了要生成诗歌的四个主题词「春天」、「桃花」、「燕」和「柳」,这里限定每个词对应一句诗。和写诗 1.0 不同的是,利用 NMT 技术可以根据第一个主题词「春天」直接生成首句诗,在本例中得到「春天丽日照晴川」。在依次生成第二、三、四句诗歌的过程中,会考虑所有已生成的历史上文以及指定的主题词。具体地,用第一句诗句加主题词「桃花」生成得到第二句诗「十里桃花映满山」;用第一、二句诗加上主题词「燕」生成得到第三句诗「燕子呢喃寻旧梦」;用第一、二、三句诗加上主题词「柳」生成得到第四句诗「清风拂面柳如烟」。

写诗 2.0 的架构涉及到几个问题:(1)主题词如何抽取;(2)主题词如何扩展;(3)在基于 NMT 的生成过程中如何同时考虑上文和主题词。在这三个问题中,(1) 和 (2) 相对比较容易解决:主题词抽取主要考虑单词的重要程度,可以用 TextRank 等算法求解;主题词扩展可以看作一个根据已有单词预测后续单词词序列的问题,用语言模型或其他统计方法都可以求解。出于篇幅的考虑,这两个问题本文不展开进行详细的介绍,如果对细节感兴趣可以阅读论文(Wang et al. 2016)。

写诗 2.0 框架使用了两个编码器分别对历史上文和主题词进行编码。然后将得到的两个隐层向量序列进行拼接,最后再进行解码器的解码,整个过程如图三所示。

  

wzatv:【j2开奖】百度NLP | 自动写诗 PK 古代诗人:百度「为你写诗」技术深度揭秘

图三:基于主题规划的诗歌生成模型,同时考虑主题词「桃花」和历史上文「春天丽日照晴川」,atv,经过基于关注度的 NMT 生成得到下一句诗「十里桃花映满山」。(来源 Wang et al. 2016)

图三中每一个汉字代表该汉字的 embedding 向量。首先,主题词「桃花」经过字级别双向 GRU 运算后,分别取正向和反向的最后一个向量拼接成一个新的向量。上文诗句「春天丽日照晴川」经过字级别双向 GRU 运算后,得到向量序列。把主题词向量和上文向量序列拼接之后,得到了新的向量序列。接下来,可以按照常规的基于关注度的 NMT 过程对向量序列进行解码,生成得到诗句「十里桃花映满山」。

需要注意的是,主题词和上文使用两套独立的编码器,其参数不共享,而在向量序列的拼接时,主题词向量会固定放在前面,这样在解码时解码器可以通过关注度机制自动控制对主题词关注的时机和程度。

对于图三所示的模型结构,在训练时需要构建 {上文诗句,主题词,待预测诗句} 的三元组作为训练数据。首先,我们把所有诗歌拆分并转换成为 {上文诗句,待预测诗句} 的二元组。然后,从「待预测诗句」中根据 TextRank 算法抽取出最重要的一个单词作为主题词,从而扩展得到 {上文诗句,主题词,待预测诗句} 的三元组数据。从「待预测诗句」中自动抽取主题词构建训练数据,这样训练得到的模型可以最大程度保证解码时主题词也会被「放置」进生成的诗句中。

论文 Wang et al. 对基于主题规划的诗歌生成方法进行了多个维度的实验评测。首先,从押韵程度(Poeticness)、流畅程度(Fluency)、主题相关度(Coherence)和是否有内容有意义(Meaning)等几个角度进行了人工评价。为了更好的进行对比,复现了目前主流的几种自动作诗技术:

SMT:基于统计机器翻译的自动作诗技术。

RNNLM:把所有诗句串联成一个单词序列,然后用循环神经网络语言模型(RNNLM)进行预测。

RNNPG:思想与 RNNLM 相近,区别在于依次生成诗歌的每一行。

ANMT:基于关注度的 NMT 模型。

PPG:基于主题规划的诗歌生成模型。

对于这些基线系统的详细介绍可以参考论文(Wang et al. 2016),本文不再展开讨论。实验结果如表一所示:

  

wzatv:【j2开奖】百度NLP | 自动写诗 PK 古代诗人:百度「为你写诗」技术深度揭秘

表一:PPG 方法与基线自动作诗方法的人工评价对比。其中 5-char 表示五言诗,7-char 表示七言诗

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容