CN110414683B - 数学题解答方法及装置 - Google Patents

数学题解答方法及装置 Download PDF

Info

Publication number
CN110414683B
CN110414683B CN201910591038.3A CN201910591038A CN110414683B CN 110414683 B CN110414683 B CN 110414683B CN 201910591038 A CN201910591038 A CN 201910591038A CN 110414683 B CN110414683 B CN 110414683B
Authority
CN
China
Prior art keywords
mathematical
rule
solving
training data
model
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.)
Active
Application number
CN201910591038.3A
Other languages
English (en)
Other versions
CN110414683A (zh
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.)
iFlytek Co Ltd
Original Assignee
iFlytek 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 iFlytek Co Ltd filed Critical iFlytek Co Ltd
Priority to CN201910591038.3A priority Critical patent/CN110414683B/zh
Publication of CN110414683A publication Critical patent/CN110414683A/zh
Application granted granted Critical
Publication of CN110414683B publication Critical patent/CN110414683B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数学题解答方法及装置,其中,数学题解答方法针对现有的自然语言处理技术在数学解答场景中的弊端,提出利用基于第一训练数据预先构建的题目表示模型对数学题目进行自动的结构转化,为数学题及其背后的公理和定理提供链接桥梁,之后以此为基础再利用基于第二训练数据预先构建的解题规则模型对转化后的数学题目进行解答。可见本发明的构思在于通过两个各司其职的模型完成自然语言处理无法实现的特定数学语言表达以及相应的解题处理过程,使得计算机可以更加迅速且准确地自动运算出题目的答案,由此还可以更佳地辅助其他计算机批改系统和推荐类似题目系统。

Description

