2021科大讯飞试题标签预测挑战赛亚军方案总结

1. 摘要

  这个比赛的任务是根据题目的文本内容,预测题目的知识点及难度标签,其中知识点包括五个类型,我们需要预测出对应类型的知识点标签。
  在本次比赛中,我们构造了六个独立的模型,模型结构相似,每个模型负责预测不同的目标。我们将题目类型,内容,分析,选项等信息进行拼接后作为输入,模型部分我们使用roberta[3]作为baseline模型,同时使用对抗训练的方法提高模型的鲁棒性。为了解决数据存在不平衡及多个类别样本量太少的问题,我们使用了EDA, AEDA等多种数据增强方法。同时,我们通过知识点近邻匹配方法来提升知识点预测效果,对难度标签进行筛选以及引入伪标签数据进行训练等方法来提升难度预测效果。
  代码已开源,欢迎star:xf-knowledgeClassify2021-top2
  比赛链接:试题标签预测挑战赛
  决赛答辩:答辩视频

关键词

  Roberta 对抗训练 数据增强 近邻匹配 伪标签训练

2. 引言

  随着新一代人工智能技术的快速发展,知识点的更新速度越来越快。目前的现状是知识点命名方式多种多样;同一类知识点命名以及试题难度很难统一等。试题的知识点、难度标签预测的准确与否直接决定了个性化学习的成败。因此,试题标签预测的准确率一直是相关领域研究人员研究的热点。
  本赛事任务旨在为高教领域题库试题预测对应的关键标签,这是一种基于复杂文本数据的NLP任务。本次比赛数据为高等教育体系中的试题数据,包含多种类型(单选、多选、编程等)、多个字段(题干、选项、答案、解析等)以及高教领域多个方向(软件工程、人工智能、计算机汇编语言等)。同时由于高教领域试题本身的特殊性,数据中还包含着大量待处理噪声数据以及编程语句、英文等特殊语句。
  基于数据的复杂性,我们首先对数据进行清洗,采用了多种数据增强方法来丰富数据和处理数据不平衡问题。基于复赛数据,我们将知识点标签预测和试题难度预测分成六个子分类任务,每个任务都基于对抗训练的roberta模型进行训练和预测。 通过数据分析,我们发现该任务的一个难点是类别数多且样本量少,因此我们考虑引入第一阶段的数据做数据补充,同时采用了近邻匹配和伪标签训练等方法来提升预测效果。

3. 方案介绍

3.1 任务介绍


图1:数据集介绍

  这个比赛的任务是根据题目的题目,类型,解析,选项等文本内容,预测题目的知识点及难度标签,其中知识点包括五个类型,我们需要预测出对应类型的知识点标签。

3.2 数据清洗

  首先,我们进行数据清洗。这一部分主要是对一个样本存在多个标签的数据进行清洗。
  1.清洗同一题目同一知识点层级下存在多个知识点标签的数据
  2.清洗同一题目存在多个难度标签的数据


图2:多个知识点标签样例(左图);多个难度标签样例(右图)

3.3 数据分析在这里插入图片描述

  我们分析了知识点和难度下的数据分布情况,发现整体数据存在数据不平衡的问题。通过对图3.2进行分析,我们发现难度标签有两个类别明显异常,后续需要做进一步处理。另外,图3.3表示知识点KL类型的样本分布情况,横坐标是样本数,纵坐标是类别数,比如第一个柱子表示样本数为1的类别有100多个,大部分类别的样本数少于五个,所以KL类型的数据不仅存在数据不平衡的问题,而且各类别的样本数极少。

4. 基准模型

在这里插入图片描述
  模型部分,在本次比赛中,我们构造了六个独立的模型,模型结构相似,每个模型负责预测不同的目标。我们将题目类型,题目内容,题目分析,选项等信息进行拼接后作为输入,模型部分尝试了roberta, bert, roberta-large等模型,另外,我们知道,BERT的每一层能够捕捉到不同的特征,因此我们探索了不同层输出的结果,包括只取最后一层CLS token,取首尾两层CLS token做mean pooling,取最后四层CLS token做max pooling等方法,最终,在精度和效率两方面做了权衡,取了roberta接最后一层CLS token的方法作为我们的baseline模型。
  另外,为了提高模型的鲁棒性,我们还使用了对抗训练的方法。具体为在模型的embedding层添加了FGM方法,通过对抗的思想,往增大损失的方向增加扰动,同时模型在参数上进行梯度下降,以此达到对参数进行正则化的作用,提升模型鲁棒性和泛化能力。

5. 优化方案

5.1 数据增强

  通过前面的数据分析,我们知道数据存在不平衡及多个类别样本量太少的问题。因此,我们认为数据增强会是一个非常有效的提分手段。首先,我们做了EDA增强[],包括同义词替换,随机插入,随机交换,随机删除等;除此之外,我们还做了AEDA增强[],也就是在句子的不同位置添加标点符号,AEDA方法增加了噪声,但不改变原始文本的序列信息,是一个有效的文本增强手段。另外,我们还采用动态增强的技术,针对以上五个增强方法,我们在每个epoch上都进行随机采样,最大化模型对新数据的接纳数量,提高模型泛化能力;最后,我们对增强数量也进行了超参数的调整。图5.1是我们的方法在线上的结果,可以看到,相对baseline模型,我们的数据增强方法有接近5个百分点的提升,而且每个子模块都能带来一定的提升效果。
