Sarcasm detection论文解析 |使用基于多头注意力的双向 LSTM 进行讽刺检测

论文地址

论文地址:https://ieeexplore.ieee.org/document/8949523

论文首页

笔记框架

使用基于多头注意力的双向 LSTM 进行讽刺检测


📅出版年份:2020
📖出版期刊:IEEE Access
📈影响因子:3.9
🧑文章作者:Kumar Avinash,Narapareddy Vishnu Teja,Aditya Srikanth Veerubhotla,Malapati Aruna,Neti Lalita Bhanu Murthy
📍 期刊分区:
JCR分区: Q2 中科院分区升级版: 计算机科学3区 中科院分区基础版: 工程技术3区 影响因子: 3.9 5年影响因子: 4.1 EI: 是 南农高质量: B


🔎摘要:

在社交媒体中,讽刺经常被用来使用正面或有意的正面词语来表达负面意见。这种有意的模糊性使得讽刺检测成为情感分析的一项重要任务。讽刺检测被认为是一个二元分类问题,在这个问题上,已经成功建立了特征丰富的传统模型和深度学习模型来预测讽刺评论。在以前的研究工作中,已经利用词汇、语义和语用特征建立了模型。我们提取了最重要的特征,并建立了一个特征丰富的 SVM,其性能优于这些模型。在本文中,我们引入了基于多头注意力的双向长短记忆(MHA-BiLSTM)网络来检测给定语料库中的讽刺性评论。实验结果表明,多头注意力机制提高了 BiLSTM 的性能,其表现优于特征丰富的 SVM 模型。


🌐研究目的:

使用基于多头注意力的双向长短期记忆(MHA-BiLSTM)网络的深度学习模型,用于讽刺检测。

📰研究背景:

讽刺性评论在社交媒体平台上很常见。此前,已经提出了几种统计机器学习和神经网络方法来检测讽刺,但它们在捕获用于表达讽刺的隐式模式和上下文方面似乎存在局限性。

🔬研究方法:


🔩模型架构:

使用基于多头注意力的双向长短期记忆(MHA-BiLSTM)网络的深度学习模型,并且还开发了支持向量机(SVM)模型。

基于深度学习的方法

具有多头机制的双向 LSTM由五个主要部分组成,多头注意力允许模型共同关注来自不同位置的不同表示子空间的信息。

词嵌入层

我们使用预训练的单词嵌入 Glove [24] 将句子中的每个单词转换为向量。

单词编码层

在这一层中,通过总结评论中两个方向的上下文信息来实现每个单词的新表示。

句子级多头注意力层

同时关注评论的不同部分,以理解评论语义的各个方面。

串联

我们为给定的评论提取基于语义、情感和标点符号的手工特征,创建一个 d 维的辅助特征向量 F与自注意力句子嵌入 M 相结合,生成新的句子表示。

softmax层

基于统计机器学习的方法

我们使用 SVM 开发基于统计机器学习的模型。

语义特征

使用 LIWC 词典来获取基于语义信息的模式。

语言过程(LP)

分类为代词、冠词、动词、副词、连词、否定、量词等的单词均归入此类。

心理过程 (PP)

标记为社交、情感、认知生物过程的单词均归入此类。

个人关注 (PC)

与工作、成就、休闲、家庭、宗教、死亡等相关的单词都归入此类。

情绪特征

  • 夸张

  • 正/负标点符号

  • 正/负省略号

  • 最大长度正/负短语

标点符号功能

  • 引号数量

  • 感叹号的数量

  • 问号数量

  • 省略号数量

  • 感叹词数量


🧪实验:

📇 数据集:

使用大型自注释讽刺语料库 SARC 1 [20] 来创建我们的数据集。

我们使用 SARC 语料库的训练和测试数据集来为我们的实验创建平衡和不平衡的数据集(代表了现实世界的场景)。

我们在训练/测试数据集中保持讽刺和非讽刺评论之间的比例为 25:75(大约)。

我们将每个训练集随机分为两个训练集(90%)和验证集(10%)。

📏评估指标:

我们使用精度、召回率和 F1分数来评估讽刺检测模型的性能。

📉 优化器&超参数:

  • 利用二元交叉熵损失训练该模型。

  • 我们使用带有 RBF 核的 SVM 来训练所有基于统计的机器学习模型,默认参数和最大迭代次数为 1000。

  • 100 维词嵌入、100 个隐藏单元并将 dropout 固定为 0.5。

  • 对于自注意力句子嵌入,我们使用隐藏单元为 200 的 MLP 层, 4 个注意力头和 11 维辅助特征向量。

  • 使用标准 Adam 优化器,学习率为 0.005,小批量大小为 128,轮次为 50。(并设置5轮提前停止)

💻 实验设备:

