自动作文评分是语言评测领域的一项重要子任务,可以帮助老师减少作文批改的负担。最近几年,有较多的学者致力于作文评分算法的研发,并取得了较大的进展。

自动作文评分系统一般由2个组件组成:作文表示组件和评分组件。根据作文表示组件,作文评分算法一般可以分为:基于手工特征的作文评分、基于深度学习的作文评分、基于预训练模型的作文评分。

基于手工特征的作文评分

基于手工特征的作文评分方法,通过人工设计和提取相关特征来表征作文,并使用分类、回归或排序方式对作文进行评测。

早在1998年,Larkey等人[1] 通过贝叶斯分类器对和K近邻的方法对作文进行分类,在分类结果基础上融合文本复杂度特征,利用回归方法对作文评分。

2002年,Rudner等人[2] 通过贝叶斯分类器对作文进行分类实现作文评分。

2006年,Attali等人[3] 通过对多个特征值加权求平均的方式实现作文评分。

2011年,Yannakoudakis等人[4] 引入pair-wise的排序方法,借助svm rank对作文评分。

2013年,Chen等人[5] 使用了list-wise的排序方法,通过使用LambdaMART算法,训练排序模型。预测阶段,通过目标样本在训练样本中的排序位置,选择预测分数最接近的k篇文章。使用移除最高分和最低分后的k-2篇文章的平均分,作为评分结果。

2015年,Phandi等人[6] 使用领域自适应的技术来解决跨题目的作文评分问题。

基于深度学习的作文评分

基于深度学习的作文评分方法,不需要人工设计和提取特征,能够自动学习复杂的作文表征,往往具有更好的效果。近些年来,越来越多的的学者开始研究该类方法。

2016年,Taghipour等人[7] 探索了基于RNN和CNN的方法,效果显著超过了基于手工特征的方法。首先通过查找层获得每个词汇的embedding向量,然后利用CNN或RNN对文章所有词汇的embedding向量进行处理,获得作文的表示,最后通过线性回归和sigmoid函数实现打分。通过集成CNN和RNN两种模型,在ASAP数据上QWK达到0.761,显著超过基于手工特征的的作文评测算法。



图1:基于CNN-RNN的神经网络评分系统

同在2016年,Dong等人[8] 提出了两层CNN神经网络对作文进行评测,第一层CNN用于提取句子级别的特征,第二层CNN用于提取文章级别的特征。每层的多个CNN结果向量通过average pooling和max pooling来进行特征的汇总。该方法在ASAP数据上QWK为0.734,显著超过基于手工特征的的作文评测算法。



图2:基于双层CNN的作文评分系统

除此之外,2006年Alikaniotis等人[9]扩展了基于上下文的语言模型,提出一种兼顾语言模型和打分信息的词汇embedding SSWEs(score-specific word embeddings),并将获得的embedding信息输入LSTM对文章进行编码。为获得SSWEs,在训练获得词汇embedding时,不仅考虑了正确句子和被替换过某个词汇的句子的得分差异,同时考虑了句子本身的分数信息(用作文分数替代),如下图所示。



图3:左图为原始的语言学模型C&W,右图为兼顾语言模型和打分信息的SSWEs模型



2017年,Dong等人[10] 比较了RNN和CNN的优势,并提出使用CNN-LSTM的双层神经网络对作文评测。作者发现CNN有助于获取局部的表示,比较适合表征句子,LSTM有助于获取更全局的表示,比较适合表征文章。为了获得句子和文章的表示,通过attention方法,自动获取每个向量的权重。论文方法在ASAP数据上取得了QWK 0.764,直到2019年,其效果未被新的方法超越。如下图所示,左侧表示获得句子的表征,右图表示获得文章的表征。



图4:基于层次CNN-RNN-Attention的作文评测

2018年,Tay等人[11]提出了Skipflow机制,不仅可以增强LSTM的记忆能力,同时该机制提供了Coherence特征来辅助评分。 针对LSTM间隔为δ\deltaδ的两个输出,通过引入Neural Tensor Layer来建模其关系。对于Neural Tensor Layer建模的多个关系输出,和LSTM多个状态的mean pooling结果做拼接,得到文档的向量表示,再通过一层dense layer实现对文章的评分。该方法效果和Dong等人[10] 方法相同,QWK0.764. 达到基于非预训练语言模型的作文评分SOTA。



图5:基于层次Skipflow的作文评测

