CN115809663A - 习题分析方法、装置、设备及存储介质 - Google Patents

习题分析方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN115809663A
CN115809663A CN202111062194.4A CN202111062194A CN115809663A CN 115809663 A CN115809663 A CN 115809663A CN 202111062194 A CN202111062194 A CN 202111062194A CN 115809663 A CN115809663 A CN 115809663A
Authority
CN
China
Prior art keywords
expression
model
similar
information
splicing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111062194.4A
Other languages
English (en)
Inventor
黄世锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Shiyuan Electronics Thecnology Co Ltd
Guangzhou Shiyuan Artificial Intelligence Innovation Research Institute Co Ltd
Original Assignee
Guangzhou Shiyuan Electronics Thecnology Co Ltd
Guangzhou Shiyuan Artificial Intelligence Innovation Research Institute Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Shiyuan Electronics Thecnology Co Ltd, Guangzhou Shiyuan Artificial Intelligence Innovation Research Institute Co Ltd filed Critical Guangzhou Shiyuan Electronics Thecnology Co Ltd
Priority to CN202111062194.4A priority Critical patent/CN115809663A/zh
Publication of CN115809663A publication Critical patent/CN115809663A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了习题分析方法、装置、设备及存储介质,其包括:获取待求解习题;在习题库中查找所述待求解习题的至少一道第一相似习题,并获取第一相似习题的第一表达式;将所述待求解习题、所述第一相似习题以及对应的第一表达式输入至习题分析模型,由所述习题分析模型分析得到所述待求解习题的待求解表达式;根据所述待求解表达式得到所述待求解习题的习题答案。采用上述方法可以解决相关技术中采用匹配应用题计算表达式模板时,易出现应用题答案错误或无法计算应用题答案的技术问题。

Description

