文章目录

  • 论文背景
  • 论文想要解决的问题
  • 论文贡献
  • 模型
    • 变量解释
    • 框架
    • Encoding
    • Attention
    • 自动计算persona比重
    • language model
    • 最终的目标函数

A pre-training based personalized dialogue generation model with persona-sparse data

基于预训练和个性化稀疏数据的个性化对话生成模型

论文背景

AAAI2020 解读
部分内容引用 https://blog.csdn.net/LZJ209/article/details/104303844
原文链接:https://arxiv.org/abs/1911.04700

1.为了让对话模型生成出更加human-like的回复,给模型以特定的性格背景等作为参考信息是必要的。
2.大型预训练模型比如GPT2和BERT由于使用了大量的语句做训练,它们的语言能力非常的强大,生成出的语句非常的流畅。虽然大型预训练模型并没有针对某一个领域进行训练,但是人们通过在预训练的基础上再在目标数据集上进行二次训练,得到的结果大多好过只用目标数据集训练的结果。
3.数据集PERSONA-CHAT是一个为了应对该任务而提出的一个数据集,数据集采用人工收集,在构造数据集时人们被要求按照给定的性格信息来进行模拟对话,由此造成参与者在短短的几句对话中包含了相当多的个人信息,论文称这种现象为"persona-dense"。 [复制]

论文想要解决的问题

1.真实的对话中,只有很少的对话会涉及到个人信息,我们称现实生活中的对话是“persona-sparse”的,上述persona-dense的数据集并不符合真实情况。
2.如果直接用大型预训练模型在PERSONA-CHAT类似的数据集上进行训练,那么模型很有可能过分的注重个人信息,从而造成句句都离不开个人信息,这在上述数据集上可能会得到很好的结果,但是却并不真实。
3.由于真实的对话中,涉及到个人信息的语句非常的少,所以直接在persona-sparse的数据集上训练很有可能模型更注重那些不包含个人信息的语句,个人信息在训练的过程中成了噪音。
(总结:用persona-dense数据集不行,用普通数据集也不行)

论文贡献

提出了一个可以在persona-sparse的数据集上训练的预训练模型。
提出了一种通过模型自动计算persona比重的方法。

模型

变量解释

目标:根据 dialogue context C和responder的target persona T,生成流畅的response Y
Y=arg⁡max⁡Y′P(Y′∣C,T)Y = \mathop{\arg\max}_{Y'}P(Y'|C,T) Y=argmaxY′​P(Y′∣C,T)
其中,persona T 视为一些属性的集合(例如 性别、地点、个人兴趣)T={t1,t2,...,tN}T=\{t_1, t_2, ..., t_N \}T={t1​,t2​,...,tN​},且每个属性可以用键值对ti=<ki,vi>t_i=<k_i,v_i>ti​=<ki​,vi​>表示。
dialogue context C={(U1,T1),...,(UM,TM)}C=\{ (U_1,T_1),...,(U_M,T_M)\}C={(U1​,T1​),...,(UM​,TM​)}包含了对话中的多轮(turns)【也就是话语UiU_iUi​】和 persona TiT_iTi​。

框架


个性化对话生成模型框架:编码器和解码器共享同一组参数。dialogue context和target persona使用编码器独立编码,并且它们的编码进入每个解码器块中的注意路由模块。训练一个动态权重预测器来衡量每条路线的贡献。

Encoding

Encoding with Personas

Attention

Attention Routing:
target persona ETE_TET​ , the dialogue context ECE_CEC​ , previously decoded tokens EprevE_{prev}Eprev​
EprevE_{prev}Eprev​作为query。ETE_TET​ ,ECE_CEC​,EprevE_{prev}Eprev​采用3个multi-head attention 分别作为key与value。
OT=MultiHead(Eprev,ET,ET)O_T = MultiHead(E_{prev},E_T,E_T)OT​=MultiHead(Eprev​,ET​,ET​)
OC=MultiHead(Eprev,EC,EC)O_C = MultiHead(E_{prev},E_C,E_C)OC​=MultiHead(Eprev​,EC​,EC​)
Oprev=MultiHead(Eprev,Eprev,Eprev)O_{prev} = MultiHead(E_{prev},E_{prev},E_{prev})Oprev​=MultiHead(Eprev​,Eprev​,Eprev​)
前两个公式采用unmasked 双向 self-attention 来获取更多有效的交互信息。最后一个公式采用masked self-attention来避免看到“golden truth” token.