2018年,Farag等人[12] 为解决语法正确,但语义不连贯的craft文章评分不准的问题,在训练评分模型的同时,对文章的局部一致性做联合学习。
图6展示了局部一致性模型:通过LSTM获得每个句子的表示;将连续的多个句子(作者用3)的表示拼接为一个向量,并通过卷积操作获得一个片段的表示;每个片段的表示通过线性变换及sigmoid操作,获得片段的一致性分数;多个片段的一致性分数求均值作为文章的一致性分数。
文章的作文评分模型采用了Taghipour等人[7] 的方法,直接使用LSTM来对文章建模。
作者对局部一致性模型和作文评分模型采用联合学习,如图[7]所示。训练过程通过利用评分模型误差和局部一致性误差,同时调整两个子模型的参数。对于标注的数据,使用人工标注分数作为两个子模型的label。对于craft的数据,使用0作为一致性模型的label,并用craft前人工标注分数作为评分模型的label。在预测阶段,通过两个子模型预测文章分数和一致性分数,当两个分数差值大于一定阈值时,将文章标记为craft。



图6:尺寸为3的局部一致性模型


图7:局部一致性模型和作文评分模型联合学习

2018年,Wang等人[13] 使用多种基于LSTM的方法对文章编码,并提出了一种强化学习的框架直接优化QWK指标。在强化学习框架下,作者对一个pack内的文章进行打分,其中一篇文章看做target文章,将对target文章的打分看做一个具体的策略,此时根据该pack内所有文章打分结果计算QWK指标,作为强化学习的loss。该loss和交叉熵损失、加权交叉熵损失按权重相加,得到强化学习的汇总loss。该汇总loss根据梯度下降算法对模型权重更新。模型架构如图8所示。



图8:基于强化学习的打分系统

2018年,Jin等人[14] 提出了TDNN(two-stage deep neural network)方法来解决题目无关的作文评分。如图9所示,该方法训练模型包括两个阶段:第一阶段,通过主题无关的作文,训练一个浅层的评分模型如RankSVM,浅层模型使用题目无关的特征。在第二阶段,输入题目相关的数据(无标注)到浅层模型,通过选择极高分和极低分的数组作为伪样本。这些选择出的伪样本用于训练层次神经网络评分模型,该神经网络综合考虑了语义、词性和句法信息,如图10所示。



图9:TDNN打分系统


图10:融合语义、词性和句法信息的层次神经网络

2018年,Dasgupta等人[15] 使用了两个CNN-RNN-Attention的网络模块,其中一个输入是词汇embedding的特征,另一模块输入是句子级别的手工特征。该方法的优势是有效结合了深度学习和传统特征的优势,并自动建模两者之间的关系。



图11:同时考虑embedding特征和手工特征的神经网络

Uto等人[16] 在2020年提出将深度学习特征和文章级别手工特征进行融合。针对LSTM, CNN-LSTM或BERT神经网络结果,可以在打分之前和文档级别特征直接做拼接,然后输入打分器。基于CNN-LSTM的打分结构如图12所示。相对于 Dasgupta等人[15] 方法,该方法不经可使用文档级别的特征提升熊爱国,且只需更少的参数。该方法获得非常好的效果,ASAP数据上QWK 0.801。



图12:同时考虑embedding特征和文档级别手工特征的神经网络

2020年Song等人[21] 提出一种多阶段的预训练方法,可以借助题目无关的作文,提升题目相关主题上的评分效果。作者采用Dong等人[10] 提出的CNN-RNN-Attention评分模型,通过三个阶段训练模型:第一阶段利用爬取的8.5万篇题目无关作文,通过对文章质量进行分类预训练模型;第二阶段利用题目无关但是打分范围一致的作文来finetune模型;第三阶段利用题目相关的作文finetune模型。



图13:多阶段预训练评分系统

2021年Ridley等人[22]等人提出了一种跨题目对作文总分和维度分进行评测的算法。整个评分系统包括共享层和私有层,如图14所示。共享层通过卷积和attention获取每个句子的表征,私有层通过LSTM和attention获得文章的第一表征,每个维度子网络模块将获得的文章第一表征和手工特征拼接到一起作为第二表征,然后和其他维度的第二表征通过attention获得最终的文章表征。最终的文章表征输入sigmoid层得到具体的维度分数。



图14:跨题目分维度评分系统

基于预训练模型的作文评测

Rodriguez等人[17] 实验了BERT,XLNet方法,使用“[CLS]”对应的最后一层输出来表征文章,并输入到分类器实现打分。实验结果表明,直接使用BERT和XLNet来进行作文评测,和基于LSTM方法的效果相近。