📊 消融实验:

通过将注意力头的数量从1增加到4,可以提高MHA-BiLSTM在两个数据集上的F分数,但注意力头的进一步增加会降低MHA-BiLSTM的性能。

📋 实验结果:

据观察,没有注意力机制的 BiLSTM 在两个数据集上都显示出最小的 F 分数。

特征丰富的 SVM 的性能优于 BiLSTM,但在两个数据集上其性能均明显低于 MHA-BiLSTM。

多头自注意力机制提高了深度神经网络的性能。

手动设计的辅助特征在提升 MHA-BiLSTM 的性能方面发挥着重要作用。


🚩研究结论:

我们将我们的 SVM 模型与之前的四个模型进行比较,发现我们的特征丰富的模型比其他模型具有更好的 F 分数。

这项工作的主要贡献是引入基于多头注意力的双向长短期记忆(MHA-BiLSTM)来进行讽刺检测。

我们发现,在网络中包含手动生成的辅助特征进一步增强了 BiLSTM 模型的有效性。


📝总结

💡创新点:

  • 考虑各种手工特征并构建用于讽刺检测的支持向量机(SVM)模型。

  • 我们提出了一种基于多头自注意力的双向长短期记忆(MHA-BiLSTM)网络。

🖍️知识补充:

  • 双向 LSTM 由前向 LSTM 层和后向 LSTM 层组成。前向层捕获序列的历史信息;后向层捕获序列的未来信息。

  • 在给定的评论中,评论的特定部分在检测讽刺方面起着重要作用。然而,一个单词可能有多个因素受到关注,因此我们需要多个注意力头,其中每个单词从多个因素中被赋予适当的重要性,以代表评论的整体语义。

  • 注意力分析:多头自注意力背后的直觉是提取评论的不同方面。单一注意力头通常专注于评论的特定部分,这种机制有助于理解评论中语义的一个方面。


💬讨论:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/319288.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Educational Codeforces Round 165 (Rated for Div. 2) (C、D)

1969C - Minimizing the Sum 题意: 思路:观察到操作数很小,最值问题操作数很容易想到dp,用表示第个元素,操作了次的最小值总和,转移的时候枚举连续操作了几次即可,而连续操作了几次即将全部变成…

Llama改进之——SwiGLU激活函数

引言 今天介绍LLAMA模型引入的关于激活函数的改进——SwiGLU1,该激活函数取得了不错的效果,得到了广泛地应用。 SwiGLU是GLU的一种变体,其中包含了GLU和Swish激活函数。 GLU GLU(Gated Linear Units,门控线性单元)2引入了两个不同的线性层…

UE5 蓝图入门

基础节点创建: 常量: 按住 1 ,点击鼠标左键,创建常量 二维向量: 按住 2 ,点击鼠标左键,创建二维向量 三维向量: 按住 3 ,点击鼠标左键 乘法: 按住 m 键…

基于node.js+css+html+mysql博客系统

博主介绍: 大家好,本人精通Java、Python、Php、C#、C、C编程语言,同时也熟练掌握微信小程序、Android等技术,能够为大家提供全方位的技术支持和交流。 我有丰富的成品Java、Python、C#毕设项目经验,能够为学生提供各类…

Mysql技能树学习

查询进阶 别名 MySQL支持在查询数据时为字段名或表名指定别名&#xff0c;指定别名时可以使用AS关键字。 BETWEEN AND条件语句 mysql> SELECT * FROM t_goods WHERE id BETWEEN 6 AND 8; 查询特定数据 &#xff08;CASE&#xff09; select name,case when price <…

华为机考入门python3--(22)牛客22- 汽水瓶

分类&#xff1a;数字 知识点&#xff1a; 整除符号// 5//3 1 取余符号% 5%3 2 题目来自【牛客】 import sysdef calc_soda_bottles(n):if n 0: # 结束输入&#xff0c;不进行处理returnelse:# 循环进行汽水换算total_drunk 0 # 记录总共喝了多少瓶汽水while…

UE4 Widget制作搜索框

效果&#xff1a; 一、控件层级结构 1.父控件层级结构 2.子控件层级结构 二、蓝图 1.先清除掉创建子项&#xff08;注意&#xff1a;这里使用的是reverse循环&#xff01;&#xff09; 2.判断是否含有关键字&#xff0c;创建子控件

【深度学习基础(3)】初识神经网络之深度学习hello world

文章目录 一. 训练Keras中的MNIST数据集二. 工作流程1. 构建神经网络2. 准备图像数据3. 训练模型4. 利用模型进行预测5. (新数据上)评估模型精度 本节将首先给出一个神经网络示例&#xff0c;引出如下概念。了解完本节后&#xff0c;可以对神经网络在代码上的实现有一个整体的了…

