【论文笔记】Text Detoxification using Large Pre-trained Neural Models

Text Detoxification using Large Pre-trained Neural Models

在这里插入图片描述

会议:EMNLP2021

任务:文本解毒

源码链接

Abstract

​ 本文的工作包括:

  • 提出了两个新颖的基于预训练语言模型无监督方法用于文本去毒任务:ParaGeDi(paraphrasing GeDi)和CondBERT(conditional BERT),且都达到了SOTA效果;
  • 在文本解毒和情感迁移任务上将这两个模型和许多SOTA模型进行对比评估并,并发布了小规模的解毒数据集;
  • 通过在ParaNMT中检索毒性-中性句子对构建了小规模的英文平行语料库。

Motivation

​ 文本风格迁移任务通常是重写句子,在改变句子一个或几个属性的同时保持句子的语义内容不变。但是,许多情况下改变文本的属性,会使得句子的语义发生较大的变化。因此,事实上,许多风格迁移模型的目标是将一个句子转换为在同一主题上具有不同风格的相似句子。作者认为,文本解毒任务相比其他风格迁移任务需要更好地保留文本原始语义,所以该任务应该被区别对待。于是,作者提出了两个对内容保留有额外控制的文本解毒模型。

Related Work

Pointwise Editing Models

  • 基于检索的方法。仅对和风格相关的个性词进行操作以保留原始语义。

  • 基于掩码语言模型(MLM)。基于上下文和风格标签搜索替换词,和本文提出的CondBERT方法很像,但是CondBERT有对内容保留的额外控制且能进行多词替换。

End-to-end Architectures

端到端的架构,往往基于Seq2Seq模型,对源句子进行编码,然后对产生的表征进行操作以融入新的特征。一些方法将隐表征分解为内容和风格表征,另一些方法则使编码器将源句子编码为风格无关内容表征。也有各种方法对文本的风格进行额外控制。将风格迁移任务视为一个复述任务进行处理(STRAP),该方法将特定风格得属性添加给文本,具体而言,该方法使用预训练的通用复述器将带有风格标记的文本迁移到中性以创建伪平行数据集,然后在这个伪平行数据集上训练序列到序列模型。本文提出的ParaGeDi模型在概念上与这些方法类似,不同的是风格不是被注入到模型或句子表示中,而是由另一个模型注入给生成器。

Detoxification

​ PPLM和GeDi这两个模型探讨一个类似的问题:防止语言模型生成毒性文本,它们不用考虑保留文本的语义保留,但是应用一个判别器来控制语言模型的生成这一想法可以被用在风格迁移任务上。

Main idea and Framework

ParaGeDi(paraphrasing GeDi)

Background

​ 该模型来源于两个idea:

  • 通过一个类条件语言模型(Class Conditional LM,CC-LM)对生成模型的输出施加外部控制;
  • 将文本风格迁移视为一个文本复述任务,利用复述模型,可以很好地保留原始语义。

​ GeDi模型在已知文本特定属性的语言模型的指导下生成文本,属性如风格和话题。本文扩展这个模型通过将其应用到复述输入文本。GeDi模型主要由两部分组成:一个生成模型GPT-2,和一个生成式判别模型:也是一个GPT,在一个有额外句子级别风格标签的数据上训练得到的CC-LM。这使得判别模型学习到了基于特定标签的词分布。

Framework

本文使用一个复述生成器(paraphraser)代替常规的语言模型。输入的初始文本为 x x x,生成文本 y y y的长度为 T T T,期望属性为 c c c。则ParaGeDi模型的遵循以下概率分布:

在这里插入图片描述

最后一步是一个估计,使我们可以对其进行解耦,即可以分别独立训练一个复述生成器和一个风格迁移模型。此外,只要paraphraser和CC-LM共享词汇表,我们就可以对其插入任何东西。模型的第三部分(可选)是一个排序器,是一个毒性分类器,用来选择模型生成的文本中毒性最低的假设。下图描述了模型的工作流。

在这里插入图片描述

Loss

最终的损失函数是生成损失和判别损失的线性组合。

在这里插入图片描述

Inference heuristics

利用一系列启发式方法来提高模型的内容保留度和风格迁移准确率。

  • 原始GeDi中的启发式算法

在这里插入图片描述

  • 概率平滑(Smoothing of probabilities)

    为CC-LM生成的概率分布添加一个小的 α \alpha α,防止CC-LM基于所有类生成的单词概率都很小。

在这里插入图片描述

  • 非对称的上界和下界(Asymmetric lower and upper bounds)