习题分析方法、装置、设备及存储介质
技术领域
本申请实施例涉及文字处理技术领域,尤其涉及一种习题分析方法、装置、设备及存储介质。
背景技术
数学领域中,应用题自动解题任务是指通过给定的应用题题目,通过特定的技术方案(即解题过程)直接得到对应的答案。这种方式虽然能得到应用题的答案,但是忽略了解答环节的推理过程。为了在自动解题任务中明确推理过程,一些相关技术中,使用统计机器学习以及模板匹配的方法,通过应用题题目信息匹配到对应的应用题计算表达式模板,并根据应用题计算表达式模板计算得到应用题的答案。这种方法只在限定的应用题计算表达式模板下具有较好的效果,当无法匹配到应用题计算表达式模板时,将出现应用题答案错误或者无法计算应用题答案的情况,使得应用题自动解题任务的效果较差。
发明内容
本申请一个实施例提供了一种习题分析方法、装置、设备及存储介质,以解决相关技术中匹配应用题计算表达式模板时,易出现应用题答案错误或无法计算应用题答案的技术问题。
第一方面,本申请一个实施例提供了一种习题分析方法,包括:
获取待求解习题;
在习题库中查找所述待求解习题的至少一道第一相似习题,并获取所述第一相似习题的第一表达式;
将所述待求解习题、所述第一相似习题以及对应的第一表达式输入至习题分析模型,由所述习题分析模型分析得到所述待求解习题的待求解表达式;
根据所述待求解表达式得到所述待求解习题的习题答案。
第二方面,本申请实施例还提供了一种习题分析装置,包括:
获取模块,用于获取待求解习题;
查找模块,用于在习题库中查找所述待求解习题的至少一道第一相似习题,并获取所述第一相似习题的第一表达式;
分析模块,用于将所述待求解习题、所述第一相似习题以及对应的第一表达式输入至习题分析模型,由所述习题分析模型分析得到所述待求解习题的待求解表达式;
求解模块,用于根据所述待求解表达式得到所述待求解习题的习题答案。
第三方面,本申请实施例还提供了一种习题分析设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的习题分析方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的习题分析方法。
在本申请一个实施例中,通过获取待求解习题,在习题库中查找待求解习题相似的第一相似习题和对应的第一表达式,之后,将待求解习题、第一相似习题和第一表达式输入至习题分析模型,可以得到待求解表达式,进而根据待求解表达式得到习题答案的技术手段,解决了匹配应用题计算表达式模板时,易出现应用题答案错误或无法计算应用题答案的技术问题。习题分析模型在解答待求解习题时,参考了检索到的第一相似习题以及第一表达式,提高了习题分析模型的求解能力,不易出现解答错误或者无法计算的情况。
附图说明
图1为本申请一个实施例提供的一种习题分析方法的流程图;
图2为本申请一个实施例提供的一种习题分析模型的训练方法流程图;
图3为本申请一个实施例提供的一种掩码矩阵示意图;
图4为本申请一个实施例提供的另一种掩码矩阵示意图;
图5为本申请一个实施例提供的一种习题分析装置的结构示意图;
图6为本申请一个实施例提供的一种习题分析设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
一些相关技术中,自从大规模应用题解题数据集math23k被公开后,基于深度学习的方法实现应用题自动解题任务开始广泛的出现。其中,深度学习是学习样本数据的内在规律和表示层次,其最终目标是让机器能够像人一样具有分析学习能力。基于循环神经网络的序列到序列模型是应用题自动解题任务中常用的深度学习方法。这种方式下,需要先将应用题解题数据集中的题目和计算表达式中出现的数字使用统一字符进行表示,得到表达式模板,之后,序列到序列模型训练完成后,将当前待求解的应用题题目进行编码得到编码向量,之后,利用序列到序列模型得到对应的计算表达式。这种方式下,通过表达式模板进行解题的模式与人类解答应用题的模式具有较大的差别,人类解题时先分析语义(即明确题目的描述以及题目和数字之间的关系),再根据语义进行解题。并且,通过表达式模板进行解题时,一种类型应用题只有一种固定的表达式模板,无法进行类比学习。
综上,本申请一个实施例提供一种习题分析方法、装置、设备及存储介质,不仅可以解决相关技术中匹配应用题计算表达式模板时易造成的应用题答案错误或无法计算应用题答案的技术问题,还可以对应用题进行自动解答时,仿照人类的答题模式,并且可以进行类比学习。
本申请一个实施例提供的习题分析方法可以由习题分析设备执行,该习题分析设备可以通过软件和/或硬件的方式实现,该习题分析设备可以是两个或多个物理实体构成,也可以是一个物理实体构成,当前对此不作限定。一个实施例中,习题分析设备可以是台式电脑、笔记本电脑、学习机、交互智能平板、服务器等具有数据处理和分析能力的电子设备。
示例性的,图1为本申请一个实施例提供的一种习题分析方法的流程图。参考图1,该习题分析方法具体包括:
步骤110、获取待求解习题。
待求解习题是指当前需要求解答案的习题。一个实施例中,待求解习题为数学应用题。待求解习题可以为一道或多道,当前对此不做限定。待求解习题的获取方式当前不作限定。例如,待求解习题为用户输入的习题。又如,待求解习题是拍照后通过文字识别(如光学字符识别)的方式获取的习题。再如,待求解习题是从互联网题库中查找的习题。可理解,当前获取的待求解习题主要是指习题的题目。
步骤120、在习题库中查找待求解习题的至少一道第一相似习题,并获取第一相似习题的第一表达式。
习题库包含大量习题和对应的计算表达式。其中,习题是指习题的题目,习题对应的计算表达式是指解答该习题时使用的数学计算公式。可选的,习题库还包括习题的答案。一个实施例中,习题库包含的习题类型至少包括数学应用题类型,还可选包括其他的类型。
示例性的,在习题库中,查找与待求解习题相似的至少一道习题,并将查找到的习题记为第一相似习题。一个实施例中,比较待求解习题和习题库中各习题之间的相似度(具体指题目的相似度),之后,根据相似度选择最相似的至少一道第一相似习题。可选的,预先设定第一相似习题的数量(可根据实际情况设置),之后,根据设定的数量在习题库中选择相似度最高的习题作为第一相似习题。可选的,设置相似度阈值,所选择的第一相似习题与待求解习题之间的相似度需要高于相似度阈值,若当前高于相似度阈值的第一相似习题未达到设定的数量,则只获取大于相似度阈值的第一相似习题。可理解,相似度小于相似度阈值,则说明习题库中对应的习题与待求解习题不太相似,该习题的解题过程不适用于待求解习题。
其中,比较相似度时,可以是比较待求解习题和习题库中各习题的关键字相似度来查找第一相似习题。还可以是通过对待求解习题和习题库中的各习题进行向量化,之后,通过计算向量相似度的方式查找第一相似习题。一个实施例中,以向量化为例描述如何查找第一相似习题。此时,在习题库中查找所述待求解习题的至少一道第一相似习题包括步骤121-步骤125:
步骤121、对待求解习题进行分词,得到待求解习题出现的全部第一词汇。
示例性的,对待求解习题进行分词,以将待求解习题中的词拆分出来,可理解,待求解习题可以认为是一个文本序列,分词后,可以将待求解习题拆分成一个一个单独的词。一个实施例中,将待求解习题拆分后得到的词记为第一词汇。需说明,对待求解习题进行分词时,采用已有的分词方法,当前对此不作限定。
步骤122、在语料库中查找第一词汇对应的词向量。
语料库是预先构建的词向量库,其中包含大量的词汇以及对应的词向量。其中,词向量是指通过向量的方式表示词汇。一个实施例中,语料库中包含的词汇为习题库中各习题题目的词汇,示例性的,先确定习题库中各习题题目包含的词汇。之后,为每个词汇进行向量化,得到每个词的词向量表示,其中,词向量表示记为词向量,可选的,向量化的方式当前不作限定,例如,通过神经网络技术,预先训练一个可以进行向量化的神经网络,之后,将习题库中的各词汇输入至神经网络以得到对应的词向量。此时,每个习题库中的词汇均存在对应的词向量,各词向量和词汇组成了语料库。
示例性的,得到待求解习题包含的第一词汇后,在语料库中查找第一词汇,即找到与第一词汇相同的词汇,并获取该词汇的词向量作为第一词汇的词向量。其中,与第一词汇相同的词汇是指两个词汇包含的文本相同。可理解,存在语料库中不存在第一词汇的情况,此时,可认为第一词汇对应的词向量为零向量,或者为其他预先设置的向量。遍历每个第一词汇后,得到每个第一词汇对应的词向量。
步骤123、根据各第一词汇对应的词向量得到待求解习题的第一句向量。
示例性的,句向量是指表示句子(实施例中为习题题目)的向量,一个实施例中,将表示待求解习题的句向量记为第一句向量。第一句向量通过待求解习题中各第一词汇对应的词向量得到。一个实施例中,对各第一词汇的词向量进行均值化,以得到第一句向量。此时,第一句向量表示为:
Figure BDA0003256797440000051
其中,
Figure BDA0003256797440000052
表示待求解习题的第一句向量,K表示待求解习题包含的第一词汇的总数量,D表示语料库,Vnk表示待求解习题中第k个第一词汇对应的词向量,Vnk∈D表示在语料库中存在第k个第一词汇对应的词向量,Znj表示待求解习题中第j个第一词汇对应的零向量,
Figure BDA0003256797440000053
表示在语料库中不存在第j个第一词汇对应的词向量。通过上述公式可知,依次遍历K个第一词汇,找到在语料库中出现的第一词汇对应的词向量Vnk,将未出现在语料库中的第一词汇设置为零向量,之后,将各词向量和零向量相加,并求均值,以得到第一句向量。可理解,上述公式中的k和j仅是用于区分第一词汇是否出现在语料库中,而非对第一词汇进行限定。可理解,n表示当前第n个待求解习题,当待求解习题为一道时,n=1。
步骤124、计算第一句向量与习题库中各习题的第二句向量之间的相似度,第二句向量根据语料库中的词向量确定。
示例性的,习题库中每道习题均有对应的句向量,一个实施例中,将习题库中习题的句向量记为第二句向量。一个实施例中,在构建语料库时,根据语料库中各词向量和对应的词汇,可以构建习题库中各习题对应的第二句向量,可选的,第二句向量也可以根据习题中各词汇对应的词向量确定。一个实施例中,构建语料库以及构建第二句向量的过程如下:对习题库中各习题进行分词,得到习题库中出现的全部第二词汇;利用向量化模型得到每个第二词汇对应的词向量,各词向量组成语料库;对习题中各第二词汇的词向量进行均值化,以得到习题的第二句向量。
其中,对习题库中各习题的题目进行分词,该过程与步骤121中使用的分词方法相同。一个实施例中,将习题库中出现的各词汇记为第二词汇。可选的,进行分词后,可以对相同的第二词汇进行去重处理,以避免重复处理相同的第二词汇。之后,利用向量化模型得到各第二词汇的词向量。向量化模型为预先构建的神经网络,一个实施例中,向量化模型采用Word2Vec模型,其中,Word2Vec是一种自然语言处理(Natural Language Processing,NLP)工具,其用来产生词向量的相关模型,可选的,Word2Vec模型使用浅而双层的神经网络,且该神经网络训练完成后,可用来映射每个词到一个向量,并通过映射的向量可以得到该词对应的词向量。需说明,Word2Vec模型的训练过程以及训练中使用的数据集,当前不作限定。可理解,利用向量化模型得到各第二词汇的词向量后,由各第二词汇和词向量组成语料库。示例性的,得到词向量后,根据习题库中每道习题包含的第二词汇,明确各第二词汇对应的词向量,并根据词向量得到各习题的第二句向量。第二句向量也通过均值化处理的方式确定,第二句向量可表示为:
Figure BDA0003256797440000061
其中,Strn表示习题库中第n道习题的第二句向量,K表示第n道习题包含的第二词汇的总数量,Vnk表示第n道习题中第k个第二词汇对应的词向量。通过上述公式可知,得到习题中K个第二词汇对应的词向量Vnk并求均值后,可以得到第n道习题的第二句向量。可理解,得到各习题的第二句向量后,将各习题与第二句向量关联保存。
一个实施例中,得到第一句向量后,计算第一句向量和习题库中各习题的第二句向量之间的相似度,相似度越高,表明待求解习题与第二句向量对应的习题之间越相似,该习题的计算表达式对应的解题思路适用于待求解习题的可能性更高。可选的,第一句向量和第二句向量的长度相同。示例性的,可以采用余弦相似度的计算方式计算第一句向量和第二句向量间的相似度,此时,计算公式可以为:
Figure BDA0003256797440000062
其中,Si表示待求解习题中第一句向量的第i个元素,Ti表示第一相似习题的第二句向量的第i个元素,n为第一句向量和第二句向量的元素总数,S和T分别表示第一句向量和第二句向量。
当前,待求解习题与每个第二句向量间存在一个相似度。
需说明,实际应用中还可以采用其他的方式计算相似度,当前对此不作限定。
步骤125、获取相似度最高的至少一个第二句向量,并将获取的第二句向量对应的习题作为查找到的第一相似习题。
示例性的,根据各第二句向量对应的相似度,找到相似度最高的至少一个第二句向量,其中,相似度最高的第二句向量的数量可以根据实际情况设置。其中,根据第二句向量和习题的关联关系,在习题库中找到第二句向量对应的习题并作为第一相似习题。
示例性的,查找到第一相似习题后,还可以在习题库中获取第一相似习题对应的第一表达式,第一表达式是第一相似习题的计算表达式。可选的,习题库中各习题和对应的计算表达式关联保存。当待求解习题为多道时,每道待求解习题均对应至少一道第一相似习题,每道第一相似习题均存在对应的第一表达式。
可理解,实际应用中,还可以采用其他的方式查找第一相似习题。例如,采用tfidf+jaccard相似度的方法查找第一相似习题。其中,tfidf是一种用于信息检索与数据挖掘的常用加权技术,tfidf的主要思想是:如果某个词或短语(这里相当于第二词汇)在一篇文章(这里相当于习题库中的习题)中出现的频率TF高,并且在其他文章(这里相当于习题库中的其他习题)中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。jaccard又称为Jaccard相似系数(Jaccard similarity coefficient),用于比较有限样本集之间的相似性与差异性。Jaccard系数值越大,样本(即待求解习题和习题库中的习题)相似度越高。
步骤130、将待求解习题、第一相似习题以及对应的第一表达式输入至习题分析模型,由习题分析模型分析得到待求解习题的待求解表达式。
示例性的,习题分析模型为预先构建的神经网络模型,习题分析模型的具体结构可以根据实际情况设置。习题分析模型用于得到待求解习题的计算表达式,一个实施例中,该计算表达式记为待求解表达式。可理解,习题分析模型得到待求解表达式的过程可以认为是习题分析模型的应用过程,习题分析模型在应用前,经历了训练过程,并在训练结束后部署在习题分析设备中进行应用。其中,训练过程是指使习题分析模型输出稳定且准确结果的过程。
示例性的,将待求解习题、与待求解习题相似的全部第一相似习题以及第一相似习题的第一表达式输入至习题分析模型,之后,习题分析模型可以对待求解习题进行语义分析,以得到待求解习题的语义特征,还对第一相似习题以及对应的第一表达式进行语义分析,以得到第一相似习题和第一表达式的语义特征,前述语义解析的过程可以认为是提取特征的过程,之后,习题分析模块对语义特征进行识别,以得到适用于待求解习题的待求解表达式。可选的,习题分析模型还对待求解习题、第一相似习题和对应的第一表达式进行类比学习,其中,类比学习可以认为是把待求解习题与第一相似习题及第一表达式进行比较,找到它们的相似关系,并以这种关系为依据,把第一相似习题及第一表达式的有关知识适当整理以对应到待求解习题上,从而获得待求解习题的有关知识。一个实施例中,习题分析模型进行类比学习时提取类比学习过程中得到的有关特征。之后,对特征提取过程得到的语义特征和类比学习过程得到的特征进行识别,以输出最终的待求解表达式,待求解表达式包含计算的数值和运算符号。
示例性的,习题分析模型的特征提取过程和类比学习过程中均采用自注意力机制。注意力机制是指将注意力放在主要信息上的机制。自注意力机制可认为是减少对外部信息的依赖,更擅长捕捉数据或特征内部的相关性。一个实施例中,自注意力机制实现过程中,使用了掩码矩阵,通过掩码矩阵可以使习题分析模型在处理过程中确定处理哪些内容时只关注内容本身、处理哪些内容时还关注其他的内容(其他的内容与处理的内容有关),以避免数据泄露的问题。举例而言,习题分析模型对第一相似习题和第一表达式进行语义分析时,在分析第一相似习题的时候模型就看到了第一表达式,但是人类在解答习题时,阅读习题题目时,习题题目中没有对应的计算表达式,所以需要使用掩码矩阵对自注意力机制做掩码处理,以在处理第一相似习题时,使习题分析模型只关注第一相似习题自身的内容,无需参考第一表达式的内容,以避免泄露第一表达式,进而造成第一表达式对语义分析准确度的影响。掩码矩阵的内容可根据实际情况设置,当前不作限定。
一个实施例中,习题分析模型由特征表示模型、类比学习模型和推理模型组成。相应的,步骤130包括步骤131-步骤135:
步骤131、将第一相似习题和对应的第一表达式拼接得到第一拼接信息,每道第一相似习题对应一个第一拼接信息。
一个实施例中,从习题库中获取第一相似习题和第一表达式后,将第一表达式转换成前缀表达式。其中,前缀表达式是指将运算符号写在前面,将操作数写在后面。前缀表达式可以消除第一表达式中的括号,减小第一表达式的长度,减小习题分析模型的数据处理量,降低习题分析模型的推理难度。例如,第一表达式为:1-(2+3),其前缀表达式为:-1+23,该前缀表达式中消除了括号。
一个实施例中,将第一相似习题和第一表达式(这里为前缀表达式)进行拼接,将拼接后得到的内容记为第一拼接信息,此时,每道第一相似习题对应一个第一拼接信息。
步骤132、利用特征表示模型分别提取待求解习题的第一语义信息和第一拼接信息的第二语义信息。
示例性的,特征表示模型为习题分析模型中的一个子模型,其用于对输入的内容进行语义学习,以提取对应的语义特征,特征表示模型的结构可根据实际情况设置,例如,特征表示模型由多个transformer模块组成,transformer是一种神经语言程序学(Neuro-Linguistic Programming,NLP)经典模型,其采用自注意力(Self-Attention)机制,一个实施例中特征表示模型包括六个transformer模块。可选的,transformer模块使用的自注意力机制,会出现数据泄露的问题,如将第一拼接信息输入习题分析模型后,习题分析模型处理第一相似习题时会关注到第一表达式,因此,在特征表示模型中应用掩码机制,以在特征表示模型中设置掩码矩阵,通过该掩码矩阵可以使特征表示模型明确处理过程中应用关注哪部分内容。一个实施例中,设置掩码矩阵的依据是:处理习题时,只关注习题本身,处理表达式时,关注习题和当前时刻之前处理的表达式,可理解,人类在解答习题时,书写表达式时,当前时刻书写表达式中某个数字或符号时,只能阅读到当前时刻之前书写的内容,无法阅读到当前时刻之后书写的内容,因此,掩码矩阵在处理表达式时只关注当前时刻之前处理的表达式。
一个实施例中,将待求解习题输入特征表示模型后,特征表示模型识别待求解习题,即对待求解习题进行特征学习,以明确待求解习题的语义,进而输出语义信息,一个实施例中,将待求解习题对应的语义信息记为第一语义信息。可理解,输入待求解习题时,特征表示模型可处理的内容只有待求解习题,即特征表示模型只会关注到待求解习题,因此,特征表示模型使用掩码矩阵时,也只关注习题本身(当前为待求解习题)。同样的,将第一拼接信息输入特征表示模型后,特征表示模型识别第一拼接信息,即对第一相似习题和第一表达式进行特征学习,以明确第一相似习题和第一表达式的语义,进而输出语义信息,一个实施例中,将第一拼接信息对应的语义信息记为第二语义信息。可理解,输入第一拼接信息时,特征表示模型使用掩码矩阵处理第一相似习题时只关注习题本身、处理第一表达式时关注习题和当前时刻之前处理的第一表达式。需说明,每个第一拼接信息输入至特征表示模型后,可得到每个第一拼接信息的第二语义信息。
可理解,当前使用同一特征表示模型处理待求解习题和第一拼接信息,实际应用中,可设置两个特征表示模型,一个用于提取第一语义信息,一个用于提取第二语义信息。
步骤133、将第一相似习题、对应的第一表达式和待求解习题拼接得到第二拼接信息,每道第一相似信息对应一个第二拼接信息。
一个实施例中,将第一相似习题、第一表达式(这里为前缀表达式)和待求解习题依次进行拼接,将拼接后得到的内容记为第二拼接信息,此时,待求解习题与每道第一相似习题分别拼接一次,此时,一道第一相似习题对应一个第二拼接信息。
步骤134、利用类比学习模型得到第二拼接信息的第三语义信息。
示例性的,类比学习模型为习题分析模型中的一个子模型,其用于对第二拼接信息中的内容进行比较,找到它们的相似关系,并以这种关系为依据,把第一相似习题及第一表达式的有关知识适当整理以对应到待求解习题上,从而获得待求解习题的有关知识。一个实施例中,类比学习模型的结构可根据实际情况设置,例如,类比学习模型由多个transformer模块组成,一个实施例中,类比学习模型包括六个transformer模块。可理解,类比学习模型采用transformer模块时使用自注意力机制,也会出现数据泄露的问题,如将第二拼接信息输入习题分析模型后,类比学习模型处理第一相似习题时,会关注到第一表达式和待求解习题,造成数据泄露的问题,因此,在类比学习模型中应用掩码机制,通过对应的掩码矩阵可以使类比学习模型明确处理过程中应用关注哪部分内容。一个实施例中,设置掩码矩阵的依据是:处理第二拼接信息中的第一相似习题时,只关注第一相似习题本身,处理第一表达式时,关注第一相似习题和当前时刻之前处理的第一表达式,处理待求解习题时,关注待求解习题、第一相似习题和当前时刻之前处理的第一表达式,之后,输出类比学习到的特征,将类比学习模型输出的特征记为第三语义信息。可理解,每个第二拼接信息输入至类比学习模型后,均可以得到对应的第三语义信息。
步骤135、由推理模型根据第一语义信息、第二语义信息和第三语义信息推理得到待求解习题的待求解表达式。
示例性的,推理模型为习题分析模型中的一个子模型,其用于根据第一语义信息、第二语义信息和第三语义信息推理出待求解习题的待求解表达式。推理模型的具体结构可以根据实际情况设置,当前不作限定。推理模型在处理过程中,逐步得到待求解表达式。可选的,推理模型输出的待求解表达式可以为前缀表达式,此时,需要将前缀表达式转换为普通的表达式,还可选的,推理模型输出的待求解表达式为普通的表达式。
可理解,习题分析模型可以认为是记忆增强的神经网络,其可以结合习题库中相似习题推理得到待求解表达式。
需说明,上述提及的习题库可根据实际情况更新,当前对此不作限定。
步骤140、根据待求解表达式得到待求解习题的习题答案。
示例性的,根据待求解表达式包含的数字和运算符号进行计算,以得到最终的习题答案。可选的,得到习题答案后,显示该习题答案和待求解表达式,以便于用户明确待求解习题的解答思路和习题答案。
下面对习题分析方法进行示例性描述,本示例中,待求解习题为“李东拿5元钱买文具.他买铅笔已用去1.5元,剩下的钱买练习簿,每本0.35元.他可以买多少本练习簿?”。首先对待求解习题进行相似题检索,假设检索top1个第一相似习题(即第一相似习题的数量为1),当前检测到的第一相似习题为:“小兰拿10元钱去商店买文具,她买2支同样的圆珠笔,每支价格2.2元,剩下的钱正好买4本练习本,每本练习本多少元?”,并获取对应的第一表达式“x=(10-2.2*2)/4”。之后,将第一表达式转换为前缀表达式,即“x=(10-2.2*2)/4”转换为“/-10*2.2 2 4”。之后,将第一相似习题和前缀表达式输入特征表示模块进行特征学习得到第二语义信息,同样地,将待求解习题输入特征表示模块得到第一语义信息。然后,将第一相似习题和对应的前缀表达式以及待求解习题依次拼接后作为类比学习模块的输入,通过自注意力机制进行类比学习得到第三语义信息,最后使用推理模块进行推理,得到待求解习题的待求解表达式,该待求解表达式为前缀表达式,其具体为“/-5 1.5 0.35”,通过计算前缀表达式可得到最终的答案。
上述,通过获取待求解习题,在习题库中查找待求解习题相似的第一相似习题和对应的第一表达式,之后,将待求解习题、第一相似习题和第一表达式输入至习题分析模型,可以得到待求解表达式,进而根据待求解表达式得到习题答案的技术手段,解决了采用匹配应用题计算表达式模板时,易出现应用题答案错误或无法计算应用题答案的技术问题。习题分析模型在解答待求解习题时,参考了检索到的多道第一相似习题以及第一表达式,提高了习题分析模型的求解能力,不易出现解答错误或者无法计算的情况。并且,习题分析模型中的类比学习模型可以对第一相似习题和待求解习题进行类比学习,可以模拟人类求解应用题的逻辑,根据学习到的知识进行举一反三,并且,在特征表示模型和类比学习模型中分别应用不同的掩码矩阵,可以避免自注意力机制中数据泄露的问题,使得模型在不同阶段有选择性的对不同的信息进行学习,不仅使得特征识别模型和类比学习模型具有更强的区分能力和学习能力,同时,对于特征识别模型和类比学习模型的处理过程具有一定的解释性。
本申请一个实施例中,图2为本申请一个实施例提供的一种习题分析模型的训练方法流程图。图2所示的步骤是对上述习题分析模型进行训练的过程。可理解,习题分析模型的训练设备可以是习题分析设备,也可以是其他设备,当采用其他设备训练习题分析模型时,需要在习题分析设备中部署该习题分析模型。参考图2,习题分析模型通过以下步骤训练得到:
步骤210、获取已求解习题和对应的已知表达式。
示例性的,已求解习题是指当前已经明确其计算表达式的习题。一个实施例中,已求解习题与待求解习题类型相同,均为数学应用题。已求解习题可以为一道或多道,当前对此不做限定。
一个实施例中,获取已求解习题时,同步获取已求解习题的计算表达式,当前,将已求解习题的计算表达式记为已知表达式。已知表达式为准确的表达式。已求解习题和已知表达式的获取方式当前不作限定。
步骤220、在习题库中查找已求解习题的至少一道第二相似习题,并获取第二相似习题的第二表达式。
示例性的,将训练过程中,根据已求解习题在习题库中查找的相似习题记为第二相似习题,并将第二相似习题的计算表达式记为第二表达式。可理解,第二相似习题和第二表达式的查找方式与第一相似习题和第一表达式的查找方式相同,当前不作赘述。
可选的,在习题库中查找所述已求解习题的至少一道第二相似习题,并获取第二相似习题的第二表达式之后,还包括:将已知表达式和第二表达式分别转换为前缀表达式。
示例性的,为了减小后续习题分析模型的数据处理量,将已知表达式转换为前缀表达式,将各第二表达式也转换为前缀表达式,其中,该转换过程与将第一表达式转换为前缀表达式的方式相同,当前不作赘述。需说明,实际应用中,也可以在获取已知表达式时,就将已知表达式转换为前缀表达式。
步骤230、将已求解习题和已知表达式拼接得到第三拼接信息,将第二相似习题和对应的第二表达式拼接得到第四拼接信息,每道第二相似习题对应一个第四拼接信息。
示例性的,将已求解习题和已知表达式(这里为前缀表达式)进行拼接,将拼接后得到的内容记为第三拼接信息。将第二相似习题和第二表达式(这里为前缀表达式)进行拼接,将拼接后得到的内容记为第四拼接信息,此时,每道第二相似习题对应一个第四拼接信息。
步骤240、利用特征表示模型分别提取第三拼接信息的第四语义信息和第四拼接信息的第五语义信息。
一个实施例中,特征表示模型对第三拼接信息和第四拼接信息的处理方式,与对第一拼接信息的处理方式相同。可理解,训练过程中,特征表示模型处理第三拼接信息包括已知表达式,以便于特征表示模型进行学习,应用过程中,特征表示模型仅处理待求解习题,没有已知表达式。当前,特征表示模型由多个transformer模块组成,transformer模块基于预设的掩码矩阵进行自注意力矩阵的处理。
其中,第三拼接信息对应的掩码矩阵的行数和列数均等于第三拼接信息的长度;掩码矩阵中行和列均对应已知表达式的各元素组成特殊下三角矩阵,特殊下三角矩阵中主对角线上方的元素全为趋近于负无穷的数,特殊下三角矩阵中的主对角线以及下方的元素全为零,掩码矩阵中行和列均对应已求解习题的各元素全为零,掩码矩阵中行对应已求解习题且列对应已知表达式的各元素全为趋近于负无穷的数,掩码矩阵中行对应已知表达式且列对应已求解习题的各元素全为零。
举例而言,图3为本申请一个实施例提供的一种掩码矩阵示意图。参考图3,该掩码矩阵为特征表示模型处理第三拼接信息时使用的掩码矩阵,掩码矩阵中的元素包含两种数值,一种数值为零,一种数值为趋于负无穷的数,掩码矩阵的行数和列数等于第三拼接信息的长度,即掩码矩阵中某个元素对应的行和列均能在第三拼接信息中找到对应的内容。一个实施例中,掩码矩阵中,行和列均对应已求解习题的元素的值为零,其表示特征表示模型处理已求解习题时,关注已求解习题本身。掩码矩阵中,行对应已求解习题、列对应已知表达式的各元素为趋近于负无穷的数,其表示特征表示模型处理已求解习题时,不关注已知表达式。掩码矩阵中,行对应已知表达式、列对应已求解习题的各元素的值为零,其表示特征表示模型处理已知表达式时,关注已求解习题。掩码矩阵中,行和列均对应已知表达式的元素组成了特殊下三角矩阵,该特殊下三角矩阵中主对角线上方的元素全为趋近于负无穷的数,特殊下三角矩阵中的主对角线以及下方的元素全为零,其表示特征表示模型处理已知表达式时,关注当前时刻之前的已知表达式,其中,关注当前时刻之前的已知表达式可理解为关注已知表达式在当前时刻之前的表达式信息,举例而言,已知表达式为1+2+3+4,当前时刻习题分析模型应推理出的表达式信息为2,那么,当前时刻之前的表达式信息为1+。可理解,当特征表示模型处理某个内容时,通过掩码矩阵,明确该内容在掩码矩阵中对应的行,之后,根据掩码矩阵中该行中各元素的数值以及对应的列,明确处理该内容时的自注意力机制。需说明,每一个transformer模块均设置采用掩码矩阵进行处理,以避免数据泄露。
一个实施例中,transformer模块采用自注意力机制处理预设的掩码矩阵时,其处理过程通过以下公式实现:
Figure BDA0003256797440000131
Q=K=V∈Rn×d
其中,Attention(Q,K,V)为自注意力矩阵,其表示transformer模块更关注哪部分的信息,Q、K和V均表示单个输入变量(如第三拼接信息中各字符)对应的编码;M表示掩码矩阵,M∈Rn×n,n表示输入长度(如第三拼接信息的长度),d表示每个字符的向量维度,dk表示K的字符向量维度。将对应的M叠加到QKT后再经过softmax函数,相当于将趋近于负无穷的数转化为零,以不关注该部分对应的内容,将零转化为其他的数值(非零的正数),以关注该部分对应的内容。通过QKT计算得到的自注意力矩阵可以决定关注哪部分的信息。
一个实施例中,将特征表示模型对第三拼接信息进行识别后得到的语义信息记为第四语义信息,将特征表示模型对第四拼接信息进行识别后得到的语义信息记为第五语义信息。可理解,第四拼接信息与第三拼接信息的处理方式相同,当前不作赘述。
步骤250、将第二相似习题、对应的第二表达式、已求解习题和已知表达式拼接得到第五拼接信息,每个第二相似习题对应一个第五拼接信息。
一个实施例中,将第二相似习题、第二表达式(这里为前缀表达式)、已求解习题和已知表达式依次进行拼接,将拼接后得到的内容记为第五拼接信息,此时,已求解习题与每道第二相似习题分别拼接一次,此时,一道第二相似习题对应一个第五拼接信息。
步骤260、利用类比学习模型得到第五拼接信息的第六语义信息。
类比学习模型对第五拼接信息的处理方式与对第二拼接信息的处理方式相同。可理解,训练过程中,类比学习模型处理第五拼接信息包括已知表达式,以便于类比学习模型进行学习,应用过程中,类比学习模型仅处理待求解习题,没有已知表达式。当前,类比学习模型由多个transformer模块组成,transformer模块基于预设的掩码矩阵进行自注意力矩阵的处理。
其中,第五拼接信息对应的掩码矩阵的行数和列数均等于第五拼接信息的长度,掩码矩阵中行对应第二相似习题、第二表达式、已求解习题或已知表达式且列对应第二相似习题的元素全为零,掩码矩阵中行对应已求解习题或已知表达式且列对应第二表达式或已求解习题的元素全为零,掩码矩阵中行对应第二相似习题且列对应第二表达式、已求解习题或已知表达式的各元素全为趋近于负无穷的数,掩码矩阵中行对应第二表达式或已求解习题且列对应已知表达式的各元素全为趋近于负无穷的数,掩码矩阵中行和列均对应第二表达式的各元素以及行和列均对应已知表达式的各元素均组成特殊下三角矩阵,特殊下三角矩阵中主对角线上方的元素全为趋近于负无穷的数,特殊下三角矩阵中的主对角线以及下方的元素全为零,掩码矩阵中行对应第二表达式且列对应已求解习题的各元素全为趋近于负无穷的数。
举例而言,图4为本申请一个实施例提供的另一种掩码矩阵示意图。参考图4,该掩码矩阵为类比学习模型处理第四拼接信息时使用的掩码矩阵,掩码矩阵中的元素包含两种数值,一种数值为零,一种数值为趋于负无穷的数,掩码矩阵的行数和列数等于第五拼接信息的长度,即掩码矩阵中某个元素对应的行和列均能在第五拼接信息中找到对应的内容。一个实施例中,掩码矩阵中,行和列均对应第二相似习题的元素的值为零,其表示类比学习模型处理第二相似习题时,关注第二相似习题本身,掩码矩阵中,行对应第二相似习题且列对应第二表达式、已求解习题和已知表达式的各元素为趋近于负无穷的值,其表示类比学习模型处理第二相似习题时,不关注第二表达式、已求解习题和已知表达式。掩码矩阵中,行对应第二表达式且列对应第二相似习题的各元素的值为零,其表示类比学习模型处理第二表达式时,关注第二相似习题,掩码矩阵中,行和列均对应第二表达式的各元素组成特殊下三角矩阵,该特殊下三角矩阵中主对角线上方的元素全为趋近于负无穷的数,特殊下三角矩阵中的主对角线以及下方的元素全为零,其表示类比学习模型处理第二表达式时,关注当前时刻之前的第二表达式,掩码矩阵中,行对应第二相似习题且列对应已求解习题和已知表达式的各元素为趋近于负无穷的值,上述表示类比学习模型处理第二表达式时,不关注已求解习题和已知表达式。掩码矩阵中,行对应的已求解习题且列对应第二相似习题、第二表达式和已求解习题的各元素的值为零,其表示类比学习模型处理已求解习题时,关注第二相似习题、第二表达式和已求解习题,掩码矩阵中,行对应的已求解习题且列对应已知表达式的各元素为趋近于负无穷的数,其表示类比学习模型处理已求解习题时,不关注已知表达式。掩码矩阵中,行对应的已知表达式且列对应第二相似习题、第二表达式和已求解习题的各元素的值为零,其表示类比学习模型处理已知表达式时,关注第二相似习题、第二表达式和已求解习题,掩码矩阵中,行对应的已知表达式且列对应已知表达式的各元素组成特殊下三角矩阵,其表示类比学习模型处理已知表达式时,关注当前时刻之前的已知表达式。可理解,当类比学习模型处理某个内容时,通过掩码矩阵,明确该内容在掩码矩阵中对应的行,之后,根据掩码矩阵中该行中各元素的数值以及对应的列,明确处理该内容时的自注意力机制。需说明,每一个transformer模块均设置采用掩码矩阵进行处理,以避免数据泄露。
一个实施例中,将类比学习模型对第五拼接信息进行识别后得到的语义信息记为第六语义信息。
可理解,特征表示模型和类比学习模型除了采用transformer模块,还可以采用其他的结构,如采用循环神经网络等,另外,除了采用自注意力机制外还可以采用其他注意力机制。
步骤270、由推理模型根据第四语义信息、第五语义信息和第六语义信息推理出已知表达式。
推理模型训练过程中的处理方式与前述应用过程中的处理方式相同。可理解,训练过程中,推理模型处理第四语义信息和第六语义信息中均参考了已知表达式,以便于推理模型进行学习,应用过程中,推理模型仅处理的内容没有已知表达式。一个实施例中,推理模型当前预测输出的计算表达式可以理解为推理出的已知表达式,习题分析模型最优的结果是推理出的已知表达式与原本的已知表达式完全一致。
步骤280、根据推理出的已知表达式构建第一损失函数。
示例性的,比对推理出的已知表达式与原本的已知表达式可以明确习题分析模型对已求解习题的解析是否准确,可理解,习题分析模型的准确度越高,推理出的已知表达式与原本的已知表达式越相似。一个实施例中,根据推理出的已知表达式构建习题分析模型的损失函数,损失函数通常作为学习准则与优化问题(当前为推理出的已知表达式尽可能接近原本的已知表达式)相联系,即通过最小化损失函数求解和评估模型(当前为习题分析模型)。当前,该损失函数记为第一损失函数。第一损失函数的函数类型可以根据实际情况设置,一个实施例中,第一损失函数表示为:
L1=-log(pθ(y|x))
Figure BDA0003256797440000161
其中,L1表示第一损失函数,x表示已求解习题,y表示已求解习题的已知表达式,θ表示习题分析模型的模型参数,z表示第二相似习题及对应的第二表达式,yi表示第i时刻习题分析模型推理出的已知表达式的表达式信息,y1:i-1表示已知表达式在i时刻之前的表达式信息,1≤i≤N,N为已知表达式的总长度,pθ(y|x)表示习题分析模型生成已知表达式的概率,z∈top-K(p(z|x))表示查找到的各第二相似习题。举例而言,已知表达式为1+2+3+4,当前时刻习题分析模型推理出的已知表达式的表达式信息(即yi)为3,已知表达式在当前时刻之前的表达式信息(即y1:i-1)为1+2+,即习题分析模型根据y1:i-1、x、z推理出了yi,之后,推理出全部的已知表达式后,便可以得到pθ(y|x)。由上述内容可知,将已求解习题、已知表达式、第二相似习题和第二表达式经过习题分析模型的模型参数后,可以推理出已知表达式,进而得到习题分析模型推理出原始的已知表达式的概率,并根据该概率构建第一损失函数。
步骤290、根据第一损失函数更新习题分析模型的模型参数,直到第一损失函数收敛为止。
示例性的,根据第一损失函数更新习题分析模型的模型参数,以提高习题分析模型的准确度,之后,再获取新的已求解习题和已知表达式,并再次重复上述训练过程,以再次得到第一损失函数,并更新习题分析模型的模型参数,直到第一损失函数收敛为止。一个实施例中第一损失函数收敛是指连续多次得到的第一损失函数在设定的数值范围内,该范围下,习题分析模型的准确度满足期望的准确度。可选的,对习题分析模型训练时,还包括验证过程,验证过程可以理解为将已求解习题作为待求解习题,并通过习题分析模型得到对应的已知表达式,之后,将已知表达式和原本的已知表达式进行比较,以验证习题分析模型的准确度。
在本申请一个实施例中,为了让第二表达式具备表达式学习能力,针对第二表达式的生成也设计了一个损失函数,此时,习题分析模型在训练过程中,还可以根据第二相似习题的有关语义信息推理出第二相似习题对应的计算表达式,即推理出第二表达式,习题分析模型的准确度越高,推理出的第二表达式和原本的第二表达式越相似。此时,由推理模型根据第四语义信息、第五语义信息和第六语义信息推理得到已求解习题的第二已知表达式时,还包括:由推理模型推理出第二表达式;根据推理出的第二表达式构建第二损失函数。
一个实施例中,根据推理出的第二表达式构建习题分析模型的另一损失函数。当前,该损失函数记为第二损失函数。第二损失函数的函数类型可以根据实际情况设置,一个实施例中,第二损失函数表示为:
第二损失函数表示为:
Figure BDA0003256797440000171
其中,L2表示第二损失函数,zq表示第二相似习题,
Figure BDA0003256797440000172
表示第i时刻习题分析模型推理出的第二表达式的表达式信息,
Figure BDA0003256797440000173
表示第二表达式在i时刻之前的表达式信息,θ表示习题分析模型的模型参数,1≤i≤N,N为第二相似习题对应的第二表达式的总长度。由上述公式可知,根据第二相似习题和当前时刻以前的第二表达式的表达式信息经过习题分析模型的模型参数后,可以得到当前时刻推理出的第二表达式的表达式信息,进而得到习题分析模型生成当前时刻对应第二表达式的概率,并根据该概率构建第二损失函数。
构建第二损失函数后,可以将第一损失函数和第二损失函数共同作为习题分析模型的损失函数,以训练习题分析模型。此时,根据第一损失函数更新习题分析模型的模型参数,直到第一损失函数收敛为止包括:根据第一损失函数和第二损失函数更新习题分析模型的模型参数,直到第一损失函数和第二损失函数收敛为止。
一个实施例中,习题分析模型可以通过第一损失函数和第二损失函数进行联合学习,此时,习题分析模型最终使用的损失函数可以表示为:
L=λL1+(1-λ)L2
其中,L1表示第一损失函数,L2表示第二损失函数,λ为超参数,其具体值可以根据实际情况设置,一个实施例中,λ为0.5,以使习题分析模型对两个任务(包括推理已知表达式和第二表达式)具备相同的学习能力。
可理解,根据第一损失函数和第二损失函数训练习题分析模型的过程与步骤290的训练过程相同,当前不作限定。训练得到的习题分析模型对待求解习题进行解答时,不易出现解答错误或者无法计算的情况。并且,习题分析模型中的类比学习模型可以模拟人类求解应用题的逻辑,根据学习到的知识进行举一反三,特征表示模型和类比学习模型中分别应用不用的掩码矩阵,可以避免自注意力机制中数据泄露的问题,使得模型在不同阶段有选择性的对不同的信息进行学习,不仅使得特征识别模型和类比学习模型具有更强的区分能力和学习能力,同时,对于特征识别模型和类比学习模型的处理过程具有一定的解释性。
本申请一个实施例中,将习题分析模型应用于公开的数据集math23k并与其他先进的算法进行对比,math23k是一个大规模数据集,包含23162个题目,在该数据集上达到更高的准确率,说明模型具备更好的自动解题能力。对各模型使用五折交叉验证进行评估(表示为“Math23k*”),或者使用公开的测试集进行评估(表示为“Math23k”)。表1为本方法与已有方法的效果对比:
Model Math23k Math23k*
GROUP-ATT 69.5 66.9
GTS 75.6 74.3
TSN-MD 77.4 75.1
Graph2Tree 77.4 75.5
习题分析模型 79.7 78.2
表1
表1中,GROUP-ATT、GTS、TSN-MD和Graph2Tree均为现有的自动学习模型,通过表1可知,习题分析模型相比于现有模型,准确率超过至少2%。
图5为本申请一个实施例提供的一种习题分析装置的结构示意图,参考图5,该习题分析装置包括获取模块301、查找模块302、分析模块303、求解模块304。
其中,获取模块301,用于获取待求解习题;查找模块302,用于在习题库中查找待求解习题的至少一道第一相似习题,并获取第一相似习题的第一表达式;分析模块303,用于将待求解习题、第一相似习题以及对应的第一表达式输入至习题分析模型,由习题分析模型分析得到待求解习题的待求解表达式;求解模块304,用于根据待求解表达式得到待求解习题的习题答案。
在本申请一个实施例中,习题分析模型由特征表示模型、类比学习模型和推理模型组成,分析模块303包括:第一拼接单元,用于将第一相似习题和对应的第一表达式拼接得到第一拼接信息,每道第一相似习题对应一个第一拼接信息;第一提取单元,用于利用特征表示模型分别提取待求解习题的第一语义信息和第一拼接信息的第二语义信息;第二拼接单元,用于将第一相似习题、对应的第一表达式和待求解习题拼接得到第二拼接信息,每道第一相似习题对应一个第二拼接信息;第一类比单元,用于利用类比学习模型得到第二拼接信息的第三语义信息;第一推理单元,用于由推理模型根据第一语义信息、第二语义信息和第三语义信息推理得到待求解习题的待求解表达式。
在本申请一个实施例中,查找模块302包括:第一分词单元,用于对待求解习题进行分词,得到待求解习题出现的全部第一词汇;词向量查找单元,用于在语料库中查找第一词汇对应的词向量;第一句向量确定单元,用于根据各第一词汇对应的词向量得到待求解习题的第一句向量;相似度计算单元,用于计算第一句向量与习题库中各习题的第二句向量之间的相似度,第二句向量根据语料库中的词向量确定;习题查找单元,用于获取相似度最高的多个第二句向量,并将获取的第二句向量对应的习题作为查找到的第一相似习题,以及获取第一相似习题的第一表达式。
在本申请一个实施例中,还包括:第二分词模块,用于对习题库中各习题进行分词,得到习题库中出现的全部第二词汇;词向量确定模块,用于利用向量化模型得到每个第二词汇对应的词向量,各词向量组成语料库;第二句向量确定模块,用于对习题中各第二词汇的词向量进行均值化,以得到习题的第二句向量。
在本申请一个实施例中,第一句向量表示为:
Figure BDA0003256797440000191
其中,
Figure BDA0003256797440000192
表示待求解习题的第一句向量,K表示待求解习题包含的第一词汇的总数量,D表示语料库,Vnk表示待求解习题中第k个第一词汇对应的词向量,Vnk∈D表示在语料库中存在第k个第一词汇对应的词向量,Znj表示待求解习题中第j个第一词汇对应的零向量,
Figure BDA0003256797440000193
表示在语料库中不存在第j个第一词汇对应的词向量。
在本申请一个实施例中,还包括:已知获取模块,用于获取已求解习题和对应的已知表达式;已知查找模块,用于在习题库中查找已求解习题的至少一道第二相似习题,并获取第二相似习题的第二表达式;第三拼接模块,用于将已求解习题和已知表达式拼接得到第三拼接信息,将第二相似习题和对应的第二表达式拼接得到第四拼接信息,每道第二相似习题对应一个第四拼接信息;第二提取模块,用于利用特征表示模型分别提取第三拼接信息的第四语义信息和第四拼接信息的第五语义信息;第五拼接模块,用于将第二相似习题、对应的第二表达式、已求解习题和已知表达式拼接得到第五拼接信息,每个第二相似习题对应一个第五拼接信息;第二类比模块,用于利用类比学习模型得到第五拼接信息的第六语义信息;第二推理模块,用于由推理模型根据第四语义信息、第五语义信息和第六语义信息推理出已知表达式;函数构建模块,用于根据推理出的已知表达式构建第一损失函数;训练模块,用于根据第一损失函数更新习题分析模型的模型参数,直到第一损失函数收敛为止。
在本申请一个实施例中,函数构建模块还用于:由推理模型推理出第二表达式;根据推理出的第二表达式构建第二损失函数。相应的,训练模块具体用于:根据第一损失函数和第二损失函数更新习题分析模型的模型参数,直到第一损失函数和第二损失函数收敛为止。
在本申请一个实施例中,特征表示模型述类比学习模型均由多个transformer模块组成,transformer模块基于预设的掩码矩阵进行自注意力矩阵的处理。
在本申请一个实施例中,第三拼接信息对应的掩码矩阵的行数和列数均等于第三拼接信息的长度;掩码矩阵中行和列均对应已知表达式的各元素组成特殊下三角矩阵,特殊下三角矩阵中主对角线上方的元素全为趋近于负无穷的数,特殊下三角矩阵中的主对角线以及下方的元素全为零,掩码矩阵中行和列均对应已求解习题的各元素全为零,掩码矩阵中行对应已求解习题且列对应已知表达式的各元素全为趋近于负无穷的数,掩码矩阵中行对应已知表达式且列对应已求解习题的各元素全为零。
在本申请一个实施例中,第五拼接信息对应的掩码矩阵的行数和列数均等于第五拼接信息的长度;掩码矩阵中行对应第二相似习题、第二表达式、已求解习题或已知表达式且列对应第二相似习题的元素全为零,掩码矩阵中行对应已求解习题或已知表达式且列对应第二表达式或已求解习题的元素全为零,掩码矩阵中行对应第二相似习题且列对应第二表达式、已求解习题或已知表达式的各元素全为趋近于负无穷的数,掩码矩阵中行对应第二表达式或已求解习题且列对应已知表达式的各元素全为趋近于负无穷的数,掩码矩阵中行和列均对应第二表达式的各元素以及行和列均对应已知表达式的各元素均组成特殊下三角矩阵,特殊下三角矩阵中主对角线上方的元素全为趋近于负无穷的数,特殊下三角矩阵中的主对角线以及下方的元素全为零,掩码矩阵中行对应第二表达式且列对应已求解习题的各元素全为趋近于负无穷的数。
在本申请一个实施例中,第一损失函数表示为:
L1=-log(pθ(y|x))
Figure BDA0003256797440000201
其中,L1表示第一损失函数,x表示已求解习题,y表示已求解习题的已知表达式,θ表示习题分析模型的模型参数,z表示第二相似习题及对应的第二表达式,yi表示第i时刻习题分析模型推理出的已知表达式的表达式信息,y1:i-1表示已知表达式在i时刻之前的表达式信息,1≤i≤N,N为已知表达式的总长度,pθ(y|x)表示习题分析模型生成已知表达式的概率,z∈top-K(p(z|x))表示查找到的各第二相似习题。
在本申请一个实施例中,第二损失函数表示为:
Figure BDA0003256797440000202
其中,L2表示第二损失函数,zq表示第二相似习题,
Figure BDA0003256797440000203
表示第i时刻习题分析模型推理出的第二表达式的表达式信息,
Figure BDA0003256797440000204
表示第二表达式在i时刻之前的表达式信息,θ表示习题分析模型的模型参数,1≤i≤N,N为第二相似习题对应的第二表达式的总长度。
在本申请一个实施例中,还包括,转换模块,用于在习题库中查找已求解习题的至少一道第二相似习题,并获取二相似习题的第二表达式之后,将已知表达式和第二表达式分别转换为前缀表达式。
上述提供的习题分析装置可用于执行上述任意实施例提供的习题分析方法,具备相应的功能和有益效果。
值得注意的是,上述习题分析装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
图6为本申请一个实施例提供的一种习题分析设备的结构示意图。如图6所示,该习题分析设备包括处理器40、存储器41、输入装置42、输出装置43;习题分析设备中处理器40的数量可以是一个或多个,图6中以一个处理器40为例习题分析设备中处理器40、存储器41、输入装置42、输出装置43可以通过总线或其他方式连接,图6中以通过总线连接为例。
存储器41作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例中的习题分析方法对应的程序指令/模块(例如,习题分析装置中的获取模块、查找模块、分析模块、求解模块)。处理器40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行习题分析设备的各种功能应用以及数据处理,即实现上述的习题分析方法。
存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据习题分析设备的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至习题分析设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置42可用于接收输入的数字或字符信息,以及产生与习题分析设备的用户设置以及功能控制有关的键信号输入。输出装置43可包括显示屏等显示设备。
上述习题分析设备包含习题分析装置,可以用于执行任意习题分析方法,具备相应的功能和有益效果。
此外,本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本申请任意实施例所提供的习题分析方法中的相关操作,且具备相应的功能和有益效果。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。
因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。