数学题解答方法及装置
技术领域
本发明涉及智能教育领域,尤其涉及一种数学题解答方法及装置。
背景技术
随着人工智能技术的发展和自然语言处理技术的不断成熟,相关的应用也得到了广泛的应用,然而现在关于自然语言处理相关的教育应用主要集中于语言类的应用,例如外语翻译、文章理解、语文英语阅卷等,鲜有涉及到数学领域,因为数学领域中存在着一套自成体系的文字符号系统,与日常使用的自然语言有明显的差别。
通常,数学题目涉及到基于公理的推理,无法直接使用现有存在的自然语言处理技术,每一道数学题题目背后都有相对应的公理,定理,数学语言(包含符号,公式,图形等),现有的自然语言处理技术难以获得相对应的关系,也不涉及逻辑推理的建立,例如“等差数列an的首项为1,公差为5,求第四项是多少”,就需要使用等差数列的通项公式以及第四项与通项公式之间的关系,以现有的自然语言处理技术无法准确对应地描述出上述知识点。关于数学解题的现有技术一方面只能针对简单表述的题目,直接地转化为等式或者等式组进行运算或者把一步算式拆解成多步进行规则匹配,例如计算“10+12-2”,先引入加法规则变成22-2,再引入减法规则变成20的最终结果,其中不涉及复杂的知识点;另一方面关注点主要集中在数学应用题的语言文字表达上,即如何进行题意理解的部分,例如现有技术可解决以下题目:“小明原有7块糖,送给小刚2块,又从小红处得到了4块糖,问小明现在有几块糖?”或者“x+y=10,当x=3时,y等于多少”的简单题目。一旦题目中涉及到需要使用数学公理和定理的数学题目则较难处理,例如“有一个存在5个数的集合,平均数为10,则这个集合的所有数累加的总和是多少?”。
发明内容
本发明旨在提供一种数学题解答方法及装置,基于数学知识表达结构特性,为数学题及其背后的公理和定理提供链接桥梁,使得计算机可以更加迅速且准确地自动运算出题目的答案。
本发明采用的技术方案如下:
一种数学题解答方法,包括:
利用基于第一训练数据预先构建的题目表示模型对数学题目进行结构转化;
利用基于第二训练数据预先构建的解题规则模型对转化后的数学题目进行解答。
可选地,所述第一训练数据的获得方式包括:
收集大量数学题目以及知识点数据;
将数学题目中所包含的知识点转变为结构化的表示形式,并标注出题干部分和问题部分,由此得到所述第一训练数据。
可选地,所述第二训练数据的获得方式包括:
收集大量数学题目及其解答步骤,以及数学运算规则数据;
将数学题目及其解答步骤中所包含的知识点转变为结构化的表示形式;
将数学运算规则转变为结构化表达的规则推导格式并汇总成规则库,所述规则推导格式包括前提条件和规则结论;
从所述规则库中为数学题目及其解答步骤匹配对应的数学运算规则,由此得到第二训练数据。
可选地,所述第二训练数据的获得方式还包括:
根据数学题目、解答步骤以及所用的数学运算规则,确定合法的实例化规则。
可选地,所述解题规则模型的训练方法包括:
提取并串联所述第二训练数据的解题特征;
在训练阶段将所述解题特征作为所述解题规则模型的输入,并将实例化规则的执行概率作为所述解题规则模型的输出。
可选地,所述第二训练数据包括:
数学题目或解答步骤的当前状态、所述当前状态所对应的数学运算规则,使用数学运算规则直接获得的知识点、执行数学运算规则后与所述当前状态合并得到的新知识点。
可选地,利用解题规则模型对数学题目进行解答包括:
将数学题目当前包含的知识点作为前提条件,查找对应的数学运算规则;
根据匹配到的数学运算规则及数学题目当前的知识点,确定合法的实例化规则;
判断通过合法的实例化规则直接得到的知识点中有无答案存在;
若有,则输出答案,解答结束;
若无,则从第二训练数据获取解题特征并输入至解题规则模型;
基于所述解题规则模型输出的结果,确定用于执行的目标实例化规则;
将执行所述目标实例化规则得到的知识点,加入到数学题目的原知识点,得到数学题目的新知识点;
返回至前述查找对应的数学运算规则的步骤,并重复执行以上步骤直至得到答案或者满足预设的终止条件,解答结束。
一种数学题解答装置,包括:
题目表示模块,用于利用基于第一训练数据预先构建的题目表示模型对数学题目进行结构转化;
题目解答模块,用于利用基于第二训练数据预先构建的解题规则模型对转化后的数学题目进行解答。
可选地,所述题目解答模块具体包括:
规则查询单元,用于将数学题目当前包含的知识点作为前提条件,查找对应的数学运算规则;
实例化规则生成单元,用于根据匹配到的数学运算规则及数学题目当前的知识点,确定合法的实例化规则;
答案检测单元,用于判断通过合法的实例化规则直接得到的知识点中有无答案存在;
答案输出单元,用于当所述答案检测单元判定为有时,输出答案,解答结束;
特征提取单元,用于当所述答案检测单元判定为无时,从第二训练数据获取解题特征并输入至解题规则模型;
实例化规则确定单元,用于基于所述解题规则模型输出的结果,确定用于执行的目标实例化规则;
新知识点获得单元,用于将执行所述目标实例化规则得到的知识点,加入到数学题目的原知识点,得到数学题目的新知识点;
循环单元,用于返回至前述查找对应的数学运算规则的步骤,并重复执行以上步骤直至得到答案或者满足预设的终止条件,解答结束。
一种数学题解答设备,包括:
存储器,用于存储计算机程序;
处理器,用于当执行所述计算机程序时,实现如上所述的数学题解答方法。
一种可读存储介质,所述可读存储介质上存储有计算机程序,当所述计算机程序被执行时,实现如上所述的数学题解答方法。
一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使所述终端设备执行上述数学题解答方法。
本发明提出的数学题解答方法针对现有的自然语言处理技术在数学解答场景中的弊端,提出利用基于第一训练数据预先构建的题目表示模型对数学题目进行自动的结构转化,为数学题及其背后的公理和定理提供链接桥梁,之后以此为基础再利用基于第二训练数据预先构建的解题规则模型对转化后的数学题目进行解答。可见本发明的构思在于通过两个各司其职的模型完成自然语言处理无法实现的特定数学语言表达以及基于此的解题处理,使得计算机可以更加迅速且准确地自动运算出题目的答案,由此还可以更佳地辅助其他计算机批改系统和推荐类似题目系统。
附图说明
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步描述,其中:
图1为本发明提供的数学题解答方法的实施例的流程图;
图2为本发明提供的第一训练数据获得方式的实施例的流程图;
图3为本发明提供的第二训练数据获得方式的实施例的流程图;
图4为本发明提供的一种优选的解题实施例的流程图;
图5为本发明提供的数学题解答装置的实施例的方框示意图。
附图标记说明:
1 题目表示模块 2 题目解答模块
具体实施方式
下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本发明提供了一种数学题解答方法的实施例,如图1所示,该方法可以包括如下步骤:
步骤S1、利用基于第一训练数据预先构建的题目表示模型对数学题目进行结构转化;
步骤S2、利用基于第二训练数据预先构建的解题规则模型对转化后的数学题目进行解答。
可见,本实施例的构思在于,通过两个各司其职的模型(两个模型的训练数据也可不同)完成自然语言处理无法实现的特定数学语言表达以及基于此的解题处理。其中,所述题目表示模型的主要作用是基于数学知识表达的特性,对数学题目进行结构转化,为数学题及其背后的公理和定理提供链接桥梁;解题规则模型的主要作用是相应于表达转化后的数学题目进行逐步解答,这里需先说明,解题规则模型顾名思义,是利用该模型匹配解题规则,并以此作为解题过程的推理基础。在实际操作中,可以从转化后的原始题目开始,提取相应特征作为输入数据,并由该解题规则模型输出匹配的数学运算规则逐步地对数学题目及后续解题步骤进行解答;也可以考虑为解题规则模型设定一个触发条件,在满足该条件后才开始特征提取、模型计算等规则确定处理,对于该方式后文将做具体说明。但无论实际操作中采用何种解题方案,上述实施例相较传统的自然语言处理技术在数学解答场景中的应用,均可以使计算机更加迅速且准确地自动运算出题目的答案,由此还可以进一步考虑的是,本发明提供的技术方案能够更佳地辅助其他同样基于计算机处理的批改系统和推荐类似题目系统等智能教育中的数学领域应用。
下文将在上述实施例的基础上,分别从“训练数据的构建”、“模型训练”以及“解题过程”三个方面具体介绍供参考的实施示例。
(一)训练数据的构建
第一训练数据、第二训练数据的获得(包括可能涉及的标注过程)在某些实施例中可以是全部或部分相似或一致的。而在本发明的一个较佳的实施例中提出,二者的获得方式可有如下区别:
(1)第一训练数据的获得方式如图2所示,可以包括:
步骤S1A、收集大量数学题目以及知识点数据;
收集数学题目可从数学教材、各类教辅以及试题中收集,但此处不限定每一道题以题目为单位需要有详细的逐步解题过程。数学知识点则可以收集教材上定义清晰的数学概念、公理、定理等,不限定包括相关推理知识。
步骤S1B、将数学题目中所包含的知识点转变为结构化的表示形式;
也即是基于用于输入的原始文本格式标注出期待的数据表示形式,具体而言,可以对收集到的数学题目进行结构化,让文字性和公式化描述的数学语言变成结构化的中间表示形式K1K2…Kn,每个Ki均代表一个知识点,换言之,题目中存在的所有数学概念、数学关系等均通过知识点Ki予以表示。例如整数x等于3可以转化为两个包含结构表达的数学知识点,“整数x”可以转化为“Integer(x)”,“x等于3”可以转化为“Equal(x,3)”。此外还可以将等式和不等式也表示为知识形式,例如简单地在外围包裹一个形容该算式性质的谓词:x+3=5可以转化为Equation(x+3=5)。以此类推,构建出每一道题目数据的结构化的中间表示形式;进一步地还可以包括下述步骤S1C。
步骤S1C、标注出题干部分和问题部分;
针对数学题目数据,还可以对问题部分(最后要解答的部分)进行标注,例如可以在Kq(此处Kq表示数学题目各知识点K1K2…Kn中有关问题部分的知识点)打上额外的#Question标记,余下的部分则为题干部分。或者也可用既定的两种不同符号分别指示出题干与问题,对此本发明不作限定。
以数列题举例“在等差数列an中,a1=1,a4=4,求通项公式an
将上述题目数据进行知识点结构化表达后为K1,K2,K3,Kq
ArithmeticProgression(a),Equation(NT(a,1)=1),Equation(NT(a,4)=4),NT(a,n)#Question(此处即标注出问题部分,使其余部分成为题干)
由上述过程,便得到第一训练数据(步骤S1D)。
(2)第二训练数据的获得方式如图3所示,可以包括:
步骤S2A、收集大量数学题目及其解答步骤,以及数学运算规则数据;
收集数据的来源同样也可从数学教材、各类教辅以及试题中收集。但此处与前述收集第一训练数据不同的是,限定出每一道题以题目为单位需要有详细的逐步解题过程(当然,本领域技术人员可知,收集到的解题步骤数据主要基于正确解答的试题),并且还需要收集关联到运算推理过程的数学运算规则,这是因为第二训练数据所服务的解题规则模型的作用即是通过匹配规则进行逐步解题。
步骤S2B、将数学题目及其解答步骤中所包含的知识点转变为结构化的表示形式;
由前文可知,解题规则模型的处理对象源于题目表示模型,而题目表示模型正是将数学知识点进行结构转化,因此为了衔接题目表示模型的输出,在构建解题规则模型的输入数据时也可相应地将收集到的数学题目及其解答步骤中所包含的知识点转变为结构化的表示形式,具体转化方式可参考前文步骤S1B,此处不再赘述。
步骤S2C、将数学运算规则转变为结构化表达的规则推导格式并汇总成规则库;
对于收集到的数学运算规则数据同样可进行结构化表达的转化,之后再以一个既定的规则推导格式表示并予以汇总成库,这里所称的规则推导格式可以包括前提条件和规则结论,具体可参考如下形式a1,a2…an→b,其中ai代表前提条件,b为规则结论,这里的ai与b均是先前定义的数学知识点的结构表示。直观而言,这条规则推导格式的含义是当所有知识点条件ai(1<i<n)均满足时,即ai所表示的知识为真,那么可以推出规则b成立。ai在实际数学题目中体现为存在该知识点的实例化形式(ai中的变量以常量替代),例如:
1、基础的解方程方法可以通过规则推导格式表示为:Solve(x)→A(x),x为方程组,A(x)为方程组的解所组成的等式,实际操作中,该条规则可以引入外部计算函数求解该方程后回传答案,比如Equation(x+1=2),则回传Equation(x=1),如果解不出则判定为前提条件不符合该条规则。
2、等差数列通项公式,假设X是个等差数列,则等差数列X的第N项为等差数列X的第一项加上项数减1乘以等差数列X的公差,可以通过规则推导格式表示为:
ArithmeticProgression(X)→Equation(NT(X,N)=NT(X,1)+(N-1)*CD(X))
上述仅为示意性举例,其他规则均可结合公理、定理以及专家知识等予以构建。
步骤S2D、从规则库中为数学题目及其解答步骤匹配对应的数学运算规则。
得到数学题目、解题步骤及规则的中间表示形式之后,为题目中每一步骤按照前提条件是否满足的要求匹配相应的规则,由此得到第二训练数据(步骤S2E),综上,第二训练数据可以具体包括:
1、数学题目或解答步骤的当前状态。如前所述,数学题目的当前状态即为原始题目所有的知识点表示形式,K1K2…Kn;解答步骤的当前状态即为当前步骤所有的知识点表示形式。在某些情形下可以理解为解答的“第一步”的当前状态即为题目的原始状态,之后的每一步则为上一步在使用规则后所获得的知识点与上一步当前状态的知识点汇总,同样可以表示为中间表示形式,K’1K’2…K’n
2、上述当前状态所对应的数学运算规则。具体可以包含规则名(规则标记)以及实例化的规则表达等,其中,实例化的规则顾名思义,即已经匹配上的数学运算规则中的各变量以当前数学题目真实知识点中的常量替代,使得数学运算规则中不出现诸如大写字母所表示的变量。本领域技术人员可以理解的是,规则实例化过程就是将通用的规则本身与当前题目或步骤相结合,使其表达出针对待解题目的特定描述形式。在实际操作中,还可以为规则实例化设定某些约束条件,例如规则中的变量只可使用题目或步骤的相同知识点中的常量,并且不能与其他常量产生冲突。例如推出的规则格式中包含“NT(a,N)”,而数学题目的知识点中包含NT(a,4)和NT(b,1),那么NT(a,N)只可以被知识点NT(a,4)实例化得到NT(a,4)。此外,基于规则实例化,在本发明的另一个较佳实施例中,获得第二数据的方式还可以包括根据数学题目、解答步骤以及所用的数学运算规则,确定出合法的实例化规则。在具体实施时首先将匹配的规则格式进行上述实例化操作,接着判断:如果数学题目或解答步骤在使用规则之前的知识点符合规则推导格式的全部前提条件,并且规则结论的知识点也不在所称当前状态的知识点之中,则称该规则格式为合法的实例化规则。在技术实现上,可将确定合法的实例化规则视为“匹配数学运算规则”过程的精筛操作,即进一步滤除冗余信息或者干扰规则执行的信息,得到更为精确贴合当前题目及步骤的规则格式。
3、使用数学运算规则直接获得的知识点、执行数学运算规则后与所述当前状态合并得到的新知识点。如果某一条规则格式为a1→b,那么数学题目或解题步骤的当前状态存在实例化的a1前提下,则可以直接获得实例化的b部分,实例化的b部分同样可表示为K”1K”2…K”n。需说明的是,这里所称实例化的b部分与前文提及的规则实例化,从操作层面而言基本相同,但二者所表达的含义有所区别:“规则的实例化”其侧重表达的是规则的呈现形式与本题常量相结合,“实例化的b部分”其侧重表达的是将实例化后的规则结论b视为由规则推理出的实例化结果。再者,关于所述新知识点,则是将直接获得实例化的b部分(用规则推理出的运算结果)并入未使用规则之前的所称当前状态中的知识点,得到新的当前知识。
上述内容可以针对每一个分步骤(包含原始题目所代表的第一步)进行统计、标注,即将每一个分步骤视为包含但不限于上述内容的训练单位,由此构建出第二训练数据。
(二)模型训练
(1)训练题目表示模型
题目表示模型的输入可以是数学题目的LaTeX格式的文本形式,并且可使用常规的NLP技术进行分词、词性标注和指代消解等处理操作,最后再使用现有的神经网络(机器翻译)的编解码网络结构进行模型训练。即模型的输入为处理完毕的数学题目的原文字表示,输出则为前文提及的经由标注的结构化的中间表示形式。
可以补充的是,针对不同的实施方案可有如下进一步的训练步骤:首先当存在#Question标注时,将中间表示形式中的#Question转变为单独的特殊标记,以实现对题干部分(也是后续匹配规则的前提条件部分)和问题部分进行分割,即将K1K2…Kn#Question变为K1K2…Kn-1,<Q-tag>,Kn,然后再对原文本题目以及中间表示形式中出现的变量进行掩码处理,变量标记为VAR,数字标记为NUM,例如整数x等于3,掩码处理后结果为整数VAR#1等于NUM#1,之后其余操作步骤可遵循现有的神经网络翻译技术进行操作,输出结果时再进行逆转掩码操作转化为原先的数值。按此训练得到数学题目的题干部分和问题部分的所有知识点的结构化形式,所达到的效果是训练完毕的题目表示模型能够自动生成任意新的数学题目的中间表示形式。
(2)训练解题规则模型
主要是从第二训练数据中抽取特征用来训练解题规则模型,目标是得到该条规则可能使用的概率(可在0~1之间),即本实施例中解题规则模型用来评估使用某条规则的可能性。这里所述解题规则模型的结构可以为多层感知器MLP模型或深度神经网络模型,如DNN、CNN等,对此本发明不做限定。
具体的训练过程可参考如下:
a.以前述第二训练数据为基础,提取并串联解题特征;
可提取的特征包括且不限于:
1、规则本身的标记特征R:依据该规则所含知识点进行类别区分,具体可通过与专家经验的结合对规则本身进行分类标记。
2、当前状态特征Vnow:即规则使用前的知识点状态表示,具体可通过题目表示模型中的词嵌入向量层(编解码网络结构中的第一层,把词典结构的数据转化成一种向量表示)把当前状态中知识点K1K2…Kn分别转化成向量表示形式V1V2..Vn,其中Vi表示相对应的Ki转成的词向量,最后再把所有的向量累加后归一化求得表达每一分步骤中(包括数学题目和解题步骤)的当前状态特征Vnow
3、当前分步利用规则得到的推理结果特征Vnew:用来表示执行该规则后直接获得的推理结果知识点,参考前述当前状态特征的操作,得到推理结果特征Vnew
4、实例化的规则的实例化特征Vused:规则与当前状态结合以突出本题目重点,参考前述当前状态特征的操作,得到实例化特征Vused
5、还可以包括最终问题特征Vfinal:用以衡量当前状态特征与最终目标之间的距离,参考前述当前状态特征的操作,得到最终问题特征Vfinal
b.串联上述特征向量得到作为模型输入的解题特征Vall,模型输出的类别标签则为选取某条实例化的规则真正用于当前运算的执行概率为1(最大),其余规则皆为0,以此作为目标将模型训练到收敛为止。
c.还可以补充的是,如遇到新的中间状态,则可通过该模型计算所有合法的实例化规则的评估分,以此决定哪一条规则应当被选用执行运算。
(三)解题过程
如前文提及的,在本发明的一个较佳实施例中考虑为解题规则模型设定一个触发条件,即在满足该条件后才开始特征提取、模型计算等规则确定处理操作,具体可参考图4示意的解题流程,其中可包括如下操作:
步骤S10、将数学题目当前包含的知识点作为前提条件,查找对应的数学运算规则;
当使用题目表示模型对待解答的数学题目进行处理,得到数学题目的结构化表示K1K2…Kn之后,可结合前述实施例提及的规则库,以当前状态K1K2…Kn作为前提条件从规则库中匹配规则,可以获得所有满足当前前提条件下的规则R1R2…Rm
步骤S11、根据匹配到的数学运算规则及数学题目当前的知识点,确定合法的实例化规则;
再从所有已匹配上的规则中按前文记载的方式进行实例化表达并筛选出合法的实例化规则。
步骤S12、判断通过合法的实例化规则直接得到的知识点中有无答案存在;若有,则执行步骤S13、输出答案,解答结束;
在实际操作中,通过合法的实例化规则直接得到的知识点中有无答案判断的条件为存在Equation(Q=X),Q为需要求解的问题,X为一个常量(在某些题型中常量即可以是数字或者题目中未明确说明该字母是个变量的字母),也即是经由规则实例化直接得到的推理结果中存在满足Equation(Q=X)格式的知识点存在,代表已经解答出正确答案,此时则可终止该题目的解答;如果不存在满足Equation(Q=X)格式的知识点,则为触发所述解题规则模型进行规则确定的条件,继续执行后续步骤S14、从第二训练数据获取解题特征并输入至解题规则模型。
可结合前文提及的方式,以该分步骤(数学题目或解题步骤)作为单位进行解题特征的提取,例如提取到当前步骤所用规则本身的标记特征向量、当前状态特征向量、推理结果特征向量、实例化特征向量以及最终问题特征向量。
步骤S15、基于解题规则模型输出的结果,确定用于执行的目标实例化规则;
将上述解题特征输入解题规则模型中,得到各合法的实例化规则的执行概率,从中选取执行概率最大的合法的实例化规则作为用于执行后续运算的目标实例化规则。
步骤S16、将执行目标实例化规则得到的知识点,加入到数学题目的原知识点,得到数学题目的新知识点;
由已确定的目标实例化规则得到的结果以知识点结构表示为Kn+1Kn+2…Km,将其加入到数学题目的原始的中间表示形式之中,得到该题目的新的知识表示K1K2…Kn,Kn+1Kn+2…Km。此步骤的目的可以理解为获得在未能直接得到答案的前提下,将中间运算结果代入题目并执行步骤S17、返回至前述步骤S10,并重复执行以上步骤直至得到答案或者满足预设的终止条件,解答结束。需说明的是所称预设的终止条件可以是指预设的解题累积步数的上限值或者是依既定规则判定为此题无解,以避免陷入死循环。
下文将综合前文实施例及其优选方案,以一个具体的数学题目作为完整的实施流程的示意说明“在等差数列an中,a1=1,a4=4,求通项公式an”。
输入至所述题目表示模型得到该题目的结构化形式,并对各知识点进行实例化表示:
ArithmeticProgression(a),Equation(NT(a,1)=1),Equation(NT(a,4)=4),NT(a,n)#Question(此处NT(a,n)即为待解的问题Q)
以ArithmeticProgression(a),Equation(NT(a,1)=1),Equation(NT(a,4)=4)作为前提条件查找数学运算规则,发现ArithmeticProgression(a)满足等差数列通项公式规则——
ArithmeticProgression(X)→Equation(NT(X,N)=NT(X,1)+(N-1)*CD(X))的前提条件(在实际中可能还存在其他匹配的规则,此处仅为简要说明,忽略其他匹配的规则)。以题目中的a实例化规则中的X得到:
ArithmeticProgression(a)→Equation(NT(a,N)=NT(a,1)+(N-1)*CD(a))
此时该条规则中还有一个变量N,为了得到完整的实例化规则,需要用题目所含知识点中的常量去实例化N,实例化NT(a,N)中的N可按照前文提及的实例化约束条件以及合法规则的规定,将本规则中的变量使用题目知识中的常量替代,实例化知识中的变量只可使用相同知识中的常量且其他常量不能有冲突,所以本题中满足该条件的只有NT(a,1)、NT(a,4)以及NT(a,n),由此上述规则中的变量N可以用1,4,n进行替换,得到对于当前步骤状态而言的实例化规则:
Equation(NT(a,n)=NT(a,1)+(n-1)*CD(a))
Equation(NT(a,4)=NT(a,1)+(4-1)*CD(a))
Equation(NT(a,1)=NT(a,1)+(1-1)*CD(a))
到此可以判断出上述实例化规则为合法的实例化规则并且也不存在答案知识点,于是可以提取上述各合法的实例化规则中的解题特征,并输入至解题规则模型计算出三个合法的实例化规则的执行概率,例如最终结果判定为Equation(NT(a,n)=NT(a,1)+(n-1)*CD(a))的概率最高,则把Equation(NT(a,n)=NT(a,1)+(n-1)*CD(a))作为实例化的当前运算结果加入原始的数学题目的结构化表示之中获得新的知识点表示:
ArithmeticProgression(a),Equation(NT(a,1)=1),Equation(NT(a,4)=4),NT(a,n)#Question,Equation(NT(a,n)=NT(a,1)+(n-1)*CD(a))
再返回判断出当前新的知识点中匹配的规则依旧为等差数列通项公式
ArithmeticProgression(X)→Equation(NT(X,N)=NT(X,1)+(N-1)*CD(X))
并以题目中的a再次实例化X得到:
ArithmeticProgression(a)→Equation(NT(a,N)=NT(a,1)+(N-1)*CD(a))
此时,因为Equation(NT(a,N)=NT(a,1)+(N-1)*CD(a))已存在新的当前状态中,因此Equation(NT(a,N)=NT(a,1)+(N-1)*CD(a))不合法,所以实例化原规则后得到新知识点仅剩两个,分别为
Equation(NT(a,4)=NT(a,1)+(4-1)*CD(a))
Equation(NT(a,1)=NT(a,1)+(1-1)*CD(a))
再通过所述解题规则模型的计算,选择
Equation(NT(a,4)=NT(a,1)+(4-1)*CD(a))作为新的目标实例化规则,并加入到当前的题目状态之中,获得新的知识点表示:
ArithmeticProgression(a),Equation(NT(a,1)=1),Equation(NT(a,4)=4),NT(a,n)#Question,Equation(NT(a,n)=NT(a,1)+(n-1)*CD(a)),Equation(NT(a,4)=NT(a,1)+(4-1)*CD(a))
这里可以循环上述操作,继续使用等差数列通项公式规则(最终仅剩Equation(NT(a,1)=NT(a,1)+(1-1)*CD(a))),或者匹配出解方程规则联立当前状态下全部知识点中的所有等式
Equation(NT(a,1)=1)
Equation(NT(a,4)=4)
Equation(NT(a,n)=NT(a,1)+(n-1)*CD(a))
Equation(NT(a,4)=NT(a,1)+(4-1)*CD(a))
通过解方程规则实例化后可得:
Equation(CD(a)=1)
Equation(NT(a,n)=n)
上述合法的实例化规则中包含了数学题目的待解答问题Q(NT(a,n)),且n为常数,即Equation(NT(a,n)=n)满足条件Equation(Q=X),至此解答过程执行完毕,可输出的最终结论即为通项公式an=n。
综上,本发明提出的数学题解答方法针对现有的自然语言处理技术在数学解答场景中的弊端,提出利用基于第一训练数据预先构建的题目表示模型对数学题目进行自动的结构转化,为数学题及其背后的公理和定理提供链接桥梁,之后以此为基础再利用基于第二训练数据预先构建的解题规则模型对转化后的数学题目进行解答。可见本发明的构思在于通过两个各司其职的模型完成自然语言处理无法实现的特定数学语言表达以及基于此的解题处理,使得计算机可以更加迅速且准确地自动运算出题目的答案,由此还可以更佳地辅助其他计算机批改系统和推荐类似题目系统。
相应于前述各实施例及其优选方案,本发明还提供了一种数学题解答装置的实施例,如图5所示,该装置可以包括:
题目表示模块1,用于利用基于第一训练数据预先构建的题目表示模型对数学题目进行结构转化;
题目解答模块2,用于利用基于第二训练数据预先构建的解题规则模型对转化后的数学题目进行解答。
进一步地,所述题目表示模块具体包括:
第一训练数据构建单元,用于收集大量数学题目以及知识点数据;将数学题目中所包含的知识点转变为结构化的表示形式,并标注出题干部分和问题部分,由此得到所述第一训练数据。
进一步地,所述题目解答模块具体包括:
第二训练数据构建单元,用于收集大量数学题目及其解答步骤,以及数学运算规则数据;将数学题目及其解答步骤中所包含的知识点转变为结构化的表示形式;将数学运算规则转变为结构化表达的规则推导格式并汇总成规则库,所述规则推导格式包括前提条件和规则结论;从所述规则库中为数学题目及其解答步骤匹配对应的数学运算规则,由此得到第二训练数据。
进一步地,所述第二训练数据构建单元还用于:
根据数学题目、解答步骤以及所用的数学运算规则,确定合法的实例化规则。
进一步地,所述装置还包括解题规则模型训练模块,所述模型训练模块具体包括:
特征提取单元,用于提取并串联所述第二训练数据的解题特征;
训练单元,用于在训练阶段将所述解题特征作为所述解题规则模型的输入,并将实例化规则的执行概率作为所述解题规则模型的输出。
进一步地,所述装置中的所述第二训练数据包括:
数学题目或解答步骤的当前状态、所述当前状态所对应的数学运算规则,使用数学运算规则直接获得的知识点、执行数学运算规则后与所述当前状态合并得到的新知识点。
进一步地,所述题目解答模块具体包括:
规则查询单元,用于将数学题目当前包含的知识点作为前提条件,查找对应的数学运算规则;
实例化规则生成单元,用于根据匹配到的数学运算规则及数学题目当前的知识点,确定合法的实例化规则;
答案检测单元,用于判断通过合法的实例化规则直接得到的知识点中有无答案存在;
答案输出单元,用于当所述答案检测单元判定为有时,输出答案,解答结束;
特征提取单元,用于当所述答案检测单元判定为无时,从第二训练数据获取解题特征并输入至解题规则模型;
实例化规则确定单元,用于基于所述解题规则模型输出的结果,确定用于执行的目标实例化规则;
新知识点获得单元,用于将执行所述目标实例化规则得到的知识点,加入到数学题目的原知识点,得到数学题目的新知识点;
循环单元,用于返回至前述查找对应的数学运算规则的步骤,并重复执行以上步骤直至得到答案或者满足预设的终止条件,解答结束。
综合上述各实施例及其优选方案,本领域技术人员可以理解的是,在实际操作中,本发明还适用于基于硬件载体的各种实施方案,本发明以下述硬件载体作为示意性说明:
(1)一种数学题解答设备,其可以包括:
存储器,用于存储计算机程序或上述装置;
处理器,用于当执行所述计算机程序或上述装置时,实现上述数学题解答方法。
(2)一种可读存储介质,在所述可读存储介质上存储有计算机程序或上述装置,当所述计算机程序或上述装置被执行时,实现上述数学题解答方法。
(3)一种计算机程序产品(该产品可以包括上述装置),所述计算机程序产品在终端设备上运行时,使所述终端设备执行上述数学题解答方法。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,上述计算机程序产品可以包括但不限于是指APP;上述可读存储介质可以是ROM/RAM、磁碟或光盘等;上述设备可以是一台计算机设备(例如手机、PC终端、云平台、服务器、服务器集群或者诸如媒体网关等网络通信设备等等)。并且,该设备的硬件结构还可以具体包括:至少一个处理器,至少一个通信接口,至少一个存储器和至少一个通信总线;处理器、通信接口、存储器均可以通过通信总线完成相互间的通信。其中,处理器可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;存储器也可以是高速RAM存储器或非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器。
最后需说明,虽然上述装置实施例及优选方案的工作方式以及技术原理皆记载于前文,但仍需强调的是,该装置中各个部件实施例仍可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。可以把装置实施例中的模块或单元或组件等组合成一个模块或单元或组件,也可以把它们分成多个子模块或子单元或子组件予以实施。
以及,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的硬件实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,但以上仅为本发明的较佳实施例,需要言明的是,上述实施例及其优选方式所涉及的技术特征,本领域技术人员可以在不脱离、不改变本发明的设计思路以及技术效果的前提下,合理地组合搭配成多种等效方案;因此,本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。