在这里插入图片描述

针对去毒任务,通过减小 u u u意为鼓励模型删除现有的毒性单词,而不是插入新的礼貌性单词。(没看懂)

CondBERT(conditional BERT)

​ 根据逐点编辑(pointwise edit)机制,使用BERT将在句子中发现的有毒片段替换为它们的无毒同义词。通过向BERT显示原始文本并根据原始单词与其替代词之间的相似性对其假设进行重新排序来保持语义相似性。

Select toxic words

训练一个逻辑回归的词袋分类模型,使用句子中的词作为特征将其分类为毒性或中性。训练过程中,每个词都会产生一个权重,该权重大致对应其对分类的重要性,而具有高权重的词往往是有毒的。本文使用来自分类器的正则化权重作为毒性分数。

对于句子中的每一个词,首先计算其毒性分数,然后根据一个阈值,该阈值定义为:
t = m a x ( t m i n , m a x ( s 1 , s 2 , . . . , s n ) / 2 ) t = max(t_{min}, max(s_1, s_2, ..., s_n)/2) t=max(tmin,max(s1,s2,...,sn)/2)

其中, s 1 , s 2 , . . . , s n s_1, s_2, ..., s_n s1,s2,...,sn表示每个词的毒性分数, t m i n = 0.2 t_{min} = 0.2 tmin=0.2表示最小的毒性分数。这种自适应的阈值可以平衡句子中有毒单词的百分比,从而避免过多或没有单词被标记为有毒的情况。

Replace the mask and rerank

为了保留被替换词的语义,采用了内容保留启发式算法:

  • 保留替换词,而不是在它们被替换前Mask它们;
  • 通过BERT预测的替换词与原词嵌入的相似度对其进行重排序(rerank)

Penalize the toxic tokens

尽管conditional BERT使用了特定类别的句子嵌入,但它仍然经常预测有毒词,显然它更关注上下文而不是所需类别的嵌入。为了迫使模型生成无毒词,本文计算BERT词汇表中每个令牌的毒性,并惩罚具有正毒性的单词的预测概率

Replace a single [MASK] token with mutiple tokens

最后,本文使BERT用多个单词来替换MASK标记。通过Beam Search逐步生成单词,并通过单词概率的调和平均值对每个多词序列进行评分。

在这里插入图片描述

Experiments and Analysis

Toxicity Classifier

合并三个Jigsaw毒性评论数据集的英文数据,然后分成两部分,分别使用RoBERTa微调了两个毒性分类器,一个用于重排序ParaGeDi的假设,一个用于评估去毒性能。

Dataset

使用Jigsaw-1数据集,用毒性分类器将其句子进行毒性分类,得到毒性数据集和非毒性数据集。

Metrics

考虑到风格迁移准确率、内容保留度、文本流畅度这三个指标是负相关的,选择联合指标 J J J来进行平衡,它是三者的乘积。

Implementation Details

在ParaNMT数据子集上进行随机采样,然后微调一个T5-based作为Paraphraser。使用两个控制码在Jigsaw-1的训练集上面微调GPT2-medium,微调之前将其词汇表改成T5的词汇表,并且相应地改变它的嵌入,使用生成式和判别式损失对其进行训练。beam search=10,应用训练好的毒性分类器从生成的10个复述中选择毒性最小的候选。

Competing Methods

  • Machine Translation:English → Pivot → English,使用Google翻译API,利用中间翻译消除毒性。
  • Detoxifying GPT-2:随机从Jigsaw从采样和重写200条句子构建一个小平行数据集进行训练。
  • Paraphraser:一个通用的复述生成器。

Detoxification results and Analysis

在这里插入图片描述

ParaGeDi和CondBERT的性能远超其他模型。ParaGeDi相似度略低,但是流畅度略高,因为是生成模型,生成效果会比逐点编辑好。性能最相近的是Mask&Infill,其原理类似CondBERT,但是一些工程决策(例如一次遮蔽全部单词),导致了FL大幅降低和ACC的一些降低。

许多高级模型的性能低于简单的DRG模型TemplateBasedRetrieveOnly。TemplateBased达到高SIM因为它保持大多数初始句子不变,RetrieveOnly达到高的ACC和SIM因为它从训练数据中检索出真实的无毒句子。DLSM和SST对文本进行再生,由于它们的编码器是在一个小数据集上从头开始训练的,因此FL很低。相反地,STRAP,也是生成式,有一个较大的伪平行数据集,从而产生高FL。