在这里插入图片描述
  另外,我们还使用上述数据增强方法在每个类型下进行实验并做对应的结果分析,具体分析如下图所示,得到的结论是:数据增强不一定在每个类型下都有效果,需要根据数据的具体情况具体分析。
在这里插入图片描述

5.2 知识点近邻匹配

  通过前面的数据分析,我们知道该任务的一个难点是类别数多且样本量少,因此我们考虑引入第一阶段的数据做数据补充。但引入阶段一数据需要解决的一个问题是两个阶段的知识点类型是不一样的,没办法直接使用。因此,我们联合阶段一数据和阶段二的训练集,通过最近邻阈值约束的方法来进行知识点映射。
  具体映射方法如图5.3所示,针对阶段一的每一条数据,我们取阶段二中同个类型下的样本进行相似度计算,取出相似度大于阈值的topk个样本,对k个样本的知识点进行投票,从而得到阶段一知识点所映射到的阶段二知识点标签。
在这里插入图片描述
  得到知识点映射表之后,我们将阶段一数据添加到阶段二的训练集中,一起放进roberta模型中进行训练。整体流程如图5.4所示:
在这里插入图片描述
  在测试阶段,我们将测试集与训练集计算相似度找到最相似的样本,如果相似度大于阈值,则将相似样本对应的知识点作为标签,否则通过Roberta模型进行预测,得到最终的知识点结果。
最终,通过模型预测和相似题匹配相结合的方法,比只使用模型预测的效果提升了3.5个百分点左右。

5.3 难度类别优化

  同时,我们还对难度类别进行了优化。
  第一个优化点是对难度标签类别进行筛选。原始的难度类别总共有7个:-1-5,从前面的数据分析,我们知道0类别只有一个样本,-1类别样本数接近总样本数的70%,这会严重干扰其他5个类别的学习,同时测试集中存在部分-1类别的数据,基于以上情况,我们舍弃了0类别和-1类别,只选取了1-5类别进行训练和预测,最终,该方法能够带来1个多点的提升。
在这里插入图片描述
  另一方面,我们同样在难度标签预测部分引入了阶段1的数据,但因为两个阶段的数据在分布上存在较大差别,直接使用全量数据会带来较大的噪声,因此我们构造了一套方法来进行数据筛选。首先,对阶段1的训练数据与阶段2的测试数据进行编辑距离的计算,取出编辑距离小于0.1的样本作为补充样本,另外,得益于第一步对难度标签的筛选,阶段1和阶段2的难度标签都是1-5,所以我们直接做点对点的映射,使用映射后的标签作为伪标签,以此将对应数据添加了训练集中,最后使用roberta模型进行训练和预测。
在这里插入图片描述

4. 总结

  在本次试题标签预测比赛中,我们使用了roberta-base模型作为基准模型,构建了六个子模型预测不同的任务,使用多种数据增强方法缓解数据量不足及数据不平衡问题,针对知识点预测任务,我们引入阶段一数据并使用模型预测和相似题匹配相结合的方法进行优化,针对难度标签预测任务,我们通过难度标签类别筛选以及引入阶段一伪标签数据进行联合训练两个方面进行优化。
  当然,我们的方案还有进一步优化空间。针对试题数据,可考虑使用实体增强方法提升效果,使用R_drop[]方法进行正则优化,除此之外,也可以使用对比学习以及模型融合等方法来提升模型整体性能。
  最后,感谢科大讯飞提供的AI开发者平台和相关的比赛支持,感谢CVTE研究院提供的GPU计算资源,感谢队友的无私奉献。

References
[1] Huang, S., Wang, J., Xu, J., Cao, D., & Yang, M. (2021, November). Recall and Learn: A Memory-augmented Solver for Math Word Problems. In Findings of the Association for Computational Linguistics: EMNLP 2021 (pp. 786-796).
[2] Wang, J., Fang, J., Xu, J., Huang, S., Cao, D., & Yang, M. (2019, October). MOC: Measuring the Originality of Courseware in Online Education Systems. In Proceedings of the 27th ACM International Conference on Multimedia (pp. 1952-1960).
[3] Liu, Y., Ott, M., Goyal, N., Du, J., Joshi, M., Chen, D., … & Stoyanov, V. (2019). Roberta: A robustly optimized bert pretraining approach. arXiv preprint arXiv:1907.11692.
[4] Wei, J., & Zou, K. (2019, November). EDA: Easy Data Augmentation Techniques for Boosting Performance on Text Classification Tasks. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP) (pp. 6382-6388).
[5] Karimi, A., Rossi, L., & Prati, A. (2021, November). AEDA: An Easier Data Augmentation Technique for Text Classification. In Findings of the Association for Computational Linguistics: EMNLP 2021 (pp. 2748-2754).
[6] Liang, X., Wu, L., Li, J., Wang, Y., Meng, Q., Qin, T., … & Liu, T. Y. (2021). R-Drop: Regularized Dropout for Neural Networks. arXiv preprint arXiv:2106.14448.
[7] 比赛官方地址:http://challenge.xfyun.cn/topic/info?type=test-questions

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值