Sarcasm detection论文解析 |用于微博讽刺检测的上下文增强卷积神经网络

本文主要是介绍Sarcasm detection论文解析 |用于微博讽刺检测的上下文增强卷积神经网络,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

论文地址

论文地址:Context-augmented convolutional neural networks for twitter sarcasm detection - ScienceDirect

论文首页 

笔记大纲

用于微博讽刺检测的上下文增强卷积神经网络


📅出版年份:2018
📖出版期刊:Neurocomputing
📈影响因子:2
🧑文章作者:Ren Yafeng,Ji Donghong,Ren Han
📍 期刊分区:

JCR分区: Q2 中科院分区升级版: 计算机科学2区 中科院分区基础版: 工程技术2区 影响因子: 2.0 5年影响因子: 6.0 EI: 是 CCF: C 南农高质量: B


🔎摘要:

近年来,有关 Twitter 讽刺检测的研究越来越多。然而,现有研究有两个局限性。首先,现有工作主要使用离散模型,需要大量人工特征,而获取人工特征的成本可能很高。其次,现有工作大多侧重于根据推文本身进行特征工程,而没有利用目标推文的上下文信息。然而,目标推文的上下文信息(如对话或目标推文作者的历史推文)可能是可用的。为了解决上述两个问题,我们探索了用于微博讽刺检测的神经网络模型。在卷积神经网络的基础上,我们为这项任务提出了两种不同的语境增强神经网络模型。数据集上的结果表明,与最先进的离散模型相比,神经模型可以获得更好的性能。同时,所提出的语境增强神经模型能有效地从语境信息中解码讽刺线索,并相对提高了检测性能。


🌐研究目的:

探索用于微博讽刺检测的神经网络模型。

📰研究背景:

随着社交媒体的发展,twitter 已成为最受欢迎的微博服务之一。因此,基于 twitter 数据的情感分析和数据挖掘已成为一个热门研究课题 [1-3]。twitter 情感分析的目的是自动分析推文的极性。然而,twitter 中的讽刺性话语会将正面或负面话语的极性转化为相反的极性。这在一定程度上会影响情感分析任务的性能。因此,将讽刺性语句与正负极性语句区分开来非常重要。

然而,现有研究有两个局限性。首先,现有工作主要使用离散模型,需要大量人工特征,而获取人工特征的成本可能很高。其次,现有工作大多侧重于根据推文本身进行特征工程,而没有利用目标推文的上下文信息。然而,目标推文的上下文信息(如对话或目标推文作者的历史推文)可能是可用的。

🔬研究方法:


🔩模型架构:

CANN-KEY 模型-历史

在我们提出的 CANN-KEY 模型中,局部子网络由五层组成,分别称为输入层、卷积层、池化层、非线性组合隐藏层和输出层。

  • 左侧部分是本地子网络,使用目标推文的信息。

  • 右侧部分是上下文子网络,使用上下文推文的信息。 对于上下文子网络,我们将分别从基于对话的上下文和基于历史的上下文中自动提取特征。

本地子网络
  • 在输入层中,每个节点表示一条推文中的一个单词,节点的顺序按照原来的顺序排列,单词利用词嵌入表示。

  • 卷积层通常被用来捕捉词性 n-grams 信息。本文将卷积操作的窗口大小设为 3,并使用 tanh 作为激活函数。

  • 池化层,对于每条推文,在卷积层之后会得到不同数量的向量。我们利用池化技术来合并卷积层中不同数量的特征,形成一个具有固定维度的向量。 本文使用了所有三种汇集技术来全面捕捉讽刺证据,并将它们串联起来作为一个新的隐藏层 h2。

  • 隐藏层使用了一个非线性隐藏层来自动组合这些汇集特征。

  • 输出层用于根据最后一层隐藏层的特征对所有类别标签进行评分。

上下文子网络
  • 基于历史的上下文,然后将所有上下文推文视为一个文档,根据其 tf-idf 值对上下文推文中的所有单词进行排序。其次,我们选择最重要的关键词(tf-idf 值最高的关键词)作为该子网络的输入。

  • 输入层的每个词都是由词嵌入来表示。

  • 池化层依旧采用三种池化串联的方式。

  • 非线性隐藏层会自动结合目标推文和上下文推文的特征。

  • 与本地子网络不同,上下文子网络不使用任何卷积函数,因为上下文信息是一组突出词,不包含 n-grams 信息。

CANN-ALL 模型-对话

CANN-ALL 模型由六层组成,分别称为输入层、卷积层、池化层、非线性组合层、softmax 层和输出层。

  • 输入层包括三条推文(按时间顺序排列),最后一条推文是目标推文。

  • 这里的输入层、卷积层和池化层与第一个模型 CANN-KEY 的局部子网络相似。

  • 非线性组合层和 softmax 层,这两个层与 CANN- KEY 模型不同。

训练目标是最小化一组训练上的交叉熵损失,再加上一个 l2- 正则化项。按照之前的工作,在线 AdaGrad 被用来最小化目标函数。


🧪实验:

📇 数据集:

Wang 等人构建的数据集-Table1

  • 基本数据集由 1500 条推文组成,其中包含所有目标推文。

  • 基于历史的上下文包含 6774 条推文

  • 基于对话的上下文只包含 453 条推文

