自动作文评分算法概述
2022/1/3 14:09:09
本文主要是介绍自动作文评分算法概述,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
自动作文评分是语言评测领域的一项重要子任务,可以帮助老师减少作文批改的负担。最近几年,有较多的学者致力于作文评分算法的研发,并取得了较大的进展。
自动作文评分系统一般由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特征和文档级别手工特征的神经网络
基于预训练模型的作文评测
Rodriguez等人[17] 实验了BERT,XLNet方法,使用“[CLS]”对应的最后一层输出来表征文章,并输入到分类器实现打分。实验结果表明,直接使用BERT和XLNet来进行作文评测,和基于LSTM方法的效果相近。
Mayfield等人[18] 也实验了基于BERT的方法,和Rodriguez等人[17] 类似,他们也获得了和传统神经网络方法近似的效果。表明直接finetune BERT 模型,效果并不好。
2020年,Cao等人[19] 提出了一种领域自适应的打分框架,如图13所示。为了充分利用其他题目的数据,该方法提出了两个自监督学习的任务和一种领域对抗训练的方法。
第一个自监督学习任务是句子的排序的识别。该任务将作文分成4个片段,并对4个片段分别根据4种排序得到4份构造的数据,训练的目标是对具体的排序方式做分类;
第二个自监督学习任务是噪声数据识别,该任务随机选择文章10%的token做插入、替换和删除,生成新的数据。训练的目标是对构造数据和原始数据做二分类(识别数据是否为噪声数据)。
为了更好地考虑不同题目之间的差异信息,作者使用了一种领域对抗训练的方法。在完成一定的训练步骤后,针对所有样本的编码器输出,计算每个题目的中心(该题目下所有样本的编码向量对应的各维度求平均)。对于每个样本训练时,首先计算所有其他题目的中心,以及该样本到其他题目中心的偏移方向,将该样本原始表征在该偏移方向上加上一定值之后作为新的表征,输入到打分或其他自监督任务进行训练。该方法获得较好的效果,ASAP数据上QWK 0.791。
图13:领域自适应的打分系统
同在2020年,Yang等人[20] 提出融合回归和排序loss来finetune BERT模型。该方法使用BERT对应[CLS]位置的输出作为文章的表征,回归Loss使用MSE、排序Loss使用Batchwise ListNet。为计算Batchwise ListNet损失函数, 根据batch内的所有样本预测分数,计算对应的top 1概率列表。对于预测值的top1概率列表,第 j j j个元素的计算方法如下,其中 ϕ ( s j ′ ) \phi( s'_j) ϕ(sj′)表示对第 j j j个样本的预测分数。对于真实分数对应的top 1概率列表计算方法相同。
获得两个top1 概率列表后,通过交叉熵得到Batchwise ListNet损失值,如下所示:
该方法对应的模型架构如图14所示。通过综合考虑regression和rank信息,获得了很好的结果,ASAP数据上QWK 0.794。
图14:融合回归和排序对BERT评分模型进行finetune
2020年Song等人[21] 提出一种多阶段的预训练方法,可以借助题目无关的作文,提升题目相关主题上的评分效果。作者采用Dong等人[10] 提出的CNN-RNN-Attention评分模型,通过三个阶段训练模型:第一阶段利用爬取的8.5万篇题目无关作文,通过对文章质量进行分类预训练模型;第二阶段利用题目无关但是打分范围一致的作文来finetune模型;第三阶段利用题目相关的作文finetune模型。
2021年Ridley等人[22]等人提出了一种跨题目对作文总分和维度分进行评测的算法。整个评分系统包括共享层和私有层,如图10所示。共享层通过卷积和attention获取每个句子的表征,私有层通过LSTM和attention获得文章的第一表征,每个维度子网络模块将获得的文章第一表征和手工特征拼接到一起作为第二表征,然后和其他维度的第二表征通过attention获得最终的文章表征。最终的文章表征输入sigmoid层得到具体的维度分数。
参考文献
【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.
这篇关于自动作文评分算法概述的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门
- 2024-11-26SpringBoot3+JDK17搭建后端资料详尽教程
- 2024-11-26Springboot单体架构搭建资料:新手入门教程
- 2024-11-26Springboot单体架构搭建资料详解与实战教程
- 2024-11-26Springboot框架资料:新手入门教程
- 2024-11-26Springboot企业级开发资料入门教程
- 2024-11-26SpringBoot企业级开发资料详解与实战教程
- 2024-11-26Springboot微服务资料:新手入门全攻略