Claims (16)

1.一种习题分析方法,其特征在于,包括:
获取待求解习题;
在习题库中查找所述待求解习题的至少一道第一相似习题,并获取所述第一相似习题的第一表达式;
将所述待求解习题、所述第一相似习题以及对应的第一表达式输入至习题分析模型,由所述习题分析模型分析得到所述待求解习题的待求解表达式;
根据所述待求解表达式得到所述待求解习题的习题答案。
2.根据权利要求1所述的习题分析方法,其特征在于,所述习题分析模型由特征表示模型、类比学习模型和推理模型组成,
所述将所述待求解习题、所述第一相似习题以及对应的第一表达式输入至习题分析模型,由所述习题分析模型分析得到所述待求解习题的待求解表达式包括:
将所述第一相似习题和对应的第一表达式拼接得到第一拼接信息,每道所述第一相似习题对应一个第一拼接信息;
利用特征表示模型分别提取所述待求解习题的第一语义信息和所述第一拼接信息的第二语义信息;
将所述第一相似习题、对应的第一表达式和所述待求解习题拼接得到第二拼接信息,每道所述第一相似习题对应一个第二拼接信息;
利用类比学习模型得到所述第二拼接信息的第三语义信息;
由推理模型根据所述第一语义信息、所述第二语义信息和所述第三语义信息推理得到所述待求解习题的待求解表达式。
3.根据权利要求1所述的习题分析方法,其特征在于,所述在习题库中查找所述待求解习题的至少一道第一相似习题包括:
对所述待求解习题进行分词,得到所述待求解习题出现的全部第一词汇;
在语料库中查找所述第一词汇对应的词向量;
根据各所述第一词汇对应的词向量得到所述待求解习题的第一句向量;
计算所述第一句向量与习题库中各习题的第二句向量之间的相似度,所述第二句向量根据所述语料库中的词向量确定;
获取相似度最高的至少一个第二句向量,并将获取的第二句向量对应的习题作为查找到的第一相似习题。
4.根据权利要求3所述的习题分析方法,其特征在于,还包括:
对所述习题库中各习题进行分词,得到所述习题库中出现的全部第二词汇;
利用向量化模型得到每个所述第二词汇对应的词向量,各所述词向量组成所述语料库;
对所述习题中各第二词汇的词向量进行均值化,以得到所述习题的第二句向量。
5.根据权利要求3所述的习题分析方法,其特征在于,所述第一句向量表示为:
Figure FDA0003256797430000021
其中,
Figure FDA0003256797430000022
表示待求解习题的第一句向量,K表示待求解习题包含的第一词汇的总数量,D表示语料库,Vnk表示待求解习题中第k个第一词汇对应的词向量,Vnk∈D表示在语料库中存在第k个第一词汇对应的词向量,Znj表示待求解习题中第j个第一词汇对应的零向量,
Figure FDA0003256797430000023
表示在语料库中不存在第j个第一词汇对应的词向量。
6.根据权利要求2所述的习题分析方法,其特征在于,所述习题分析模型通过以下步骤训练得到:
获取已求解习题和对应的已知表达式;
在习题库中查找所述已求解习题的至少一道第二相似习题,并获取所述第二相似习题的第二表达式;
将所述已求解习题和所述已知表达式拼接得到第三拼接信息,将所述第二相似习题和对应的第二表达式拼接得到第四拼接信息,每道所述第二相似习题对应一个第四拼接信息;
利用所述特征表示模型分别提取所述第三拼接信息的第四语义信息和所述第四拼接信息的第五语义信息;
将所述第二相似习题、对应的第二表达式、所述已求解习题和所述已知表达式拼接得到第五拼接信息,每道所述第二相似习题对应一个第五拼接信息;
利用类比学习模型得到所述第五拼接信息的第六语义信息;
由推理模型根据所述第四语义信息、所述第五语义信息和所述第六语义信息推理出所述已知表达式;
根据推理出的所述已知表达式构建第一损失函数;
根据所述第一损失函数更新所述习题分析模型的模型参数,直到所述第一损失函数收敛为止。
7.根据权利要求6所述的习题分析方法,其特征在于,所述由推理模型根据所述第四语义信息、所述第五语义信息和所述第六语义信息推理出所述已知表达式时,还包括:
由所述推理模型推理出所述第二表达式;
根据推理出的所述第二表达式构建第二损失函数;
所述根据所述第一损失函数更新所述习题分析模型的模型参数,直到所述第一损失函数收敛为止包括:
根据所述第一损失函数和所述第二损失函数更新所述习题分析模型的模型参数,直到所述第一损失函数和所述第二损失函数收敛为止。
8.根据权利要求6所述的习题分析方法,其特征在于,所述特征表示模型和所述类比学习模型均由多个transformer模块组成,所述transformer模块基于预设的掩码矩阵进行自注意力矩阵的处理。
9.根据权利要求8所述的习题分析方法,其特征在于,所述第三拼接信息对应的掩码矩阵的行数和列数均等于所述第三拼接信息的长度;
所述掩码矩阵中行和列均对应所述已知表达式的各元素组成特殊下三角矩阵,所述特殊下三角矩阵中主对角线上方的元素全为趋近于负无穷的数,所述特殊下三角矩阵中的主对角线以及下方的元素全为零,所述掩码矩阵中行和列均对应所述已求解习题的各元素全为零,所述掩码矩阵中行对应所述已求解习题且列对应所述已知表达式的各元素全为趋近于负无穷的数,所述掩码矩阵中行对应所述已知表达式且列对应所述已求解习题的各元素全为零。
10.根据权利要求8所述的习题分析方法,其特征在于,所述第五拼接信息对应的掩码矩阵的行数和列数均等于所述第五拼接信息的长度;
所述掩码矩阵中行对应所述第二相似习题、所述第二表达式、所述已求解习题或所述已知表达式且列对应第二相似习题的元素全为零,所述掩码矩阵中行对应已求解习题或所述已知表达式且列对应第二表达式或所述已求解习题的元素全为零,所述掩码矩阵中所述行对应所述第二相似习题且列对应所述第二表达式、所述已求解习题或所述已知表达式的各元素全为趋近于负无穷的数,所述掩码矩阵中所述行对应所述第二表达式或所述已求解习题且列对应所述已知表达式的各元素全为趋近于负无穷的数,所述掩码矩阵中行和列均对应第二表达式的各元素以及行和列均对应已知表达式的各元素均组成特殊下三角矩阵,所述特殊下三角矩阵中主对角线上方的元素全为趋近于负无穷的数,所述特殊下三角矩阵中的主对角线以及下方的元素全为零,所述掩码矩阵中行对应第二表达式且列对应已求解习题的各元素全为趋近于负无穷的数。
11.根据权利要求6所述的习题分析方法,其特征在于,所述第一损失函数表示为:
L1=-log(pθ(y|x))
Figure FDA0003256797430000031
其中,L1表示第一损失函数,x表示已求解习题,y表示已求解习题的已知表达式,θ表示习题分析模型的模型参数,z表示第二相似习题及对应的第二表达式,yi表示第i时刻习题分析模型推理出的已知表达式的表达式信息,y1:i-1表示已知表达式在i时刻之前的表达式信息,1≤i≤N,N为已知表达式的总长度,pθ(y|x)表示习题分析模型生成已知表达式的概率,z∈top-K(p(z|x))表示查找到的各第二相似习题。
12.根据权利要求7所述的习题分析方法,其特征在于,所述第二损失函数表示为:
Figure FDA0003256797430000041
其中,L2表示第二损失函数,zq表示第二相似习题,
Figure FDA0003256797430000042
表示第i时刻习题分析模型推理出的第二表达式的表达式信息,
Figure FDA0003256797430000043
表示第二表达式在i时刻之前的表达式信息,θ表示习题分析模型的模型参数,1≤i≤N,N为第二相似习题对应的第二表达式的总长度。
13.根据权利要求6所述的习题分析方法,其特征在于,所述在习题库中查找所述已求解习题的至少一道第二相似习题,并获取所述第二相似习题的第二表达式之后,还包括:
将已知表达式和第二表达式分别转换为前缀表达式。
14.一种习题分析装置,其特征在于,包括:
获取模块,用于获取待求解习题;
查找模块,用于在习题库中查找所述待求解习题的至少一道第一相似习题,并获取所述第一相似习题的第一表达式;
分析模块,用于将所述待求解习题、所述第一相似习题以及对应的第一表达式输入至习题分析模型,由所述习题分析模型分析得到所述待求解习题的待求解表达式;
求解模块,用于根据所述待求解表达式得到所述待求解习题的习题答案。
15.一种习题分析设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-13中任一所述的习题分析方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-13中任一所述的习题分析方法。
CN202111062194.4A 2021-09-10 2021-09-10 习题分析方法、装置、设备及存储介质 Pending CN115809663A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111062194.4A CN115809663A (zh) 2021-09-10 2021-09-10 习题分析方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111062194.4A CN115809663A (zh) 2021-09-10 2021-09-10 习题分析方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN115809663A true CN115809663A (zh) 2023-03-17

