CCL 2024 Task7 双任务冠军
近期参加NLP领域CCL2024评测,现将赛题背景和实现方法分享,推理文本纠错领域的发展。
1、背景信息
随着教育的发展和网络的普及,作文评价的规模越来越大,人工评改作文的成本和效率成为一大难题。为了解决这一问题,许多研究者和机构开始探索利用计算机技术来实现作文的自动评改,通过分析作文的语言、内容、结构等方面的特点及存在的问题,给出客观、准确、及时的评分和反馈。其中,表述是否流畅是教师评改作文的一项重要内容。
作文流畅性反映一篇作文的通顺程度和语言使用的规范性,以及作者的写作水平和表达能力,对提高作文评改质量、提升作者写作水平具有重要意义。目前,针对作文流畅性评价的研究工作通常从句子长度、词汇复杂度、句子结构等语言学特征角度进行评分或评级;或是作为语法纠错任务,对句子中出现的拼写错误或语法错误进行识别和纠正;或是视为病句判断任务,判断一条句子是否是病句;这些方法通常将作文流畅性评估作为一个单独的自然语言处理任务,缺乏多层次、多角度的系统性整合;在对语法错误类型的定义上,以往的工作研究了赘余、缺失、误用、乱序四个粗粒度类别,缺乏更细粒度的错误类型定义;同时,他们的方法不具备良好的可解释性,没有定义作文流畅性评价的细粒度分项,无法对中小学生错误修改给出针对性的指导和修改意见。此外,
本次评测数据集来源于以汉语为母语的中小学生考试作文,区别于使用基于规则生成或汉语学习者的中介语数据中的错误,以及其他类型母语者的口语、书面语的语法错误,中小学生作文中出现的错误类型更丰富,涉及的语法知识更复杂。因此我们的任务研究中小学生考试作文中的语法错误识别与纠正问题,系统地定义了影响作文流畅性的细粒度错误类型,并给出了修正建议,这种细粒度错误类型的定义与识别能够帮助学生更清楚地了解自己的写作问题,而修正建议能帮助学生更好地修改自己的作文,同时帮助教师更便捷地了解学生写作水平,有助于教师更好地指导学生写作。
基于此,本次评测任务从词法、句法、语义等多角度对作文流畅性进行详细分析,并给出修改建议,包括:
1、中小学作文病句类型识别;
2、中小学作文病句改写;
3、中小学作文流畅性评级;
2、实现方法
任务一是有关病句类型识别,本质为分类任务,为此我们选用UTC模型进行微调,由于提供训练的数据量较少,为此我们提出语法错误替换方法(后续开源),来进行分阶段的训练,任务一训练数据如下:
UTC基于百度最新提出的统一语义匹配框架USM(Unified Semantic Matching),将分类任务统一建模为标签与文本之间的匹配任务,对不同标签的分类任务进行统一建模。具体地说:
UTC设计了标签与文本之间的词对连接操作(Label–>CLS-Token Linking),这使得模型能够适应不同领域和任务的标签信息,并按需求进行分类,从而实现了开放域场景下的通用文本分类。例如,对于事件检测任务,可将一系列事件标签拼接为[L]上映[L]夺冠[L]下架 ,然后与原文本一起作为整体输入到UTC中,UTC将不同标签标识符[L]与[CLS]进行匹配,可对不同标签类型的分类任务统一建模,通过这种方法可以进行不同类别数据的训练,这个思路真不错。
任务二是中小学作文病句改写,本质为文本生成任务,为此我们选用BART模型,并采用SynGEC融合语法结构,来进一步的提高模型的纠错能力,代码详见:https://github.com/HillZhang1999/NaSGEC,训练数据如下图所示:
BART模型如下,BERT模型的预训练方法是通过加入噪声,随机将token替换成[MASK]、随机删去token、随机将一段连续的token(称作span)替换成一个[MASK]、将一个document的句子打乱、将一个document的句子打乱,其中随机删除跟纠错的少词很类似、句子打乱跟纠错的语序不当很类似,因此采用BART作为预训练模型是最好的,因为BART本身就具有一定的纠错能力。
任务三是中小学作文流畅性评级,也是分类任务,采用NEZHA模型进行微调,并采用FGM、K折等方法来增加模型的鲁棒性,训练数据如下:
Nezha模型如下,相关论文链接:https://arxiv.org/abs/1909.00204
补充:NEZHA 模型相比于BERT模型,在一些方面的改进:完全函数式的相对位置编码、词的MASK、Span预测任务、混合精度训练和LAMB优化器
CCL 2024 Task7 双任务冠军的更多相关文章
- 2018 AI产业界大盘点
2018 AI产业界大盘点 大事件盘点 “ 1.24——Facebook人工智能部门负责人Yann LeCun宣布卸任 Facebook人工智能研究部门(FAIR)的负责人Yann LeCun宣布卸 ...
- 300万大奖:欢迎参加美团联合主办的全球AI挑战赛
2018年8月29日,由美团.创新工场.搜狗.美图联合主办的“AI Challenger 2018全球AI挑战赛”正式启动.美团CTO罗道峰.创新工场CEO李开复.搜狗CEO王小川和美图CEO吴欣鸿共 ...
- bzoj2765[JLOI2010]铁人双项比赛
题意:铁人双项比赛由长跑和骑自行车组成,参赛选手必须先完成k公里的长跑,然后完成r公里的骑车,才能到达终点.参赛选手有的擅长长跑,有的擅长骑车. 如果总赛程s=k+r一定,那么K越大,对擅长长跑的选手 ...
- 【BZOJ】【2765】【JLOI2010】铁人双项比赛
计算几何/半平面交 本来我是想去写POJ 1755的,然后想起了这道跟它很像的题,但应该是弱化版,所以就先写了这个…… 我们可以发现每个人的总用时,与k是呈一次函数关系的:$time_i=\frac{ ...
- bzoj2765 铁人双项比赛
Description 铁人双项比赛是吉林教育学院的一项传统体育项目.该项目比赛由长跑和骑自行车组成,参赛选手必须先完成k公里的长跑,然后完成r公里的骑车,才能到达终点.每个参赛选手所擅长的项目不同, ...
- ImageNet 历届冠军最新评析:哪个深度学习模型最适合你?
原文链接: https://mp.weixin.qq.com/s/I5XgYrPCCGyfV2qTI0sJhQ 深度神经网络自出现以来,已经成为计算机视觉领域一项举足轻重的技术.其中,ImageNet ...
- win8.1硬盘安装ubuntu14.04双系统
在网上找了很多方法都失败了,原因是大多数方法都是用mbr方式安装的,如grub4dos,easybcd.以至于连自己都怀疑win8能不能用硬盘安装,差点就去买个u盘来安装了,就在打算放弃的时候在ubu ...
- Linux 利用Google Authenticator实现ssh登录双因素认证
1.介绍 双因素认证:双因素身份认证就是通过你所知道再加上你所能拥有的这二个要素组合到一起才能发挥作用的身份认证系统.双因素认证是一种采用时间同步技术的系统,采用了基于时间.事件和密钥三变量而产生的一 ...
- 烂泥:VMWare Workation双网卡配置IP地址
本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 前几天给一个客户做远程项目实施,客户那边的服务器是Windows OS的,我们这边的业务 ...
- mysql集群(双主)
0.安装 所谓双主基本可以理解为两台服务器互为主备,其核心思路与主备配置相同. 服务器A: 内网IP: 10.44.94.219 服务器B: 内网IP: 10.44.94.97 1.配置服务器A lo ...
随机推荐
- openGauss Sqlines 使用指导
openGauss Sqlines 使用指导 Sqlines 简介 Sqlines 是一款开源软件,支持多种数据库之间的 SQL 语句语法的的转换,openGauss 将此工具修改适配,新增了 ope ...
- 「译文」深入了解Kubernetes和Nomad
️原文链接: https://www.cncf.io/blog/2023/10/23/introduction-a-closer-look-at-kubernetes-and-nomad/ ✍️作者: ...
- HarmonyOS Codelab样例—弹窗基本使用
一.介绍 本篇 Codelab 主要基于 dialog 和 button 组件,实现弹窗的几种自定义效果,具体效果有: 1. 警告弹窗,点击确认按钮弹窗关闭. 2. 确认弹窗,点击取消按钮或确认按 ...
- 实战指南:使用 xUnit.DependencyInjection 在单元测试中实现依赖注入【完整教程】
引言 上一篇我们创建了一个Sample.Api项目和Sample.Repository,并且带大家熟悉了一下Moq的概念,这一章我们来实战一下在xUnit项目使用依赖注入. Xunit.Depende ...
- c# 后端与前端时间戳的转换
C# DateTime与时间戳转换 C# DateTime与时间戳的相互转换,包括JavaScript时间戳和Unix的时间戳. 1. 什么是时间戳 首先要清楚JavaScript与Unix的时间戳的 ...
- 如何解决python安装mysqlclient失败问题
在使用Django等框架来操作MySQL时,实际上底层还是通过Python来操作的,首先需要安装一个驱动程序,在Python3中,驱动程序有多种选择,比如有pymysql以及mysqlclient等. ...
- .Net core 3.0 SignalR+Vue 实现简单的IM(无jq依赖)
.Net core 中的SignalR JavaScript客户端已经不需要依赖Jquery了 一.服务端 1.nuget安装 Microsoft.AspNetCore.SignalR2.在start ...
- 微信小程序三种授权登录的方式
经过一段时间对微信小程序的研发后 总结出以下三种授权登录的方式,我给他们命名为'一次性授权''永久授权''不授权' 1.一次性授权常规写法,需要获取用户公开信息(头像,昵称等)时,判断调取授权登录接口 ...
- AHPA:开启 Kubernetes 弹性预测之门
简介:阿里巴巴云原生团队和阿里达摩院决策智能时序团队合作开发 AHPA 弹性预测产品,该产品主要出发点是基于检测到的周期做"定时规划",通过规划实现提前扩容的目的,在保证业务稳定 ...
- dotnet 调试应用启动闪退的方法
应用程序如果启动即闪退,那大部分时候日志模块还没初始化完成,很难通过应用自身的启动流程了解到应用启动失败的原因.本文来告诉几个不同的方法用来调查应用启动失败的原因 应用启动失败的原因可能有很多,例如系 ...