Claims (11)

1.一种数学题解答方法,其特征在于,包括:
利用基于第一训练数据预先构建的题目表示模型对数学题目进行结构转化;所述题目表示模型用于基于数学知识表达的特性,对数学题目进行结构转化;
利用基于第二训练数据预先构建的解题规则模型对转化后的数学题目进行解答;所述解题规则模型用于输出与转化后的数学题目匹配的数学运算规则,并利用数学运算规则逐步对表达转化后的数学题目及后续解题步骤进行解答。
2.根据权利要求1所述的数学题解答方法,其特征在于,所述第一训练数据的获得方式包括:
收集大量数学题目以及知识点数据;
将数学题目中所包含的知识点转变为结构化的表示形式,并标注出题干部分和问题部分,由此得到所述第一训练数据。
3.根据权利要求1所述的数学题解答方法,其特征在于,所述第二训练数据的获得方式包括:
收集大量数学题目及其解答步骤,以及数学运算规则数据;
将数学题目及其解答步骤中所包含的知识点转变为结构化的表示形式;
将数学运算规则转变为结构化表达的规则推导格式并汇总成规则库,所述规则推导格式包括前提条件和规则结论;
从所述规则库中为数学题目及其解答步骤匹配对应的数学运算规则,由此得到第二训练数据。
4.根据权利要求3所述的数学题解答方法,其特征在于,所述第二训练数据的获得方式还包括:
根据数学题目、解答步骤以及所用的数学运算规则,确定合法的实例化规则。
5.根据权利要求4所述的数学题解答方法,其特征在于,所述解题规则模型的训练方法包括:
提取并串联所述第二训练数据的解题特征;
在训练阶段将所述解题特征作为所述解题规则模型的输入,并将实例化规则的执行概率作为所述解题规则模型的输出。
6.根据权利要求1所述的数学题解答方法,其特征在于,所述第二训练数据包括:
数学题目或解答步骤的当前状态、所述当前状态所对应的数学运算规则,使用数学运算规则直接获得的知识点、执行数学运算规则后与所述当前状态合并得到的新知识点。
7.根据权利要求1~6任一项所述的数学题解答方法,其特征在于,利用解题规则模型对数学题目进行解答包括:
将数学题目当前包含的知识点作为前提条件,查找对应的数学运算规则;
根据匹配到的数学运算规则及数学题目当前的知识点,确定合法的实例化规则;
判断通过合法的实例化规则直接得到的知识点中有无答案存在;
若有,则输出答案,解答结束;
若无,则从第二训练数据获取解题特征并输入至解题规则模型;
基于所述解题规则模型输出的结果,确定用于执行的目标实例化规则;
将执行所述目标实例化规则得到的知识点,加入到数学题目的原知识点,得到数学题目的新知识点;
返回至前述查找对应的数学运算规则的步骤,并重复执行以上步骤直至得到答案或者满足预设的终止条件,解答结束。
8.一种数学题解答装置,其特征在于,包括:
题目表示模块,用于利用基于第一训练数据预先构建的题目表示模型对数学题目进行结构转化;所述题目表示模型用于基于数学知识表达的特性,对数学题目进行结构转化;
题目解答模块,用于利用基于第二训练数据预先构建的解题规则模型对转化后的数学题目进行解答;所述解题规则模型用于输出与转化后的数学题目匹配的数学运算规则,并利用数学运算规则逐步对表达转化后的数学题目及后续解题步骤进行解答。
9.根据权利要求8所述的数学题解答装置,其特征在于,所述题目解答模块具体包括:
规则查询单元,用于将数学题目当前包含的知识点作为前提条件,查找对应的数学运算规则;
实例化规则生成单元,用于根据匹配到的数学运算规则及数学题目当前的知识点,确定合法的实例化规则;
答案检测单元,用于判断通过合法的实例化规则直接得到的知识点中有无答案存在;
答案输出单元,用于当所述答案检测单元判定为有时,输出答案,解答结束;
特征提取单元,用于当所述答案检测单元判定为无时,从第二训练数据获取解题特征并输入至解题规则模型;
实例化规则确定单元,用于基于所述解题规则模型输出的结果,确定用于执行的目标实例化规则;
新知识点获得单元,用于将执行所述目标实例化规则得到的知识点,加入到数学题目的原知识点,得到数学题目的新知识点;
循环单元,用于返回至前述查找对应的数学运算规则的步骤,并重复执行以上步骤直至得到答案或者满足预设的终止条件,解答结束。
10.一种数学题解答设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于当执行所述计算机程序时,实现如权利要求1~7任一项所述的数学题解答方法。
11.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,当所述计算机程序被执行时,实现如权利要求1~7任一项所述的数学题解答方法。
CN201910591038.3A 2019-07-02 2019-07-02 数学题解答方法及装置 Active CN110414683B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910591038.3A CN110414683B (zh) 2019-07-02 2019-07-02 数学题解答方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910591038.3A CN110414683B (zh) 2019-07-02 2019-07-02 数学题解答方法及装置