然后进行融合,persona 权重α∈[0,1]\alpha \in [0,1]α∈[0,1] :
Omerge=αOT+(1−α)OC+OC+OprevO_{merge} = \alpha O_T +(1-\alpha)O_C +O_C+ O_{prev}Omerge​=αOT​+(1−α)OC​+OC​+Oprev​
α\alphaα越大,包含的个性化信息越多。

自动计算persona比重

α\alphaα怎么得到:
设计一个二分类器Pθ(r∣EC)P_{\theta}(r|E_C)Pθ​(r∣EC​)。输入dialogue context ECE_CEC​ ,判断这个training dialogue是否为persona related ,相关则r=1,不相关r=0。
那么这个二分类器的confidence就可以当作权重:
α=Pθ(r=1∣EC)\alpha = P_{\theta}(r=1|E_C)α=Pθ​(r=1∣EC​)
我们可以通过一个heuristic script产生标签,该脚本通过一些规则(如单词匹配)来判断是否persona related。
二分类器的目标函数:
LW(θ)=−∑irilogPθ(ri∣EC)+(1−ri)log[1−Pθ(ri∣EC)]L_W(\theta) = -\sum_{i}r_i log P_{\theta}(r_i|E_C) + (1-r_i) log [1-P_{\theta}(r_i|E_C)]LW​(θ)=−i∑​ri​logPθ​(ri​∣EC​)+(1−ri​)log[1−Pθ​(ri​∣EC​)]

language model

Pre-training and Fine-tuning
原始的LM,和gpt2相同
LLM(ϕ)=−∑ilogPϕ(ui∣ui−k,...,ui−1)L_{LM}(\phi) = -\sum_{i} log P_{\phi} (u_i |u_{i-k}, ..., u_{i-1})LLM​(ϕ)=−i∑​logPϕ​(ui​∣ui−k​,...,ui−1​)
考虑到dialogue context encoding ECE_CEC​和target persona encoding ETE_TET​的:
LD(ϕ)=−∑ilogPϕ(ui∣ui−k,...,ui−1,EC,ET)L_{D}(\phi) = -\sum_{i} log P_{\phi} (u_i |u_{i-k}, ..., u_{i-1}, E_C, E_T)LD​(ϕ)=−i∑​logPϕ​(ui​∣ui−k​,...,ui−1​,EC​,ET​)

最终的目标函数

L(ϕ,θ)=LD(ϕ)+λ1LLM(ϕ)+λ2LW(θ)L(\phi,\theta) = L_D(\phi) + \lambda_1 L_{LM}(\phi) + \lambda_2 L_W(\theta)L(ϕ,θ)=LD​(ϕ)+λ1​LLM​(ϕ)+λ2​LW​(θ)

END
(公式还是挺难敲的。。)

