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

本文主要是介绍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 层组成。前向层捕获序列的历史信息;后向层捕获序列的未来信息。

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

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


💬讨论:

这篇关于Sarcasm detection论文解析 |使用基于多头注意力的双向 LSTM 进行讽刺检测的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/961277

相关文章

如何使用 JUnit 和多个服务运行端到端测试

如何使用 JUnit 和多个服务运行端到端测试 问题背景 在尝试使用 JUnit 和 RestTemplates 运行端到端测试时,面对多模块 Spring/Maven 项目,遇到了一些依赖冲突问题。项目结构如下: txt parent|-- service-1|-- service-2|-- service-3|-- integration-test integration-t

thymeleaf使用方法记录

//头部声明<html xmlns:th="http://www.thymeleaf.org">//文本显示,使用 ${后端传过来的变量}<p class="book_inline b" th:text="${book.bookAuthor}"></p>//在超链接中使用@{},里面是url,带参数的话使用(),括号里面是参数,多个参数用逗号隔开。thymeleaf会自动识别添加springb

css单元格固定宽度大小,超过部分使用省略号表示

/*white-space: nowrap 保证文本内容不会自动换行,如果多余的内容会在水平方向撑破单元格。overflow: hidden 隐藏超出单元格的部分。text-overflow: ellipsis 将被隐藏的那部分用省略号表示。*/.b {width: 100px;overflow: hidden;text-overflow: ellipsis;white-space: no

img标签src使用网络地址展示图片,https。。无法显示问题解决办法

<head> 标签区域加上<meta name="referrer" content="no-referrer">

wifi配置工具iw源码解析

iw是一个基于nl80211接口的无线配置工具,用于替代原先基于wext接口的iwconfig。iw源码可以在网址 https://www.kernel.org/pub/software/network/iw/ 获取,或者使用git命令从http://git.kernel.org/?p=linux/kernel/git/jberg/iw.git. 中下载。 1、简单的nl80211程序 iw的

环形数组介绍要点和难点具体应用实例和代码解析

环形数组(或称为循环数组、圆形数组)是一种逻辑结构,其中数组的末尾和开头在逻辑上是相连的,从而形成一个环或圈。在实际的物理存储中,环形数组通常是一个普通的线性数组,但在访问和操作时采用特定的逻辑来处理边界条件,使得元素可以从数组的末尾“循环”到开头,或者从开头“循环”到末尾。 环形数组在处理某些特定问题时非常有用,例如: 循环队列:队列是一种先进先出(FIFO)的数据结构,而循环队

24年5月GPT-4o使用教程,一看就会(低配贾维斯?)

一、 GPT-4o 5月13日,GPT-4o发布,听说是低配钢铁侠的贾维斯?赶紧看一下~ 二、什么是GPT-4o GPT-4o(“o”代表“omni”)是迈向更自然的人机交互的一步——它接受文本、音频、图像和视频的任意组合作为输入,并生成文本、音频和图像的任意组合输出。(低配贾维斯_)它可以在短至 232 毫秒的时间内响应音频输入,平均为 320 毫秒,与人类的响应时间相似(和人顺畅对话,强

[数据集][目标检测]肺结节检测数据集VOC+YOLO格式1186张1类别

数据集格式:Pascal VOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):1186 标注数量(xml文件个数):1186 标注数量(txt文件个数):1186 标注类别数:1 标注类别名称:["nodule"] 每个类别标注的框数: nodule 框数 = 1186 总框数:1186 使用

Android中使用Palette让你的页面UI优雅起来

文章目录 1. 什么是Palette2. 引入Palette3. 使用 Palette3.1 同步方式3.2 异步方式3.3 获取色调值 4. 举例4.1 布局文件 activity_palette_list.xml ⬇️4.2 Activity:PaletteListActivity⬇️4.3 列表Adapter:PaletteListAdapter ⬇️4.4 列表item布局:list

三.使用HashiCorp Vault工具管理数据库

三.ubuntu安装使用HashiCorp Vault工具管理数据库 HashiCorp Vault 是一个基于身份的秘密和加密管理系统。机密是您想要严格控制访问的任何内容,例如 API 加密密钥、密码和证书。Vault 提供由身份验证和授权方法门控的加密服务。使用 Vault 的 UI、CLI 或 HTTP API,可以安全地存储和管理、严格控制(限制)和审计对机密和其他敏感数据的访问。 1.