Mayfield等人[18] 也实验了基于BERT的方法,和Rodriguez等人[17] 类似,他们也获得了和传统神经网络方法近似的效果。表明直接finetune BERT 模型,效果并不好。

2020年,Cao等人[19] 提出了一种领域自适应的打分框架,如图15所示。为了充分利用其他题目的数据,该方法提出了两个自监督学习的任务和一种领域对抗训练的方法。
第一个自监督学习任务是句子的排序的识别。该任务将作文分成4个片段,并对4个片段分别根据4种排序得到4份构造的数据,训练的目标是对具体的排序方式做分类;
第二个自监督学习任务是噪声数据识别,该任务随机选择文章10%的token做插入、替换和删除,生成新的数据。训练的目标是对构造数据和原始数据做二分类(识别数据是否为噪声数据)。
为了更好地考虑不同题目之间的差异信息,作者使用了一种领域对抗训练的方法。在完成一定的训练步骤后,针对所有样本的编码器输出,计算每个题目的中心(该题目下所有样本的编码向量对应的各维度求平均)。对于每个样本训练时,首先计算所有其他题目的中心,以及该样本到其他题目中心的偏移方向,将该样本原始表征在该偏移方向上加上一定值之后作为新的表征,输入到打分或其他自监督任务进行训练。该方法获得较好的效果,ASAP数据上QWK 0.791。



图15:领域自适应的打分系统