Family

ID=85480928

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111062194.4A Pending CN115809663A (zh) 2021-09-10 2021-09-10 习题分析方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115809663A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117350274A (zh) * 2023-10-08 2024-01-05 华中师范大学 一种基于已有习题自动合成新的几何证明题的方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117350274A (zh) * 2023-10-08 2024-01-05 华中师范大学 一种基于已有习题自动合成新的几何证明题的方法及系统

Similar Documents

Publication Publication Date Title
Terechshenko et al. A comparison of methods in political science text classification: Transfer learning language models for politics
CN110619044B (zh) 一种情感分析方法、系统、存储介质及设备
CN114565104A (zh) 语言模型的预训练方法、结果推荐方法及相关装置
CN110597966A (zh) 自动问答方法及装置
CN113761868B (zh) 文本处理方法、装置、电子设备及可读存储介质
CN112257966A (zh) 模型处理方法、装置、电子设备及存储介质
CN114625858A (zh) 一种基于神经网络的政务问答智能回复方法及装置
CN112632253A (zh) 基于图卷积网络的答案抽取方法、装置及相关组件
Ye et al. Providing automated grading and personalized feedback
Sharma et al. Feature enhanced capsule networks for robust automatic essay scoring
CN117252739B (zh) 一种评卷方法、系统、电子设备及存储介质
Aksonov et al. Question-Answering Systems Development Based on Big Data Analysis
WO2022216462A1 (en) Text to question-answer model system
Touati-Hamad et al. Arabic quran verses authentication using deep learning and word embeddings
Meena et al. Evaluation of the descriptive type answers using hyperspace analog to language and self-organizing map
Ferreira et al. Adversarial bandit for online interactive active learning of zero-shot spoken language understanding
CN115809663A (zh) 习题分析方法、装置、设备及存储介质
Kondurkar et al. Modern applications with a focus on training chatgpt and gpt models: Exploring generative ai and nlp
CN111897955B (zh) 基于编解码的评语生成方法、装置、设备和存储介质
CN113010655A (zh) 一种机器阅读理解的回答与干扰项生成方法、装置
CN116521872B (zh) 一种认知和情感的联合识别方法、系统及电子设备
WO2023169301A1 (zh) 一种文本处理方法、装置及电子设备
Tashu et al. Deep learning architecture for automatic essay scoring
CN115600595A (zh) 一种实体关系抽取方法、系统、设备及可读存储介质
CN114239555A (zh) 一种关键词提取模型的训练方法及相关装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination