摘要

  • 自动作文评分的目标时自动得评估文章的质量。它是自然语言处理领域中主要的教育应用之一。近来,预训练的技术被用于提升下游任务的性能表现。
  • 但是,通过预训练的编码器获取更好的特征,比如说prompts,是很重要的但是并没有被完完全全的研究。
  • 在这篇论文中,我们创造了一个prompt特征融合方法,这个方法更适合于微调。并且,我们通过设计两个辅助的任务(prompt预测和prompt匹配),使用多任务学习来获得更好的特征。
  • 实验结果显示两个辅助任务都可以提升模型性能,并且结合两个辅助任务和NEZHA预训练编码器的结果最好,QWK提升了2.5%并且皮尔逊相关系数平均提升了2%,对于所有在HSK数据集上的结果而言。

方法

动机

  • 尽管之前在标注好的作文评分模型上进行特定prompts的研究已经有比较好的结果,大多数研究都关注于文章的普通特征。只有一些研究关注prompt特征的提取,并且没有人曾尝试使用多任务的方法老使得模型捕捉到prompt特征,并且自动的对prompts敏感。
  • 整体架构图:

输入和特征提取层

  • 一篇文章的输入表示是加入对应的词嵌入EtokenE_{token}Etoken​,段嵌入(segment)EsegmentE_{segment}Esegment​和位置嵌入EpositionE_{position}Eposition​。为了完全开发prompt的信息,我们把prompt连接在文章的前面。
  • 每个输入的第一个token是特殊的分类token[CLS][CLS][CLS],并且prompt和文章被[]SEP[]SEP[]SEP分隔开。在第iii个prompt的第jjj篇文章的token嵌入是:
    Etoken(i)(j)={Eprompt(i),Eessay(i)(j)}E_{token}^{(i)(j)}=\left\{E_{prompt}^{(i)},E_{essay}^{(i)(j)}\right\} Etoken(i)(j)​={Eprompt(i)​,Eessay(i)(j)​}
  • EsegmentE_{segment}Esegment​和EpositionE_{position}Eposition​被从预训练编码器的标注器中获取。
  • 我们使用BERT和NEZHA作为特征提取层。最终的隐藏层对应于[CLS][CLS][CLS]token,也就是文章的表示rer_ere​,这个文章的表示会被用于文章评分和子任务。

文章评分层

  • 我们将文章评分看作一个回归任务。为了使得数据映射到回归任务,真实的分数被变换范围到区间[0,1][0,1][0,1]来训练,然后重新变换为之前的区间范围在验证的时候。变换的方式:
    s(i)(j)=score(i)(j)−min(score(i))max(score(i))−min(score(i))s^{(i)(j)}=\frac{score^{(i)(j)}-min(score^{(i)})}{max(score^{(i)})-min(score^{(i)})} s(i)(j)=max(score(i))−min(score(i))score(i)(j)−min(score(i))​
    在该公式中,s(i)(j)s^{(i)(j)}s(i)(j)是规约后的第i个prompt和第j篇文章。
  • 来自预训练编码层的文章的表示rcr_crc​,被馈入一个线性层,采用sigmoid激活函数:
    s^=σ(Wes⋅re+bes)\hat{s}=\sigma(W_{es}\cdot{r_e}+b_{es} ) s^=σ(Wes​⋅re​+bes​)
    在该公式中,s^\hat{s}s^是AES系统的预测分数,σ\sigmaσ是激活函数。
  • 作文评分系统的训练目标是
    losses(s,s^)=1N∑k=1N(sk−sk^)2loss_{es}(s,\hat{s})=\frac{1}{N}\sum_{k=1}^{N}(s^k-\hat{s^k})^2 losses​(s,s^)=N1​k=1∑N​(sk−sk^)2

