SemEval 2022 | 多语种新闻相似度评测冠军系统简介

2023-11-11 06:50

本文主要是介绍SemEval 2022 | 多语种新闻相似度评测冠军系统简介,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

每天给你送来NLP技术干货!


来自:哈工大讯飞联合实验室

在前不久落下帷幕的第十六届国际语义评测比赛(The 16th International Workshop on Semantic Evaluation, SemEval 2022)中,哈工大讯飞联合实验室(HFL)在多语种新闻相似度评测任务(Task 8: Multilingual News Article Similarity)上以显著的领先优势斩获冠军。本期我们将对这个任务的夺冠系统进行简要介绍,更多具体细节请参考我们的论文。

论文标题:HFL at SemEval-2022 Task 8: A Linguistics-inspired Regression Model with Data Augmentation for Multilingual News Similarity

论文作者:徐梓航,杨子清,崔一鸣,陈志刚

论文链接:https://arxiv.org/abs/2204.04844

项目地址:https://github.com/GeekDream-x/SemEval2022-Task8-TonyX

ff2c2e585ec7e890cc6bf79f88be9b0d.png

任务介绍

SemEval-2022 Task 8是多语种新闻相似度评价任务。任务中给出来自多种语言的新闻篇章对,参赛队伍需要利用模型判定每一对新闻篇章是否描述了同一个事件,并以1至4分的范围为两篇新闻的相似度打分。任务共计覆盖10种语言,包括阿拉伯语、德语、英语、西班牙语、法语、意大利语、波兰语、俄语、土耳其语和中文。与普通的文章相似度任务相比,该评测任务强调考察模型的跨语言理解能力,并要求模型把握文章中描述的具体事件,而不仅是写作风格。 

ccb5e9ab360a39b769480e02a49b6bbd.png

SemEval 2022 Task8 数据样例

系统介绍

我们在语言学特征的启发下,基于多语言预训练模型和回归任务框架,针对当前比赛任务制定了一系列优化策略,最终系统结构如下图所示。整个系统流程包括数据处理、模型训练和预测结果后处理三个阶段:

    1. 数据处理:从指定网页爬取数据,进行数据清理,对清理后的数据做数据增强;

    2. 模型训练:采用基于XLM-R的多语言模型构建的多任务回归打分模型;

    3. 后处理:基于任务数据本身特性,对预测得分进行裁剪。

下面将针对部分主要优化技巧进行简要介绍。

ea6f54f1569ca684e09c73c68c2336f9.png

SemEval 2022 Task8 HFL系统结构


1、数据增强

通过对比训练集和测试集数据分布,我们发现测试集多出3种语言及7种跨语言组合且非英语种占比差别巨大,因此,我们基于训练集进行了两阶段数据增强。首先,为了丰富训练集本身的非英语种数据,我们通过回译对所有包含非英语种的样本对进行了翻倍扩充。而后,通过直译对测试集新出现的语言和跨语言组合进行增强。为了保证增强后的数据具有足够强的语义丰富性,我们选用不同的原语言数据进行直译;同时,我们考虑了不同语种间基于语系语族的亲疏关系,设计了不同增强比例,具体方案如下表。对于和英语相近的语言,增强的样本较少(如德-法对新增317条样本);而和英语关系较远的语言,则增强了较多样本(如中-英对新增了800条样本)。

aeccf7e20ad90dbb340d24c196415c07.png

直译数据增强配对表

2、头尾拼接

由于XLM-RoBERTa所能处理的文本长度有限且数据集中有74%的篇章都长于256个token, 因此考虑对样本进行截取。新闻篇章有鲜明的结构特性,即头部(含标题)和尾部的信息量相对更大,因此我们决定将头尾进行拼接并尝试了不同比例,最终根据对照实验结果,选取头尾长度比例约4:1进行裁剪拼接。

3、多任务学习

如任务介绍部分所示,数据集提供了每个新闻篇章样本从Tone、Narrative等七个维度的相似性打分。尽管最终评测只针对Overall这个整体性维度,但我们认为合理地利用其它六个维度的信息将有助于提升整体性评估的效果,于是我们尝试了多种维度占比方案,发现当Overall权重提高时,模型最终性能有先提升后小幅降低的现象,最终模型选择性能达到峰值所对应的Overall权重范围。

4、Adapted R-Drop

