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

实验代码无法区分错误响应与无响应,寻求技术解决方案

问题分析与解决建议

原代码核心问题

  • elif条件重复写了两次(trial_resp.keys == []),无实际判断价值
  • 未精准区分**无响应(空输入)和错误响应(有输入但不符合正确答案)**的逻辑边界,导致两类情况无法被正确归类

修正后的代码方案

假设你使用的是PsychoPy这类实验常用框架,可按以下逻辑修改代码:

# 统一转换正确答案为字符串,避免类型不匹配导致的判断失效
corrAns_str = str(corrAns)

# 1. 判断正确响应:有输入且内容匹配正确答案
if trial_resp.keys and str(trial_resp.keys[0]) == corrAns_str:
    trial_resp.corr = 1
# 2. 判断无响应:无任何输入(keys为空列表)
elif not trial_resp.keys:
    trial_resp.corr = 'none'
# 3. 剩余情况为错误响应:有输入但内容不匹配正确答案
else:
    trial_resp.corr = 0

关键逻辑说明

  • 提前统一正确答案的字符串类型,避免因corrAns是数字等非字符串类型导致匹配失败
  • 无响应时trial_resp.keys为空列表,用not trial_resp.keys可直接准确判断
  • 正确响应需同时满足「存在输入」和「输入内容匹配正确答案」两个条件(PsychoPy中keys以列表形式存储响应内容,取第一个元素判断即可)
  • 排除前两类情况后,剩余场景直接判定为错误响应

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 17:10:33