• 论文阅读 | A Hierarchical Reinforced Sequence Operation Method for Unsupervised Text Style Transfer


    论文地址 :https://www.aclweb.org/anthology/P19-1482/

    作者 :Chen Wu, Xuancheng Ren, Fuli Luo, Xu Sun

    机构 : 清华、北大

    研究的问题:

    关注的是文本的风格迁移问题。目前主流的方法还是用类似于翻译中的端到端方法,但端到端系统本身存在一些问题,比如不具有可解释性、在风格和内容之间寻找一个平衡比较困难。本文提出的是基于强化学习的一种基于序列操作的方法,包括两个部分,一个是提出操作位置的高级agent,一个是根据高级agent提出的去修改句子的低级agent。

    文本风格迁移主要关注流利性、风格极性、内容保存。对于流利性,使用语言模式的奖励函数;对于风格极性,引入分类置信度奖励和辅助的分类任务;对于内容保存,采用重建的方法。

    重建的方法来自于CycleGAN,考虑到文本的离散型,这里用对于序列的操作来模拟。

    研究方法:

    选项框架:

    本文的整体方法是基于HRL(Hierarchical Reinforced Learning)中的选项框架(options framework)的。首先介绍一下选项框架,一个选择框架由两个层次组成:

    底层是一个次级政策(进行环境观察、输出动作、一直持续到终止)

    高层是选项之上的政策(进行环境观察、产出次级政策、一直持续到终止)

    对于上层所做的一个option,包括两个部分,一个是行动策略,一个是终止函数。当终止函数返回0的时候,下一步还会由当前的这个option来控制;当终止函数返回1的时候 ,该option的任务就暂时完成了,控制权就交回给上层策略。

    高级agent:指针

    高层agent的目标是提出操作的位置,这里通过指针网络来实现。相关定义如下:

    Option:给定一个句子x={x_1,…,x_t},选择空间就是O={1,…,t}。如果句子长度变化了,t的范围也随之变化。

    State:通过Bi-LSTM编码器得到的句子表示。

    Policy:一个softmax的过程,如下所示。

     

    低级agent:操作

    操作是预先定义的,包括以下7种。

     

    Action:给定一个句子和一个操作位置,低级agent从表中选择一种操作,如果需要词的话,生成一个词。

    State:同样是通过Bi-LSTM得到的句子编码。

    终止条件:在原始的选项框架中,终止条件是学习得到的,不过这里终止条件是固定的,目的是让训练更稳定。

    操作选择策略:在训练阶段,选择一种统一的操作,比如全是替换。同样是为了让训练更稳定,在inference阶段的策略在下面介绍。

    词生成策略:由下面的公式生成词。

     

    这里的h也就是state。

    训练方法:

    首先是训练方法的图示。

     

    如前述提到,训练目标主要是为了模拟流利性、风格极性、内容保留这三个方面,下面分别介绍。

    流利性:使用语言模型奖励。如下所示。

     

    本文是通过对前向和后向的LSTM求平均值来计算概率的。

    风格极性:

    分类置信度:采用分类置信度函数,如下所示:

     

    同时设置了一个辅助任务,在HRL中高级agent往往面临梯度方差大的问题,为了稳定训练,这里设置了一个辅助的任务,也就是将高级agent扩展为一个基于attention的分类器,如下所示。

     

    内容保留:

    重构损失:

    考虑一个操作M,在第i个位置上操作,根据定义的操作可以找出可能的操作M‘,以及可能的位置i‘,具体规律如下表所示。

     

    之后使用(M‘,i‘)来定义重构损失如下:

     

    重构奖励:给出定义如下,

     

    它的目的主要是鼓励1对1的映射,也就是防止把很多词都映射到good,bad这类词上。

    训练过程:

    在高级的agent中,只使用引入的分类任务的奖励,而不使用语言模型的奖励。作者解释是语言模型的奖励更加局部,会很大地增加奖励的方差。

    在低级的agent中,使用所有的外部奖励和内部奖励。也就是前述的三个部分的奖励函数。

    Inference阶段:

    覆盖选项:在inference中会面临,前一步操作影响后一步的操作的问题,这里作者通过mask选项(这里的选项也就是位置)的方法来实现,具体是在文本中出现插入、删除、跳过操作时使用。

    终止条件:如果操作局被确定为目标类型,就终止。但这样高度风格化的部分可能会导致过早终止。所以作者这里对操作局中的词进行mask。

    Operator的选择策略:枚举所有的操作符,通过语言模型来打分,选择分数最高的。

    实验部分:

    数据集有两个,分别是Yelp和Amazon数据集

    评价指标有三种,一个是样本分类器(使用TextCNN)实现,BLEU、还有人类打分

    实验结果如下:

     

    可以看到在BLEU上提升比较明显,但在分类准确率上并不太高。

    评价:

    文本领域的风格迁移当前还达不到使用的程度,一部分原因也在于数据的匮乏,端到端的训练需要大量的对齐文本,想达到翻译那样的效果还差很多。如果类比人类去做这个任务的思路,先理解文本,再改写句子,对于目前的技术来说还不能实现。

    从实验结果来看,本文的实验结果并不是很好。在分类准确率上不如之前的一些系统,虽然在BLEU上有个比较明显的提升。但这里有个问题在于,在这个任务上以往的工作大多更看重风格迁移是否成功,也就是分类准确率,BLEU并不是一个很重要的指标。虽然在人类评估上它们的模型结果更好,但人类评估的主观性比较大。

    对于风格迁移,当前主流的方法还是RL+deep learning。本文是基于HRL中的选项框架设计的,然后针对训练过程中遇到的一些问题提出了一些改进措施,理论上的创新较少。

  • 相关阅读:
    SpringBoot Actuator
    Mysql中实现row_number
    .添加索引和类型,同时设定edgengram分词和charsplit分词
    mysql临时禁用触发器
    centos6.7下安装mvn 、安装elasticsearch下ik分词
    ElasticSearch 自定义排序处理
    ElasticSearch返回不同的type的序列化
    Elasticsearch判断多列存在、bool条件组合查询示例
    C#多线程环境下调用 HttpWebRequest 并发连接限制
    centos6.7安装Redis
  • 原文地址:https://www.cnblogs.com/bernieloveslife/p/12748942.html
Copyright © 2020-2023  润新知