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

摘要

  • 这篇文章提出了一个基于预训练的中文作品评分方法。方法包含3个成分:弱监督预训练,有监督的交叉提示(cross-prompt)微调 和 有监督的目标提示(target-prompt)微调。
  • 一个文章打分器首先在一个大的文章数据集上进行训练,该数据集包含多样的话题和粗糙的分数(例如,好和坏),作为弱监督。
  • 预训练好的文章打分器之后会从现存的提示中在先前分好等级的文章上进行微调,这些文章和目标提示有着一样的分数范围,并且能够提供额外的监督。
  • 最后,评分器会在目标提示的训练数据上进行微调。
  • 在4个prompts上的评估结果显示,这种方法能够从有效性和领域适应能力方面提高一个sota神经作文评分器的性能,但是深层的分析也揭示了它的局限性。

相关工作

  • AES通常被视作时一个有多种特征模板的有监督的学习问题。这些方法假设文章的质量于表层特征有关。这些方法的缺陷包含:特征的设计工程比较困难;对文章的语义理解有限。
  • 2016年后,基于神经网络的AES系统变得流行,这些方法与传统方法比有着更优越的性能。但是,这些系统的大多数都是prompt-specific。当想要为一个新的提示训练一个新的模型时,新的的训练数据需要被标注。
  • AES的域适应。Phandi等人提出了一个基于贝叶斯线性岭回归(ridge回归)预适应的方法,作为将一个AES系统从一个初始prompt应用到另一个prompt的解决方案。Dong等人证明了基于层级CNN的模型在领域适应的设定下表现得更好。
  • AES的预训练。Mim等人提出了一个无监督的预训练方法来评估议论文的组织和论证优势,在这其中一致性建模(cohere)被使用在了预训练过程中。Howard等人提出了文本分类的通用语言模型微调方法,包括:通用领域LM预训练,目标领域LM微调和目标任务分类器微调。

提出的方法

1.ARCNN模型

注意周期卷积神经网络模型(attentional recurrent convolutional neural network model)

句子表示

  • 一系列的单词 x = w 1 , . . . , w N x={w_1,...,w_N} x=w1,...,wN被用一个CNN编码器建模。第 i i i个词的特征表示是:
    z i = f ( W z ⋅ [ e ( w i ) : e ( w i + h w − 1 ) ] + b z ) z_i=f(W_z\cdot[e(w_i):e(w_{i+h_w-1})]+b_z) zi=f(Wz[e(wi):e(wi+hw1)]+bz)
    在此公式中,我们使用tanh作为激活函数 f f f e ( w i ) ∈ R d e(w_i)\in R^d e(wi)Rd是词嵌入, h w h_w hw是卷积层的窗口大小。
  • 在卷积层之上,注意力池化被应用来得到句子的表示 s s s
    s = ∑ α i z i s=\sum \alpha_iz_i s=αizi
    在该式子中,
    α i = e W α ⋅ m i ∑ e W α ⋅ m i m i = t a n h ( W m ⋅ z i + b m ) \begin{align} \alpha_i & = \frac{e^{W_{\alpha}\cdot m_i}}{\sum e^{W_{\alpha}\cdot m_i} }\\ m_i&=tanh(W_m\cdot z_i + b_m) \end{align} αimi=eWαmieWαmi=tanh(Wmzi+bm)

文本表示

  • 句子的表示通过LSTM得到一系列的隐藏层状态 H = { h 1 , . . . , h S } H=\left\{h_1,...,h_S\right\} H={h1,...,hS},在该式子中, S S S是句子的数量。第 j j j个句子的隐藏层表示是 h j = L S T M ( s j , h j − 1 ) h_j=LSTM(s_j,h_{j-1}) hj=LSTM(sj,hj1)
  • 完整的序列能够用一个固定长度的向量 o = ϕ ( { h 1 , . . . , h S } ) o=\phi(\left\{h_1,...,h_S\right\}) o=ϕ({h1,...,hS}),在该式子中, ϕ ( ⋅ ) \phi(\cdot) ϕ()是一个总结隐藏层的函数。注意力机制被用作 ϕ ( ⋅ ) \phi(\cdot) ϕ()来得到文章的表示。

预测层

  • 文章的分数等级通过下式进行预测:
    y = s i g m o i d ( w y ⋅ o + b y ) y=sigmoid(w_y\cdot o + b_y) y=sigmoid(wyo+by)

2.弱监督预训练

我们尝试采用具有多样的话题和低质量评价的语料库来预训练一个总的文章打分器。

