知识点预测方法、装置、电子设备和存储介质与流程

文档序号:30983159发布日期:2022-08-03 01:02阅读:125来源:国知局
知识点预测方法、装置、电子设备和存储介质与流程

1.本公开涉及机器学习技术领域,尤其涉及一种知识点预测方法、装置、电子设备和存储介质。


背景技术:

2.目前,在试题录入和个性化试题推荐系统中,准确的预测出试题中的知识点是至关重要的。试题知识点预测常用的方法为基于试题题干文本的相似题召回方法,但是该方法召回速度慢,需要依赖大量的题库储备,成本也比较高,且也无法对题库之外的新出试题的知识点进行准确预测。


技术实现要素:

3.为了解决上述技术问题,本公开提供了一种知识点预测方法、装置、电子设备和存储介质,能够准确预测出试题中的知识点。
4.根据本公开的一方面,提供了一种知识点预测方法,所述方法包括:获取待预测试题;确定与所述待预测试题对应的预先构建的知识树;利用预训练的知识点预测模型中的多分类模型,根据所述待预测试题确定所述知识树中每个叶子节点的概率值;基于所述每个叶子节点的概率值,确定所述知识树中从根节点到每个叶子节点的路径的路径概率;基于所述路径概率,确定所述待预测试题对应的知识点。
5.根据本公开的另一方面,提供了一种知识点预测装置,所述装置包括:获取单元,用于获取待预测试题;第一确定单元,用于确定与所述待预测试题对应的预先构建的知识树;预测单元,用于利用预训练的知识点预测模型中的多分类模型,根据所述待预测试题确定所述知识树中每个叶子节点的概率值;第二确定单元,用于基于所述每个叶子节点的概率值,确定所述知识树中从根节点到每个叶子节点的路径的路径概率;第三确定单元,用于基于所述路径概率,确定所述待预测试题对应的知识点。
6.根据本公开的另一方面,提供了一种电子设备,所述电子设备包括:处理器;以及存储程序的存储器,其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据上述知识点预测方法。
7.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行根据知识点预测方法。
8.本公开实施例提供的技术方案与现有技术相比具有如下优点:获取待预测试题;确定与待预测试题对应的预先构建的知识树;利用预训练的知
识点预测模型中的多分类模型,根据待预测试题确定知识树中每个叶子节点的概率值;基于每个叶子节点的概率值,确定知识树中从根节点到每个叶子节点的路径的路径概率;基于路径概率,确定待预测试题对应的知识点。本公开提供的方法能够准确预测试题中的知识点。
附图说明
9.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
10.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
11.图1为本公开实施例提供的一种应用场景的示意图;图2为本公开实施例提供的一种模型训练方法流程图;图3为本公开实施例提供的一种知识树的结构示意图;图4为本公开实施例提供的一种模型训练的结构示意图;图5为本公开实施例提供的一种模型训练方法流程图;图6为本公开实施例提供的一种语义知识增强模块的流程图;图7为本公开实施例提供的一种知识点预测方法流程图;图8为本公开实施例提供的一种知识点预测方法流程图;图9为本公开实施例提供的一种知识点预测装置的结构示意图;图10为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
12.为了能够更清楚地理解本公开的上述目的、特征和优点,下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
13.应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
14.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
15.需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
16.本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
17.在对本公开提供的方法进行说明之前,优先对本公开中涉及到的术语进行解释,其中:知识树:是一种以知识点作为节点的树状结构,其中,从根节点到叶节点,知识点的表示越来越具体。
18.根节点:知识树最上方的节点,一棵非空的知识树有且只有一个根节点。
19.叶节点(叶子节点):知识树最下方的末端节点,叶节点下方没有其他节点。
20.祖先节点:从根节点到达当前节点路径上的所有节点。
21.预训练模型:一种基于大量语料、由无监督方式训练而得到的模型。
22.词向量:一种可以用来表示词的语义信息的向量化数据。
23.句向量:一种可以用来表示句子的语义信息的向量化数据。
24.具体的,模型训练方法和知识点预测方法可以由终端或服务器来执行。具体的,终端或服务器可以通过基于模型训练方法训练好的模型对试题中的知识点进行预测。模型训练方法的执行主体和和知识点预测方法的执行主体可以相同,也可以不同。
25.例如,在一种应用场景中,如图1所示,图1为本公开实施例提供的一种应用场景的示意图,服务器12对多分类模型和多标签模型进行训练。终端11从服务器12获取训练完成的多分类模型和多标签模型,终端11通过该训练完成的多分类模型和多标签模型对试题中的知识点进行预测。该试题可以是终端11获得的。或者,该试题是终端11从其他设备中获取的。此处,并不对其他设备做具体限定。
26.在另一种应用场景中,服务器12对多分类模型和多标签模型进行训练。进一步,服务器12通过训练完成的多分类模型和多标签模型对试题中的知识点进行预测。服务器12获取试题的方式可以类似于如上所述的终端11获取试题的方式,此处不再赘述。
27.在又一种应用场景中,终端11对多分类模型和多标签模型进行训练。进一步,终端11通过训练完成的多分类模型和多标签模型对试题中的知识点进行预测。
28.可以理解的是,本公开实施例提供的模型训练方法、知识点预测方法并不限于如上所述的几种可能场景。由于训练完成的多分类模型和多标签模型可应用在知识点预测方法中,因此,在介绍知识点预测方法之前,下面可以先介绍一下模型训练方法。
29.下面以服务器12训练多分类模型和多标签模型为例,介绍一种模型训练方法,即多分类模型和多标签模型的训练过程。可以理解的是,该模型训练方法同样适用于终端11训练多分类模型和多标签模型的场景中。
30.图2为本公开实施例提供的一种模型训练方法流程图,也就是多分类模型和多标签模型的训练过程,具体包括如图2所示的如下步骤s210至s240:s210、获取样本试题,并根据所述样本试题对应的知识点构建知识树。
31.可选的,上述s210获取样本试题可以包括如下步骤:获取样本试题的结构化数据,其中,所述结构化数据包括多个标签。
32.删除所述样本试题的结构化数据中的无用标签,并将所述样本试题的结构化数据中的目标标签进行替换,得到标准化处理后的样本试题。
33.可理解的,服务器获取大量原始样本试题,原始样本试题中包括题干文本,原始样
本试题可以是图像也可以是文本,采用光学字符识别(optical character recognition,ocr)方法对原始样本试题中的题干文本进行识别,得到原始样本试题的结构化数据,结构化数据是以标签的形式对题干文本进行描述的,其中,结构化数据中部分标签不包含语义信息,对于试题知识点预测任务属于冗余信息,因此需要对获取的大量样本试题的结构化数据进行标准化处理,标准化处理具体包括:将无用标签删除,在一定程度上能够提升模型的准确率和计算速度,例如,将样本试题的结构化数据中包括的"\u3000"、" "、"\xa0"、"\n"、"\t"、"\\left"、"\\right"、"\\text"、"[\{\}]"、"\$\$"、"《p》"、"《/p》"、"《u》"、"《/u》"等标签删除,只保留题干文本所必须的标签;将无用标签删除后,将样本试题的结构化数据中包括的目标标签进行替换,也就是将基于不同识别方法得到的结构化数据中表示相同字符的标签进行统一,避免出现标签跟题干文本连接后会错误的组成其他标签或掩盖了当前标签的现象,例如,将"rt"替换为"直角"、"||||"替换为""、"\\\\prime"替换为"\'"、"\f"替换为"\\\\f"、"\a"替换为"\\\\a","rt"记为目标标签,"直角"为替换后的标签,以完成标签的统一,提高模型识别的准确率,其次,将"\f"替换为"\\\\f"便于区分相似标签,将"\\\\prime"替换为"\'"便于简化标签;最后经过删除无用标签以及替换标签等标准化操作后,得到用于模型训练的样本试题,样本试题也可以称为试题数据。
[0034]
示例性的,获取大量样本试题后,确定样本试题中题干文本所涉及到的知识点,并根据确定的知识点构建知识树,也就是将大量样本试题的知识点都归属于同一颗知识树,参见图3,图3为本公开实施例提供的一种知识树的结构示意图,图3所示的知识树中涉及到的知识点为初中数学的所有知识点,图3包括一个根节点310、多个非叶子节点320和多个叶子节点330,其中,根节点310记为root,知识树中最末端的节点为叶子节点330,例如“三角形五心”,知识树中除根节点310和叶子节点330之外的其余节点即为非叶子节点,例如“数”、“圆”等。
[0035]
s220、根据所述样本试题和所述知识树构建试题训练集。
[0036]
其中,所述试题训练集包括第一试题训练子集和第二试题训练子集。
[0037]
可理解的,在上述s210的基础上,得到标准化处理后的大量样本试题后,根据样本试题和知识树中的节点构建试题训练集,试题训练集包括第一试题训练子集和第二试题训练子集,其中,第一试题训练子集包括样本试题(试题数据)和知识树中的叶子节点330,叶子节点330记为第一知识点,例如,样本试题1中题干文本涉及到的知识点为“算数平方根的定义”,“算数平方根的定义”记为样本试题1对应的第一知识点;第二试题训练子集包括样本试题和知识树中的非叶子节点320,其中,第一试题训练子集和第二试题训练子集包括相同的试题数据,非叶子节点520记为第二知识点,例如,样本试题1中题干文本涉及到的知识点为“平方根”、“实数”和“数”,样本试题1对应的至少一个第二知识点为“平方根”、“实数”和“数”,由图3可知,一个路径上包括一个第一知识点和至少一个第二知识点,可理解的是,不同路径包括不同的第一知识点,但是可能包括相同的至少一个第二知识点。第一试题训练子集和第二试题训练子集对应的试题训练子集既包括相同的试题数据又包括不同的知识点,可以最大限度的保证多分类模型以及多标签模型的预测准确性。
[0038]
可理解的,在构建第一试题训练子集和第二试题训练子集的过程中,为了维持不同知识点下样本的数量均衡,删除样本试题中知识点总数小于预设数量的试题,预设数量可以是100,也就是说,若某一知识点的数量小于100,则基于该知识点另外构建一个试题训
练集,另外构建的一个试题训练集记为试题训练集2,以对构建的试题训练集1进行精简,将知识点总数大于预设数量的试题数据构建的试题训练集记为试题训练集1,以提高多分类模型的预测准确率。具体的,另外构建的一个试题训练集2中知识点的试题数据均小于预设数量,该种情况下,可以利用试题训练集2重新训练一个多分类模型2,在试题训练集1训练的多分类模型1中增加一个知识点类别,该知识点类别记为“其他类知识点”,多分类模型1预测试题中的知识点为“其他类知识点”后,则利用多分类模型2继续预测该试题中的知识点,进一步提高多分类模型预测知识点的准确率,反之,多分类模型1预测试题中的知识点的类别若不是“其他类知识点”,则不需要再利用多分类模型2进行预测。
[0039]
s230、通过所述第一试题训练子集对所述知识点预测模型中的多分类模型进行训练,得到训练完成的多分类模型。
[0040]
其中,所述多分类模型用于预测所述知识树中每个叶子节点的概率值,也可以理解为所述多分类模型用于预测试题对应的第一知识点,并输出所述知识树中每个第一知识点的概率值,所述第一知识点为所述知识树中叶子节点对应的知识点,叶子节点的概率值也就是第一知识点的概率值。
[0041]
可选的,所述第一试题训练子集包括样本试题和所述样本试题对应的第一知识点。
[0042]
可理解的,在上述s220的基础上,试题训练集构建完成后,通过第一试题训练子集对预先构建的多分类模型进行训练,得到训练完成的多分类模型,便于后续基于多分类模型进行试题知识点的预测,也就是针对一个样本试题多分类模型会输出知识树中每个叶子节点的概率值,也就是输出每个第一知识点的概率值。多分类模型用于预测试题对应的第一知识点,也就是每个样本试题都存在一个预设的作为标签的知识点,根据该预设作为标签的知识点(第一知识点)和多分类模型预测的知识点可以更新多分类模型的网络参数,以对多分类模型进行训练。
[0043]
示例性的,参见图4,图4为本公开实施例提供的一种模型训练的结构示意图,图4包括多分类模型410和多标签模型420,其中,多分类模型410包括预训练模型411、语义知识增强模块412和全连接层413,预训练模型411可以是基于通用预料的预训练模型(roberta),语义知识增强模块412可以是基于注意力机制构建的模块,多标签模型420可以是具有进行多标签分类的模型,具体模型可以根据用户需求自行选择,在此不作限定。
[0044]
s240、通过所述第二试题训练子集对所述知识点预测模型中的多标签模型进行训练,得到训练完成的多标签模型。
[0045]
其中,所述多标签模型用于预测所述知识树中每个非叶子节点的概率值,也就是所述多标签模型用于预测试题的第二知识点,并输出第二知识点的概率值,所述第二知识点为所述知识树的至少一个非叶子节点对应的知识点。
[0046]
可选的,所述第二试题训练子集包括样本试题和所述样本试题对应的第二知识点。
[0047]
可理解的,在上述s220的基础上,试题训练集构建完成后,通过第二试题训练子集对预先构建的多标签模型进行训练,得到训练完成的多标签模型,多分类模型用于预测试题的第二知识点,第二知识点为知识树的至少一个非叶子节点所对应的知识点,第二试题训练子集包括样本试题和第二知识点,也就是一个样本试题对应至少一个非叶子节点,针
对一个样本试题多标签模型会输出至少一个非叶子知识点。
[0048]
可选的,上述s240中训练多标签模型可以包括如下步骤:将所述第二试题训练子集输入到预先构建的多标签模型中,输出所述样本试题的第二预测知识点。
[0049]
根据所述第二预测知识点和所述样本试题对应的第二知识点,更新所述多分类标签模型的网络参数。
[0050]
可理解的,将第二试题训练子集输入到预先构建的多标签模型中,多标签模型预测样本试题中题干文本中的第二预测知识点,随后根据第二预测知识点和样本试题对应的第二知识点,更新多标签模型的网络参数,得到训练完成的多标签模型,第二知识点为标记的样本试题中准确的作为标签的知识点,具体的,在多标签模型的训练阶段,可以选用交叉熵损失函数(focal loss)计算损失值,基于损失值更新多标签模型的网络参数,以解决样本分布不均衡的问题。
[0051]
本公开实施例提供了一种模型训练方法,通过获取的样本试题中涉及到的所有知识点构建知识树,基于样本试题和知识树中的知识点构建试题训练集,试题训练集包括第一试题训练子集和第二试题训练子集,第一试题训练子集和第二试题训练子集中包括相同的样本试题,且包括同一颗知识树中不同的知识点,既应用了知识树的关联性还提高了模型的预测准确率,其中,第一试题训练子集中包括样本试题对应的第一知识点,第一知识点是指知识树中的叶子节点,第二试题训练子集包括样本试题对应的第二知识点,第二知识点是指同一颗知识树中的非叶子节点,第一试题训练子集和第二试题训练子集包括知识树的所有节点对应的知识点。本公开提供的方法,充分利用知识树的结构特点,融合了多标签模型与多分类模型,并在多标签模型与多分类模型的训练过程中加入知识点文本先验知识,在同时训练两个模型以提高模型训练速度的同时,还确保了多分类模型和多标签模型具有较高的预测精度。
[0052]
在上述实施例的基础上,图5为本公开实施例提供的一种模型训练方法流程图,可选的,上述通过所述第一试题训练子集对所述知识点预测模型中的多分类模型进行训练,得到训练完成的多分类模型,具体包括如图5所示的如下步骤s510至s520:s510、通过所述第一试题训练子集对预先获取的预训练模型进行无监督深度训练,得到深度训练模型。
[0053]
可理解的,获取基于通用语料的预训练模型,通过构建的第一试题训练子集中的样本试题对预训练模型进行无监督深度训练(furter pretrain),得到深度训练模型,以使预训练模型能够更好的适应教育场景下试题文本的语义信息,进行无监督深度训练的数据可以理解为无知识点试题数据,也就是只应用到了样本试题。其中,无监督深度训练是通过周围词预测的中心词,且无监督深度训练不需要将第一知识点作为训练样本标签(label),以机器学习中的分类来说,输入的训练数据有特征(feature)和标签(label),在分类过程中,如果所有训练数据都有标签,则为有监督学习,如果数据没有标签,则为无监督学习,也可以理解为聚类,其中样本试题作为特征(feature),第一知识点作为标签(label)。
[0054]
可理解的,在对预训练模型进行无监督深度预训练时,为预训练模型添加所有latex公式标识符,将该公式标识符作为额外的题干文本记号(token),从而使预训练模型在训练的时候能够将latex标识符作为一个整体来处理,例如
“”
对应的latex标识符为“\alpha”,在预训练模型中添加所有latex公式标识符,能够避免模型在训练过程中,将“\alpha”拆分成其他标识符,也就是在预测中将“\alpha”作为一个词,例如避免出现将“\alpha”拆成“\al”和“pha”两个词,能够进一步提高模型预测的准确率。
[0055]
s520、基于所述第一试题训练子集对构建的多分类模型进行有监督任务的微调,得到训练完成的多分类模型。
[0056]
其中,所述多分类模型是基于所述深度训练模型、语义知识增强模块和全连接层构建的。
[0057]
可理解的,在上述s510的基础上,根据无监督深度训练得到的深度训练模型、语义知识增强模块和全连接层构建多分类模型,基于第一试题训练子集对多分类模型进行有监督任务的微调(finetune)处理,将样本试题作为特征,将样本试题对应的第一知识点作为标签进行微调,得到训练完成的多分类模型,有监督训练应用的训练数据可以理解为带知识点试题数据。
[0058]
可选的,上述s520训练多分类模型可以包括如下步骤:利用所述深度训练模型,确定所述样本试题的题干中包括的每个知识点文本的句向量和所述题干中包括的每个词的词向量。
[0059]
利用所述语义知识增强模块,根据所述题干中包括的每个词的词向量和所述题干中包括的每个知识点文本的句向量进行语义知识增强处理,生成所述题干的句向量。
[0060]
利用所述全连接层,根据所述题干的句向量确定所述样本试题的第一预测知识点。
[0061]
根据所述第一预测知识点和所述样本试题对应的第一知识点,更新所述多分类模型的网络参数。
[0062]
可理解的,利用第一试题训练子集对多分类模型进行训练具体包括:基于无监督训练得到的深度训练模型,确定样本试题的题干中每个知识点文本的句向量和样本试题题干文本中每个词的词向量,样本试题包括题干文本,题干文本包括至少一个知识点,每个知识点包括至少一个字符,利用深度训练模型预测样本试题题干文本中每个词的词向量,一个词可以理解为一个字符,同时深度训练模型还会输出题干文本中每个知识点的句向量,一个句子包括至少一个词。随后利用预先构建的语义知识增强模块根据题干中每个词的词向量和每个知识点文本的句向量进行语义知识增强处理,生成样本试题中题干的句向量,添加语义知识增强模块能够确保充分利用知识点文本的先验知识。最后利用全连接层根据题干的句向量计算句向量和多分类模型中预先设置的多个类别的概率,该多分类模型是指上述示例中的多分类模型1,预先设置的多个类别是根据知识树中多个第一知识点(叶子节点)确定的,多分类模型1的类别数量小于或等于第一知识点的数量,小于的情况是指筛选出知识点数量较少的样本试题训练多分类模型2,例如第一个类别为“分数和除法的关系”,第二个类别为“算数平方根的定义”,第三个类别为“三角形五心”,且多个类别对应的概率值之和为1,最后将多个类别对应的概率值中的最大值所对应的知识点(类别)确定为样本试题的第一预测知识点。得到多分类模型预测的知识点后,采用交叉熵损失函数,根据第一预测知识点和样本试题对应的第一知识点计算损失值,根据损失值更新多分类模型的网络参数。
[0063]
可选的,上述语义知识增强模块生成题干的句向量可以包括如下步骤:
根据所述题干中包括的每个词的词向量和所述题干中包括的每个知识点文本的句向量进行注意力分值计算,生成每个词的至少一个注意力向量。
[0064]
根据所述每个词的至少一个注意力向量中确定所述每个词的注意力分数。
[0065]
根据所述每个词的词向量和所述每个词的注意力分数,生成所述题干的句向量。
[0066]
示例性的,参见图6,图6为本公开实施例提供的一种语义知识增强模块的流程图,根据题干中每个词的词向量和每个知识点文本的句向量进行注意力分值计算,生成每个词的注意力向量,具体的,将每个词向量和每个句向量进行点乘相加计算,得到每个词的注意力向量,如图6所示,6个词向量和3个知识点文本的句向量进行计算,得到6个注意力向量,每个词的注意力向量包括3个注意力值;在每个词的注意力向量中选取的最大的注意力值作为当前词的注意力分数,也就是在每个词的注意力向量中包括的3个注意力值中选择最大值作为该词的注意力分数,每个词只存在一个注意力分数;最后将每个词的词向量和当前词的注意力分数进行相乘取平均操作,生成样本试题中题干的句向量,也就是建立题干文本中每个词相对于整个标签体系的相关性,根据题干文本中重要的词的词向量组成题干文本中知识点的句向量,以提高多分类模型预测知识点的精准度,例如,重要的词为“圆”,建立“圆”的词向量和知识点的关联性。
[0067]
本公开实施例提供的一种模型训练方法,通过对获取的预训练模型进行无监督深度训练,得到深度训练模型,以使预训练模型适应教育场景中试题文本的语义信息,同时还可以加快模型训练的速度,随后,利用深度训练模型输出的样本试题题干文本中每个词的词向量和知识点文本的句向量,对构建的语义知识增强模块进行训练,得到题干文本中知识点的词向量,也就是充分利用知识点文本的先验知识进行语义增强处理,以增加预测题干文本中知识点的准确性,最后基于预测到的知识点的词向量和样本试题对应的第一知识点更新多分类模型的网络参数,完成多分类模型的训练,提高了多分类模型的预测精度。
[0068]
在上述实施例的基础上,图7为本公开实施例提供的一种知识点预测方法流程图,服务器训练得到知识点预测模型后,知识点预测模型包括多分类模型和多标签模型,服务器根据训练完成的多分类模型和多标签模型对试题中的知识点进行预测,具体包括如图7所示的如下步骤s710至s750:其中,下述预先训练完成的所述多分类模型和所述多标签模型是根据上述模型训练方法训练得到的,模型训练完成后可直接应用。
[0069]
s710、获取待预测试题。
[0070]
可选的,获取待预测试题后,服务器还需要对带预测试题进行标准化处理,标准化处理具体包括如下步骤:确定所述待预测试题包括的多个标签。
[0071]
将所述待预测试题中的多个标签进行删除和替换,得到标准化处理后的待测试试题。
[0072]
其中,删除是指删除所述多个标签中的第一标签,所述第一标签是指所述多个标签中与所述待预测试题题干中知识点的关联值小于或等于第一预设阈值的标签;替换是指将所述多个标签中的第二标签进行替换,其中,第二标签是指所述多个标签中与预先构建的结构化标签库中标签的相似值大于第二预设阈值的标签。
[0073]
可理解的,获取的待预测试题为结构化数据,结构化数据包括多个标签,将该结构
化数据进行标准化处理,也就是删除该结构化数据中的无用标签(第一标签),并将结构化数据中包括的目标标签(第二标签)进行替换,得到标准化处理后的待预测试题,其中,删除和替换操作的执行顺序不作限定,可以同时进行,也可以先后进行,第一标签是指多个标签中与待预测试题题干中知识点的关联值小于或等于第一预设阈值的标签,关联值可以根据进行题干中知识点进行比对得到,例如,将多个标签中包括的上述"\n"等表示文本格式信息、和题干中知识点关联值比较低的标签删除;第二标签是指多个标签中与预先构建的结构化标签库中标签的相似值大于第二预设阈值的标签,例如,结构化标签库包括"rt",将多个标签中包括的"rt"替换为"直角",第一标签和第二标签具体如上述对样本试题进行标准化处理时删除的无用标签和目标标签,具体的标准化处理过程不作赘述。
[0074]
s720、确定与所述待预测试题对应的预先构建的知识树。
[0075]
可理解的,在上述s710的基础上,在获取待测试试题的同时,也要获取该待测试试题的试题信息,试题信息可以是试题的年级、科目、版本、时间等,例如,待测试试题是七年级01年的语文试题。根据试题信息确定待测试试题对应的知识树,可以预先构建多个年级多个学科的知识树,例如,七年级的语文知识树、七年级的数学知识树等。
[0076]
s730、利用预训练的知识点预测模型中的多分类模型,根据所述待预测试题确定所述知识树中每个叶子节点的概率值。
[0077]
可理解的,在上述s710和s720的基础上,利用预先训练完成的多分类模型对待预测试题题干文本中的知识点进行识别,输出知识树中每个第一知识点的第一概率,且多个第一概率的和为1,也就是输出知识树中每个叶子节点的概率值,叶子节点的概率值记为第一概率,根据多分类模型可以得到知识树中每个第一知识点的概率,其中,多分类模型设定的类别和知识树中第一知识点是一一对应的,每个类别代表一个第一知识点,因此,多分类模型会输出待预测试题中目标知识点和多个第一知识点之间的相似概率,该相似概率记为第一概率,概率值越大,目标知识点为最大概率值对应的第一知识点的可能性越高。
[0078]
可选的,所述多分类模型包括深度训练模块、语义知识增强模块和全连接层。
[0079]
可理解的,深度训练模型是上述多分类模型进行训练时由其包括的预训练模型得到的,也就是深度模型是训练后的预训练模型。
[0080]
可选的,上述s730中利用预训练的知识点预测模型中的多分类模型,根据所述待预测试题确定所述知识树中每个叶子节点的概率值,具体通过下述步骤实现:利用所述深度训练模型,确定所述待预测试题的题干中包括的每个知识点文本的句向量和所述题干中包括的每个词的词向量。
[0081]
利用所述语义知识增强模块,根据所述题干中包括的每个词的词向量和所述题干中包括的每个知识点文本的句向量进行语义知识增强处理,生成所述题干的句向量。
[0082]
利用所述全连接层,根据所述题干的句向量确定所述知识树中每个叶子节点的概率值。
[0083]
可选的,生成题干的句向量,具体通过下述步骤实现:根据所述题干中包括的每个词的词向量和所述题干中包括的每个知识点文本的句向量进行注意力分值计算,生成每个词的至少一个注意力向量。
[0084]
根据所述每个词的至少一个注意力向量中确定所述每个词的注意力分数。
[0085]
根据所述每个词的词向量和所述每个词的注意力分数,生成所述题干的句向量。
[0086]
可理解的,多分类模型生成知识树中每个叶子节点的概率值的过程参见上述多分类模型训练实施例中的生成过程,在此不作赘述。
[0087]
s740、基于所述每个叶子节点的概率值,确定所述知识树中从根节点到每个叶子节点的路径的路径概率。
[0088]
可理解的,在上述s730的基础上,基于多分类模型得到知识树中每个叶子节点的概率值后,计算知识树中根节点到每个叶子节点的路径的路径概率,该种情况下可以理解为路径上个只包括根节点和叶子节点,不包括非叶子节点,或者预先设置了每个非叶子节点的概率,得到每个叶子节点的概率后,可以直接计算得到包括根节点、非叶子节点以及叶子节点的路径的路径概率。
[0089]
可选的,所述预训练的知识点预测模型包括多标签模型。
[0090]
可选的,在上述s710和s720的基础上,所述方法还包括:利用所述多标签模型,根据所述待预测试题确定所述知识树中每个非叶子节点的概率值。
[0091]
可理解的,在上述s710和s720的基础上,利用预先训练完成的多标签模型对待预测试题题干文本中的知识点进行识别,输出知识树中每个第二知识点的第二概率,也就是输出知识树中每个非叶子节点的概率值,第二概率记为非叶子节点的概率,根据多标签模型可以得到知识树中每个第二知识点的概率,其中,第二概率的值的范围在0至1之间,其中,多标签模型设定的类别和知识树中第二知识点是一一对应的,每个类别代表一个第二知识点,因此,多标签模型会输出待预测试题中目标知识点和多个第二知识点之间的相似概率,该相似概率记为第二概率,概率值越大,目标知识点涉及到最大概率值对应的第二知识点的可能性越高。
[0092]
可选的,计算路径概率的方法包括:基于所述知识树中每个叶子节点的概率值和每个非叶子节点的概率值,确定所述知识树中从根节点到每个叶子节点的路径的路径概率。
[0093]
可理解的,基于所述知识树中每个节点的概率值,计算所述知识树中根节点经过非叶子节点到每个叶子节点的路径概率,得到多个路径概率。具体的,根据第一概率和第二概率确定预先构建的知识树中每个节点的概率值,也就是根据多分类模型输出的第一概率和多标签模型输出的第二概率可以确定整个知识树中每个节点的概率值。随后基于知识树中每个节点的概率值,计算知识树中根节点到每个叶子节点的路径概率,得到多个路径概率,可理解的是,知识树中根节点到每个叶子节点的路径的数量和知识树中叶子节点的数量相同,例如,参见图3所示的知识树,从根节点root到叶子节点“分数和除法的关系”为一条路径,该条路路径包括3个非叶子节点“数”、“有理数”和“分数”。
[0094]
s750、基于所述路径概率,确定所述待预测试题对应的知识点。
[0095]
可选的,上述s750确定待预测试题对应的知识点可以通过下述步骤实现:确定具有最大路径概率的目标路径上的叶子节点。
[0096]
将所述叶子节点对应的知识点作为所述待预测试题对应的知识点。
[0097]
可理解的,在上述s740的基础上,在所述多个路径概率中确定目标概率,并将所述目标概率中叶子节点对应的知识点作为目标知识点,其中,所述目标知识点为所述待预测试题的预测知识点,所述目标知识点为所述第一知识点内的某一知识点。得到多条路径概
率后,将每条路径概率作为该路径中叶子节点对应的概率,在多个路径概率中确定目标概率,具体的,可以将计算得到的多个路径概率中的最大值作为目标概率,确定目标概率中的叶子节点,将该叶子节点对应的知识点作为目标知识点。
[0098]
可选的,针对所述知识树中从根节点到每个叶子节点的任一路径,该路径的路径概率包括该路径上的叶子节点的概率值和非叶子节点的概率值的乘积。
[0099]
示例性的,路径概率的计算可参见下述公式(1)。
[0100]
公式(1)其中,a代表叶子节点对应的概率值,b代表a的所有祖先节点对应的概率值,也就是和a同一路径上的所有非叶子节点,其中,根号为标准化操作。公式(1)表示将路径上根节点到当前叶子节点涉及到的所有节点对应的概率值相乘并标准化,得到当前叶子节点对应的路径概率。
[0101]
本公开实施例提供的一种知识点预测方法,获取标准化处理后的待预测试题,利用预先训练完成的多分类模型确定待预测试题对应的第一知识点的第一概率,利用预先训练完成的多标签模型确定待预测试题的第二知识点的第二概率,第一概率和第二概率包括知识树中每个节点的概率,最后根据第一概率和第二概率确定知识树中根节点到叶子节点的路径概率,可以得到多条路径概率,在多条路径概率中将最大值确定为目标概率,并将目标概率对应的第一知识点作为目标知识点,目标知识点即为待预测试题的预测知识点。本公开提供的方法,通过将多分类模型和多标签模型进行融合,也就是通过计算知识树中路径概率的方式,提高知识点预测的准确率,避免出现基于一个多分类模型预测不准确的情况,能够快速准确的预测出试题知识点,且不需要依赖题库,前期也不需要进行题库储备,预测知识点的准确性高,成本低。
[0102]
在上述实施例的基础上,图8为本公开实施例提供的一种知识点预测方法流程图,具体包括如图8所示的如下步骤s810至s860:s810、获取待预测试题,并确定对应的知识树。
[0103]
s820、对待测试试题进行标准化处理。
[0104]
s830、利用预训练的知识点预测模型中的多分类模型,根据待预测试题确定知识树中每个叶子节点的概率值。
[0105]
s840、利用多标签模型,根据待预测试题确定知识树中每个非叶子节点的概率值。
[0106]
s850、基于知识树中每个叶子节点的概率值和每个非叶子节点的概率值,确定知识树中从根节点到每个叶子节点的路径的路径概率。
[0107]
s860、基于路径概率,确定待预测试题对应的知识点。
[0108]
可理解的,上述s810至s860的具体说明参见上述实施例,在此不作赘述。
[0109]
在上述实施例的基础上,图9为本公开实施例提供的一种知识点预测装置900,用于实现上述实施例提供的知识点预测方法,具体包括如图9所示的获取单元910、第一确定单元920、预测单元930、第二确定单元940和第三确定单元950,其中:获取单元910,用于获取待预测试题;第一确定单元920,用于确定与所述待预测试题对应的预先构建的知识树;
预测单元930,用于利用预训练的知识点预测模型中的多分类模型,根据所述待预测试题确定所述知识树中每个叶子节点的概率值;第二确定单元940,用于基于所述每个叶子节点的概率值,确定所述知识树中从根节点到每个叶子节点的路径的路径概率;第三确定单元950,用于基于所述路径概率,确定所述待预测试题对应的知识点。
[0110]
可选的,所述预训练的知识点预测模型包括多标签模型。
[0111]
可选的,预测单元930还用于:利用所述多标签模型,根据所述待预测试题确定所述知识树中每个非叶子节点的概率值。
[0112]
可选的,第二确定单元940用于:基于所述知识树中每个叶子节点的概率值和每个非叶子节点的概率值,确定所述知识树中从根节点到每个叶子节点的路径的路径概率。
[0113]
可选的,针对所述知识树中从根节点到每个叶子节点的任一路径,该路径的路径概率包括该路径上的叶子节点的概率值和非叶子节点的概率值的乘积。
[0114]
可选的,获取待预测试题后,装置900包括:第四确定单元,用于确定所述待预测试题包括的多个标签;标准化处理单元,用于将所述待预测试题中的多个标签进行删除和替换,得到标准化处理后的待测试试题。
[0115]
其中,删除是指删除所述多个标签中的第一标签,其中,所述第一标签是指所述多个标签中与所述待预测试题题干中知识点的关联值小于或等于第一预设阈值的标签;替换是指将所述多个标签中的第二标签进行替换,其中,第二标签是指所述多个标签中与预先构建的结构化标签库中标签的相似值大于第二预设阈值的标签。
[0116]
可选的,所述多分类模型包括深度训练模块、语义知识增强模块和全连接层。
[0117]
可选的,预测单元930还用于:利用所述深度训练模型,确定所述待预测试题的题干中包括的每个知识点文本的句向量和所述题干中包括的每个词的词向量;利用所述语义知识增强模块,根据所述题干中包括的每个词的词向量和所述题干中包括的每个知识点文本的句向量进行语义知识增强处理,生成所述题干的句向量;利用所述全连接层,根据所述题干的句向量确定所述知识树中每个叶子节点的概率值。
[0118]
可选的,预测单元930还用于:根据所述题干中包括的每个词的词向量和所述题干中包括的每个知识点文本的句向量进行注意力分值计算,生成每个词的至少一个注意力向量;根据所述每个词的至少一个注意力向量中确定所述每个词的注意力分数;根据所述每个词的词向量和所述每个词的注意力分数,生成所述题干的句向量。
[0119]
可选的,第三确定单元950还用于:确定具有最大路径概率的目标路径上的叶子节点;将所述叶子节点对应的知识点作为所述待预测试题对应的知识点。
[0120]
可选的,知识点预测模型可以通过下述步骤得到:
获取样本试题,并根据所述样本试题对应的知识点构建知识树;根据所述样本试题和所述知识树构建试题训练集,其中,所述试题训练集包括第一试题训练子集和第二试题训练子集;通过所述第一试题训练子集对所述知识点预测模型中的多分类模型进行训练,得到训练完成的多分类模型,其中,所述多分类模型用于预测所述知识树中每个叶子节点的概率值;通过所述第二试题训练子集对所述知识点预测模型中的多标签模型进行训练,得到训练完成的多标签模型,其中,所述多标签模型用于预测所述知识树中每个非叶子节点的概率值。
[0121]
本实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
[0122]
本公开示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本公开实施例的方法。
[0123]
本公开示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。
[0124]
参考图10,现将描述可以作为本公开的服务器或客户端的电子设备1000的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0125]
如图10所示,电子设备1000包括计算单元1001,其可以根据存储在只读存储器(rom)1002中的计算机程序或者从存储单元1008加载到随机访问存储器(ram)1003中的计算机程序,来执行各种适当的动作和处理。在ram 1003中,还可存储设备1000操作所需的各种程序和数据。计算单元1001、rom 1002以及ram 1003通过总线1004彼此相连。输入/输出(i/o)接口1005也连接至总线1004。
[0126]
电子设备1000中的多个部件连接至i/o接口1005,包括:输入单元1006、输出单元1007、存储单元1008以及通信单元1009。输入单元1006可以是能向电子设备1000输入信息的任何类型的设备,输入单元1006可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元1007可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元1008可以包括但不限于磁盘、光盘。通信单元1009允许电子设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙tm设备、wifi设备、wimax设备、蜂窝通信设备和/或类似物。
[0127]
计算单元1001可以是各种具有处理和计算能力的通用和/或专用处理组件。计算
单元1001的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1001执行上文所描述的各个方法和处理。例如,在一些实施例中,模型训练方法或识别网络的训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由rom 1002和/或通信单元1009而被载入和/或安装到电子设备1000上。在一些实施例中,计算单元1001可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行模型训练方法或识别网络的训练方法。
[0128]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0129]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0130]
如本公开使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
[0131]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0132]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0133]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
[0134]
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1