基于信息抽取和知识图谱的试题推荐方法

文档序号:26195646发布日期:2021-08-06 18:50阅读:157来源:国知局
基于信息抽取和知识图谱的试题推荐方法

本发明属于计算机软件技术领域,具体涉及一种基于信息抽取和知识图谱的试题推荐方法。



背景技术:

随着互联网技术的发展,信息的爆炸式的增长使得网络中信息泛滥问题变得特别严重,对于用户来说从海量数据中寻找对于自己有价值的数据显得十分困难。近年来,鉴于推荐技术在各个领域均有较大的价值,各行各业的专家学者都投身于推荐技术的研究中去。在教育领域,当前有很多线上题库网站,能辅助学生进行课外学习,以达到更好的学习效果,但如何在海量的试题中找到对于自己有价值的试题显得十分困难。

一方面这些平台的运营和维护需要耗费大量的人工成本,同时存在人为主观因素的影响。因此如何让计算机去阅读并理解知识,实现教育资源的自动化整合显得十分重要。

另一方面试题知识点的抽取是进行试题推荐的基础,但现有试题知识点的抽取方法比较粗糙,比如按章节知识点划分或者通过分词得到关键词,然后通过人工筛选关键词作为知识点,这些方法对试题知识点的提取比较粗糙,基于粗糙知识点的试题知识点提取将影响到后续推荐方法的效果。

此外,目前主流推荐方法中主要有基于规则的推荐技术、基于内容的推荐技术和协同过滤技术。基于规则的推荐技术,过度依赖于专业领域的语言专家定义语法规则,需要耗费大量时间来提取规则,人工成本太高,同时迁移成本巨大。

基于内容的推荐对复杂属性的处理不够友好,同时对新用户不能产生好的推荐。

基于协同过滤,认知诊断等推荐方法,推荐与错题极其相似的试题。这样的推荐结果很可能导致用户重复做相似或者相同的题,而忽略了试题背后考查知识点与知识点的组合关系,降低了用户的学习效率,同时存在由于数据稀疏性带来的冷启动问题。



技术实现要素:

本发明旨在解决以上现有技术的问题。提出了一种基于信息抽取和知识图谱的试题推荐方法。本发明的技术方案如下:

一种基于信息抽取和知识图谱的试题推荐方法,其包括以下步骤:

s1、采用深度学习方法中的神经网络模型对试题文本进行实体识别;

s2、采用深度学习方法中的神经网络模型对试题文本进行实体关系抽取;

s3、基于步骤s1和s2抽取到的实体及实体关系得到试题背后考查的三元组知识点,构建试题的知识图谱,并构造基于知识点关联的试题网络;

s4、根据错题集和已构建的试题网络进行试题推荐。

进一步的,所述步骤s1中对试题文本进行进行实体识别,具体步骤包括:

s1-1、设计实体类别,并对试题文本进行实体标注,形成数据集;

s1-2、构建深度学习神经网络模型,并在步骤s1-1中的数据集进行训练,并保存训练好的神经元之间的权重系数在内的模型参数;

s1-3、用步骤s1-2中训练好的神经网络模型对未标注的试题文本进行实体标注。

进一步的,所述步骤s2中对试题文本进行进行实体关系抽取,具体步骤包括:

s2-1、设计实体关系类别,并对试题文本进行实体关系标注,形成数据集;

s2-2、构建深度学习神经网络模型,并在步骤s2-1中的数据集进行训练,并保存训练好的神经元之间的权重系数在内的模型参数;

s2-3、用步骤s2-2中训练好的神经网络模型对未进行关系抽取的试题文本进行实体关系抽取。

进一步的,所述步骤s3中基于步骤s1和s2抽取到的实体及实体关系得到试题背后考查的三元组知识点,构建试题的知识图谱,具体步骤包括:

s3-1、基于步骤s1和s2抽取到的实体及实体关系,确定试题与三元组知识点之间的映射关系,并统计同一试题中出现三元组知识点的总个数,并统计各个三元组知识点在同一试题中出现的次数,从而构建好以各个三元组知识点和试题为节点,对应知识点在试题中知识点总占比为边的试题知识图谱;

s3-2、基于步骤s3-1构造的试题知识图谱,构造基于知识点关联的试题网络,以衡量试题间的关联程度。

进一步的,所述步骤s3-1知识点占比的计算方法如下:

其中ni表示三元组知识点i在试题j中的次数,mj为试题j中统计的所有三元组知识点的个数,相同三元组也算在统计数里面,si,j表示三元组知识点i在试题j中所有三元组知识点的占比。

进一步的,所述步骤s3-2节点间的距离计算公式(li,j为试题i与试题j之间基于知识点的关联程度,即距离)如下:

