Sarcasm detection论文解析 |基于语义知识和辅助信息增强讽刺检测方法

论文地址

论文地址:https://www.sciencedirect.com/science/article/abs/pii/S0306457322000139?via%3Dihub

 论文首页

 笔记框架

基于语义知识和辅助信息增强讽刺检测方法


📅出版年份:2022
📖出版期刊:Information Processing & Management
📈影响因子:8.6
🧑文章作者:Wen Zhiyuan,Gui Lin,Wang Qianlong,Guo Mingyue,Yu Xiaoqi,Du Jiachen,Xu Ruifeng
📍 期刊分区:
JCR分区: Q1 中科院分区升级版: 管理学1区 中科院分区基础版: 工程技术2区 影响因子: 8.6 5年影响因子: 8.2 EI: 是 CCF: B 南农高质量: A


🔎摘要:

讽刺表达是一种普遍存在的文学手法,人们有意表达与暗示相反的意思。准确检测文本中的讽刺可以帮助理解说话者的真实意图,并促进其他自然语言处理任务,尤其是情感分析任务。由于讽刺是一种隐含的情感表达,而且说话者会故意混淆听众的视听,因此仅通过文本检测讽刺具有很大的挑战性。现有的基于机器学习和深度学习的方法在处理表达复杂或需要特定背景知识才能理解的讽刺文本时,效果并不理想。特别是,由于中文自身的特点,中文中的讽刺语言检测更加困难。为了缓解中文讽刺检测的这一困境,我们提出了一种语义和辅助增强注意力神经模型--SAAG。在词的层面,我们引入语义知识来增强中文词的表征学习。词素是词义的最小单位,是对词的精细刻画。在句子层面,我们利用一些辅助信息(如新闻标题)来学习讽刺表达的语境和背景表示。然后,我们逐步、动态地构建文本表达的表征。在由新闻文本评论组成的讽刺数据集上进行的评估表明,我们提出的方法是有效的,并且优于最先进的模型。


🌐研究目的:

以前的基于单词的模型经常遇到由于误解文本中多义词所暗示的潜在语义而引起的潜在问题。为了缓解这一困境,我们尝试引入词义知识,以增强模型在讽刺检测中对句子语义的理解。

📰研究背景:

由于讽刺是一种隐含的情感表达,而且说话者会故意混淆听众的视听,因此仅通过文本检测讽刺具有很大的挑战性。

由于中文自身的特点,中文中的讽刺语言检测更加困难。

尽管现有的基于深度学习的方法取得了有希望的进展,但它们通常无法处理文本中复杂的讽刺表达,特别是当表达与背景知识高度相关时。

🔬研究方法:


🔩SAAG模型架构:

具体来说,我们提出的模型主要由两个部分组成:

  • 在单词级别,该模型结合语义知识来增强单词的表示学习;

  • 在句子层面,模型利​​用辅助信息来获取讽刺表达的上下文和背景。

我们使用两个基于双向 GRU(Bahdanau、Cho 和 Bengio,2015)的编码器和多头注意力机制作为骨干,逐步动态地构建文本表达的表示。

语义检索组件

在单词级别,我们首先使用 OpenHownet API (Qi et al., 2019) 分别获取讽刺输入和辅助输入中每个单词的语义知识。

通过HowNet我们可以得到语义信息表示的树状结构。

基于 GRU 的文本编码器

一个词的含义不仅取决于它前面的词,还取决于它后面的词。然而,GRU 只能捕获一个方向的信息。为了解决这个难题,我们使用双向 GRU 对单词及其上下文信息进行编码。

语义匹配注意力机制

为了解决这种多语义现象,我们利用注意力匹配机制来动态匹配合适的语义到单词。

在我们的模型中,我们使用缩放点积注意力机制(Vaswani 等人,2017)。

我们使用多头注意力,因为能够共同关注来自不同位置的不同表示子空间的信息。

为了合并上下文信息,我们不直接使用单词表示作为查询 Q 的源。我们使用文本编码器生成的隐藏状态 H 作为查询 Q 的源。

词融合。为了将词义表示 Sem 合并到主干中,我们将隐藏状态 H 与以词为单位的词义表示 Sem 连接起来。

自注意力组件

