第一问答网

 找回密码
 立即注册
查看: 81|回复: 0

情感支持总结

[复制链接]

3

主题

8

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2023-1-5 12:19:32 | 显示全部楼层 |阅读模式
Towards Emotional Support Dialog Systems

这篇文章是情感支持的开山之作,主要有以下两点贡献:
(1)构建了ESConv数据集
(2)将策略引入到情感支持对话中
Control Globally, Understand Locally: A Global-to-Local Hierarchical Graph Network for Emotional Support Conversation




图1

(1)Multi-Source Encoder

          捕获全局原因信息和局部心理意图,并对对话历史进行编码。
          dialogue history 通过 encoder 得到 ht   (对话历史进行编码)
          situation information 通过 encoder 得到 g (捕捉全局原因信息)
          last utterance 通过 XIntent 得到 inference, 经过编码得到 l (局部心理意图)
          ht,g 和 l 都是 d 维,所用的编码器和 BlenderBot 的 encoder 有相同的架构。
(2)Hierarchical Graph Reasoner

          图的推理过程。
          图的结点:ht、g 和 l
          图的边:global connection、local connection 和 contextual connection
          图的建模(更新):GAT
(3)Global-guide Decoder

          生成回复并监督全局原因的语义信息。
          token-to-nodes cross attention
          使用 problem type of conversation 做为标签,对 g' 做监督学习,g' 为更新后的g。
(4)loss

          生成文本的损失 + 交叉熵损失
这篇文章值得借鉴的点有:
(1)引入了局部心理意图信息和全局原因信息。
(2)图模型。
(3)利用 problem type of conversation 做监督学习。
此处有两个疑问:
(1) decoder 时,token-to-nodes cross attention Q K V 分别是什么?可以理解了,是token-to-nodes。
(2)全局原因信息在 interact 时,应该是利用不了的啊,用户应该不会在对话之前提供 situation information
MISC: A MIxed Strategy-Aware Model Integrating COMET for Emotional Support Conversation




图2

(1)Mental State-Enhanced Encoder

          dialogue history 经过 encoder 得到 C
          situation 经过 COMET 得到 Bs,每个 event-relation pair 都会生成多个 tails(block),所有 event-relation pair 生成的所有 tails 一起构成 Bs(自己的理解,得看源码确认一下)。Bs 经过编码器后取每个 block 的第一个token 对应的 hidden state 作为当前 block 的 representation,得到 Hs'。最后通过注意力机制强化相关的 block 的 representation,结合残差机制得到最终的 Hs。
          last utterance 和 situation完全相同,得到 Hx。
(2)Mixed Strategy Learning Module

          pg= MLP(C1)   C1 是 CLS of C 对应的 representation 。 pg ∈ R8(8维向量)
          hg = pg · T    T 是 strategy codebook。  T ∈ R 8*d(8 * d 维)
(3)Multi-Factor-Aware Decoder

          cross-attention
(4)loss

          生成回复损失 + 策略预测损失
值得借鉴的点有:
(1)混合策略
(2)使用last utterance 建模用户状态
疑问:
(1)COMET 细节
(2)strategy codebook 是预先定义?不可训练?
(3)同样 situation 在 interact 时应该利用不了啊?
FADO: Feedback-Aware Double COntrolling Network for Emotional Support Conversation




图3

(1)Context Encoder

          history dialogue 经过编码器得到 H = { h1, h2, ... ht } 。ht ∈ Rd
(2)Dual-level Feedback Strategy Selector

          history strategy 经过编码器得到和最大池化操作得到 s ∈ Rd。
          H 经过最大池化操作得到 c ∈ Rd。
          history dialogue 经过 EmoBerta 编码后,再经过最大池化操作得到 r ∈ Rd。
          三者 concat 后经过全连接层映射到 l 维,l 为 strategy 的类别数(得到预测的strategy)。
turn-level feedback:分为 emotion change (Δe)  和 user rating change (Δr)。emotion change 可以通过 EmoBerta 得到每轮的评分(通过CLS)相减得到,user rating change 可以通过数据集得到(具体还是有点问题,因为没两轮才会有以此评分,可能用线性插值?)。
conversation-level feedback:Stress Change、Relevance and Empathy Score 直接相加得到 Δc。
          Δs = Δe + Δr + uΔc,Δs 大于 0 为正向反馈,否则为负向反馈。
(3)Double Control Reader




公式1



公式2

          分为 strategy-to-context flow 和 context-to-strategy flow。本质上就是通过公式1计算权重,再通过公式2去更新 o 和 ht。从而实现“利用上下文信息来选择策略”和”利用策略关注相关的上下文”,感觉和注意力机制很相似。
(4)Strategy Dictionary

          之前的工作是通过 strategy token 生成 response,这篇工作使用的是 description of strategy。因此Strategy Dictionary 的 key 是 strategy,value 是description
(5)Response Generator




公式3

          V 就是上一步得到策略的描述。
(6)loss




公式4