同在2020年,Yang等人[20] 提出融合回归和排序loss来finetune BERT模型。该方法使用BERT对应[CLS]位置的输出作为文章的表征,回归Loss使用MSE、排序Loss使用Batchwise ListNet。为计算Batchwise ListNet损失函数, 根据batch内的所有样本预测分数,计算对应的top 1概率列表。对于预测值的top1概率列表,第jjj个元素的计算方法如下,其中ϕ(sj′)\phi( s'_j)ϕsj表示对第jjj个样本的预测分数。对于真实分数对应的top 1概率列表计算方法相同。


获得两个top1 概率列表后,通过交叉熵得到Batchwise ListNet损失值,如下所示:

该方法对应的模型架构如图16所示。通过综合考虑regression和rank信息,获得了很好的结果,ASAP数据上QWK 0.794。



图16:融合回归和排序对BERT评分模型进行finetune

[23] 针对预训练语言模型在AES领域效果不好的问题进行分析,认为大多预训练语言模型在预训练阶段处理的都是句子级文本,而评分系统需要在文档级别finetune,存在不一致;另外作文数量较少,无法通过finetune获得有效的作文多层次信息表征。

为解决上述问题,作者利用两个BERT模型来显示地建模作文的多尺度信息,如下图所示。其中左半图利用一个BERT模型来提取文档和词汇级特征,并通过一层Dense layer预测作文对应这两个尺度的分数;右半图通过另一个BERT模型来提取多尺度片段特征,也通过一层Dense layer预测各片段尺度的分数。通过将作文对应所有尺度的预测分数相加,获得最终的预测分数。为了考虑分数的分布信息和排序信息,作者在回归损失函数的基础上,引入相似度损失函数SIM和排序损失函数MR。

该方法在ASAP数据上 QWK 0.791, 其提出的多尺度特征表征方法在只使用回归损失函数,且无辅助任务优化的情况下效果超过了基于深度学习的方法如LSTM。



图17:基于BERT的作文多尺度特征联合学习

参考文献

【1】 Leah S. Larkey. 1998. Automatic essay grading using text categorization techniques. In SIGIR ’98 Proceedings of the 21st annual international ACM SIGIR conference on Research and development in information retrieva, pages 90–95.
【2】Lawrence M. Rudner and Tahung Liang. 2002. Au- tomated essay scoring using bayes’ theorem. The Journal of Technology, Learning, and Assessment, 1(2).
【3】Yigal Attali and Jill Burstein. 2006. Automated essay scoring with e-rater⃝R v.2. The Journal of Technology, Learning, and Assessment, 4(3).
【4】Helen Yannakoudakis, Ted Briscoe, and Ben Medlock. 2011. A new dataset and method for automatically grading esol texts. In HLT ’11 Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies, pages 180–189.
【5】Hongbo Chen and Ben He. 2013. Automated essay scoring by maximizing human-machine agreement. In Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing, pages1741–1752.
【6】Peter Phandi, Kian Ming A. Chai, and Hwee Tou Ng. 2015. Flexible domain adaptation for automated es- say scoring using correlated linear regression. In Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing, pages 431–439.
【7】Kaveh Taghipour and Hwee Tou Ng. 2016. A neural approach to automated essay scoring. In Proceed- ings of the 2016 Conference on Empirical Methods in Natural Language Processing, pages 1882–1891.
【8】Fei Dong and Yue Zhang. 2016. Automatic features for essay scoring – an empirical study. In Proceed- ings of the 2016 Conference on Empirical Methods in Natural Language Processing, pages 1072–1077.
【9】Dimitrios Alikaniotis, Helen Yannakoudakis, and Marek Rei. 2016. Automatic text scoring using neural networks. In Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics, pages 715–725.
【10】Fei Dong, Yue Zhang, and Jie Yang. 2017. Attention- based recurrent convolutional neural network for automatic essay scoring. In Proceedings of the 21st Conference on Computational Natural Language Learning (CoNLL 2017), pages 153–162.
【11】Yi Tay, Minh C. Phan, Luu Anh Tuan, and Siu Cheung Hui. 2018. Skipflow:incorporating neural coherence features for end-to-end automatic text scoring. In Proceedings of the Thirty-Second AAAI Conference on Artificial Intelligence, pages 5948–5955.
【12】Youmna Farag, Helen Yannakoudakis, and Ted Briscoe. 2018. Neural automated essay scoring and coherence modeling for adversarially crafted input. In Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technolog, pages 263–271.
【13】Yucheng Wang, Zhongyu Wei, Yaqian Zhou, and Xuanjing Huang. 2018. Automatic essay scoring incorporating rating schema via reinforcement learning. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, pages 791–797.
【14】Cancan Jin, Ben He, Kai Hui, and Le Sun. 2018. Tdnn: A two-stage deep neural network for prompt independent automated essay scoring. In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics, pages 1088–1097.
【15】Tirthankar Dasgupta, Abir Naskar, Rupsa Saha, and Lipika Dey. 2018. Augmenting textual qualitative features in deep convolution recurrent neural network for automatic essay scoring. In Proceedings of the 5th Workshop on Natural Language Processing Techniques for Educational Applications, pages 93–102.
【16】Masaki Uto, Yikuan Xie, and Maomi Ueno. 2020. Neural automated essay scoring incorporating hand- crafted features. In Proceedings of the 28th Inter- national Conference on Computational Linguistics, pages 6077–6088.
【17】Pedro Uria Rodriguez, Amir Jafari, and Christopher M. Ormerod. 2019. Language models and automated essay scoring. In arXiv: Computation and Lan- guage.
【18】Elijah Mayfield and Alan W Black. 2020. Should you fine-tune bert for automated essay scoring? In Pro- ceedings of the 15th Workshop on Innovative Use of NLP for Building Educational Applications.
【19】Yue Cao, Hanqi Jin, Xiaojun Wan, and Zhiwei Yu. 2020. Domain adaptive neural automated essay scoring. In SIGIR ’20: Proceedings of the 43rd International ACM SIGIR Conference on Research and Development in Information.
【20】Ruosong Yang, Jiannong Cao, Zhiyuan Wen, Youzheng Wu, and Xiaodong He. 2020. Enhancing automated essay scoring performance via ne-tuning pre-trained language models with combination of regression and ranking. In Findings of the Association for Computational Linguistics: EMNLP 2020.
【21】Wei Song, Kai Zhang, Ruiji Fu, Lizhen Liu, Ting Liu, and Miaomiao Cheng. 2020. Multi-stage pretraining for automated chinese essay scoring. In Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP), pages 6723–6733.
【22】Robert Ridley, Liang He, Xinyu Dai, Shujian Huang, and Jiajun Chen. 2021. Automated cross-prompt scoring of essay traits.
【23】Yongjie Wang, Chuan Wang, Ruobing Li, and Hui Lin. 2022. On the Use of BERT for Automated Essay Scoring: Joint Learning of Multi-Scale Essay Representation. 2022 Annual Conference of the North American Chapter of the Association for Computational Linguistics(NAACL).