AAAI2020 A pre-training based personalized dialogue generation model with persona-sparse data相关推荐

  1. 《论文阅读》PLATO: Pre-trained Dialogue Generation Model with Discrete Latent Variable

    <论文阅读>PLATO: Pre-trained Dialogue Generation Model with Discrete Latent Variable 简介 论文试图解决什么问题 ...

  2. (一)You Impress Me: Dialogue Generation via Mutual Persona Perception

    摘要 尽管人们一直在努力提高闲谈对话系统的参与度和一致性,但当前的大部分工作只是专注于模仿类人的反应,而未对对话者之间的理解理解进行建模方面的研究.基于此,我们提出了一种P2BOT,这是一个基于收发器 ...

  3. 【论文学习】《Parallel WaveGAN: A fast waveform generation model based on generative adversarial networks》

    <Parallel WaveGAN : A fast waveform generation model based on generative adversarial networks wit ...

  4. 论文总结之对话生成《Improving Knowledge-aware Dialogue Generation via Knowledge Base Question Answering》

    11.Improving Knowledge-aware Dialogue Generation via Knowledge Base Question Answering 本篇论文是ACL最新的20 ...

  5. GCN-LSTM预测道路交通车辆速度 英文 Vehicle Speed Forecasting Based On GCN-LSTM Combined Model

    GCN-LSTM模型预测道路交通车辆速度 GCN:又称GNN,图神经网络    LSTM:长短时记忆网络 Vehicle Speed Forecasting Based On GCN-LSTM Com ...

  6. 2018_IJCAI_DELF: a dual-embedding based deep latent factor model for recommendation

    [论文阅读笔记]2018_IJCAI_a dual-embedding based deep latent factor model for recommendation-(IJCAI, 2018.0 ...

  7. 【多标签文本分类】SGM: Sequence Generation Model for Multi-Label Classification

    ·阅读摘要:   本文提出基于SGM模型,在Seq2Seq的基础上提出SGM模型应用于多标签文本分类.论文还提出了很多提升模型表现的细节,这是在Seq2Seq中没有的. ·参考文献:   [1] SG ...

  8. 语音合成论文优选:Unified Mandarin TTS Front-end Based on Distilled BERT Model

    声明:语音合成论文优选系列主要分享论文,分享论文不做直接翻译,所写的内容主要是我对论文内容的概括和个人看法.如有转载,请标注来源. 欢迎关注微信公众号:低调奋进 Unified Mandarin TT ...

  9. python能熔断吗_今天大盘熔断大跌,后市如何—— based on LPPL anti-bubble model

    # 今天大盘熔断大跌,后市如何-- based on LPPL anti-bubble model > 来源:https://uqer.io/community/share/568a65e022 ...

最新文章

  1. ssm过滤器可以只过滤html吗,SSM登陆验证之过滤器实现
  2. 鼠标放在图片连接上面,预览图片
  3. Linux Kernel TCP/IP Stack — L2 Layer — Traffic Control(流量控制)的基本操作
  4. UVa 1636 决斗
  5. 有没有测试人心里的软件,心理测评,认识自己的有效工具:(二)你做的可能是假的心理测试...
  6. DevOps之发布系统
  7. 环网工业交换机ERPS技术解析
  8. jQuery下如何使用Json传递数据
  9. c语言课设报告时钟vc环境,C语言课程设计报告模拟时钟转动程序.doc
  10. 【GPU编程】基于GPU的光线投射体绘制(GPU-Based Ray-Casting Volume Rendering)入门学习
  11. HLSL bytecode to GLSL编译器的第一步
  12. Asp.Net Core简单整理
  13. 安装Hyper-v Server 2016
  14. python lazy_pinyin模块 isalpha函数
  15. python鱼眼图像识别_图像变换之矫正---鱼眼图像的矫正简介
  16. 凌恩客户文章:多组学揭示肥胖多囊卵巢综合征(PCOS)患者发病机制
  17. leetcode 递增的三元子序列
  18. 百度凤巢助纣为虐 网游盗号百度难逃罪责
  19. 关于Foreach是如何实现的问题
  20. 代码review,瑞出事来了

热门文章

  1. word文档中显示目录结构、插入目录
  2. 【实战】物联网安防监控项目【4】———从网页上控制A9的LED灯
  3. 启动nginx后出现welcome to centos
  4. java计算机毕业设计线上旅行信息管理系统源代码+数据库+系统+lw文档
  5. 【蓝桥杯13】——PCF8591的应用(AD转换)
  6. 一些常用工具下载链接
  7. ?软件测试mysql面试题:varchar(50)中50的涵义?
  8. 【AT91SAM7X-EK开发板】系统时钟的配置
  9. AIGC火了,但它能替代红人们吗?
  10. 分数指数幂计算机,分数指数幂的教案