基于对话的上下文数量远远少于基于历史的上下文数量。请注意,基本数据集中的所有推文都有类别标签,而上下文信息中的所有推文都没有类别标签。

📏评估指标:

采用了十倍交叉验证法。

基本数据集被随机分成十等份,其中九份用于训练,第十份用于测试。

📉 优化器&超参数:

有五个超参数,包括两个部分。

  • 第一部分是网络结构参数,包括词向量的维数 D、卷积层的输出维数 C 和非线性组合层的输出维数 H;

  • 第二部分是训练参数,包括 AdaGrad 的 l2 规则化系数 λ 和初始学习率 α。

📊 消融实验:

  • 在基于对话的语境中,模型 MODEL-ALL优于模型 MODEL-KEY。这表明在基于对话的语境中,模型 MODEL-ALL 在捕捉讽刺的微妙线索方面具有更强的能力。

  • 在基于历史的语境中,模型 MODEL-KEY 的表现要优于模型 MODEL-ALL。

其中一个可能的原因是模型 MODEL-ALL 只将两条上下文推文作为输入,而模型 MODEL-KEY 则将更多的上下文推文作为输入。

📋 实验结果:

根据模型 MODEL-KEY(local)的结果,仅使用目标推文,神经模型就获得了 56.37% 的宏 F 1分数,高于最佳离散模型 LMS 的 55.31% 宏 F 分数。

我们的研究表明,将给定推文的上下文推文建模为一个集合,使用神经池函数自动从推文中提取最有用的特征,可以显著提高性能。


🚩研究结论:

与之前的研究相比,我们的神经网络模型将推文内容本身的特征和上下文特征以单词向量的形式整合到了一个模型中。实验结果表明,与最先进的离散模型和基于上下文的模型相比,我们提出的上下文增强神经网络模型具有更好的性能,证明了上下文增强神经网络模型在这项任务中的有效性。


📝总结

💡创新点:

  • 在卷积神经网络的基础上,我们为这项任务提出了两种不同的语境增强神经网络模型,以从语境信息中充分捕捉讽刺线索。

  • 目标推文的历史上下文数量相对较多,并且存在一些冗余信息,因此在建立用于讽刺检测的上下文增强神经网络模型时,我们只考虑部分关键词。

  • 第一个模型是通过整合关键上下文信息而建立的上下文增强神经网络模型(本文命名为 CANN-KEY)。其中池化层使用了所有三种汇集技术来全面捕捉讽刺证据。

  • 第二个模型被称为整合了所有上下文信息的上下文增强神经网络模型(本文命名为 CANN-ALL)。

🖍️知识补充:

  • CNN、RNN 和 LSTM 通常用于表示短语、句子和文档的语义构成。RNN 和 LSTM 更常用于对话语结构建模。

  • 未知词是使用预训练词嵌入的平均向量来表示的

这篇关于Sarcasm detection论文解析 |用于微博讽刺检测的上下文增强卷积神经网络的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Spring Boot 3.x 中 WebClient 示例详解析

《SpringBoot3.x中WebClient示例详解析》SpringBoot3.x中WebClient是响应式HTTP客户端,替代RestTemplate,支持异步非阻塞请求,涵盖GET... 目录Spring Boot 3.x 中 WebClient 全面详解及示例1. WebClient 简介2.

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

C#解析JSON数据全攻略指南

《C#解析JSON数据全攻略指南》这篇文章主要为大家详细介绍了使用C#解析JSON数据全攻略指南,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、为什么jsON是C#开发必修课?二、四步搞定网络JSON数据1. 获取数据 - HttpClient最佳实践2. 动态解析 - 快速

Spring Boot3.0新特性全面解析与应用实战

《SpringBoot3.0新特性全面解析与应用实战》SpringBoot3.0作为Spring生态系统的一个重要里程碑,带来了众多令人兴奋的新特性和改进,本文将深入解析SpringBoot3.0的... 目录核心变化概览Java版本要求提升迁移至Jakarta EE重要新特性详解1. Native Ima

spring中的@MapperScan注解属性解析

《spring中的@MapperScan注解属性解析》@MapperScan是Spring集成MyBatis时自动扫描Mapper接口的注解,简化配置并支持多数据源,通过属性控制扫描路径和过滤条件,利... 目录一、核心功能与作用二、注解属性解析三、底层实现原理四、使用场景与最佳实践五、注意事项与常见问题六

nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析(结合应用场景)

《nginx-t、nginx-sstop和nginx-sreload命令的详细解析(结合应用场景)》本文解析Nginx的-t、-sstop、-sreload命令,分别用于配置语法检... 以下是关于 nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析,结合实际应

MyBatis中$与#的区别解析

《MyBatis中$与#的区别解析》文章浏览阅读314次,点赞4次,收藏6次。MyBatis使用#{}作为参数占位符时,会创建预处理语句(PreparedStatement),并将参数值作为预处理语句... 目录一、介绍二、sql注入风险实例一、介绍#(井号):MyBATis使用#{}作为参数占位符时,会

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

深度解析Java DTO(最新推荐)

《深度解析JavaDTO(最新推荐)》DTO(DataTransferObject)是一种用于在不同层(如Controller层、Service层)之间传输数据的对象设计模式,其核心目的是封装数据,... 目录一、什么是DTO?DTO的核心特点:二、为什么需要DTO?(对比Entity)三、实际应用场景解析