自动作文评分算法概述相关推荐

  1. 《自动驾驶感知算法实战专栏(源代码)》专栏概述

    导言 自动驾驶太火?高薪?跃跃欲试,又仅存于想的阶段.动起来,只是看理论,却总也学不会?看不懂,又总没有进度?如果你也有这类问题,那你来看看这个专栏.以实际项目为导向,亲自动手实践,从简单的图像分类. ...

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

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

  3. 自动驾驶感知算法实战3——自动驾驶2D和3D视觉感知算法概述

    自动驾驶感知算法实战专栏:https://blog.csdn.net/charmve/category_12097938.html 目录 导读 一.2D视觉感知 1. 目标检测 1.1 两阶段检测 1 ...

  4. 推荐系统产品与算法概述 | 深度

    作者丨gongyouliu 转载自大数据与人工智能(ID:gh_b8b5b02c348b) 作者在<推荐系统的工程实现>(点击蓝字可回顾)这篇文章的第五部分"推荐系统范式&quo ...

  5. music算法_Elasticsearch系列---相关性评分算法及正排索引

    概要 上一篇中多次提到了按相关性评分,本篇我们就来简单了解一下相关性评分的算法,以及正排索引排序的优势. 评分算法 Elasticsearch进行全文搜索时,Boolean Model是匹配的基础,先 ...

  6. CV:计算机视觉技最强学习路线之CV简介(传统视觉技术/相关概念)、早期/中期/近期应用领域(偏具体应用)、经典CNN架构(偏具体算法)概述、常用工具/库/框架/产品、环境安装、常用数据集、编程技巧

    CV:计算机视觉技最强学习路线之CV简介(传统视觉技术/相关概念).早期/中期/近期应用领域(偏具体应用).经典CNN架构(偏具体算法)概述.常用工具/库/框架/产品.环境安装.常用数据集.编程技巧 ...

  7. Web结构挖掘算法概述及应用

    WEB结构挖掘算法概述及应用 Web结构挖掘算法概述及应用 [内容提要] Web 结构挖掘是对Web 的链接结构进行分析.本文概述Web结构挖掘技术,列举其常见算法.并对PageRank和HITS这两 ...

  8. 条形碎片图纸的自动拼接规则算法matlab仿真

    目录 1.算法概述 2.仿真效果 3.matlab仿真源码 1.算法概述 破碎文件的拼接在司法物证复原.历史文献修复以及军事情报获取等领域都有着重要的应用.目前发现对碎纸片的拼接大部分由人工完成,准确 ...

  9. ISP(图像信号处理)算法概述、工作原理、架构、处理流程

    目录 ISP的主要内部构成:ISP内部包含 CPU.SUP IP(各种功能模块的通称).IF 等设备 ISP的控制结构:1.ISP逻辑    2.运行在其上的firmware ISP上的Firmwar ...

最新文章

  1. 使用Python,OpenCV和Haar级联进行人脸检测——轻量级的人脸检测器
  2. opencv和python的区别_所有这些OpenCV Python接口之间有何不同?
  3. laravel-admin 开发 bootstrap-treeview 扩展包
  4. python 放射 水平_基于Python的放射性核素大气扩散程序初步开发与验证
  5. Git 基础(十)—— 常用命令
  6. python效率numpy_Python数据处理性能对比,原生,Pandas,Numpy哪个更优秀
  7. js中addEventLister()函数的用法
  8. usb转rs485测试软件,usb转rs485驱动程序
  9. 自动驾驶硬件系统架构概述
  10. 【细胞分割】基于中值滤波+分水岭法实现细胞计数matlab源码
  11. 包装行业数智化采购管理系统提升企业采购效率,构筑智慧采购新生态
  12. VUE笔记——B站狂神说
  13. 硬盘坏道数据恢复-硬盘开盘数据恢复-天伟数据恢复
  14. 基于GPT2_Chinese文本自动生成
  15. OpenCV学习笔记(6)基于 VC+OpenCV+DirectShow 的多个摄像头同步工作
  16. 如何解除任务管理器被禁用
  17. iCheck的使用示例
  18. 史上最全的CTF保姆教程 从入门到入狱【带工具】
  19. FFmpeg拉取rtmp流转udp输出播放
  20. 深度学企业linux awk命令详解与应用(下篇)

热门文章

  1. ArrayList源码解读
  2. 二维码怎么生成彩色样式
  3. LiteFlowNet3:解决对应歧义以获得更准确的光流估计
  4. 纹理基础知识和过滤模式详解
  5. Python3字符串前缀u、b、r
  6. delete 和 delete[]的区别
  7. 计算机学术为啥分要比专硕低那么多,专硕,凭什么是鄙视链最底端的一群人
  8. 【华人学者风采】刘小平 中山大学
  9. 新手刚学js遇到的ie6问题
  10. node.js毕业设计安卓校园代办助手app(程序+APP+LW)