DialogueCRN论文阅读笔记
碎碎念:
这部分内容是我自己的一些没有逻辑、想到啥记啥的零碎记录,可跳过。
2024-10-31~2024-11-03:
相关工作是23篇文献左右
这篇论文考虑了情绪线索相关的因素?
代码:
实验环境配置:
注:这里没有严格按照提供的配置来,因为按照作者提供的配置会报错,报很多奇怪的错误(可能是时间太久了,毕竟2021年的代码了,很多库的版本会有问题)
环境配置
下面提供我的代码复现环境:
-
租GPU(如果你有或你实验室有,可跳过,我租的RTX3090)
-
创建虚拟环境:conda create env -n crn python=3.6.10
-
装torch: pip install torch==1.7.0+cu110 -f https://download.pytorch.org/whl/torch_stable.html
-
装torch_geometric:
这里要先下载orch_geometric依赖包:参考博客: https://blog.csdn.net/m0_55684014/article/details/134863429
跳转到:https://data.pyg.org/whl/torch-1.7.0%2Bcu110.html
依次下载:torch_scatter torch_sparse torch_cluster torch_spline_conv对应版本到本地
使用pip依次安装
最后安装:pip install torch_geometric -i https://pypi.doubanio.com/simple -
上诉环境运行的时候报错:
RuntimeError: nvrtc: error: invalid value for --gpu-architecture (-arch)
于是重新下载torch:pip install torch1.7.1+cu110 torchvision0.8.2+cu110 torchaudio===0.7.2 -f https://download.pytorch.org/whl/torch_stable.html
到本地,然后pip安装。
终于运行成功了,不容易啊!! -
环境配置结束,开始debug~
实验结果记录:
meld_roberta:
实验结果有点异常,竟然F1为30左右(难道我哪里出错了,可是iemocap没有错误啊!)
iemocap_roberta:
[‘ACC’, ‘hap: 0.3611’, ‘sad: 0.7510’, ‘neu: 0.7344’, ‘ang: 0.6647’, ‘exc: 0.6923’, ‘fru: 0.5984’]
Early stoping… 20 56
Final Test performance…
Early stoping… 20 56
Eval-metric: F1, Epoch: 66, best_eval_fscore: 68.13, Accuracy: 67.16, F1-Score: 67.05
Eval-metric: Loss, Epoch: 30, Accuracy: 66.54, F1-Score: 66.67
摘要:
会话中的情感识别( ERC )在开发移情机器方面得到了越来越多的关注。最近,许多方法致力于通过深度学习模型感知会话上下文。然而,这些方法由于缺乏对情绪线索的提取和整合能力,在理解语境方面存在不足。在这项工作中,我们提出了新颖的语境推理网络( Dialogue CRN ),以从认知角度充分理解会话语境。受情绪认知理论的启发,我们设计了多轮推理模块来提取和整合情绪线索。推理模块迭代执行一个直观的检索过程和一个有意识的推理过程,模仿人类独特的认知思维。在三个公开基准数据集上的大量实验证明了所提模型的有效性和优越性。
方法:
文本特征:
采用上下文独立的roberta抽取的话语特征。(这里是我选择的效果更好的实现,作者提供了两种实现,以下内容都基于roberta抽取的话语特征实现)
模型:
主要由LSTM、推理模块、情绪分类模型构成。
感知阶段:
认知阶段:
推理模块没太看懂难点也是在这里吧
结论:
研究了ERC任务中的认知因素。
提出上下文推理网络去充分理解情境级和说话者级别的上下文。引入认知阶段,从感知阶段检索到的上下文中去抽取和整合情绪线索。在认知阶段,我们设计了多轮推理模块来迭代执行直觉提取过程和有意识推理过程,模仿了人类独特的认知思维。最后,成功获取触发当前情绪的情绪线索,并用于更好的分类。在三个基准数据集上的实验证明了所提模型的有效性和优越性。
数据集:
iemocap:
该数据集包含10个不同说话者的双向对话视频,但是只有第1~4季的前8个说话者的属于训练集。话语用6种情绪标签中的一种标注:happy sad neutral angry excited fructrated。里面的对话比较长,平均每个对话有50个句子。
MELD:
包含超过1400个多轮对话和13000个句子,每个话语由happy、anger、fear、disgust、sadness、surprise和neutral中的一个标签组成。数据集提供了预先定义的train/val划分。
补充知识:
评估指标:
Macro-averaged F1:对每个类别分别计算F1值,然后对这些F1值求算数平均值
Micro-F1:把所有类别看作一个整体,计算其F1值
Weighted-F1:对每个类别的F1值求加权平均。
LSTM网络我感觉我得学习一下,都忘记它相关的内容了。
其他
笔记都是本人的个人意见和想法,仅供参考,如果您有任何建议也非常欢迎留言指出~
2024-11-03
的的