R-Drop被证明是一种简单且有效的基于Dropout的正则化技术,为了更好地适应当前的任务,我们将其中的KL-divergence loss替换为MSE loss,并且通过超参来控制多任务回归学习损失和R-Drop损失的比例。在此基础上,我们还探索了不同forward次数对模型性能的影响。公式如下图所示:

1b56c492926a34f388bf38b179e6aa07.png

Adapted R-Drop Loss计算公式

其中50d36fff91c63e961cfec4b09184a33f.pngbf7decaba566cb7cea12bcedc4313a55.png是样本两次forward的预测值,51d77935d5740b223bd59e7828888a78.png是样本真实值,α控制两种损失的相对强度。

5、其他尝试

除了上述方法,我们还尝试了模型加大增宽、多种获取篇章向量的方案如不同层pooling、基于双塔结构的交互回归框架等,在此任务上这些方法的表现都明显逊色于我们的最终方案。

实验结果

基于多组消融实验,上述提及的五种有效提升方案单独的优化能力如下表所示。

  • 我们针对数据增强做了对照实验(+DA),基于增强集训练得到的模型在测试集上性能提升最为明显,体现了该任务中数据丰富度的重要性。

  • 我们基于非数据增强场景,对其他优化技巧做了对照实验(头尾拼接、多标签、Adapted R-drop、多层分类层等),其中Adapted R-Drop效果最佳。

94e638af947c7839225c1020f44b7dd1.png

各优化方案实验结果

0d1fae1bf463df53727cd0282ae6d095.png

多语种新闻相似度评测任务最终榜单:哈工大讯飞联合实验室排名第一

结论

在三阶段系统框架中,数据处理部分主要使用了两种数据增强的方案,模型训练部分集成了头尾拼接、多任务、Adapted R-Drop和额外线性层等所有有效方案,后处理部分主要进行了打分裁剪和模型融合等工作,最终使得系统整体性能较baseline有较为显著的提升。在多语言新闻相似度场景中,上述优化方案较为充分地挖掘了多语言预训练模型的能力,后续研究工作中,可以尝试添加各语言规则相关特征来进一步提升系统在低资源语言上的表现。

1c5b5256bdf9753a52962636e5b83be5.png

最近文章

EMNLP 2022 和 COLING 2022,投哪个会议比较好?

一种全新易用的基于Word-Word关系的NER统一模型,刷新了14种数据集并达到新SoTA

阿里+北大 | 在梯度上做简单mask竟有如此的神奇效果

ACL'22 | 快手+中科院提出一种数据增强方法:Text Smoothing,非常简单且有效尤其在数据不足的情况下

这篇关于SemEval 2022 | 多语种新闻相似度评测冠军系统简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

升级至三频BE12000! 华硕ROG魔盒Pro路由器首发拆解评测

《升级至三频BE12000!华硕ROG魔盒Pro路由器首发拆解评测》华硕前两天推出新一代电竞无线路由器——ROG魔盒Pro(StrixGR7Pro),该产品在无线规格、硬件配置及功能设计上实现全... 作为路由器行业的T1梯队厂商,华硕近期发布了新旗舰华硕ROG魔盒Pro,除了保留DIY属性以外,高达120

使用Python构建一个高效的日志处理系统

《使用Python构建一个高效的日志处理系统》这篇文章主要为大家详细讲解了如何使用Python开发一个专业的日志分析工具,能够自动化处理、分析和可视化各类日志文件,大幅提升运维效率,需要的可以了解下... 目录环境准备工具功能概述完整代码实现代码深度解析1. 类设计与初始化2. 日志解析核心逻辑3. 文件处

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Linux系统性能检测命令详解

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

Qt QCustomPlot库简介(最新推荐)

《QtQCustomPlot库简介(最新推荐)》QCustomPlot是一款基于Qt的高性能C++绘图库,专为二维数据可视化设计,它具有轻量级、实时处理百万级数据和多图层支持等特点,适用于科学计算、... 目录核心特性概览核心组件解析1.绘图核心 (QCustomPlot类)2.数据容器 (QCPDataC

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

Mac系统下卸载JAVA和JDK的步骤

《Mac系统下卸载JAVA和JDK的步骤》JDK是Java语言的软件开发工具包,它提供了开发和运行Java应用程序所需的工具、库和资源,:本文主要介绍Mac系统下卸载JAVA和JDK的相关资料,需... 目录1. 卸载系统自带的 Java 版本检查当前 Java 版本通过命令卸载系统 Java2. 卸载自定