数据采集

  • 我们从网站乐乐课堂(http://www.leleketang.com/zuowen/)收集文章。每篇文章的分数等级为1到4,表示poor,normal,good和excellent。
    在这里插入图片描述

预训练ARCNN模型

  • 我们有一个文章数据集 E = { ( x , y ) } E=\left\{(x,y)\right\} E={(x,y)},在该式子中 y = { 0 , 1 } y=\left\{0,1\right\} y={0,1}表面这篇文章是poor还是good。
  • 学习的目标是所有训练样例的负交叉熵的和。

3.有监督的微调

有监督的目标提示微调

  • 真实分数被规约到 [ 0 , 1 ] [0,1] [0,1]的范围来用于微调:
    y s c a l e d = y ^ − m i n m a x − m i n y_{scaled}=\frac{\hat{y}-min}{max-min} yscaled=maxminy^min
    在验证阶段,预测得到的分数会被重新归约到原来分数范围的整数分数。
  • 词表示在预训练阶段被固定了,其他的参数会被调整。我们叫这个策略为 W S P − F i n e t u n e WSP-Finetune WSPFinetune

有监督的迁移微调

  • 如果有来自其他prompts的文章,这样的数据能够被用来进一步的训练我们的弱预训练模型 WSP,在在目标prompts上微调之前。
  • 由于在交叉prompt数据中学习到的等级知识能够被迁移到对目标提示的文章的评分中,我们将这一策略称为有监督的迁移微调。

评估

  • 使用BERT提取词嵌入(维度为768)。通过标点符号把一篇文章分句。句子长度被设置为50,如果长度大于50,它会被截断,并且剩下的部分会被视为另一个句子。

在预训练任务上的评估结果

设定

  • 乐乐课堂数据集。80%、10%和10%被用作训练集、开发集和测试集。
  • 由于粗糙的等级分数是二元的,我们将预训练视作一个分类任务。精度(Macro Precision)、查全率(recall)、F1值和准确度(Acc.)被用作评价指标。

结果

在这里插入图片描述

  • 由于数据集包含多样的话题和不同的流派,所以这个任务并不简单,因为不用种类的文章应该用不用的评估准则来判别。
  • 这个可接受的结果表明,不同主题和流派 的那种应该任然共享一些能够反应文章质量的特征。

对目标提示的评估

设定

1.数据集:

  • 我们使用了在2012-2014年被两个省份用于高考的四个提示。每个提示是一个短的文章,描述了一个事件,一个引用、一个寓言和其他的背景信息。提示的例子如下:
    在这里插入图片描述
  • 学生根据他们对每个prompt的理解来写文章,作文的分数范围为0到60.
    在这里插入图片描述

2.评估指标:

QWK 和 皮尔逊系数 被用作评价指标。
我们执行5折交叉验证,在每个过程中,我们使用每个prompt下的60%、20%和20%的数据集,分别作为训练集、开发集和测试集。

总的结果:

在这里插入图片描述

分析和讨论:

  • WSP-Trans-Finetune取得了最好的性能,但是它的优势相对于 Trans-Finetune 和 WSP-Finetune 并不特别明显,显示出 Trans 和 WSP 互相之间有益处,但是它们在模型中所起的作用是相似的。
  • 预训练能够降低目标提示训练数据的需求吗? 我们使用不同比例的目标提示训练数据来训练ARCNN模型,然后再预训练模型上微调。我们根据每个提示下整个数据集的分数分布来采样这些子集。
    在这里插入图片描述
    在这里插入图片描述
  • 结果意味着,如果我们有高质量的打分好的交叉提示的文章,有监督的迁移预训练能够有助于域适应。但是这样的数据集仍然十分的昂贵并且缺乏这样大规模的数据。即便如此,通过粗糙分数的弱监督仍然能够有助于领域适应
  • 与ARCNN相比,预训练怎么从不同的分数范围影响文章? 我们把来自4个数据集的所有文章按照它们的分数分为了4个范围。在这里插入图片描述
  • 从上图可以看出,分数主要集中在[41-50]这个区间。
    在这里插入图片描述
  • 我们定义 减少预测与真实分数的差距 为 提升。从上图可以看出,预训练提升了 分数范围在[40,50] 的文章的 打分能力。所以,WSP-Trans-Finetune 的总的性能是好的。
  • 高分的预测对于AES来说是一个挑战。 因为训练的样例比其他分数范围少,并且一些高分的文章的写作很独特。较低的分数[0-40]经常涉及到一些离题的文章。预训练模型不能够在这些情况下发挥很好的作用,因为他们不能很好的捕捉到话题信息。
  • 为什么不同提示下的模型的性能提升不一致? 我们推测不一致与提示的不同属性有关。比如说,提示3有一个 半命题的设置。所以学生可以从不同的角度来讨论它。在这种情况下,目标提示的例子可能会被减弱,预训练就起着重要的作用。提示4要求学生来想象,在这种情况下,一个好的想象力和创造力可能会成分人类打分者的一个评分维度,但是这个维度很难被AES模型捕捉到。
  • 我们分析了每个提示里文章的话题多样性,并且推测了每篇文章的话题分布,之后计算了每对文章之间的Jensen-Shannon散度。

结论

  • 目标提示微调仍然无法避免,但是需要的训练数据的量能够被大量的减少。

前置知识点:

  • 提示学习(Prompt Learning)是一个NLP界最近兴起的学科,能够通过在输入中添加一个提示词(Prompt),使得预训练模型的性能大幅提高。Prompt Tuning和Fine Tuning都是对预训练模型进行微调的方法。
  • Fine-tuning的本质是改变预训练模型的weights。由于预训练模型在原域上已经有非常好的性能了,域的迁移会受到原域的阻力,因为使用fine-tune改变的weight是原域上的weight。这样,想要在新域上获得较好的性能,预训练模型越大,fine-tune需要的数据也越多。
  • Prompt不对预训练模型进行任何的改动,是直接拿过来用的。也就是说,只改变输入到预训练模型里面的Prompt,通过改变这个Prompt把域从原域切换到任务域上。
  • 使用Prompt的根本方法是:
    自然语言指令(task description)+任务demo(example)+带“——”的任务。
  • 硬提示/离散提示(Hard Prompt/Discrete Prompt)指人为设计Prompt。软提示/连续提示(Soft Prompt/Continuous Prompt)把Prompt的生成本身作为一个任务进行学习,相当于把Prompt的生成从人类一个一个尝试(离散)变换成机器自己进行学习、尝试(连续)。
  • QWK 详细介绍参考 https://www.kaggle.com/code/aroraaman/quadratic-kappa-metric-explained-in-5-simple-steps/notebook(见我的另一篇笔记博客)。
  • JS散度 (Jensen Shannon divergence)。

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

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

相关文章

【论文阅读】社交网络传播最大化问题-01

问题定义:构建传播最大化模型(最大化末态时的激活节点数量 )& 确定最具影响力节点 思考问题: 影响节点影响力的因素?有向图和无向图的模型构建区别? 定义参数: 节点影响力的取值范围节点…

谣言检测论文精读——12.2020-基于多级融合的多模态谣言检测模型

时间:2020 这篇文章解决的问题 各模态间的语义信息在特征空间是 异构的,这可能会导致以下两个问题:①多模态之间的信息融合不够充分;②模型过于依赖各模态间的信息完整度 (可能有的事件只存在文本信息,而有的事件只存在图片 信息)。 作者如何解决这个问题的 作…

2023最新新闻文章发布系统的设计与实现(毕业设计+论文+开题报告+运行)

摘 要 随着计算机技术的迅速发展,网络正以一种前所未有的冲击力影响着人类的生产和生活。网络的快速发展,颠覆了传统的信息传播方式,冲破了传统的时间,空间的局限性,继而引发了人类阅读方式的变革。现如今&#xff0…

新闻发布|基于JavaWeb实现新闻发布管理系统+论文+PPT

作者主页:编程千纸鹤 作者简介:Java、前端、Python开发多年,做过高程,项目经理,架构师 主要内容:Java项目开发、毕业设计开发、面试技术整理、最新技术分享 收藏点赞不迷路 关注作者有好处 文末获得源码 项…

柯桥托业TOEIC考试和PETS哪个含金量高?

说到对职场有益的证书,无外乎托业和BEC证书。但还有一种面向社会人士的考试,也有很多小伙伴很感兴趣。那就是PETS考试。 很多小伙伴也很好奇托业和PETS的区别,今天来给大家科普下喽。 TOEIC-托业考试 托业考试由美国教育考试服务中心(ETS)开…

每日涨停个股增量加入股票池,持续跟踪走势!股票量化分析工具QTYX-V2.6.5

功能概述 目前A股市场的股票每天是有限制最大涨幅的,也就是涨停的概念。比如主板个股最大涨幅是10%,创业板个股最大涨幅是20%等。 对于个股而言并不是随随便便就能被推到涨停板的。或是因为股票发生了重大的利好(资产重组、政策利好、业绩暴增…

通达信筹码循环指标源码 显示吸筹拉升出货的过程

出现双红带时买入 源代码: VUR1:(CAPITAL*(2*(OL)/2(HC)/2L3*(CL)/2)/7); VUR2:(SMA(AMOUNT,8,1)/1000); VUR3:EMA((CL)/2*3,3); VUR4:(VUR2*(CL)/2*3/VUR3)/10; VUR5:(VUR2*(OL)/2*3/VUR3)/10; VUR6:(VUR2*(HC)/2*3/VUR3)/10; VUR7:(VUR2*L*3/VUR3)/10; VU…

A股全市场个股涨停板明细来袭!—股票数据远程下载服务升级

前言 创建知识星球《玩转股票量化交易》的初心是为了建立一个可以深入学习和交流的私有量化圈子,和志同道合的小伙伴们一起搭建私有的量化交易系统,并且不断迭代完善这个系统,从而能够帮助我们更高效地分析股票、获得更大的盈利机会。 关于星…

从同花顺获取涨停数据,视图化分析优质板,方便投资。

同花顺每日涨停数据获取 视图化分析优质板 import pandas as pd import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt from matplotlib.widgets import MultiCursor mpl.rcParams[font.sans-serif][SimHei] #导入数据 df pd.read_excel(rE:\同花顺…

vue2和elementUI 打造落日余晖登录页和滑块校验

文章目录 前言1 项目搭建2 依赖引入3 项目调整①vue-router② App.vue③ main.js 4 写登录页5 写滑块校验6 源码下载7 问题解决①项目一直报错② 背景图存在白边 前言 标题很夸张,实则是AI的功能,今天咱也搞一个登录页,其实满简单的一个东东…

问卷星录入过程参考

前面讲过的那些这里就不在重复了。直接从录入数据开始讲起, 这里我正好在录入一个问卷内容,以此为例来说一下 因为我首先要录入的是单选题,所以先点击单选添加单选题。 我录入的问题 其他题目的操作都与此类似,可供参考,希望能解决你的疑惑。…

python自动化------问卷星刷问卷3.0版本

接上,之前做的问卷星刷问卷的功能单一,每个题目只能选一个选项。现在的3.0版本功能增加了计数器(刷了几份问卷)、多选项的选择、通过滑块验证。想要了解之前的相关信息请看下面的链接: 隔壁寝室刷问卷刷疯了&#xff…

如何愉快的填写问卷星

从业务开发,了解http本质。 问卷星代刷方法: pythonselenium 通过自动化测试工具正常填写,方法低效,容易出现安全检测(本文不讲)。post请求,模拟包发送,简单快捷,跳过安全检测&…

问卷星最新调研爬虫自动填写

利用简单权重设置选项比例分配以及条件判断语句即可将问卷往你选择的放向走,需要对前端稍微了解即可,用谷歌的开发者工具查看元素 例如:check rank[i].find_elements(byBy.CLASS_NAME,value"ui-radio") from selenium import webd…

仿造问卷星--开发一套调查问卷设计工具(2/3)--完整流程

本章主要内容是完善index.js逻辑功能。 1&#xff0c;修改index.html&#xff0c;直接copy html和css文件直接从源码中拷贝&#xff1a; html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-eq…

Python自动化问卷填写-问卷星(含完整代码)

目录 一、环境安装二、代码分析&#xff08;一&#xff09;库的引用&#xff08;二&#xff09;驱动的运行&#xff08;三&#xff09;各类题型的程序&#xff08;四&#xff09;主程序&#xff08;根据问卷客制&#xff09; 三、完整代码 由于网上的问卷星填写代码良莠不齐&am…

Python自动化填写问卷星问卷

本文使用pyhton实现常见的问卷星问卷自动化填写。如果出现智能验证&#xff0c;本文还不能有效绕过问卷星提交时出现的智能检测&#xff0c;还需要手动点击智能检测才能完成问卷的填写。 在网络问卷中&#xff0c;我们常见的问题有单选题、多选题和李克勤量表题&#xff0c;如下…

python自动填写问卷星

python自动填写问卷星 参考链接1 参考链接2 用python实现自动填问卷&#xff0c;通过智能验证以及滑动验证 1. 下载浏览器驱动 python自动化填写问卷需要依赖浏览器驱动,这里使用的是谷歌浏览器&#xff0c;所以需要下载chromedriver&#xff0c;且下载的版本要和浏览器版本…

问卷星问卷数据怎么快速导入SPSSAU?

最近收到小伙伴询问问卷星导入的问卷数据怎么编码&#xff1f; 现在的问卷调查&#xff0c;很多都是通过网络问卷的方式进行&#xff0c;问卷星是一个专业的在线问卷调查、测评投票平台&#xff0c;如果你的问卷正好是在问卷星网站发放&#xff0c;填答&#xff0c;回收数据&am…

python问卷星模拟提交

*一、前言 ** 笔者在家闲得无聊&#xff0c;突然想突破一下问卷星的反爬虫机制&#xff0c;顺便刷刷问卷&#xff0c;于是就开始分析了。 ** 二、分析过程 ** 1、fiddler抓包 模拟提交首先当然是打开fiddler看看提交了什么包啦。 2、分析不变参数 我们先来看不变的参数&…