在句子级别,为了更好地整合讽刺输入和辅助输入,同时强调显着部分,我们连接语义知识增强的隐藏表示矩阵,并利用自注意力机制来计算最终表示。

讽刺检测

最后,我们利用softmax来计算讽刺的概率分布。

交叉熵用作模型优化中的损失函数。


🧪实验:

📇 数据集:

在我们的实验中,要预测的文本是从中国新闻网站“观察者”上发布的用户评论中收集的。该语料由五位获得多数票的注释者手动注释。

讽刺收集了2019年4月至5月观察者上发布的2197条新闻。

新闻涵盖国际、军事、金融、经济、科技、汽车等主题。

总共还收集了 178,237 条相关用户的评论。注释了 720 篇新闻文章的 4972 条评论。

为了更好地研究讽刺,该语料库还收集了新闻标题、新闻文章和新闻类别等辅助信息。

📏评估指标:

我们使用准确率、精确率、召回率和F1分数来评估整体性能。

📉 优化器&超参数:

SAAG 模型

使用由 GloVe 初始化的 300 维词嵌入(Pennington、Socher 和 Manning,2014)。

采用具有 128 个隐藏单元的两层双向 GRU。

使用4头多头注意力机制

使用学习率为 5e-5 的 Adam 优化器

小批量大小为 8

每次折叠时训练模型 70 个 epoch

BERT 模型

在每次折叠时训练模型 5 个时期

使用10倍交叉验证来评估性能

💻 实验设备:

单个 2080Ti GPU

📊 消融实验:

证明我们的模型可以利用语义知识和辅助信息来提高性能,并且语义知识对模型有更大的贡献。

BERT SSAS 上的消融实验结果与 SAAG 类似。

证明了该模型可以通过使用多头注意力机制而受益。

最好的结果是通过使用 4 头注意力的模式获得的。

📋 实验结果:

与没有预训练模型的方法相比,我们提出的模型 SAAG 取得了最佳性能,并且 F1 分数明显优于之前最好的方法,提高了 2.24%。

对于预训练模型部分,我们的模型 BERT SAS 、 BERT SSA 和 BERT SSAS 均优于之前的模型。

使用语义知识更接近相应的单词可以在检测讽刺方面获得更好的性能,并且模型可以通过添加特定的分隔符标记而受益。


🚩研究结论:

在这项工作中,我们提出了一种语义和辅助增强注意神经模型 SAAG,用于讽刺检测。

我们提出的模型主要可以分为两个方面:在单词级别,我们结合语义知识来增强单词的表示学习;在句子层面,我们利用一些辅助信息来获取讽刺表达的上下文和背景。

我们使用两个基于 GRU 的双向编码器和多头注意力机制作为骨干,逐步动态地构建文本表达的表示。

为了进一步验证语义知识和辅助信息在讽刺检测上的有效性,我们还在BERT上进行了一些尝试,通过设计一些输入格式将语义知识和辅助信息纳入预训练模型中。

实验结果表明,语义知识和辅助信息可以增强模型检测讽刺的能力。


📝总结

💡创新点:

提出了一种词素和辅助增强注意力神经模型--SAAG。在词的层面,我们引入词义知识来增强中文词的表征学习。

在句子层面,我们利用一些辅助信息(如新闻标题)来学习讽刺表达的语境和背景表示。

为了构建有效的单词表示,我们明确地将存储在 HowNet 中的语义知识纳入讽刺检测中。这些语义知识可以帮助模型利用单词之外的细粒度信息,从而提高讽刺检测的性能和可解释性。

利用一些辅助信息来补充模型训练中句子的重要背景知识,从而可以更好地理解上下文。

为了更好地理解句子的讽刺信息,我们利用一些辅助信息来恢复讽刺的上下文和背景。在此基础上,我们使用两个双向门循环单元(GRU)分别对文本信息和辅助信息进行编码。为了更好地整合这两种信息并强调显着部分,我们将两个表示连接起来并使用自注意力机制来获得最终表示。

为了验证语义知识和辅助信息是否可以帮助预训练模型,我们还设计了三种输入格式,将语义知识和辅助信息合并到大规模预训练模型中(本文以 BERT 为例)。

⚠局限性:

提高了模型的复杂度,增加了计算的开销

🔧改进方法:

🖍️知识补充:

