分享
KET
输入“/”快速插入内容
KET
飞书用户7782
飞书用户5993
2024年7月9日修改
•
论文:Knowledge-Enriched Transformer for Emotion Detection in Textual Conversations
•
地址:
https://arxiv.org/abs/1909.10681
•
源码:
https://github.com/zhongpeixiang/KET
这篇是将外部常识知识用于特定的任务,在对话中的情绪识别问题,提出一种
Knowledge- Enriched Transformer (KET)
框架,如下图。关于 Transformer、情绪识别等背景知识不做复杂介绍,主要看看是如何将外部知识应用起来的。
任务概览
首先来看一下任务,给定对话数据集,数据格式为 $\{X_{j}^{i} , Y_{j}^{i}\}$,
表示第
组对话第
句表述,$Y_{ j } ^ { i }$ 表示第
组对话第
句表述对应的标签,目标是最大化
Knowledge Retrieval
模型使用了常识知识库
ConceptNet
和情感词典
NEC_VAD
作为外部知识来源,对于对话中的每个非停用词 token,都会从 ConceptNet 检索包含其直接邻居的连通知识图 $g(t)$,并且对对于每一个 $g(t)$,会移除停用词、词表外词以及置信分数低于 1 的 concept。经过上述操作,最终得到的,对于每一个 token,都会有 a list of tuples:
Embedding Layer
就是常见的word embedding 加上 position embedding
Dynamic Context-Aware Affective Graph Attention
这个名字好拗口...动态上下文感知情感图注意力,目的就是计算每个 token 融入知识后的上下文表示$\mathbf{c}(t)=\sum_{k=1}^{|g(t)|} \alpha_{k} * \mathbf{c}_{\mathbf{k}}$ 其中
表示 concept embedding,$\alpha_{k}$ 代表其对应的 attention weight
。这里面最重要的就是
的计算,在这个模型中假设上下文越相关且情感强度越强的 concept 越重要,即具有更高的权重。那么如何衡量呢?提出了两个因素:**相关性因子**和
情感因子
•
相关性因子
:衡量
和会话上下文之间关系的关联程度。
其中
表示余弦相似度,$CR(X^{i})$ 表示第
组对话的上下文表示,因为一组对话中可能存在多个句子,所以就表示为所有句子的向量平均
•
情感因子
:衡量
的情感强度