对于MT,En→Ig→En解毒了37%的句子但是SIM和FL得分很低,相反,En→Fr→En保留了大多原始句子的特征,包括毒性,T5 paraphraser也一样。另一方面,GPT2模型即使在极少数的平行句子(本实验中为200条句子)上也能实现去毒,即使它比其他模型性能低,但是本文认为如果在一个更大的平行数据集上训练会较大地提高它的性能。

Ablation Study

CondBERT ablation study

CondBERT的消融实验表明多词替换毒性惩罚起到了关键作用,前者保持了高的文本流畅度,后者起到了更强的风格控制作用。

本文使用了两个启发式算法来提高内容保留度:不遮蔽毒性单词和重排序替换词。实验结果表明,删除二者中任意一个都会带来更低的SIM和更高的ACC,说明这两个指标是反相关的,但是,J指标却保持不变。另外,去掉多词替换机制会降低ACC和FL,即使能够产生更高的SIM,因为输出的句子中包含了更少的新单词。这影响了模型的J指标得分。最后,影响最大的是删除毒性惩罚机制,使得ACC大幅下降,即使其他两个指标略高,但是也不能补救太低的ACC导致的很低的J。

在这里插入图片描述

ParaGeDi ablation study

ParaGeDi的超参数 λ λ λ控制了判别器损失的强度,本文实验发现该值仅对模型的总体性能有边际影响,即J仅在 λ = 1 λ = 1 λ=1时(没有生成式损失)显著降低。

此外,风格强度控制影响ACC,词概率分布上界增加SIM,Beam search的缺乏降低FL。另一方面,Reranker、beam size、smoothing不影响模型性能。

在这里插入图片描述
在这里插入图片描述

减小Beam值降低了ACC和FL,因为这使得Reranker只能从更少的选项中进行选择。删除Reranker降低了ACC,提高了SIM和FL。删除了概率平滑降低了一些SIM和FL。删除了判别器修正的上界会产生近100%的ACC,但产生的句子与原始句子的相似度很低,因为模型开始生成幻觉文本了。降低 w w w参数,减小了ACC但是提高了SIM和FL,该参数用于控制风格转换强度。

损失的权值对性能的影响比启发式推理参数影响小。仅有判别损失能达到77%ACC,仅有生成损失能达到90%ACC。**后者表明配备了风格标签的模型即使没有被明确训练,也可以区分风格。**另一方面,删除生成式损失导致FL大幅下降。即使ParaGeDi中的CC-LM是一个GPT2,但是,缺乏生成式的微调仍然降低了生成文本的质量。

Mining a Parallel Detoxifying Corpus

该实验是为了验证能够在大规模的复述平行数据集中挖掘去毒言论句子对。

具体而言,用预训练好的毒性分类器对ParaNMT数据集的句子进行分类,选取500000个句子对,其中一个句子的毒性远大于另一个。regular的paraphraser:在随机采样的ParaNMT子集上微调的;mined的paraphraser:在开发的toxic/safe平行复述语料库上微调。然后都插入到ParaGeDi中对比它们的性能,实验结果如下图所示。

在这里插入图片描述

paraphraser都不能很好地解毒,但是mined明显效果更好。而在ParaGeDi中使用mined代替Regular后,能够在保持SIM不损失的情况下保持更好的ACC和FL,J达到了0.54,这是在本文的解毒实验中得分最高的。这种方法是监督的,所以没有在主实验中进行对比。这个结果表明,通用的ParaMNT语料库包含了大量toxic/safe复述句子对。因此,本文认为,从大规模语料中挖掘平行训练集,相对于无监督的风格迁移方法,是一个卓有成效的方向。

Human Evaluation of Detoxification

无监督的自动评估快且便宜,但是往往不可靠。毒性和流畅度的评估不是完美的,会产生错误。利用嵌入距离衡量句子相似度和人类评估是弱相关的。因此,本文进行了人工评估。

指标和自动评估一样,使用三元评估:{0,0.5,1}。

在这里插入图片描述

人工评估证实了本文模型的显著性能,但是同时也发现了本文两个模型没有显著差异。

本文还研究了自动评估和人工评估之间的相关性,计算自动评估和人工评估Spearman的 ρ ρ ρ相关性系数。显然,在SIM上的相关度是最低的。ACC-soft表示毒性分类器返回的置信度。使用风格迁移置信度比风格二元分类器更好,且使用语言可接受性分类(FL)比PPL更好。

在这里插入图片描述

Qualitative Analysis

事实上,实际去毒的成功率远比评估得到的结果低。定义“perfect”为一个去毒句子被所有三个标注着在三个方面都打了最高分。按照这个定义,ParaGeDi生成的句子仅有20%,CondBERT仅有15%,Mask&InFill仅有1.5%。其主要原因可以通过表4得知,是因为语义的丢失。模型造成语义丢失/曲解的情况有如下:

对于ParaGeDi,该模型往往过分转换语义或转换不足。具体表现为:

  • 通过类似的、意义不同的毒性较小的词来替换毒性词;
  • 替换句子意义;
  • 去除有毒或困难的部分。然而,在某些情况下,ParaGeDi掩盖或改写了消息中的有毒部分,同时仍然保留了一般意义。

CondBERT通常保留句子结构,但是经常使用不恰当的替代词,经常是反义词。

DLSM和Template-based DRG通常通过保留毒性单词来保留语义,所以他们的ACC很低。Retrieve-only DRG几乎不保留语义。Mask&Infill似乎过拟合了,它经常用不相关的无毒词代替毒性词。这些性质使得Mask&InFill不适合成为无适应解毒任务的基线,CondBERT模型就是这样的适应。

ParaGeDi和CondBERT的典型错误都可以归因于语义理解的不足,它们常常用不同(往往相反)意义的语义相关的词来代替有毒词。或者简单地用看起来相似的词。本文猜想,在更大的语料(本文只使用了Para NMT的2%)或更难的样本上训练一个复述器会提高ParaGeDi保持语义的能力。

总的来说,本文的模型产生的解毒文本不足以实际应用,但是可以作为人类重写者的参考,或者对聊天机器人的输出进行解毒,这样的成本更低。

Sentiment Transfer Experiments

言论去毒任务不完善,难以验证本文模型的有效性,因此,在一个不同领域进行实验,即情感迁移。

在这里插入图片描述

实验结果表明,ParaGeDi性能最佳,它是唯一一个连接了预训练模型和完全再生机制的模型。Cond BERT模型在该任务上表现较差,佐证了针对其他领域的风格迁移任务和解毒任务需要不同的技术。

有监督的评估也指出了对无监督指标的质疑。首先,ACC受分类器性能的限制。因为它对手工重写的几乎百分百去毒的句子只给出了0.81的得分,因此ACC的微小差异不应该被认为是显著的,高于0.81的ACC是不可靠的。总体而言,由于人类答案的得分与ParaGeDi和Mask&Infill接近,ParaGeDi仍可以被认为是一个很强的风格迁移模型。此外,更精确的评估应该由人类来完成,因为自动评估指标无法区分该级别的模型。

Toxification of Texts

文本解毒任务也暗示了进行毒化任务的可能性。原则上,各自风格迁移模型都能用于文本毒化任务。然而,如果是CondBERT,这种迁移的质量会很差,几乎不能把这些毒化的句子作为真实的毒性句子。原因在于毒性数据的结构。

有毒风格的主要特征之一是该风格的词汇标记(粗鲁或淫秽的词语)的存在。这些标记:

  • 携带了句子几乎所有的风格信息;
  • 有脱离这种风格信息的同义词。

本文的两个方法都强烈依赖这些特性,它们识别有毒的词汇并将其替换为无毒的同义词。另一方面,如果是反向的毒化,就不可能利用这些特性了。首先,不存在能够强烈表明中性风格的无毒词。第二,识别具有毒性同义词的非毒性词并进行适当替换几乎是不可行的。因此,CondBERT不适用于文本毒化任务。

Conclude

本文提出了两个针对文本去毒任务的风格迁移模型,它们都连接了高质量的预训练语言模型和额外的风格引导。模型在自动和人工评估指标上都达到了SOTA效果。

  • 但是,两者的语义保留度都很低。说明现有的有效去毒模型,语义理解不足,生成的文本容易丢失语义。因此,使用更大规模的去毒平行数据集训练很可能会缓解这个现象。这是一个可以改进的方向。
  • 此外,将该任务用于对话生成解毒可能更有意义,更能发挥作用,成本更低,这是一个有效的研究方向。
  • 作者也指出了自动评估存在局限性,并不可靠,而且常用的三类指标是负相关的,所有这个任务的评估仍然是个问题,最好能有针对该任务数据特点的评估,而不是简单借鉴其他风格迁移任务。
  • 模型推理时还使用了很多启发式算法,很细节,有点看不懂。

猜你喜欢

转载自blog.csdn.net/m0_47779101/article/details/128114092