公式5

           公式4的思想早就被提出了,这里的应用确实亮眼,本质上是一个交叉熵损失,注意此处使用的是更新后的o' 。公式5就是一个对话生成的负对数损失。
值得借鉴的点有:
(1)引入了 history strategy 信息来预测策略。
(2)对于标注的策略并非直接认可,而是通过dual-level feedback来对预测结果进行鼓励或惩罚。
(3)之前的工作都是 context 影响 strategy 的选择,那反过来 被选择的 strategy 同样可以对 context 产生影响,这就是文中提到的 double control reader。
(4)strategy dictionary 的引入虽然简单,但解决了我之前的一个疑问,就是 strategy token 它的表达能力(约束能力)可能不够的问题。
疑问:
(1)history strategy 怎么表示?仍然将其视为 special token 进行编码吗?
(2)之前提到的反馈的分数是怎么计算的,每两轮一次的评分应该不足以估计每轮对话的分数呀?
Improving Multi-turn Emotional Support Dialogue Generation with Lookahead Strategy Planning

注意:这篇文章假设情感支持对话是由系统(supporter)发起的。



图4



图5



图6

           图 4 是MultiESC的框架图,很好理解,包含以下四个部分:
(1)Dialogue Encoder

          dialogue history(和最开始那篇文章一样,直接连接取最后N个token)通过 Transformer encoder 得到 Ht,Ht ∈ R N*d。
(2)User State Modeling

         小问题:图 5 描述了 User State Modeling 的过程,是不是有点问题?(图中只有 Emotion Embeddings,论文中 Transformer encoder 的输入应该是 emotion embeddings, word embeddings 和 positional embeddings 之和。)
          通过 RECCON 从当前轮对话中得到 emotion cause(c),将其和 x,y 做连接,得到 Transformer encoder 的输入。
emotion embeddings:通过 NRC VAD lexicon 检索得到 token 的 VAD score,将其映射到 VAD 子空间,最后将其表示为对应的 emotion vector;如果没有,就将其归为一个特殊的 emotion vector。
经过 Transformer encoder 得到 hidden representation,将 CLS 对应的 vector 作为当前轮的情感表示ut。将前 t-1 轮的情感表示 concat,得到 Ut = {u1, u2, ... ut-1} 。
(3)Strategy Planning with Lookahead Heuristics




公式6



公式7

          公式 7 表示历史对策略的影响。



公式8

          公式 8 对原始公式做出了两点简化:① 只考虑未来最多 L 轮对话  ② 只考虑最优的 k 种策略序列。但同样丢给我们两个问题:Pr 和 f 怎么计算?
Strategy Sequence Generator 和 User Feedback Predictor。
图 6 展示了 strategy score 的计算过程:① 通过 SSG 计算 g(st)  ② 通过 beam search 获得最优的 k 个策略序列 ③ 利用 UFP 估计用户反馈得分 ④ 根据公式 6、公式7 和公式 8 得到最终的策略得分。
         Strategy Sequence Generator:SSG 的结构是基于Transformer decoder。 strategy sequences 首先通过 masked multi-head attention layer 产生 Pt。再分别和 Ht、Ut 通过注意力机制得到新的 Ht'、Ut' 。公式如下:



公式9

论文中说 MH-ATT( . ) 为多头自注意力机制,感觉有点奇怪,应该就是 cross-attention 。之后通过信息融合层得到 Pt' ,公式如下:



公式10

Pt' 经过前馈网络层和残差连接得到隐藏状态 Pt'' ,利用它预测 s+l 时刻的策略分布,公式如下:



公式11

使用负对数似然损失训练 SSG 。
总体来说,SSG 的信息融合过程相当复杂,但将它作为一个黑盒理解整个过程就相对简单了。
         User Feedback Predictor:将通过 beam search 得到的 K 个最优策略序列编码得到 qs(对应CLS),用户状态 Ut 通过 LSTM 得到 Ut' 。qs 和 Ut' 通过注意力层得到 uf 。公式如下:



公式12

利用 uf 预测用户反馈分数,使用 MSE 作为损失函数训练 UFP 。
(4)Utterance Decoder

          基于 Transformer decoder,论文中描述和 SSG 的结构一致,只是输入序列不同。为了让策略指导生成回复,将策略放在 utterance 之前,作为解码器的输入,这一点和最原始的那篇论文一致。
(5)loss

          策略生成预测和文本生成预测联合训练,都是用的是负对数似然损失。(应该是的,文本预测原文提到的是 negative likelihood)
          用户评分预测单独训练,使用的是均方误差损失。其中还有一些 trick,例如随机生成一些得分为1的策略序列。
借鉴的点:
(1)使用前瞻性策略规划作为 strategy selection 的方法,真的很惊艳。
疑问:
(1)源码没开源,有些地方的细节不是很清楚。
<hr/>
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|第一问答网

GMT+8, 2025-4-9 02:52 , Processed in 0.101301 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.. 技术支持 by 巅峰设计

快速回复 返回顶部 返回列表