用Python 完成考试操作题自动化阅卷

  • 来源:电脑报
  • 关键字:Python,自动化阅卷,操作
  • 发布时间:2024-02-01 11:24

  陈新龙

  这个自动化阅卷的需求来自一位学校的同事,所谓自动化阅卷是指利用计算机技术,尤其是机器学习和自然语言处理等技术,对学生的作业、考试或问题答案进行自动化评分和评估的过程,常用的有光学字符识别(OCR) 和自然语言处理(NLP)人工智能辅助等等,一般来说学校最常见的还是涂卡识别的,这是最基本也是最常见的自动化阅卷的方式。

  今天就和大家通过编程的方式简单来探讨一下关于自动化阅卷的事情, 相信不少同学都经历过选择题涂卡的考试,ABCD 四个选项中, 在正确选项的方框中涂上黑色,后期机器只需扫描后即可得到分数,其实我们将这个过程简化一下,首先试卷肯定是有一份对应的答案,假设正确的答案存放在correct_ans 列表中,而我们学生的答案存放在student_ans 列表中, 想得到最后结果的分数,只需要通过循环比较每道题的答案是否匹配,若相匹配我们累计相应的分数即可。对于更加复杂的选择题,也可以通过Python的字符串的操作、正则表达式等方法进行操作。

  上述所介绍的是最简单的一种阅卷方式,如果存在大批量的数据的话,显然上述方式是不合适的。对于批量阅卷我们可以通过Python 的文件处理功能批量读取学生答案和标准答案。首先需要创建两个文件夹,一个是 student 文件夹,包含了学生答案的文本文件,另一个是 standard 文件夹,包含了标准答案的文本文件。通过os 模块遍历指定路径下的所有.txt 文件,并读取每个文件的内容。每个文件夹下可能包含多个文本文件,这些文本文件的文件名可能代表不同的题目答案或学生ID 等;将读取后的答案存储在一个字典中(键为学生编号或试卷编号,值为答案列表),处理的过程相对来说并不是特别复杂,根据搜索指定文件夹中的.txt 格式的文本文件,找到文本文件后按行拆分为列表,将文件名(去除后缀 .txt)作为键,文件内容列表作为值存储到一个字典中。最终返回两个字典:student_ans 和 correct_ans。最终我们可以使用之前提到的自动判卷代码进行评分。对于更加复杂的题目,可以考虑机器学习或者AI 智能等技术。

  自动化阅卷不仅可以帮助老师快速批阅试卷,同时也可以帮助老师更加了解学生对知识点是否已经掌握。目前市面上很多软件可以做到自动化阅卷后完成试卷分析,试卷分析也是试题研究和教学改进更重要的手段之一。

  以上的代码提供了一个简单功能,可以计算每道题目的正确率和错误率,并将结果以清晰的方式呈现出来。calculate_accuracy 函数:用于接收两个字典作为输入参数,分别代表学生答案和标准答案。循环遍历每道题目的答案,并计算它们的正确率和错误率。结果以字典形式存储,其中包括了每道题目的正确数量、总回答数量、正确率和错误率。

  对于每道题目,比较学生答案和标准答案的匹配情况,计算出正确的回答数量和总回答数量。根据正确回答数量和总回答数量计算正确率和错误率。将统计结果以字典形式存储在 question_accuracy 中。最后将每道题目的正确率和错误率以清晰的方式呈现出来。

  自动化阅卷是教育技术领域一个备受关注的发展方向,我相信这项技术有望为教育行业带来更高的便利性和效率,在数据质量上可以通过训练大量高质量的数据来确保评分的准确性和可靠性,同时也要满足个性化的反馈与需求,通过对学生考试和表现提供个性化的评估和学习建议。

……
关注读览天下微信, 100万篇深度好文, 等你来看……
阅读完整内容请先登录:
帐户:
密码: