论文阅读:Automatic Generation of Personalized Comment Based on User Profile

文章链接:https://arxiv.org/abs/1907.10371

code:https://github.com/Walleclipse/AGPC

本文作者提出一种基于用户个性化信息来生成评论的方法;个性化信息如下:

                                                             论文阅读:Automatic Generation of Personalized Comment Based on User Profile_第1张图片

方法如模型结构图:

                              论文阅读:Automatic Generation of Personalized Comment Based on User Profile_第2张图片 

  1. 首先是基于seq2seq模型+attention机制,encoder和decoder都采用lstm;
  2. 应用了一种基于门记忆的特征embedding; 将用户的个性化特征属性F={f1,…,fk}、经过一个全连接层,得到向量表示u。u可以看作是user feature embedding,表明用户的个人特征。如果user feature embedding是静态的,在decode过程中会影响生成回复的语法性。为了解决这个问题,设计了一个gated memory来动态地表达用户的个人特征。这个embedding随着decoder进行不断衰减;
  3. 基于博客和用户个人描述的联合attention;
  4. 通过将第3点的信息和第2点的用户个性化信息一起作为decoder隐藏状态更新的输入,来结合persona信息,进而影响decode过程。这种影响是隐性的,为了更明确地利用用户信息来指导word的生成,将用户信息直接作为输出层的输入;

User Feature Embedding with Gated Memory:

    将用户的数值化特征属性F={f1,…,fk}F={f1,…,fk}经过一个全连接层,得到向量表示v。v可以看作是user feature embedding,表明用户的个人特征。如果user feature embedding是静态的,在decode过程中会影响生成回复的语法性。为了解决这个问题,设计了一个gated memory来动态地表达用户的个人特征。
在decode过程中,保持一个Internal personal stateMt,在decode过程中Mt逐渐衰减,decode结束,Mt衰减为0,表示用户的个人特征完全表达了。M0的初始值设为v。(Mt理解成t时刻包含的多少用户信息,是由gt擦去Mt-1时刻的内容后得到的,gt是由t时刻decoder hidden st决定;总的来说由st决定,t时刻输出多少个性化信息)

                                                   论文阅读:Automatic Generation of Personalized Comment Based on User Profile_第3张图片

引入输出门机制g’o,表示对 t 时候个性化信息Mt,model需要花多少注意力在上面(用多大概率数进行学习),这个是由 t-1 时刻的decoder hidden :S(t-1), 前一个target word :e(yt-1), 当前语境向量:ct 共同决定的;

                                               

                                                                 

 

Paper note:https://spring-quan.github.io/2019/10/25/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0%E3%80%8AAutomatic-Generation-of-Personalized-Comment-Based-on-User-Profile%E3%80%8B/#%E4%BB%BB%E5%8A%A1%E5%AE%9A%E4%B9%89

1. 门机制的加入,动态的输入给decoder;值得学习;

2. 需要把用户各种个性化信息,属性知识进行不同的编码处理,并用co-attention联合在一起的处理值得学习借鉴;

你可能感兴趣的:(nlg_paper,Automatic,Gen)