我们分析了讽刺文本的特征,尤其是社交媒体上发布的讽刺文本。研究发现,讽刺句子,特别是复杂的讽刺句子,经常伴随着多义或未记录的单词出现。

讽刺文本中的词语通常具有多种含义。

语义(Sememe)被定义为人类语言中最小的语义单位(Bloomfield,1926 年)。

GRU(门控循环单元)(Bahdanau et al., 2015)是 RNN 的变体(Mikolov, Karafiát, Burget, Černock`y, & Khudanpur, 2010)。与 LSTM (Hochreiter & Schmidhuber, 1997) 相比,GRU 使用门控机制来控制序列的状态,而无需单独的存储单元。它包括两种类型的门:重置门和更新门。通过使用这两个门共同控制信息流。

BERT 是一种预训练的 Transformer(Vaswani 等人,2017)模型,在各种 NLP 任务上取得了显着的性能。

语义和辅助增强型 BERT

我们设计了三种输入格式来联合讽刺输入、辅助信息和语义知识。

首先,我们连接讽刺输入和辅助输入作为输入句子 A,然后我们连接讽刺和辅助输入作为输入句子 B。最后,我们连接由特殊标记([SEP])分隔的句子 A 和句子 B,并添加第一个位置的特殊标记([CLS])。


💬讨论:

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

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

相关文章

webpack进阶 -- 自定义Plugin,Loader封装打包优化

介绍 Webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。在 Webpack 处理应用程序时,它会在内部构建一个依赖图(dependency graph),这个依赖图对应映射到项目所需的每个模块,并生成一个或多个 bundle。在这个过程中…

Docker-compsoe部署prysm-beacon-chain + geth服务(geth版本v1.14.0)

1、创建目录结构 ~ # mkdir -p /data/docker-compose/eth ~ # cd /data/docker-compose/eth /data/docker-compose/eth# mkdir beacondata eth ethdata prysm2、编写prysm-beacon-chain Dockerfile和启动脚本文件 /data/docker-compose/eth# vim Dockerfile /data/docker-…

Git的系统级设置

一、如何查看当前系统登录的GIt用户信息 1.看全局Git配置文件 cat ~/.gitconfig 2.查看系统级Git配置文件 cat /etc/gitconfig 3.使用Git命令查看配置的用户名和电子邮件地址 git config --global user.name git config --global user.email 4.如果你想查看所有Git配置&…

(delphi11最新学习资料) Object Pascal 学习笔记---第11章第2节 ( 多个接口与方法别名)

11.2.3 多个接口与方法别名 ​ 接口的另一个非常重要的特点是一个类可以实现多个接口。下面的 TAthlete 类就演示了这一点,该类同时实现了 IWalker 和 IJumper 接口: TAthlete class(TInterfacedObject, IWalker, IJumper) privateFJumpImpl: TJumpe…

旅行卡使用秘籍:告别出游烦恼

在现代社会,随着人们生活水平的不断提高,旅游已经成为越来越多人的休闲方式。而为了让旅行更加方便、实惠,各种旅游卡应运而生。然而,很多人在使用旅游卡时,对于其使用规则并不是非常清楚。接下来,我们就来…

如何把公章盖在电子档文件上?

将公章盖在电子档文件上,尤其是确保其法律效力和安全性,通常涉及以下步骤: 准备工作 获取合法的电子公章:确保你拥有公司或机构正式授权的电子公章图像,且该图像经过了必要的加密或数字签名处理,以确保其…

使用海外云手机为亚马逊店铺引流

在全球经济一体化的背景下,出海企业与B2B外贸企业愈发重视海外市场的深耕,以扩大市场份额。本文旨在探讨海外云手机在助力亚马逊店铺提升引流效果方面的独特作用与优势。 海外云手机,一种基于云端技术的虚拟手机,能够在单一硬件上…

Centos系统实用运维命令记录(持续更新)

本文记录Centos服务器常用的运维命令,备忘 查询当前内存占用最高(前10)的进程列表和占用比例,进程ID ps -eo pid,comm,%mem,cmd --sort-%mem | head -n 11注: 内存警报时定位问题时非常有用 查询占用某个端口号的进程id lsof -i :9000注: 后面的9000…

Ai绘画工具Stable Diffusion提示词如何使用

Stable Diffusion是一种基于深度学习的AI绘画工具,它可以根据用户提供的提示词(prompt)生成相应的图像。提示词是引导AI生成图像的关键,正确的使用和调试提示词对于获得满意的结果至关重要。本文将介绍如何使用和调试Stable Diffu…

let命令

let 命令 let 与 var 二者区别: 作用域不同:变量提升(Hoisting):临时性死区重复声明: 联系:举例说明: 块级作用域 块级作用域的关键字使用 var(无块级作用域)…

JavaScript手写专题——图片懒加载、滚动节流、防抖手写

图片懒加载场景:在一些图片量比较大的网站(比如电商网站首页,或者团购网站、小游戏首页等),如果我们尝试在用户打开页面的时候,就把所有的图片资源加载完毕,那么很可能会造成白屏、卡顿等现象&a…

算法练习第五十八天|739. 每日温度、496. 下一个更大元素

739. 每日温度 496. 下一个更大元素 I 每日温度 class Solution {public int[] dailyTemperatures(int[] temperatures) {int length temperatures.length;int[] res new int[length];//保留下标Deque<Integer> stack new LinkedList<>();stack.push(0);for(in…

ICode国际青少年编程竞赛- Python-2级训练场-range函数

ICode国际青少年编程竞赛- Python-2级训练场-range函数 1、 for i in range(4):Dev.turnLeft()Dev.step(i 1)2、 for i in range(4):Spaceship.step(i 1)Spaceship.turnRight()3、 for i in range(4):Spaceship.step(i 1)Dev.step(2)Dev.step(-2)4、 for i in range(1, 5)…

上海市计算机学会竞赛平台2022年1月月赛丙组三角形的判定

题目描述 给定三个正整数 &#x1d44e;a&#xff0c;&#x1d44f;b 与 &#x1d450;c&#xff0c;请判断它们是否能组成一个三角形。 输入格式 第一行&#xff1a;三个整数表示 &#x1d44e;a&#xff0c;&#x1d44f;b 与 &#x1d450;c。 输出格式 如果可以组成一…

【深度学习4】pip、conda换源

pip、conda换源 1. pip换源2. conda 换源 1. pip换源 临时使用镜像源安装&#xff0c;如下所示&#xff1a;some-package 为你需要安装的包名 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ some-package设置pip默认镜像源&#xff0c;升级 pip 到最新的版本 (&…

【深度学习】【Lora训练2】StabelDiffusion,Lora训练过程,秋叶包,Linux,SDXL Lora训练

文章目录 一、如何为图片打标1.1. 打标工具1.1.1. 秋叶中使用的WD1.41.1.2. 使用BLIP21.1.3. 用哪一种 二、 Lora训练数据的要求2.1 图片要求2.2 图片的打标要求 三、 Lora的其他问题qa1qa2qa3qa4qa5 四、 对图片的处理细节4.1. 图片尺寸问题4.2. 图片内容选取问题4.3. 什么是一…

攻击基础-问题

目录 1. windows登录的明文密码&#xff0c;存储过程是怎么样的&#xff0c;密文存在哪个文件下&#xff0c;该文件是否可以打开&#xff0c;并且查看到密文 2. 我们通过hashdump 抓取出 所有用户的密文&#xff0c;分为两个模块&#xff0c;为什么&#xff1f; 这两个模块分别…

2024年3月份宠物行业线上市场数据分析:市场呈现出精细化、品质化趋势

近些年来&#xff0c;养宠物的家庭越来越多&#xff0c;宠物经济也逐渐衍生开来。宠物经济主要是围绕宠物产生的一整条产业链&#xff0c;包括宠物食品、宠物家居、宠物美容和最近火起来的宠物保险等多个领域。目前随着居民人均收入的提高&#xff0c;宠物市场也得到稳步发展。…

【linux】海量小文件的存储方案

在介绍海量文件存储之前&#xff0c;需要先介绍一下常见的系统里面文件是如何存储的 文件inode 在linux下&#xff0c;每个文件或者目录&#xff0c;都会分配一个inode(index node)&#xff0c;它不存储具体的文件内容&#xff0c;而是记录该文件的基础信息。每个inode大小一…

【Qt 学习笔记】Qt常用控件 | 输入类控件 | Slider的使用及说明

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt常用控件 | 输入类控件 | Slider的使用及说明 文章编号&#xff1a;…