Publications (2)

Publication Number Publication Date
CN110414683A CN110414683A (zh) 2019-11-05
CN110414683B true CN110414683B (zh) 2023-04-18

Family

ID=68358751

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910591038.3A Active CN110414683B (zh) 2019-07-02 2019-07-02 数学题解答方法及装置

Country Status (1)

Country Link
CN (1) CN110414683B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111260516A (zh) * 2020-02-18 2020-06-09 广州视源电子科技股份有限公司 数据处理方法、计算机存储介质及相关设备
CN111340661B (zh) * 2020-02-21 2020-12-01 电子科技大学 一种基于图神经网络的应用题自动解题方法
CN111564072B (zh) * 2020-06-09 2022-02-01 暗物智能科技(广州)有限公司 一种平面几何自动出题方法及系统
CN111767307A (zh) * 2020-07-06 2020-10-13 北京猿力未来科技有限公司 对象处理方法及系统、数学题目批改方法及系统
CN111950701B (zh) * 2020-07-13 2022-09-02 中国科学技术大学 一种融合公式信息的数学题求解方法及系统
CN112069294B (zh) * 2020-09-16 2023-01-13 科大讯飞股份有限公司 一种数学题处理方法、装置、设备及存储介质
CN112182200A (zh) * 2020-09-30 2021-01-05 北京有竹居网络技术有限公司 一种题目信息生成方法、装置及计算机存储介质
CN112396543B (zh) * 2020-10-26 2024-03-15 成都汉青科技有限公司 一种通用题目解题思路可视化及智能引导方法与装置
CN112686170B (zh) * 2020-12-31 2023-10-17 北京一起教育科技有限责任公司 一种图像识别方法、装置及电子设备
CN112905860A (zh) * 2021-02-09 2021-06-04 柳州智视科技有限公司 一种题目条件替换的方法
CN112906862A (zh) * 2021-02-09 2021-06-04 柳州智视科技有限公司 基于算式和题目求解同类数学题的方法
CN112966492A (zh) * 2021-02-09 2021-06-15 柳州智视科技有限公司 利用已知知识解决问题的方法
CN112863278B (zh) * 2021-02-09 2022-07-01 柳州智视科技有限公司 一种题目条件替换后的解题方法
CN113257063A (zh) * 2021-06-08 2021-08-13 北京字节跳动网络技术有限公司 一种交互方法及终端设备
CN116595159B (zh) * 2023-07-18 2024-01-05 深圳须弥云图空间科技有限公司 数学题解答模型训练方法及装置
CN117251533B (zh) * 2023-11-20 2024-01-30 江西师范大学 一种数学题目及其解答过程的生成方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005070465A (ja) * 2003-08-25 2005-03-17 Hitoshi Kimura 学習ドリル配信システム
CN109858627A (zh) * 2018-12-24 2019-06-07 上海仁静信息技术有限公司 一种推理模型的训练方法、装置、电子设备及存储介质
CN109918514A (zh) * 2019-03-21 2019-06-21 江西风向标教育科技有限公司 一种数学题目知识点和解题方法的自动提取方法、装置、平台

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005070465A (ja) * 2003-08-25 2005-03-17 Hitoshi Kimura 学習ドリル配信システム
CN109858627A (zh) * 2018-12-24 2019-06-07 上海仁静信息技术有限公司 一种推理模型的训练方法、装置、电子设备及存储介质
CN109918514A (zh) * 2019-03-21 2019-06-21 江西风向标教育科技有限公司 一种数学题目知识点和解题方法的自动提取方法、装置、平台

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
面向地理课程自动解题的规则知识获取;朱刘影等;《苏州科技大学学报(自然科学版)》;20190615(第02期);全文 *

