You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

nops_eval()未识别开放式字符串题扫描结果,扫描文件含重复页

解决exams包nops_eval无法读取开放式字符串题扫描结果的问题

问题背景

  • 通过exams::exams2nops()制作包含单选题、多选题、开放式字符串题的笔试
  • 分别用nops_scan("xx.pdf")和nops_scan("yy.pdf", string = TRUE)扫描试卷,生成的nops_scan_*.zip(内含Daten.txt)和nops_string_scan_*.zip(内含Daten2.txt)文件外观正常
  • 执行以下代码后,单选题、多选题结果可正常识别,但ev对象的scan2列全为空字符串"":
    ev <- nops_eval(register = "participants.csv",
                    solutions = "solutions.rds",
                    scans = "nops_scan_20251203064700.zip",
                    string_scans = "nops_string_scan_20251203065026.zip")
    
  • 后续排查发现:字符串扫描文件yy.pdf存在重复扫描的页面

原因分析

nops_scan(string = TRUE)依赖PDF页面的顺序和唯一性匹配考生ID与对应的字符串题答案。当扫描PDF包含重复页面时,生成的Daten2.txt会出现页码错位或重复记录,导致nops_eval无法正确关联考生信息与字符串题答案,最终scan2列无有效数据。

解决方案

  1. 清理扫描PDF
    • 打开yy.pdf,删除所有重复的扫描页面,确保每个考生的字符串题页面唯一且按考生顺序排列正确
  2. 重新生成字符串扫描压缩包
    • 对清理后的PDF文件重新执行扫描命令:
      nops_scan("cleaned_yy.pdf", string = TRUE)
      
  3. 重新运行nops_eval
    • 使用新生成的nops_string_scan_*.zip文件替换原文件,再次执行评分代码:
      ev <- nops_eval(register = "participants.csv",
                      solutions = "solutions.rds",
                      scans = "nops_scan_20251203064700.zip",
                      string_scans = "nops_string_scan_新生成的文件名.zip")
      
  4. 验证结果
    • 检查ev$scan2列,确认开放式字符串题的扫描内容已正确加载

内容的提问来源于stack exchange,提问作者sammerk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 22:44:59