Unsupervised Text Generation by Learning from Search(TGLS)

Posted Facico

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unsupervised Text Generation by Learning from Search(TGLS)相关的知识,希望对你有一定的参考价值。

Unsupervised Text Generation by Learning from Search(TGLS)

Unsupervised Text Generation by Learning from Search

  • "先搜索后学习"的无监督文本生成方法
    • 在paraphase generation和text formalization上,无监督模型上SOTA,有逼近监督模型的效果

文章的主要贡献

  • 1、提出了无监督文本生成的通用模型框架(TGLS),在搜索中学习
  • 2、展示了将大规模预训练模型整合到TGLS上的方法
  • 3、在paraphase generation和text formalization上的贡献
  • 4、对于在text formalization上,是首个设计基于搜索的方法并扩展到TGLS上

TGLS

  • 方法分两个阶段
    • 1、搜索:将文本用模拟退火(SA),并将搜索生成得到的文本作为“伪标注文本”,得到一个搜索器。
    • 2、学习:将搜索器的结果输入生成器,并来训练生成器,得到新文本。
    • 最终1、2交替

一阶段(搜索器):模拟退火搜索

  • 用启发式的目标函数 s ( y ∣ x ) s(y|x) s(yx)来作为文本生成的打分函数(x生成y)
    s ( y ∣ x ) = s l m ( y ) ⋅ s s e m a n t i c ( x , y ) ⋅ s t a s k ( y , ⋅ ) s(y|x)=s_lm(y)\\cdot s_semantic(x,y)\\cdot s_task(y,\\cdot) s(yx)=slm(y)ssemantic(x,y)stask(y,)
    • s l m ( y ) s_lm(y) slm(y):文本的流畅度
    • s s e m a n t i c ( x , y ) s_semantic(x,y) ssemantic(x,y):替换后文本的关联度
    • s t a s k ( y , ⋅ ) s_task(y,\\cdot) stask(y,):和具体的任务相关

我们要最大化这目标函数,这用SA去做

假设当前已经进行了t轮,当前的文本是 y ( t ) y^(t) y(t),我们要生成 y ′ y' y,生成的方式:word的插入,删除和替换

  • 我们对于是否接受 y ′ y' y有一个概率(SA中): p ( a c c e p t ∣ y ′ , y ( t ) , x , T ) = m i n 1 , e x p ( s ( y ′ ∣ x ) − s ( y ( t ) ∣ x ) T ) p(accept|y',y^(t),x,T)=min\\1,exp(\\fracs(y'|x)-s(y^(t)|x)T)\\ p(accepty,y(t),x,T)=min1,exp(Ts(yx)s(y(t)x))(T是SA的温度变量)
  • 如果接受的话, y ( t + 1 ) = y ′ y^(t+1)=y' y(t+1)=y

问题就是打分函数的构造了

一、文本流畅度 s l m s_lm slm

  • 用在非平行语料上学习特殊任务的微调的GPT2计算文本的概率得分
    s l m ( y ) = ( ∏ i = 1 n p ( y i ∣ y 1 , . . . , y i − 1 ) ) α s_lm(y)=(\\prod_i=1^n p(y_i|y_1,...,y_i-1))^\\alpha slm(y)=(i=1np(yiy1,...,yi1))α
    • α \\alpha α
    • 使用的是,带byte-pair encoding(BPE)的GPT2词汇表,这里的 y i y_i yi是在BPE分割后的token

二、语义的相关度 s s e m a n t i c s_semantic ssemantic

假设句子 x = ( x 1 , . . . , x m ) x=(x_1,...,x_m) x=(x1,...,xm)

  • 分两种:词级别和句子级别
    • 词级别:首先用预训练的RoBERTa得到每个词的特征。因为用了MLM,所以RoBERTa用来做特征表示很好,RoBERTa计算的一个词表示为 R o B E R T a ( x i , x ) RoBERTa(x_i,x) RoBERTa(xi,x)
      • 词级的语义分数,计算为:有多少keyword信息是被保留的
        s w o r d ( y , x ) = min ⁡ k ∈ k e y w o r d ( x ) max ⁡ y i ∈ y R o B E R T a ( k , x ) ⊤ R o B E R T a ( y i , y ) s_word(y,x)=\\min_k\\in keyword(x)\\max_y_i\\in y RoBERTa(k,x)^\\top RoBERTa(y_i,y) sword(y,x)=kkeyword(x)minyiymaxRoBERTa(k,x)RoBERTa(yi,y)
    • 句子级别:计算两个句子向量的余弦相似度: s s e n t ( y , x ) = y ⊤ x ∣ ∣ y ∣ ∣ ∣ ∣ x ∣ ∣ s_sent(y,x)=\\fracy^\\top x||y||||x|| ssent(y,x)=yxyx
      • 句子向量计算为 x = R o B E R T a ( [ B O S ] , x ) x=RoBERTa([BOS],x) x=RoBERTa([BOS],x) [ B O S ] [BOS] [BOS]为句子开头

最后 s s e m a n t i c ( y , x ) = s w o r d ( y , x ) β ⋅ s s e n t ( y , x ) γ β , γ 为 超 参 s_semantic(y,x)=s_word(y,x)^\\beta\\cdot s_sent(y,x)^\\gamma\\qquad \\beta,\\gamma为超参 ssemantic(y,x)=sword(y,x)βsseControllable Unsupervised Text Attribute Transfer via Editing Entangled Latent Representation

A Probabilistic Formulation of Unsupervised Text Style Transfer

IMaT: Unsupervised Text Attribute Transfer via Iterative Matching and Translation

迁移学习(EADA)《Unsupervised Energy-based Adversarial Domain Adaptation for Cross-domain Text Classificat

unsupervised learning: K-means 算法

笔记:unsupervised domain adaptation by backpropagation