1.一种基于深度学习的大学计算机知识解题方法,其特征在于,运用计算机基础知识图谱和NTN模型来生成包含所有基础知识点的推理数据集,接着使用PCANET和GRU网络生成和问题相对应的残缺的知识图谱,然后使用PSQUERY算法来匹配知识图谱中与残缺知识图谱最接近的近似子图,并且使用TransE方法来推理得出残缺知识图谱中的缺失部分,从而得到题目的正确结果;
本方法的具体包括以下步骤:
步骤1,对计算机基础知识图谱进行数据预处理,使其从neo4j数据库可视化形式变成三元组形式;同时筛选掉考试范围以外的知识点;
步骤2,使用NTN网络模型对步骤1中的三元组进行训练,生成知识点的推理训练集;
步骤3,导入PCANET网络模型,使用步骤2生成的推理训练集训练好一个可以形成知识图谱的PCANET网络;
步骤4,使用步骤1处理过的数据集,使用GRU网络模型进行训练,生成可以识别知识点关键字的数据集;
步骤5,对计算机基础知识题库进行数据预处理,得到可以被PCANET网络模型训练的数据集;
步骤6,使用步骤3生成的PCANET网络模型来训练步骤4形成的可以识别知识点关键字的数据集和步骤5形成的计算机基础知识图谱数据集,生成描述问题的残缺的知识图谱;
步骤7,使用PSQUERY方法匹配大学计算机基础知识图谱中与步骤6中的描述问题的残缺的知识图谱的最优近似子图;
步骤8,使用TransE方法,得到用来描述问题的知识图谱中的缺失部分;
步骤9,此时知识图谱中的残缺部分即是正确答案,所述残缺部分包括其文字概念和拓扑关系。
2.根据权利要求1所述的一种基于深度学习的大学计算机知识解题方法,其特征在于,所述步骤2中,使用了NTN和三元组的优点是:NTN主要训练的方式就是将数据库中的实体来表示成一个向量来实现的,而一个三元组也可以看作是一个向量,即把三元组中的每个数据看作是向量中的数值;因此可以把两者结合起来,从而达到使用NTN来训练三元组的效果;具体为使用了NTN对三元组进行训练;NTN将数据集中的每个对象或个体表示为一个向量,直接对向量进行操作;NTN主要的步骤是:编写自定义图层,初始化张量形状、激活函数、张量参数,然后再定义对比最大边缘损失函数,最后汇总数据训练,即可得出结果;这些向量载体可以捕获有关该实体的事实及它是否成为关系的一部分,每个关系都是通过一个新的神经张量网络的参数来定义的。
3.根据权利要求1所述的一种基于深度学习的大学计算机知识解题方法,其特征在于,所述步骤4中,使用了GRU网络模型训练生成知识点关键字的数据集;GRU可以传递当前的数据给下一时刻使用;GRU是由无数被称为记忆块的结构构成,每一个记忆块都包含输入门,输出门,遗忘门和记忆单元;输入门会通过激活函数输入输入门的数据的输出数据判断选择通过的数据;常用的激活函数是sigmoid函数sigmiod(x)=1/(1+e∧(‑x)),可以将取值为(‑∞,∞)的数字映射到(0,1);如果映射的数大于了提前设置的阈值,那么这个数据就可以被输出,反之则不行。
4.根据权利要求3所述的一种基于深度学习的大学计算机知识解题方法,其特征在于,所述激活函数有sigmoid激活函数,tanh激活函数,Relu激活函数。
5.根据权利要求1所述的一种基于深度学习的大学计算机知识解题方法,其特征在于,所述步骤7中,使用了PSQUERY算法匹配生成结果的最优近似子图,首先PSQUERT算法提取出查询图的特征,然后根据提取出的特征分别进行编码,形成节点和图编码;再基于图编码构建索引树进行过滤;最后生成候选图集合,再进行子图同构验证,最后得到最终的结果集。
6.根据权利要求1所述的一种基于深度学习的大学计算机知识解题方法,其特征在于,所述步骤9中,使用了TransE来获得知识图谱的残缺部分;TransE基于实体和关系的分布式向量表示,将每个三元组实例中的关系看做从头实体到尾实体的转换。