子任务1:Prompt预测

  • prompt预测的定义是:给定一篇文章,决定它属于哪个prompt。
  • 我们将prompt预测视为一个分类任务。输入是文章的表示rer_ere​,它被馈入一个线性层,采用softmax函数。公式是:
    u^=softmax(Wpp⋅re+bpp)\hat{u}=softmax(W_{pp} \cdot r_e+b_{pp}) u^=softmax(Wpp​⋅re​+bpp​)
    在该公式中,u^\hat{u}u^是分类结果的概率分布,WppW_{pp}Wpp​是参数矩阵。
  • 损失函数是:
    losspp(u,u^)=−1N∑k=1N∑c=1Cf(u(k),c)log(ppp(k)(c))loss_{pp}(u,\hat{u})=-\frac{1}{N}\sum_{k=1}^{N}\sum_{c=1}^{C}f(u^{(k)},c)log(p_{pp}^{(k)(c)}) losspp​(u,u^)=−N1​k=1∑N​c=1∑C​f(u(k),c)log(ppp(k)(c)​)
    f(x,y)={1,ifx=y0,elsex≠yf(x,y)= \begin{cases} 1,&if&x=y\\ 0,&else&x\neq y \end{cases} f(x,y)={1,0,​ifelse​x=yx=y​
    在该公式中,u(k)u^{(k)}u(k)是第k个样本的真实的prompt标签,ppp(k)(c)p_{pp}^{(k)(c)}ppp(k)(c)​是第k个样本属于类别ccc的概率。

子任务2:Prompt匹配

  • prompt匹配的定义是给出一个prompt和一篇文章,判断这篇文章和这个prompt是否兼容。我们将prompt匹配问题看作是一个分类任务。
    v^=softmax(Wpm⋅re+bpm)\hat{v}=softmax(W_{pm} \cdot r_e+b_{pm}) v^=softmax(Wpm​⋅re​+bpm​)
  • 目标函数是:
    losspm(v,v^)=−1N∑k=1N∑m=0Mf(v(k),c)log(ppm(k)(m))loss_{pm}(v,\hat{v}) = -\frac{1}{N}\sum_{k = 1}^{N}\sum_{m = 0}^{M}f(v^{(k)},c)log(p_{pm}^{(k)(m)}) losspm​(v,v^)=−N1​k=1∑N​m=0∑M​f(v(k),c)log(ppm(k)(m)​)
    v(k)v^{(k)}v(k)表明了输入的prompt和文章是否匹配。mmm指明了匹配的程度,0表示匹配,1表示不匹配。

多任务的损失函数

  • 最终对每个输入的损失函数是文章评分和两个子任务的加权和:
    lossMTL=α⋅losses+β⋅losspp+γ⋅losspmloss_{MTL}=\alpha \cdot loss_{es}+\beta \cdot loss_{pp} + \gamma \cdot loss_{pm} lossMTL​=α⋅losses​+β⋅losspp​+γ⋅losspm​

实验

数据集

  • HSK:汉语水平考试。动态作文语料库(http://hsk.blcu.edu.cn/),该数据集包括11569篇文章,由超过30个不同的 国家地区的外国人对超过50个不同的prompts的反应。经过处理,最终的统计如下表,10个提示之下的总计8878篇文章,每篇文章的分数在40到95分之间。
  • 分割比(训练集:验证集:测试集)=6:2:2,在测试阶段不仅在整个测试集上进行测试,也在分别在每个提示下进行测试。最后,报告平均的性能表现。

评估指标

  • 对于主任务,我们使用QWK,来分析预测分数于真实之间的同意度。
    Wi,j=(i−j)2(N−1)2W_{i,j}=\frac{(i-j)^2}{(N-1)^2} Wi,j​=(N−1)2(i−j)2​
    iii和jjj是人评估的黄金分数和AES系统分数,并且每篇文章由NNN个可能的等级。
    QWK=1−Wi,jOi,jWi,jZi,jQWK=1-\frac{W_{i,j}O_{i,j}}{W_{i,j}Z_{i,j}} QWK=1−Wi,j​Zi,j​Wi,j​Oi,j​​
    在该公式中,Oi,jO_{i,j}Oi,j​表明人类评估等级为iii,并且AES系统评估等级为jjj的文章个数。
  • 我们也使用了皮尔逊相关系数(PCC)来衡量关联,即使用PCC来评估AES系统排序的文章与黄金标准的相似度。
  • 对于辅助任务,是分类,采用F1和Acc作为评价指标。

结果及讨论

主要结果和分析

  • 下表展示了QWK和PCC在整个测试集上和每个prompt测试集上的平均结果。
  • 用BERT和NEZHA的每个prompt的结果如下图:
  • 下表展示了辅助任务在验证集上的结果:使用NEZHA作为特征提取模块的辅助任务的结果更好。
  • 比较PP和PM的贡献,PM的贡献更高,更有效。

损失权重的影响

  • 检验损失权重参数α\alphaα,$β\betaβ和γ\gammaγ怎样影响模型。

知识点扫盲:

  • 基于预训练语言模型的研究思路通常是“pre-train,fine-tune”,融入了Prompt的新模式大致可以归纳成“pre-train,prompt,and predict”,在该模式中,下游任务被重新调整成类似预训练任务的形式。
  • Prompt刚刚出现的时候,还没有被叫做Prompt,是研究者为了下游任务设计出来的一种输入形式或模板,它能够帮助PLM“回忆”起自己在预训练时“学习到”的东西。

【论文阅读】提升的自动作文评分通过Prompt预测和匹配相关推荐

  1. 自动作文评分算法概述

    自动作文评分是语言评测领域的一项重要子任务,可以帮助老师减少作文批改的负担.最近几年,有较多的学者致力于作文评分算法的研发,并取得了较大的进展. 自动作文评分系统一般由2个组件组成:作文表示组件和评分 ...

  2. 【论文阅读】用于自动中文作文评分的多阶段预训练

    摘要 这篇文章提出了一个基于预训练的中文作品评分方法.方法包含3个成分:弱监督预训练,有监督的交叉提示(cross-prompt)微调 和 有监督的目标提示(target-prompt)微调. 一个文 ...

  3. 论文阅读综述:自动驾驶感知的多模态传感器融合Multi-modal Sensor Fusion for Auto Driving Perception: A Survey

    题目:Multi-modal Sensor Fusion for Auto Driving Perception: A Survey 用于自动驾驶感知的多模态传感器融合:综述 链接:https://a ...

  4. 【论文阅读】使用周期一致的对抗网络的非匹配的图片到图片的翻译

    Unpaired Image-Image Translation using Cycle-Consistent Adversarial Networks 论文地址:https://arxiv.org/ ...

  5. bagging论文阅读

    Bagging论文阅读 Abstract Bagging生成多个版本的预测器并且将他们组合成新的分类器,对回归问题通过输出求平均进行组合,对于分类问题通过多数投票法进行组合.该方法适合对数据分布敏感的 ...

  6. 使用AIGC工具提升论文阅读效率

      大家好,我是herosunly.985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用.曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名.拥有多项发明专利.对机器学 ...

  7. 自动驾驶轨迹预测论文阅读(一)Deep Learning-based Vehicle Behaviour Prediction For Autonomous Driving Applications

    论文链接:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9158529(如果链接无法打开可以通过论文DOI从scihub下载 ...

  8. 【论文阅读】自动泊车相关入门论文

    七月份要参加一个自动泊车的仿真比赛,这里记录一下看的一些论文,主要是自动泊车的基础内容和数学建模. 一.基于超声波车位探测系统的自动泊车方法研究 这篇论文是合工大魏振亚的硕士毕业论文,暂且不提里面的内 ...

  9. [论文阅读] (04) 人工智能真的安全吗?浙大团队外滩大会分享AI对抗样本技术

    外滩大会 AI安全-智能时代的攻守道 Deep Learning Security: From the NLP Perspective 浙江大学 <秀璋带你读论文>系列主要是督促自己阅读优 ...

  10. 论文阅读笔记--Monocular Human Pose Estimation: A Survey of Deep Learning-based Methods 人体姿态估计综述

    趁着寒假有时间,把之前的论文补完,另外做了一点点笔记,也算是对论文的翻译,尝试探索一条适合自己的论文阅读方法. 这篇笔记基本按照原文的格式来,但是有些地方翻译成中文读起来不太顺,因此添加了一些自己的理 ...

最新文章

  1. IBM Bluemix云计算大会见闻
  2. (DFS)求出n个数中选择m个数的所有可能
  3. C语言项目:绽放的玫瑰花
  4. 尴尬!罗永浩刚发布抗菌材料,专业人士就看不下去了:别听人瞎说
  5. 解封装(六):通过遍历获取AVStream音视频流信息并打印参数
  6. HDU 6603 Azshara's deep sea(凸包+区间DP)
  7. 基于Spring Boot,使用JPA操作Sql Server数据库完成CRUD
  8. Linux内核模块(一)
  9. JSch连接不上Linux服务器,JSch链接linux服务器问题解决方案:Session.connect: java.io.IOException: End of IO Stream Read...
  10. 23_多易教育之《yiee数据运营系统》OLAP平台-整体概述篇
  11. 使用WebPack构建UMD库兼容性原理浅谈
  12. 单龙芯3A3000-7A1000PMON研究学习-(2)搭建交叉编译环境
  13. 基于51单片机手机电话拨号盘模拟proteus仿真
  14. Android 集成环信客服云
  15. wps工具显示灰色全部用不了,提示登录
  16. 华为操作系统 28 年史
  17. Antv踩坑—导入画布数据监听画布渲染完成事件
  18. python爬虫利用线程池下载视频
  19. 【亲测可用】2022最新酒桌小游戏喝酒小程序源码_带流量主
  20. 今天玩了一款游戏,真不错哦,英文的

热门文章

  1. SQL中DDL、DML、DQL、DCL、TCL是什么意思
  2. 为什么要给软件做测试?如何测试呢?
  3. php剪切透明圆,php把图片处理成圆形透明的图片,做圆形透明头像,圆形头像_编程资料分享...
  4. 飞凌A40i/T3核心板在台区智能融合终端中的应用
  5. 原标题:跆拳道在中国斗殴中被武术团灭?韩国人看后表示不服
  6. (002)循环语句,数组,方法,走进面向对象(封装)
  7. 聚类时的轮廓系数评价和inertia_
  8. 推荐2个开源聊天服务器
  9. Exception in thread “main“ org.apache.spark.sql.catalyst.parser.ParseException: extraneous input ‘$
  10. Distributing Ballot Boxes(HDU1490)