其中,ci,j表示:试题i,j共有的三元组知识点集合;li,j表示试题i与试题j之间基于知识点的关联程度即距离,sm,i表示三元组知识点m在试题i中所有三元组知识点的占比,sm,j表示三元组知识点m在试题j中所有三元组知识点的占比,m为ci,j中的三元组知识点,sp,i表示三元组知识点p在试题i中所有三元组知识点的占比,sq,j分别表示三元组知识点q在试题i中所有三元组知识点的占。

scom(i,j)表示试题i与试题j之间三元组知识点相似度;

ecom(i,j)表示试题i与试题j中排除共有三元组知识点后,剩余三元组中的实体相似度,α为权重系数;

di,j:表示在bi,j中,且与bj,i中的三元组具有相同实体的三元组集合;

dj,i:表示在bj,i中,且与bi,j中的三元组具有相同实体的三元组集合;bi,j:表示排除试题i与试题j公有的三元组知识点后,试题i中的其它三元组的集合;

bj,i:表示排除试题i与试题j公有的三元组知识点后,试题j中的其它三元组的集合;

ep,q:表示三元组p与三元组q具有的相同实体的个数。

进一步的,在计算ecom(i,j)之前,要进行实体的语义的相似度分析,即通过bert语言预训练模型得到字的词向量表示,从而得到实体的向量表示,通过实体向量的余弦相似度来判断实体之间的相似度,余弦相似度计算公式如下:

其中,m,n分别表示两个实体的向量表示,sim(m,n)表示两实体的余弦相似度,其取值范围为[-1,1]当两实体的余弦相似度大于0.8时,判定两实体相同。

进一步的,所述步骤s4中根据错题集和已构建的试题网络进行试题推荐具体包括以下步骤:

s4-1、根据错题集x,错题集的大小为m,得到错题集中与第n的错题相邻的所有错题的集合dn;

s4-2、得到所有与错题相邻并且非错题集x中的错题所组成的错题集合c,并计算集合c中的元素ci出现在d1-dm中的频次

s4-3、遍历c中的元素,找到具有相同的元素,组成同频集合tf;

s4-4、计算zj表示同频集合中的试题j与错题集中错题的距离之和。

其中,x表示错题集合,集合中元素个数为m;dij:表示试题i与试题j间的距离,即基于知识点的关联程度;dn:表示第n个错题与其相邻的试题集合;c:c=d1∪d2...∪dm-x,表示所有与错题有关联的试题的集合,并排除其中与错题集x中相同的元素;表示集合c中的元素ci出现在d1-dm中的频次;tf:表示集合c中相同的项组成的集合。

s4-5、对于不同频数的tf集合按照频数从高到低排序,tf中的试题按照zj从大到小排序,以此得到试题集合c中所有试题的排序,取前k项进行推荐。

本发明的优点及有益效果如下:

1、本发明通过神经网络模型对试题文本进行实体识别和实体关系抽取,得到三元组知识点,能通过训练好的模型完成知识点的自动抽取,节省了人工成本,同时能避免人工主观性带来的偏差。

2、抽取到的三元组知识点,相对于章节大知识点或关键词更加精细,使得试题知识点标注更加精确,便于后续的试题推荐。

3、本发明能在自动提取到的三元组精细知识点的基础上,考虑试题背后考查知识点之间的组合关系,构建试题网络,将试题间基于知识点的关联程度数字化、精细化,并根据试题间的精细化的关联信息,进行试题推荐,使得试题推荐结果更加准确。

4、本发明根据用户给出的错题即知识盲点进行试题推荐,同时由于试题网络的构建是基于题库中大量的试题信息,因而能避免冷启动问题。

附图说明

图1是本发明提供优选实施例基于信息抽取和知识图谱的试题推荐方法的流程示意图;

图2是构造试题知识图谱,进而得到试题网络的举例流程图;

图3是错题集和已构建的试题网络进行试题推荐的流程图;

图4是根据错题集和已构建的试题网络进行试题推荐的举例流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。

本发明解决上述技术问题的技术方案是:

如图1所示,为本发明的基于信息抽取和知识图谱的试题推荐方法的流程示意图。包括以下步骤:

s1、对试题文本进行实体识别,包括以下步骤:

s1-1、设计实体类别(实体类别的设计取决于具体课程,不同课程的实体类别是不一样的),并对试题文本进行实体标注,形成数据集;

s1-2、构建深度学习神经网络模型,并在步骤s1-1中的数据集进行训练,并保存训练好的模型参数;(不同神经网络模型存在差异,主要是模型里神经元之间的权重系数)

s1-3、用步骤s1-2中训练好的神经网络模型对未标注的试题文本进行实体标注;

s2、对试题文本进行实体关系抽取,包括以下步骤:

s2-1、设计实体关系类别(实体关系类别的设计取决于具体课程,不同课程的实体类别是不一样的),并对试题文本进行实体关系标注,形成数据集;

s2-2、构建深度学习神经网络模型,并在步骤s2-1中的数据集进行训练,并保存训练好的模型参数;(不同神经网络模型存在差异,主要是模型里神经元之间的权重系数)

s2-3、用步骤s2-2中训练好的神经网络模型对未进行关系抽取的试题文本进行实体关系抽取;

s3、基于步骤s1和s2抽取到的实体及实体关系得到试题背后考查的三元组知识点,构建试题的知识图谱,并构造基于知识点关联的试题网络,包括以下步骤:

s3-1、基于步骤s1和s2抽取到的实体及实体关系,确定试题与三元组知识点之间的映射关系,并统计同一试题中出现三元组知识点的总个数,并统计各个三元组知识点在同一试题中出现的次数,从而构建好以各个三元组知识点和试题为节点,对应知识点在试题中知识点总占比为边的试题知识图谱,其中知识点占比的计算方法如下:

其中ni表示三元组知识点i在试题j中的次数,mj为试题j中统计的所有三元组知识点的个数,相同三元组也算在统计数里面,si,j表示三元组知识点i在试题j中所有三元组知识点的占比。

s3-2、基于步骤s3-1构造的试题知识图谱,构造基于知识点关联的试题网络,以衡量试题间的关联程度,其中节点间的距离计算公式(li,j为试题i与试题j之间基于知识点的关联程度,即距离)如下:

其中,ci,j表示:试题i,j共有的三元组知识点集合;li,j表示试题i与试题j之间基于知识点的关联程度即距离,sm,i表示三元组知识点m在试题i中所有三元组知识点的占比,sm,j表示三元组知识点m在试题j中所有三元组知识点的占比,m为ci,j中的三元组知识点,sp,i表示三元组知识点p在试题i中所有三元组知识点的占比,sq,j分别表示三元组知识点q在试题i中所有三元组知识点的占。

scom(i,j)表示试题i与试题j之间三元组知识点相似度。

ecom(i,j)表示试题i与试题j中排除共有三元组知识点后,剩余三元组中的实体相似度,α为权重系数。

bi,j:表示排除试题i与试题j公有的三元组知识点后,试题i中的其它三元组的集合。

bj,i:表示排除试题i与试题j公有的三元组知识点后,试题j中的其它三元组的集合。

di,j:表示在bi,j中,且与bj,i中的三元组具有相同实体的三元组集合。

dj,i:表示在bj,i中,且与bi,j中的三元组具有相同实体的三元组集合。

ep,q:表示三元组p与三元组q具有的相同实体的个数。

由于不同的实体可能包含的语义信息大致相同,所以在计算ecom(i,j)之前,要进行实体的语义的相似度分析,即通过bert语言预训练模型得到字的词向量表示,从而得到实体的向量表示,通过实体向量的余弦相似度来判断实体之间的相似度,余先相似度计算公式如下:

其中,m,n分别表示两个实体的向量表示,sim(m,n)表示两实体的余弦相似度,其取值范围为[-1,1]当两实体的余弦相似度大于0.8时,判定两实体相同。

图2为构造试题知识图谱,进而得到试题网络的举例流程图,其中权重系数取α为0.25。

s4、根据错题集和已构建的试题网络进行试题推荐,其实现流程如图3所示,图中各个参数说明如下:

x:错题集合,集合中元素个数为m。

dij:表示试题i与试题j间的距离,即基于知识点的关联程度。

dn:表示第n个错题与其相邻的试题集合。

c:c=d1∪d2...∪dm-x,表示所有与错题有关联的试题的集合,并排除其中与错题集x中相同的元素。

表示集合c中的元素ci出现在d1-dm中的频次。

tf:表示集合c中相同的项组成的集合。

根据错题集和已构建的试题网络进行试题推荐,具体包括以下流程:

s4-1、根据错题集x,错题集的大小为m,得到错题集中与第n的错题相邻的所有错题的集合dn;

s4-2、得到所有与错题相邻并且非错题集x中的错题所组成的错题集合c,并计算集合c中的元素ci出现在d1-dm中的频次

s4-3、遍历c中的元素,找到具有相同的元素,组成同频集合tf;

s4-4、计算zj表示同频集合中的试题j与错题集中错题的距离之和。

s4-5、对于不同频数的tf集合按照频数从高到低排序,tf中的试题按照zj从大到小排序,以此得到试题集合c中所有试题的排序,取前k项进行推荐。

图4为根据错题集和已构建的试题网络进行试题推荐的举例流程图,其中错题集为试题1和2。

上述实施例阐明的方法,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1