Also Published As

Publication number Publication date
CN110414683A (zh) 2019-11-05

Similar Documents

Publication Publication Date Title
CN110414683B (zh) 数学题解答方法及装置
KR102071582B1 (ko) 딥 뉴럴 네트워크(Deep Neural Network)를 이용하여 문장이 속하는 클래스(class)를 분류하는 방법 및 장치
CN111026842B (zh) 自然语言处理方法、自然语言处理装置及智能问答系统
CN109961146B (zh) 数学题解答方法及装置
CN111444326B (zh) 一种文本数据处理方法、装置、设备以及存储介质
CN109710744B (zh) 一种数据匹配方法、装置、设备及存储介质
CN108121702B (zh) 数学主观题评阅方法及系统
CN112307351A (zh) 用户行为的模型训练、推荐方法、装置和设备
CN110825867B (zh) 相似文本推荐方法、装置、电子设备和存储介质
CN107301163A (zh) 包含公式的文本语义解析方法及装置
CN116719520B (zh) 代码生成方法及装置
CN114186076A (zh) 知识图谱构建方法、装置、设备和计算机可读存储介质
CN114647713A (zh) 基于虚拟对抗的知识图谱问答方法、设备及存储介质
CN114818703A (zh) 基于BERT语言模型和TextCNN模型的多意图识别方法及系统
CN113486174B (zh) 模型训练、阅读理解方法、装置、电子设备及存储介质
CN111160606A (zh) 试题难度预测方法及相关装置
CN110969005A (zh) 一种确定实体语料之间的相似性的方法及装置
CN113779190A (zh) 事件因果关系识别方法、装置、电子设备与存储介质
CN113420111A (zh) 一种用于多跳推理问题的智能问答方法及装置
CN111813941A (zh) 结合rpa和ai的文本分类方法、装置、设备及介质
CN116842263A (zh) 一种智能问答式理财顾问模型的训练处理方法及装置
CN107992482B (zh) 数学主观题解答步骤的规约方法及系统
CN110909174A (zh) 一种基于知识图谱的简单问答中实体链接的改进方法
CN116244277A (zh) 一种nlp识别与知识库构建方法及系统
CN113722477B (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
GR01 Patent grant
GR01 Patent grant