一种基于解题思路和知识点的试题相似度计算方法

文档序号:29738661发布日期:2022-04-21 18:32阅读:342来源:国知局
一种基于解题思路和知识点的试题相似度计算方法

1.本发明属于数据识别分类处理技术领域,具体涉及一种基于解题思路和知识点的试题相似度计算方法。


背景技术:

2.当下正处于大数据时代,网络上存在着海量的试题资源,不管是老师还是学生,常常需要消耗大量的时间筛选合适的题目练习。因此如何计算试题之间的相似度,并基于此开发出相应题目推荐系统,对各大网络教育平台有着非常重要的意义,通过此类系统节约学生和老师大量的题目检索时间。
3.目前现有试题相似性处理方法多是针对题干文本做词嵌入处理,以此匹配各试题文本之间的相似度,但是此种相似度计算方法容易忽略题干文本之外的信息,例如遇到数学题中的几何图形或公式时,就无法将此类信息考虑到相似度计算中,从而让匹配到的相似试题与人们的真实需求之间产生偏差。


技术实现要素:

4.针对现有技术中存在的不足,本发明提供了一种基于解题思路和知识点的试题相似度计算方法,用以解决试题之间相似度计算不准确的问题。
5.本发明通过以下技术手段实现上述技术目的。
6.一种基于解题思路和知识点的试题相似度计算方法,其特征在于:包括如下步骤:
7.步骤1,整理试题特征信息,分别形成知识点类特征集a和解题思路类特征集b,解题思路类特征集b中的特征信息排序与所属题目的解题步骤相一致;
8.步骤2,计算两试题之间知识点类特征集的jaccard系数,将jaccard系数作为两试题之间的知识点相似度tagsim;
9.步骤3,计算解题思路相似度:
10.步骤3.1,将解题思路类特征集b中的每个元素转换为对应的词向量;
11.步骤3.2,依顺序将前后每c个词向量相加,形成解题思路词向量集c,设b={s1,s2
……
si},则
12.步骤3.3,对于需要比较相似情况的两道试题t1和t2,两试题的解题思路词向量集分别为 c1和c2,且c1={s11,s12
……
s1m},c2={s21,s22
……
s2n},分别求c1中各个向量与c2中各个向量之间的欧氏距离的最小值:
[0013][0014]
求c2中各个向量与c1中各个向量之间的欧氏距离的最小值:
[0015][0016]
其中e(,)表示求两向量之间的欧式距离,
[0017]
计算上述欧氏距离最小值的平均值ae:
[0018][0019]
计算试题t1与t2之间的解题思路相似度thoughtsim:
[0020][0021]
步骤4,计算两试题之间的相似度sim:
[0022]
sim=(1-δd)*(a*tagsim+b*thoughtsim)
[0023]
其中δd为两试题之间的难度系数差,a和b为权重系数。
[0024]
进一步地,所述特征信息为关键词汇或短句。
[0025]
进一步地,所述步骤3.1中,利用skip-gram模型做词嵌入训练,得到特征信息所对应的词向量。
[0026]
进一步地,所述步骤3.2中,依顺序将前后每3个词向量相加。
[0027]
进一步地,所述步骤4中,试题的难度系数d取值范围为[0,1],δd=|d
1-d2|,其中d1和d2为所要计算相似度的两试题的难度系数。
[0028]
进一步地,所述步骤4中,权重系数a和b均大于0,且a+b=1。
[0029]
进一步地,所述权重系数a和b的取值分别为0.3和0.7。
[0030]
进一步地,所述步骤2中,知识点相似度其中a1和a2分别为所需计算相似度的两试题的知识点类特征集。
[0031]
进一步地,针对的试题为数学题。
[0032]
进一步地,所述步骤3.2中,当试题的解题思路特征集中少于c个元素时,在做词向量相加时,对空缺位做补零处理。
[0033]
本发明的有益效果为:
[0034]
本发明提供了一种基于解题思路和知识点的试题相似度计算方法,从试题解题思路的角度出发,考量两试题之间的相似性,其中利用skip-gram模型将解题思路中的语料信息转换为相对应的词向量,进而以计算词向量之间欧氏距离的方式,评价试题之间的相似度,最终与传统的利用知识点关键词计算相似度的方式相综合,提升数学类试题相似度评价的准确性,尤其是能够避开数学题中不同符号图表所带来的干扰。
具体实施方式
[0035]
下面详细描述本发明的实施例。
[0036]
步骤1,整理试题特征信息
[0037]
提取试题中的特征信息,并将每一试题中提取到的特征信息整理汇总,特征信息
分为两类,第一类为知识点类特征,第二类为解题思路类特征;特征信息为关键词汇或短句,其中解题思路类特征中的特征信息为有序排列,且排序与相应题目的解题步骤一致,而知识点类特征中的特征信息排序任意,当然两类特征信息之间允许有重复出现的词汇或短句。
[0038]
为表述方便,本发明中将以集合的形式来记录各试题中所整理的特征信息,对于任一试题t,以集合a作为其知识点类特征集、集合b为其解题思路类特征集。
[0039]
特征信息的具体提取方法,本发明并不特别限制,可以是人为手工筛选提取并整理汇总,也可以通过相关开发出的算法模型智能提取及整理。
[0040]
以如下数学试题为例:
[0041]
【题干】三角形abc的内角a、b、c所对的边分别为a、b、c。已知b
·
cosa-c
·
cosb= (c-a)cosb。
[0042]
(1)求b的大小;(2)若d在bc边上,bd=2dc=2,三角形abc的面积为求sin∠cad。
[0043]
根据上述题目,提取并整理出此题的特征信息:
[0044]

知识点类特征集a={正弦定理,余弦定理,三角形面积公式};其中“正弦定理”、“余弦定理”和“三角形面积公式”三者之间排序可任意调换。
[0045]

解题思路类特征集b={正弦定理,两角和正弦公式,诱导公式,恒等变换,三角形面积,余弦定理,勾股定理};其中每条特征信息的排序都是严格按照本题的解题步骤而定的,不可随意打乱;注:此题的解题步骤为首先利用正弦定理简化已知条件,之后利用两角和的正弦公式、诱导公式进行恒等变换,进而由此求得cosb的值,相继解出角b的大小;利用三角形面积公式求得c,由余弦定理求得ad,利用勾股定理证明ad垂直bd,进而求得ac 并相继解出sin∠cad。
[0046]
步骤2,计算知识点相似度
[0047]
对于需要比较相似情况的两道试题t1和t2,两试题的知识点类特征集分别为a1和a2,通过计算两试题之间知识点类特征集的jaccard系数(jaccard similarity coefficient杰卡德相似系数,用于比较有限样本集之间的相似性与差异性),并以jaccard系数作为两试题之间的知识点相似度tagsim。具体计算公式如下:
[0048][0049]
例如试题t1的知识点类特征集a1={正弦定理,余弦定理},试题t2的知识点类特征集 a2={正弦定理,三角形面积公式},则其试题t1与t2之间的知识点相似度tagsim=1/3≈0.333。
[0050]
步骤3,计算解题思路相似度
[0051]
步骤3.1,词向量转换
[0052]
将提取到的各条解题思路类特征带入skip-gram模型中,也即具体将解题思路类特征集b 中的每个元素带入skip-gram模型,进行词嵌入训练,从而相应得到每条特征信息所对应的词向量,之后以词向量的形式,替换解题思路类特征集b中的各个元素。
[0053]
步骤3.2,词向量合并
[0054]
考虑到解题思路类特征集b中,各元素之间的前后顺序也有着很强的关联性,为了
能够将这种前后顺序上的关联性一并考虑进相似度计算中,因而对前后位置上的词向量做合并运算,具体为将每前后3个词向量相加,从而形成解题思路词向量集c。
[0055]
以解题思路类特征集b={正弦定理,两角和正弦公式,诱导公式,恒等变换,三角形面积,余弦定理,勾股定理}为例,首先将“正弦定理”、“两角和正弦公式”、“诱导公式”、“恒等变换”、“三角形面积”、“余弦定理”和“勾股定理”带入skip-gram模型,得到各自对应的词向量,为表述方便分别记为s1,s2,s3,s4,s5,s6,s7;之后将这7个词向量前后每3 个相加,也即s1+s2+s3=s1,s2+s3+s4=s2,s3+s4+s5=s3,s4+s5+s6=s4,s5+s6+s7=s5,形成解题思路词向量集c={s1,s2,s3,s4,s5}。
[0056]
而如果一道试题的解题思路类特征集b中少于3个元素,例如只有2个元素,依次为s1 和s2,则在做词向量合并时,就只相加这2个词向量,即s1=s1+s2;或者为方便机器运算,也可对空缺位做补零处理,也即s1=s1+s2+0,其中0为零向量。
[0057]
上述词向量合并中,除了前后每3个词向量相加外,还可以设置为其他数量的词向量相加,例如前后2个相加、前后4个相加等等,具体设置为前后多少个相加,可视实际情况而定。
[0058]
综上本步骤的通用表达式如下:设解题思路类特征集b={s1,s2
……
si},词向量合并时设置前后每c个词向量相加,则解题思路词向量集其中集合c中的sx与集合b中的s1~si相对应,也即这里x的取值为1、2、3
……
i。
[0059]
步骤3.3,计算解题思路相似度
[0060]
对于需要比较相似情况的两道试题t1和t2,两试题的解题思路词向量集分别为c1和c2,分别计算集合c1中各个向量与集合c2中各个向量之间的欧氏距离,并取最小值,之后反过来计算集合c2中各个向量与集合c1中各个向量之间的欧氏距离,并取最小值,最后求所有最小值的平均值,为表述方便记为ae,并通过如下公式计算两试题之间的解题思路相似度 thoughtsim:
[0061][0062]
例如c1={s11,s12,s13},c2={s21,s22},则:
[0063]
分别计算s11与s21的欧氏距离、s11与s22的欧氏距离,并取两者最小值;
[0064]
分别计算s12与s21的欧氏距离、s12与s22的欧氏距离,并取两者最小值;
[0065]
分别计算s13与s21的欧氏距离、s13与s22的欧氏距离,并取两者最小值;
[0066]
分别计算s21与s11的欧氏距离、s21与s12的欧氏距离、s21与s13的欧氏距离,并取三者最小值;
[0067]
分别计算s22与s11的欧氏距离、s22与s12的欧氏距离、s22与s13的欧氏距离,并去三者最小值。
[0068]
最后求取上面5个最小值的平均值,并带入相应公式,计算出试题t1与t2之间的解题思路相似度thoughtsim。
[0069]
综上本步骤的通用表达式如下:
[0070]
设c1={s11,s12
……
s1m},c2={s21,s22
……
s2n},则有:
[0071][0072][0073][0074][0075]
其中e(,)表示计算两向量之间的欧式距离,min[,]表示取最小值。
[0076]
步骤4,计算两试题之间相似度
[0077]
经过步骤2和步骤3分别求取了两试题之间的知识点相似度tagsim和解题思路相似度 thoughtsim后,根据如下公式求取两试题之间的相似度sim:
[0078]
sim=(1-δd)*(a*tagsim+b*thoughtsim)
[0079]
其中a和b分别为tagsim和thoughtsim的权重系数,a和b均大于0,且有a+b=1,考虑到相比知识点而言,解题思路对于判断两试题相似度的作用影响更强,故本发明优选将a 和b分别设置为0.3和0.7;δd为两试题之间的难度系数差,设试题t1与t2的难度系数分别为 d1和d2,则有:
[0080]
δd=|d
1-d2|
[0081]
并且规定试题的难度系数d取值范围为[0,1],难度系数d是一个人为评定试题难易程度的数值,难度系数d越大,则说明此道试题越难;而具体每道试题的难度系数如何评定,并不在本发明之内,可以采用人为主观打分的方法,或者根据题目的平均解题时长来定,又或者根据统计的试题答错率来定。
[0082]
本发明相似度计算方法,在研究时主要针对数学试题,并也是以数学题进行相关测试,能够较好地解决数学题相似度计算问题,特别是能够较好地消除数学题中各类符号、图表等非文字信息之间的干扰;然而本发明相似度计算方法并不局限于数学题之间的相似度计算评价,所有拥有与数学题相似答题逻辑的试题,都可以套用本发明计算方法计算相似度。
[0083]
基于与上述相似度计算方法相同的发明构思,本发明还提供了一种电子设备,该电子设备包括一个或多个处理器和一个或多个存储器,存储器中存储了计算机可读代码,其中,计算机可读代码当由一个或多个处理器执行时,便可进行相应试题相似度计算。其中,存储器可以包括非易失性存储介质和内存储器;非易失性存储介质可存储操作系统和计算机可读代码。该计算机可读代码包括程序指令,该程序指令被执行时,可使得处理器执行试题相似度计算。处理器用于提供计算和控制能力,支撑整个电子设备的运行。存储器为非易失性存储介质中的计算机可读代码的运行提供环境,该计算机可读代码被处理器执行时,可使得处理器执行本发明基于解题思路和知识点的试题相似度计算方法。应当理解的
是,处理器可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit, asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0084]
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读代码,所述计算机可读代码中包括程序指令,所述处理器通过执行所述程序指令,实现本发明基于解题思路和知识点的试题相似度计算方法。其中,所述计算机可读存储介质可以是前述电子设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述电子设备的外部存储设备,例如所述电子设备上配备的插接式硬盘、智能存储卡 (smartmedia card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)等。
[0085]
本发明并不限于上述实施方式,在不背离本发明的实质内容的情况下,本领域技术人员能够做出的任何显而易见的改进、替换或变形均属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1