一键自动化博客发布工具,chrome和firfox详细配置

blog-auto-publishing-tools博客自动发布工具现在已经可以同时支持chrome和firefox了。 很多小伙伴可能对于如何进行配置和启动不是很了解&#xff0c;今天带给大家一个详细的保姆教程&#xff0c;只需要跟着我的步骤一步来就可以无障碍启动了。 前提条件 前提条件当然是先下…

C#中.net8WebApi加密解密

尤其在公网之中&#xff0c;数据的安全及其的重要&#xff0c;除过我们使用jwt之外&#xff0c;还可以对传送的数据进行加密&#xff0c;就算别人使用抓包工具&#xff0c;抓到数据&#xff0c;一时半会儿也解密不了数据&#xff0c;当然&#xff0c;加密也影响了效率&#xff…

VISO流程图之子流程的使用

子流程的作用 整个流程图的框图多而且大&#xff0c;进行分块&#xff1b;让流程图简洁对于重复使用的流程&#xff0c;可以归结为一个子流程图&#xff0c;方便使用&#xff0c;避免大量的重复性工作&#xff1b; 新建子流程 方法1&#xff1a; 随便布局 框选3 和4 &#…

【Android学习】日期和时间选择对话框

实现功能 实现日期和时间选择的对话框&#xff0c;具体效果可看下图(以日期为例) 具体代码 1 日期对话框 1.1 xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android&quo…

✔ ★Java项目——设计一个消息队列(五)【虚拟主机设计】

虚拟主机设计 创建 VirtualHost实现构造⽅法和 getter创建交换机删除交换机创建队列删除队列创建绑定删除绑定发布消息 ★路由规则1) 实现 route ⽅法2) 实现 checkRoutingKeyValid3) 实现 checkBindingKeyValid4) 实现 routeTopic5) 匹配规则测试⽤例6) 测试 Router 订阅消息1…

STM32微秒级别延时--F407--TIM1

基本配置&#xff1a; TIM1挂载在APB2总线上&#xff0c;150MHz经过15分频&#xff0c;得到10MHz计数频率&#xff0c;由于disable了自动重装载&#xff0c;所以只需要看下一次计数值是多少即可。 void TIM1_Delay_us(uint16_t us) //使用阻塞方式进行延时&#xff0c;ARR值不…

终端安全管理软件哪个好?

终端安全管理软件是保障企业信息安全的重要工具。 它们能够有效地防范恶意软件、黑客攻击和其他安全威胁&#xff0c;并提供多方面的终端设备安全保护措施。 终端安全软件的功能和保护机制各不相同&#xff0c;这就需要企业根据自身的需求和情况来进行评估和选择。 下面总结了…

3.2Java全栈开发前端+后端(全栈工程师进阶之路)-前端框架VUE3框架-企业级应用- Vuex

Vuex简介 Vuex概述 Vuex是一个专门为Vue.js应用程序开发的状态管理模式, 它采用集中式存储管理所有组件的公共状态, 并以相应的规 则保证状态以一种可预测的方式发生变化. 试想这样的场景, 比如一个Vue的根实例下面有一个根组件名为App.vue, 它下面有两个子组件A.vue和B.vu…

【Linux】awk命令学习

最近用的比较多&#xff0c;学习总结一下。 文档地址&#xff1a;https://www.gnu.org/software/gawk/manual/gawk.html 一、awk介绍二、语句结构1.条件控制语句1&#xff09;if2&#xff09;for3&#xff09;while4&#xff09;break&continue&next&exit 2.比较运…

数据结构——循环结构:for循环

今天是星期五&#xff0c;明天休息&#xff0c;后天补课&#xff0c;然后就是运动会&#xff0c;接着是放假。&#xff08;但这些都和我没关系啊&#xff0c;哭死&#xff01;&#xff09;今天脑袋难得清醒一会儿&#xff0c;主要是醒的比较早吧&#xff0c;早起学了一会&#…

3GPP官网下载协议步骤

1.打开官网 https://www.3gpp.org/ 2.点击 3.在界面选择要找的series&#xff0c;跳转到查找界面 以V2X通信协议为例&#xff0c;论文中通常会看到许多应用&#xff1a; [7] “Study on evaluation methodology of new Vehicle-to-Everything (V2X) use cases for LTE and NR…

【Python】机器学习之Sklearn基础教程大纲

机器学习之Sklearn基础教程大纲 1. 引言 机器学习简介Scikit-learn&#xff08;Sklearn&#xff09;库介绍安装和配置Sklearn 2. 数据预处理 2.1 数据加载与查看 - 加载CSV、Excel等格式的数据- 查看数据的基本信息&#xff08;如形状、数据类型等&#xff09;2.2 数据清洗…