如何为动态算术选择题生成合理的干扰项数值答案
心算选择题干扰项生成算法方案
核心思路
围绕「干扰项既不能太离谱(易被排除),也不能过于接近正确答案(缺乏区分度)」的需求,按难度级别设定不同的偏差区间,同时结合心算场景的常见错误生成干扰项,而非纯随机数值。
初级难度干扰项生成算法
初级阶段的核心是让干扰项有明显区分度,但又在合理的认知范围内:
- 确定基准值:先计算题目精确结果
V(如6÷9.5≈63.16%),再确定题目展示的近似正确值V_show(如63%或65%)。 - 定义有效区间:
- 设定最大相对偏差:干扰项与
V的偏差不超过±50%(即干扰项范围为V×0.5到V×1.5),避免出现5%、10%这类离谱数值。 - 设定最小隔离距离:干扰项与
V_show的相对偏差需大于±10%(即排除V_show×0.9到V_show×1.1范围内的数值),避免太接近正确答案。
- 设定最大相对偏差:干扰项与
- 筛选心算友好数值:从常见的易心算百分比(10%、25%、33%、50%、75%、80%等)中挑选符合上述区间的数值作为干扰项。
- 最终校验:确保选中的干扰项之间也有足够差距(比如至少相差10%),避免干扰项互相接近。
示例:针对6÷9.5的正确值≈63.16%,V_show设为65%
- 有效干扰区间:<58.5% 或 >71.5%,且在31.58%-94.74%范围内
- 筛选出的干扰项:50%、75%,组成选项A1:50%、A2:75%、A3:65%
高级难度干扰项生成算法
高级阶段需要提升区分度,干扰项要贴近正确答案,同时结合用户易犯的心算错误设计:
- 确定基准值:同初级,先计算精确结果
V,确定展示的正确值V_show。 - 缩小偏差区间:
- 设定最大相对偏差:干扰项与
V的偏差控制在±15%以内(即范围为V×0.85到V×1.15)。 - 设定最小隔离距离:干扰项与
V_show的相对偏差≥±2%(即排除V_show×0.98到V_show×1.02范围内的数值),保证能通过心算区分。
- 设定最大相对偏差:干扰项与
- 加入心算错误候选:除了符合区间的数值,额外加入1-2个用户易犯的计算错误结果,比如:
- 把除数/被除数近似为整十/整五数得到的结果(如
6÷10=60%,是6÷9.5的常见心算误差) - 混淆运算逻辑得到的结果(如误将除法的分子分母颠倒后的近似值)
- 把除数/被除数近似为整十/整五数得到的结果(如
- 最终校验:确保干扰项之间的差距≥±3%,避免过于相似。
示例:针对6÷9.5的正确值≈63.16%,V_show设为63%
- 有效干扰区间:56.7%-61.74% 或 64.26%-72.45%
- 筛选出的干扰项:60%(近似除数为10的结果)、67%(近似除数为9的结果),组成选项A1:60%、A2:63%、A3:67%
通用实现步骤
- 预定义不同难度对应的
最大相对偏差和最小隔离距离参数,可根据实际测试调整数值。 - 计算题目精确结果后,生成符合区间的候选干扰项池。
- 从候选池中随机选取指定数量的干扰项,与正确值混合打乱后作为题目选项。
内容的提问来源于stack exchange,提问作者Johannes Klauß
相关产品推荐
相关产品推荐

