发明内容
为了解决现有技术中所存在的上述问题,本发明目的在于提供一种通过人机交互完成用户能力预测的方法。
本发明所采用的技术方案为:
一种通过人机交互完成用户能力预测的方法,包括如下步骤:
S100.在数据库中预先存储知识点基本数据、用户当前能力数据和作答试题的试题基本数据,其中,所述知识点基本数据包含用于表达所有知识点先后验关系的第一拓扑序,所述用户当前能力数据包含用户在各个知识点的当前能力值,所述试题基本数据包含具有至少两个解答步骤的标准答案、用于表达所有解答步骤先后验关系的第二拓扑序以及对应每个解答步骤的知识点、知识点难度值和知识点区分度值;
S101.针对作答试题的每个解答步骤,根据所述用户当前能力数据和所述试题基本数据,计算得到相应的单独做对预测概率;
S102.根据所有解答步骤的单独做对预测概率和部分解答步骤的已知事实状态,应用概率论计算未确定已知事实状态的解答步骤的第一预测概率和第二预测概率,其中,所述已知事实状态为核查成功、核查失败或阅览答案,所述第一预测概率是指在对应解答步骤或按所述第二拓扑序顺序位于对应解答步骤之前的先验解答步骤做错的预测概率,所述第二预测概率是指恰好在对应解答步骤做错的预测概率;
S103.根据部分解答步骤的已知事实状态以及另一部分解答步骤的第一预测概率和第二预测概率,在所有未确定已知事实状态的解答步骤中,确定预估出错解答步骤;
S104.在人机交互界面输出显示所述预估出错解答步骤和按所述第二拓扑序顺序位于所述预估出错解答步骤之前的且未确定已知事实状态的所有先验解答步骤;
S105.根据显示解答步骤的人机交互结果,确定对应的已知事实状态,其中,所述人机交互结果是指标记对应显示解答步骤为有疑问或无疑问;
S106.在作答试题的所有解答步骤中,若仍存在未确定已知事实状态的解答步骤,则返回执行步骤S102~S106,否则执行步骤S107;
S107.针对各个解答步骤的已知事实状态,修正用户在对应知识点的当前能力值,并更新存储所述用户当前能力数据。
优化的,在所述步骤S101中,根据所述用户当前能力数据和所述试题基本数据,计算得到解答步骤的单独做对预测概率的方法包括如下步骤:
从所述试题基本数据中查找到对应该解答步骤的知识点、知识点难度值和知识点区分度值,从所述用户当前能力数据中查找到用户在对应该解答步骤的知识点的当前能力值,然后将所述当前能力值、所述知识点难度值和所述知识点区分度值输入IRT数学模型,将该IRT数学模型的输出概率作为对应该解答步骤的单独做对预测概率。
具体的,按照如下公式计算解答步骤的单独做对预测概率:
psgr=sigmoid(κ(v-d))
式中,sigmoid()为应用在IRT数学模型中的非线性函数,κ为对应解答步骤的知识点区分度值,d为对应解答步骤的知识点难度值。
优化的,所述步骤S102包括如下步骤:
S201.根据作答试题的所述第二拓扑序构建贝叶斯网络,使每个网络节点对应一个解答步骤,并标记该网络节点的发生事件为“做对对应解答步骤”;
S202.针对贝叶斯网络中所有入度不为0的非起始网络节点,按照如下方式进行拆点:将该网络节点拆分为一对具有先后验关系的先验网络节点A和后验网络节点B,并标记该先验网络节点A的发生事件为“对应解答步骤的所有条件完备”,标记该后验网络节点B的发生事件为“做对对应解答步骤”,该后验网络节点B的后验概率设置为对应解答步骤的单独做对预测概率;
针对贝叶斯网络中所有入度为0的起始网络节点,设置对应的先验概率为对应解答步骤的单独做对预测概率;
S203.根据部分解答步骤的已知事实状态,设置在贝叶斯网络中且发生事件为“做对对应解答步骤”的对应网络节点的确定发生概率;
S204.对贝叶斯网络进行求解,推导出各个未设置确定发生概率的网络节点的预估发生概率,其中,未设置确定发生概率的网络节点与未确定已知事实状态的解答步骤对应;
S205.针对各个未确定已知事实状态的解答步骤,将由1减去对应预估发生概率的结果作为所述第一预测概率,并按照如下公式计算所述第二预测概率:
式中,pA为对应解答步骤的先验网络节点A的预估发生概率,pB为对应解答步骤的后验网络节点B的预估发生概率,p为对应解答步骤的起始网络节点的预估发生概率。
进一步优化的,所述步骤S203包括如下步骤:
针对已知事实状态为核查成功的解答步骤,设置在贝叶斯网络中且发生事件为“做对对应解答步骤”的网络节点的确定发生概率为100%;
针对已知事实状态为核查失败的解答步骤,设置在贝叶斯网络中且发生事件为“做对对应解答步骤”的网络节点的确定发生概率为0%。
优化的,所述步骤S103包括如下步骤:
S301.在已知事实状态确定的所有解答步骤中,查找是否存在已知事实状态为核查失败的解答步骤,若不存在,执行步骤S302,否则执行步骤S303;
S302.统计已知事实状态未确定的所有解答步骤的所述第二预测概率,获取最大值Max、均值u和标准差σ,然后在已知事实状态未确定的所有解答步骤中,按照所述第二拓扑序顺序由先至后查找第一个第二预测概率超过αAMax+αBu+αCσ的解答步骤,将该解答步骤作为预估出错解答步骤,其中,αA、αB和αC分别为预设系数;
S303.在已知事实状态未确定的所有解答步骤中,按照所述第二拓扑序顺序由先至后查找第一个第一预测概率超过预设概率阈值β的解答步骤,将该解答步骤作为预估出错解答步骤。
优化的,在所述步骤S104中,还包括如下步骤:
S401.对于非预估出错解答步骤且具有先后验关系的至少两个连续显示解答步骤,生成合并步骤,并按照如下方式得到合并步骤的合并条件集合和合并结论集合:取所有连续显示解答步骤的条件集合的并集为合并条件集合,取所有连续显示解答步骤的结论集合的并集为合并结论集合,然后去除合并条件集合中为先验显示解答步骤结论的条件元素,去除合并结论集合中为后验显示解答步骤条件/和不再作为后验解答步骤条件的结论元素;
S402.在人机交互界面输出显示所述合并步骤。
进一步优化的,在所述步骤S105之前,还包括如下步骤:
S500.当所述合并步骤被点击并要求还原显示时,在人机交互界面输出显示对应合并步骤的所有连续显示解答步骤。
优化的,在所述步骤S105中,按照如下步骤确定显示解答步骤的已知事实状态:
对于标记为有疑问的显示解答步骤,若该显示解答步骤的所有先验解答步骤都标记为无疑问,则判定该显示解答步骤的已知事实状态为核查失败,而若该显示解答步骤的至少一个先验解答步骤标记为有疑问,则判定该显示解答步骤的已知事实状态为阅览答案;
对于标记为无疑问的显示解答步骤,若该显示解答步骤的所有先验解答步骤都标记为无疑问,则判定该显示解答步骤的已知事实状态为核查成功,而若该显示解答步骤的至少一个先验解答步骤标记为有疑问,则判定该显示解答步骤为阅览答案。
优化的,所述步骤S107包括如下步骤:
S701.对于已知事实状态为核查成功的解答步骤,标记对应知识点的测试结果为1,对于已知事实状态为核查失败的解答步骤,标记对应知识点的测试结果为0,而对于已知事实状态为阅览答案的解答步骤,不标记对于知识点的测试结果;
S702.解如下方程,计算用户在对应知识点的当前能力值v:
sigmoid(κ(v-d))=G
式中,sigmoid()为用于计算单独做对预测概率的非线性函数,κ为对应解答步骤的知识点区分度值,d为对应解答步骤的知识点难度值,G为对应知识点的测试结果;
S703.采用损失函数得到非线性函数sigmoid()的输出误差,然后依据误差做梯度下降来更新用户在对应知识点的当前能力值v。
本发明的有益效果为:
(1)本发明创造提供了一种基于人机交互技术实现题目步骤级别精度的用户能力估计与表现预测方法,该方法除了需要在首个步骤中进行数据准备和参数设定外,在其它步骤中均不需要任何真人教师参与,最大限度地降低了人力资源,尤其是教育资源的占用,同时由于是基于题目步骤结构与单步骤级别的做对正确率,能够更精准地估计用户在作答道题的各个部分的表现能力,实现通过引入题目的步骤级别信息提高预测精度的目的;
(2)在人机交互过程中,通过巧妙的交互设计,可在不影响教学流程的情况下获得用户步骤级别的正误信息;
(3)通过步骤级别的反馈,可以更加准确地判断同一道题目中用户作答正确、错误和尚未完成的部分,从而增大了单题目中的信息获取准确度,加快了预测估计的收敛速度,提高了收敛精度;
(4)可通过对解答步骤之间的依赖关系来分析用户出现问题的真实位置,排除干扰。
实施例一
如图1所示,本实施例提供的所述通过人机交互完成用户能力预测的方法,包括如下步骤。
S100.在数据库中预先存储知识点基本数据、用户当前能力数据和作答试题的试题基本数据,其中,所述知识点基本数据包含用于表达所有知识点先后验关系的第一拓扑序,所述用户当前能力数据包含用户在各个知识点的当前能力值,所述试题基本数据包含具有至少两个解答步骤的标准答案、用于表达所有解答步骤先后验关系的第二拓扑序以及对应每个解答步骤的知识点、知识点难度值和知识点区分度值。
在所述步骤S100中,所述知识点先后验关系是指对于知识点a和知识点b,若必须先学习知识点a,才能再学习知识点b,则知识点a与知识点b具有先后验关系:知识点a为先验知识点,知识点b为后验知识点。从而可以得到具有一定长度的且表达所有知识点先后验关系的所述第一拓扑序。所述解答步骤先后验关系是指对于解答步骤a和解答步骤b,若必须先做对解答步骤a,才能再做对解答步骤b,则解答步骤a与解答步骤b具有先后验关系:解答步骤a为先验步骤,解答步骤b为后验步骤。从而可以得到具有一定拓扑网络结构的且表达所有解答步骤先后验关系的所述第二拓扑序。此外,优化的,所述试题基本数据还可以包含题目内容、对应至少一个解答步骤的解题技巧和/或对应每个解答步骤的权重系数等。
S101.针对作答试题的每个解答步骤,根据所述用户当前能力数据和所述试题基本数据,计算得到相应的单独做对预测概率。
在所述步骤S101中,所述单独做对预测概率是指用户在该解答步骤所需要的条件(例如先做对位于拓扑序前面的所有先验步骤)完备的情况下正确作答该解答步骤的概率。优化的,对于计算得到解答步骤的单独做对预测概率的方法,可以但不限于包括如下步骤:从所述试题基本数据中查找到对应该解答步骤的知识点、知识点难度值和知识点区分度值,从所述用户当前能力数据中查找到用户在对应该解答步骤的知识点的当前能力值,然后将所述当前能力值、所述知识点难度值和所述知识点区分度值输入IRT数学模型,将该IRT数学模型的输出概率作为对应该解答步骤的单独做对预测概率。
所述IRT数学模型是基于IRT理论(Item Response Theory,项目反应理论,又称题目反应理论或潜在特质理论,是一系列心理统计学模型的总称)的且用来分析考试成绩或者问卷调查数据的现有数学模型。具体的,所述IRT数学模型可以但不限于为3参数Normal-ogive模型或3参数Logistic模型;或者,按照如下公式计算解答步骤的单独做对预测概率:
psgr=sigmoid(κ(v-d))
式中,sigmoid()为应用在IRT数学模型中的非线性函数,κ为对应解答步骤的知识点区分度值,d为对应解答步骤的知识点难度值。
S102.根据所有解答步骤的单独做对预测概率和部分解答步骤的已知事实状态,应用概率论计算未确定已知事实状态的解答步骤的第一预测概率和第二预测概率,其中,所述已知事实状态为核查成功、核查失败或阅览答案,所述第一预测概率是指在对应解答步骤或按所述第二拓扑序顺序位于对应解答步骤之前的先验解答步骤做错的预测概率,所述第二预测概率是指恰好在对应解答步骤做错的预测概率。
在所述步骤S102中,所述已知事实状态用于标识通过人机交互,用户在对应解答步骤的确认结果,其中,核查成功表示用户阅读了对应解答步骤的答案,并确认该解答步骤做对;核查失败表示用户阅读了对应解答步骤的答案,并确认该解答步骤做错;阅览答案表示做答者并未作答到对应解答步骤,仅仅阅读了该解答步骤的答案。此外,所述已知事实状态还可以有如下状态:校验失败,用于表示用户对比了对应解答步骤的结论,但与最终答案的结论不一致,即该解答步骤有疑问。
优化的,在所述步骤S102中,可以但不限于包括如下步骤S201~S205。
S201.根据作答试题的所述第二拓扑序构建贝叶斯网络,使每个网络节点对应一个解答步骤,并标记该网络节点的发生事件为“做对对应解答步骤”。
在所述步骤S201中,所述贝叶斯网络是一种基于贝叶斯理论的且由一个有向无环图(DAG)和条件概率表(CPT)组成拓扑网络结构,其通过一个有向无环图来表示一组随机变量跟它们的条件依赖关系,通过条件概率分布来参数化,每一个网络节点都通过P(node|Pa(node))来参数化,Pa(node)表示贝叶斯网络中的先验节点,因此构建的初始贝叶斯网络的拓扑网络结构与作答试题的拓扑序完全一致,该初始贝叶斯网络的网络节点的对应条件概率即为“在给定所有依赖解答步骤结果的情况下正确作答该解答步骤的概率”,即解答步骤的单独做对预测概率。
S202.针对贝叶斯网络中所有入度不为0的非起始网络节点,按照如下方式进行拆点:将该网络节点拆分为一对具有先后验关系的先验网络节点A和后验网络节点B,并标记该先验网络节点A的发生事件为“对应解答步骤的所有条件完备”,标记该后验网络节点B的发生事件为“做对对应解答步骤”,该后验网络节点B的后验概率设置为对应解答步骤的单独做对预测概率;针对贝叶斯网络中所有入度为0的起始网络节点,设置对应的先验概率为对应解答步骤的单独做对预测概率。
在所述步骤S202中,所述先验网络节点A的先验事件为对应解答步骤依赖的其他解答步骤的后验网络节点B或起始网络节点,在所有先验事件发生时,该先验网络节点A的条件概率为100%,否则为0%。所述后验网络节点B的先验事件为同一解答步骤对应的先验网络节点A,因此在所述先验网络节点A的事件发生时,所述后验网络节点B的条件概率(即后验概率)即为对应解答步骤的单独做对预测概率,而在所述先验网络节点A的事件未发生时,所述后验网络节点B的条件概率为0%。
S203.根据部分解答步骤的已知事实状态,设置在贝叶斯网络中且发生事件为“做对对应解答步骤”的对应网络节点的确定发生概率。
在所述步骤S203中,优化的,可以但不限于包括如下步骤:针对已知事实状态为核查成功的解答步骤,设置在贝叶斯网络中且发生事件为“做对对应解答步骤”的网络节点的确定发生概率为100%;针对已知事实状态为核查失败的解答步骤,设置在贝叶斯网络中且发生事件为“做对对应解答步骤”的网络节点的确定发生概率为0%。由此通过前述设置,对于用户已经做对的解答步骤,其贝叶斯网络中的意义可表示对应后验网络节点B的事件最终发生(确定发生概率100%);做错同理,可表示对应后验网络节点B的事件最终未发生(确定发生概率0%)。若完全没有事实(即没有已知事实状态为核查成功或核查失败的解答步骤),则之后估计的结果是用户做对每个解答步骤的概率;若已经具有部分事实(即有已知事实状态为核查成功或核查失败的解答步骤),则之后估计的结果是给定这些事实作为条件的做对每个解答步骤的条件概率。
S204.对贝叶斯网络进行求解,推导出各个未设置确定发生概率的网络节点的预估发生概率,其中,未设置确定发生概率的网络节点与未确定已知事实状态的解答步骤对应。
在所述步骤S204中,所述对贝叶斯网络进行求解的算法为现有算法。所述预估发生概率即为在对应解答步骤或按所述第二拓扑序顺序位于对应解答步骤之前的先验解答步骤均做对的预测概率。
S205.针对各个未确定已知事实状态的解答步骤,将由1减去对应预估发生概率的结果作为所述第一预测概率,并按照如下公式计算所述第二预测概率:
式中,pA为对应解答步骤的先验网络节点A的预估发生概率,pB为对应解答步骤的后验网络节点B的预估发生概率,p为对应解答步骤的起始网络节点的预估发生概率。
由此通过前述步骤S201~205,可以得到如下三种概率:用户在各个解答步骤的单独做对预测概率、用户到各个未确定已知事实状态的解答步骤为止仍未发生错误的预测概率(即在对应解答步骤或按所述第二拓扑序顺序位于对应解答步骤之前的先验解答步骤均做对的预测概率)和用户恰好在各个对应未确定已知事实状态的解答步骤做错的预测概率。基于这三种概率,可以推算得到用户在每一解答步骤上的错误概率,包括所述第一预测概率和所述第二预测概率,因此可以广泛利用于任何需要对学生在题目上表现预测的场合。
S103.根据部分解答步骤的已知事实状态以及另一部分解答步骤的第一预测概率和第二预测概率,在所有未确定已知事实状态的解答步骤中,确定预估出错解答步骤。
在所述步骤S103中,优化的,可以但不限于包括如下步骤:
S301.在已知事实状态确定的所有解答步骤中,查找是否存在已知事实状态为核查失败的解答步骤,若不存在,执行步骤S302,否则执行步骤S303;
S302.统计已知事实状态未确定的所有解答步骤的所述第二预测概率,获取最大值Max、均值u和标准差σ,然后在已知事实状态未确定的所有解答步骤中,按照所述第二拓扑序顺序由先至后查找第一个第二预测概率超过αAMax+αBu+αCσ的解答步骤,将该解答步骤作为预估出错解答步骤,其中,αA、αB和αC分别为预设系数;
S303.在已知事实状态未确定的所有解答步骤中,按照所述第二拓扑序顺序由先至后查找第一个第一预测概率超过预设概率阈值β的解答步骤,将该解答步骤作为预估出错解答步骤。
S104.在人机交互界面输出显示所述预估出错解答步骤和按所述第二拓扑序顺序位于所述预估出错解答步骤之前的且未确定已知事实状态的所有先验解答步骤。
在所述步骤S104中,输出显示的内容可以但不限于对应解答步骤的条件集合和结论结合。为了简化显示内容,以便用户快速地对所述预估出错解答步骤进行人机交互确认,还可以包括如下步骤:S401.对于非预估出错解答步骤且具有先后验关系的至少两个连续显示解答步骤,生成合并步骤,并按照如下方式得到合并步骤的合并条件集合和合并结论集合:取所有连续显示解答步骤的条件集合的并集为合并条件集合,取所有连续显示解答步骤的结论集合的并集为合并结论集合,然后去除合并条件集合中为先验显示解答步骤结论的条件元素,去除合并结论集合中为后验显示解答步骤条件/和不再作为后验解答步骤条件的结论元素;S402.在人机交互界面输出显示所述合并步骤。
S105.根据显示解答步骤的人机交互结果,确定对应的已知事实状态,其中,所述人机交互结果是指标记对应显示解答步骤为有疑问或无疑问。
在所述步骤S105之前,人机交互的方式可以但不限于为让用户在人机交互界面上点击认为有疑问或无疑问的解答步骤,并标记该解答步骤为有疑问或无疑问的人机交互结果。同样为了方便查看合并步骤,则还可以包括如下步骤:S500.当所述合并步骤被点击并要求还原显示时,在人机交互界面输出显示对应合并步骤的所有连续显示解答步骤。然后再让用户在人机交互界面上点击认为有疑问或无疑问的解答步骤。
在所述步骤S105中,优化的,可以但不限于按照如下步骤确定显示解答步骤的已知事实状态:
对于标记为有疑问的显示解答步骤,若该显示解答步骤的所有先验解答步骤都标记为无疑问,则判定该显示解答步骤的已知事实状态为核查失败,而若该显示解答步骤的至少一个先验解答步骤标记为有疑问,则判定该显示解答步骤的已知事实状态为阅览答案;
对于标记为无疑问的显示解答步骤,若该显示解答步骤的所有先验解答步骤都标记为无疑问,则判定该显示解答步骤的已知事实状态为核查成功,而若该显示解答步骤的至少一个先验解答步骤标记为有疑问,则判定该显示解答步骤为阅览答案。
S106.在作答试题的所有解答步骤中,若仍存在未确定已知事实状态的解答步骤,则返回执行步骤S102~S106,否则执行步骤S107。
S107.针对各个解答步骤的已知事实状态,修正用户在对应知识点的当前能力值,并更新存储所述用户当前能力数据。
在所述步骤S107中,优化的,可以但不限于按照如下步骤修正用户在对应知识点的当前能力值:
S701.对于已知事实状态为核查成功的解答步骤,标记对应知识点的测试结果为1,对于已知事实状态为核查失败的解答步骤,标记对应知识点的测试结果为0,而对于已知事实状态为阅览答案的解答步骤,不标记对于知识点的测试结果;
S702.解如下方程,计算用户在对应知识点的当前能力值v:
sigmoid(κ(v-d))=G
式中,sigmoid()为用于计算单独做对预测概率的非线性函数,κ为对应解答步骤的知识点区分度值,d为对应解答步骤的知识点难度值,G为对应知识点的测试结果;
S703.采用损失函数得到非线性函数sigmoid()的输出误差,然后依据误差做梯度下降来更新用户在对应知识点的当前能力值v。
由此通过前述步骤S100~S107,可以基于对作答试题的人机交互,由于引入了细化的步骤数据与用户交互,能够进行更加准确的能力评估与精确到步骤的能力预测与分析。
综上,采用本实施例所提供的通过人机交互完成用户能力预测的方法,具有如下技术效果:
(1)本实施例提供了一种基于人机交互技术实现题目步骤级别精度的用户能力估计与表现预测方法,该方法除了需要在首个步骤中进行数据准备和参数设定外,在其它步骤中均不需要任何真人教师参与,最大限度地降低了人力资源,尤其是教育资源的占用,同时由于是基于题目步骤结构与单步骤级别的做对正确率,能够更精准地估计用户在作答道题的各个部分的表现能力,实现通过引入题目的步骤级别信息提高预测精度的目的;
(2)在人机交互过程中,通过巧妙的交互设计,可在不影响教学流程的情况下获得用户步骤级别的正误信息;
(3)通过步骤级别的反馈,可以更加准确地判断同一道题目中用户作答正确、错误和尚未完成的部分,从而增大了单题目中的信息获取准确度,加快了预测估计的收敛速度,提高了收敛精度;
(4)可通过对解答步骤之间的依赖关系来分析用户出现问题的真实位置,排除干扰。
本发明不局限于上述可选的实施方式,任何人在本发明的启示下都可得出其他各种形式的产品。上述具体实施方式不应理解成对本发明的保护范围的限制,本发明的保护范围应当以权利要求书中界定的为准,并且说明书可以用于解释权利要求书。