解题方法及装置与流程

文档序号:33254724发布日期:2023-02-21 16:53阅读:31来源:国知局
解题方法及装置与流程

1.本说明书涉及计算机技术领域,特别涉及解题方法及装置。


背景技术:

2.随着互联网技术的发展,解题软件成为了大多数家长和学生使用的辅助工具。解题软件的功能不仅可以辅助学生学习,还能够帮助家长和老师辅助完成对学生的作业进行批改,可以有效的提高作业批改效率。现有技术中,面向数学计算的技术和产品,绝大部分都在于强调解决普通四则运算的问题,而对基础方程的不同类涉及到的相关计算过程及步骤解释较为缺失,且求解方程过程也仅关注方程的结果而不关注解方程中步骤的体现,很大程度上影响用户的使用体验,并且由于解方程涉及到的步骤解释较为缺失,无法做到辅助用户学习解方程的过程,因此亟需一种有效的方案以解决上述问题。


技术实现要素:

3.有鉴于此,本说明书实施例提供了一种解题方法。本说明书同时涉及一种解题装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。
4.根据本说明书实施例的第一方面,提供了一种解题方法,包括:
5.获取待处理题目;
6.对所述待处理题目进行预处理获得目标题目,并构建所述目标题目对应的题目树结构;
7.根据所述目标题目的类型对应的解析规则对所述题目树结构中包含的节点进行递归处理,获得所述待处理题目对应的解题参数序列;
8.基于所述解题参数序列生成所述待处理题目对应的解题步骤。
9.可选地,所述对所述待处理题目进行预处理获得目标题目,包括:
10.识别所述待处理题目中包含的题目字符,按照所述题目字符在所述待处理题目中的排列顺序对所述题目字符进行拼接,获得所述目标题目;或者,
11.识别所述待处理题目中包含的题目字符,基于用户提交的类型选择指令对所述题目字符进行拼接,获得所述目标题目。
12.可选地,所述构建所述目标题目对应的题目树结构,包括:
13.将所述目标题目作为目标树结构节点,并按照预设的运算规则对所述目标树结构节点进行拆分获得树结构子节点;
14.判断所述树结构子节点中包含的字符是否满足拆分条件;
15.若是,将所述树结构子节点作为所述目标树结构节点,并执行所述按照预设的运算规则对所述目标树结构节点进行拆分获得树结构子节点的步骤;
16.若否,基于各个树结构子节点中包含的字符生成所述目标题目对应的所述题目树结构。
17.可选地,所述根据所述目标题目的类型对应的解析规则对所述题目树结构中包含
的节点进行递归处理,获得所述待处理题目对应的解题参数序列,包括:
18.识别所述目标题目中包含的待求解字符以及运算符号;
19.基于所述待求解字符和所述运算符号确定所述目标题目的类型,并选择与所述目标题目的类型对应的所述解析规则;
20.按照所述解析规则对所述题目树结构中包含的节点进行递归处理,获得所述待处理题目对应的所述解题参数序列。
21.可选地,所述按照所述解析规则对所述题目树结构中包含的节点进行递归处理,获得所述待处理题目对应的所述解题参数序列,包括:
22.确定所述题目树结构中包含的树结构层级,以及各个树结构层级中包含的节点;
23.按照各个树结构层级的排列顺序以及所述解析规则,依次对每个树结构层级中包含的节点进行递归处理,获得每个树结构层级对应的解题参数;
24.将每个树结构层级对应的解题参数进行整合,获得所述待处理题目对应的所述解题参数序列。
25.可选地,所述按照所述解析规则对所述题目树结构中包含的节点进行递归处理,获得所述待处理题目对应的所述解题参数序列,包括:
26.按照所述解析规则对所述题目树结构中包含的第i叶子结点进行递归处理,获得所述第i叶子结点对应的解题参数,其中i为正整数;
27.判断所述第i叶子结点是否为所述题目树结构的根节点;
28.若是,基于所述解题参数构建所述解题参数序列。
29.若否,基于所述解题参数对所述题目树结构进行更新,将更新后的题目树结构作为所述题目树结构,i自增1,并执行所述按照所述解析规则对所述题目树结构中包含的第i叶子结点进行递归处理步骤。
30.可选地,所述构建所述目标题目对应的题目树结构,包括:
31.在所述目标题目中包含至少两个子题目的情况下,针对所述至少两个子题目分别构建子题目树结构;
32.将所述至少两个子题目分别对应的子题目树结构作为所述目标题目对应的所述题目树结构。
33.可选地,所述根据所述目标题目的类型对应的解析规则对所述题目树结构中包含的节点进行递归处理,获得所述待处理题目对应的解题参数序列,包括:
34.确定所述目标题目的类型,并选择所述目标题目的类型对应的解析规则;
35.在所述至少两个子题目分别对应的子题目树结构中确定目标子题目树结构;
36.按照所述解析规则对所述目标子题目树结构中包含的节点进行递归处理,获得所述待处理题目对应的第一解题参数序列;
37.基于所述第一解题参数序列和所述解析规则对除所述目标子题目树结构外的子题目树结构进行递归处理,获得所述待处理题目对应的第二解题参数序列;
38.将所述第一解题参数序列和所述第二解题参数序列进行整合,根据整合结果生成所述待处理题目对应的所述解题参数序列。
39.可选地,所述基于所述第一解题参数序列和所述解析规则对除所述目标子题目树结构外的子题目树结构进行递归处理,获得所述待处理题目对应的第二解题参数序列,包
括:
40.基于所述第一解题参数序列对除所述目标子题目树结构外的子题目树结构进行更新;
41.按照所述解析规则对更新后的子题目树结构进行递归处理,获得所述待处理题目对应的所述第二解题参数序列。
42.可选地,所述基于所述解题参数序列生成所述待处理题目对应的解题步骤,包括:
43.按照递归处理顺序对所述解题参数序列中包含的解题参数进行排序;
44.将排序后的解题参数序列进行可视化处理,获得所述待处理题目对应的所述解题步骤。
45.可选地,所述目标题目的类型包括下述至少一项:
46.一元一次不等式方程,一元一次等式方程,一元二次等式方程,二元一次等式方程。
47.根据本说明书实施例的第二方面,提供了一种解题装置,包括:
48.获取模块,被配置为获取待处理题目;
49.构建模块,被配置为对所述待处理题目进行预处理获得目标题目,并构建所述目标题目对应的题目树结构;
50.处理模块,被配置为根据所述目标题目的类型对应的解析规则对所述题目树结构中包含的节点进行递归处理,获得所述待处理题目对应的解题参数序列;
51.生成模块,被配置为基于所述解题参数序列生成所述待处理题目对应的解题步骤。
52.根据本说明书实施例的第三方面,提供了一种计算设备,包括:
53.存储器和处理器;
54.所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令实现所述解题方法的步骤。
55.根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述解题方法的步骤。
56.本说明书提供的解题方法,在获取到待处理题目后,为了方便进行后续的解题处理,可以对待处理题目进行预处理获得目标题目,并构建目标题目对应的题目树结构;之后根据目标题目的类型对应的解析规则对题目树结构中包含的节点进行递归处理,以得到待处理题目对应的解题参数序列,最后再基于解题参数序列生成待处理题目对应的解题步骤即可;实现通过构建题目树结构的方式来充分表达待处理题目的层级关系,方便后续按照解析规则进行递归处理,有效的保证了解题过程的可解释性;同时基于递归处理结果获得解题参数序列,能够保证题目的解题步骤都被保存,以向用户展示完整的解题步骤,实现更加有效的辅助用户学习待处理题目,提高用户的体验效果。
附图说明
57.图1是本说明书一实施例提供的一种解题方法的流程图;
58.图2是本说明书一实施例提供的第一种题目树结构的示意图;
59.图3是本说明书一实施例提供的第二种题目树结构的示意图;
60.图4是本说明书一实施例提供的第三种题目树结构的示意图;
61.图5是本说明书一实施例提供的第四种题目树结构的示意图;
62.图6是本说明书一实施例提供的第五种题目树结构的示意图;
63.图7是本说明书一实施例提供的一种应用于二元一次等式方程中的解题方法的处理流程图;
64.图8是本说明书一实施例提供的一种解题装置的结构示意图;
65.图9是本说明书一实施例提供的一种计算设备的结构框图。
具体实施方式
66.在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
67.在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
68.应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
69.首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
70.方程:是指含有未知数的等式,是表示两个数学式(如两个数、函数、量、运算)之间相等关系的一种等式,使等式成立的未知数的值称为“解”或“根”,求方程的解的过程称为“解方程”。方程具有多种形式,如一元一次方程、二元一次方程、一元二次方程等等,还可组成方程组求解多个未知数。
71.不等式:用符号“》”“《”“≥”或“≤”表示大小关系的式子,叫作不等式。用“≠”表示不等关系的式子也是不等式。通常不等式中的数是实数,字母也代表实数,不等式的一般形式为f(x,y,
……
,z)≤g(x,y,
……
,z),两边的解析式的公共定义域称为不等式的定义域,不等式既可以表达一个命题,也可以表示一个问题。
72.一元一次不等式方程:一元一次不等式是一个数学算式,类似于一元一次方程,含有一个未知数,未知数的次数是1,未知数的系数不为0,左右两边为整式的不等式,叫做一元一次不等式。
73.一元一次等式方程:指只含有一个未知数、未知数的最高次数为1且两边都为整式的等式。一元一次方程只有一个根。
74.一元二次等式方程:只含有一个未知数(一元),并且未知数项的最高次数是2(二次)的整式方程叫做一元二次方程。一元二次方程经过整理都可化成一般形式ax2+bx+c=0(a≠0)。其中ax2叫作二次项,a是二次项系数;bx叫作一次项,b是一次项系数;c叫作常数
项。
75.二元一次等式方程:含有两个未知数,并且含有未知数的项的次数都是1的整式方程叫做二元一次方程。所有二元一次方程都可化为ax+by+c=0(a、b≠0)的一般式与ax+by=c(a、b≠0)的标准式,否则不为二元一次方程。
76.在本说明书中,提供了一种解题方法,本说明书同时涉及一种解题装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
77.实际应用中,大多数解题软件都是在计算中使用数据结构栈来保存题目中涉及到的符号,当栈顶两个元素能够合并同类项时,从符号栈和数字栈分别取出相应的符号和数字得到当前结果,等式两边均进行类似的计算,最后将题目涉及到的式子合并同类项并系数化为1,即可得到式子的结果。然而,现有技术中涉及到的解题方法都是按照预定规则进行题目处理,在面对不同的计算方式或复杂题目可解释性较低,因此亟需一种有效的方案以解决上述问题。
78.本说明书提供的解题方法,在获取到待处理题目后,为了方便进行后续的解题处理,可以对待处理题目进行预处理获得目标题目,并构建目标题目对应的题目树结构;之后根据目标题目的类型对应的解析规则对题目树结构中包含的节点进行递归处理,以得到待处理题目对应的解题参数序列,最后再基于解题参数序列生成待处理题目对应的解题步骤即可;实现通过构建题目树结构的方式来充分表达待处理题目的层级关系,方便后续按照解析规则进行递归处理,有效的保证了解题过程的可解释性;同时基于递归处理结果获得解题参数序列,能够保证题目的解题步骤都被保存,以向用户展示完整的解题步骤,实现更加有效的辅助用户学习待处理题目,提高用户的体验效果。
79.图1示出了根据本说明书一实施例提供的一种解题方法的流程图,具体包括以下步骤:
80.步骤s102,获取待处理题目。
81.具体的,待处理题目具体是指需要进行解题分析的方程,该题目可以是一元一次不等式方程,一元一次等式方程,一元二次等式方程或二元一次等式方程等,本实施例在此不作任何限定。
82.需要说明的是,在用户输入待处理题目时,为了能够方便用户更加便捷的使用解题功能完成对待处理题目的解题处理,会向用户提供通用性题目上传接口,即用户通过该接口可以上传任意格式的待处理题目,如通过拍照上传图片格式的待处理题目,或者通过输入框输入文本格式的待处理题目,再或者通过上传文件接口上传word格式的待处理题目等,以支持用户可以选择任意方式进行待处理题目的输入,后续可以通过对待处理题目进行处理完成解题过程,从而更加方便用户使用解题功能。
83.步骤s104,对所述待处理题目进行预处理获得目标题目,并构建所述目标题目对应的题目树结构。
84.具体的,在上述获取到待处理题目后,进一步的,为了能够保证后续可以针对待处理题目完成解题处理操作,此时可以对待处理题目进行预处理,即将待处理文本进行归一化处理,以生成满足后续处理需求的目标题目,其中,目标题目具体是指对待处理题目对应的表达式进行归一化操作后得到的题目表达式,该表达式表征的运算含义与待处理题目表征的运算含义相同,但目标题目对应的表达式能够用于后续解题处理操作。
85.基于此,在得到目标题目之后,为了能够生成针对目标题目进行解题涉及到的解题步骤,以提高解题操作的可解释性,此时可以针对目标题目构建题目树结构,其中,题目树结构具体是指基于目标题目生成的多叉树结构,在题目树结构中,每个节点均来自于目标题目中的字符,通过对目标题目进行逐级拆分,即可得到对应目标题目的题目树结构。
86.需要说明的是,由于目标题目属于待求解的方程,而方程中不仅包含数字和字母,还包括运算符号,因此为了能够支持题目树结构的正常构建,可以将运算符号和数字或字符组合为一个节点,用于构建题目树结构,从而方便后续对题目树结构进行递归处理,以生成每个解题步骤对应的解题参数,达到辅助用户学习解题过程的目的。
87.进一步的,在对待处理题目进行预处理时,为了能够保证预处理后获得的目标题目与待处理题目所对应的表达式相同,进而确保后续的解题步骤是针对待处理题目生成的,此时可以采用识别技术进行字符识别,以根据识别出的字符组成目标题目,本实施例中,具体实现方式如下:
88.识别待处理题目中包含的题目字符,按照题目字符在待处理题目中的排列顺序对题目字符进行拼接,获得目标题目;或者,识别待处理题目中包含的题目字符,基于用户提交的类型选择指令对题目字符进行拼接,获得目标题目。
89.具体的,题目字符具体是指通过识别技术在待处理题目中识别出的字符,题目字符包括待处理题目中涉及到的数字,字母,运算符号。类型选择指令具体是指用户选择的题目类型所对应的指令,根据用户提交的指令可以辅助完成目标题目的生成。
90.基于此,为了能够节省用户操作步骤的同时提高预处理的准确性,首先可以识别待处理题目中包含的题目字符,其次按照各个题目字符在待处理题目中的排列顺序对各个题目字符进行排序,最后即可生成满足后续处理格式的目标题目。
91.此外,为了能够保证预处理后得到的目标题目与待处理题目的表达式相同,还可以向用户提供类型选择控件,当用户输入待处理题目后,用户还可以选择类型选择控件,此时即可对待处理题目进行题目字符的识别,之后再基于用户针对类型选择控件提交的类型选择指令对题目字符进行拼接即可,以完成对题目字符的校正,生成满足后续处理格式的目标题目。
92.实际应用中,在识别题目字符时,可以采用ocr识别技术或者机器学习识别技术,本实施例在此不作任何限定。
93.举例说明,用户通过手机针对一元一次不等式方程“(3x+8)*2+6≥4”进行拍照,并上传到数学解题软件,此时获取到用户输入的待处理题目为图片格式,其中包括不等式“(3x+8)*2+6≥4”,为了能够在后续针对该方程生成解题步骤和答案,可以先对该方程进行预处理,即将图片格式的“(3x+8)*2+6≥4”转换为解题软件能够处理的格式,首先可以识别图片格式中不等式方程包含的题目字符{(,3,x,+,8,),*,2,+,6,≥,4},其次按照各个题目字符在待处理题目中的排列顺序进行拼接,即可生成满足解题软件处理格式的目标题目“(3x+8)*2+6≥4”,方便后续构建该方程对应的题目树结构完成解题处理操作。
94.综上,通过采用识别技术对待处理题目进行识别并拼接,不仅可以支持用户输入多种格式的待处理题目,还能够保证预处理后的目标题目的格式得到统一,从而保证后续可以针对目标题目完成解题处理操作,辅助用户学习解题过程。
95.更进一步的,在获得预处理后的目标题目后,考虑到后续针对题目树结构进行递
归处理时,所生成的解题参数符合数学题目中的运算规则,则需要按照运算规则进行题目树结构中节点的创建,本实施例中,具体实现方式如下:
96.将目标题目作为目标树结构节点,并按照预设的运算规则对目标树结构节点进行拆分获得树结构子节点;
97.判断树结构子节点中包含的字符是否满足拆分条件;
98.若是,将树结构子节点作为目标树结构节点,并执行按照预设的运算规则对目标树结构节点进行拆分获得树结构子节点的步骤;
99.若否,基于各个树结构子节点中包含的字符生成目标题目对应的题目树结构。
100.具体的,目标树结构节点具体是指待拆分处理的节点,通过对该节点进行拆分可以获得构建题目树结构的其他节点,相应的,树结构子节点具体是指从目标树结构节点拆分出来的节点,并且每个节点中均具有目标题目中包含的字符,且每个节点中包含的字符不重复。相应的,拆分条件具体是指判断树结构子节点中包含的字符数量是否达到阈值的条件,若达到,说明该树结构子节点无法继续进行拆分,则基于已经获得的树结构子节点构建题目树结构即可;若未达到,说明该树结构子节点还可以继续进行拆分,则将该树结构子节点作为目标树结构子节点,继续进行拆分处理即可,直至无法继续进行拆分,组成题目树结构。
101.其中,预设的运算规则是指数学式运算时所需要遵循的规则,包括但不限于在目标题目是同级运算时(如:乘和除、加和减),应该从左到右依次进行计算;在目标题目是两级运算时,先算乘除,后算加减。如:2
×
4-4
÷
2=6,先运行2
×
4=8,再运行4
÷
2=2最后运算8-2=6;在目标题目包含括号时,先算括号里面的,再算括号外面的;如(2
×
4-4)
÷
2=2,先运行2
×
4=8,再运行8-4=4最后运算4
÷
2=2;在目标题目有多层括号时,先算小括号里的,再算中括号里面的,再算大括号里面的,最后算括号外面的;在目标题目包含混合运算时,先算括号内的数,括号从小到大,如有乘方先算乘方,然后从高级到低级依次运算。
102.基于此,在得到目标题目后,可以先将目标题目作为构建题目树结构的目标树结构节点,之后按照预设的运算规则对目标树结构进行拆分,以获得树结构子节点,也就是说,在进行树结构子节点拆分时,可以按照运算规则将运算级别最高的作为一个整体组成一个树结构子节点,与该运算级别最高的整体进行计算的另一个整体再组成一个树结构子节点,此时拆分出两个树结构子节点,之后如果各个树结构子节点还满足拆分条件,则按照上述方式依次进行拆分,直至无法继续拆分为止,即可将拆分出的各个树结构子节点进行拼接,以生成题目树结构。
103.即:在基于运算规则从目标树结构节点中拆分出树结构子节点后,将判断树结构子节点中包含的字符是否满足拆分条件,若是,说明树结构子节点还可以继续进行拆分,则再按照运算规则逐级进行拆分即可,直至无法继续拆分后组成题目树结构即可;若否,说明树结构子节点无法继续拆分,则此时将已经拆分获得的树结构子节点中包含的字符按照拆分顺序进行拼接,即可组成目标题目对应的题目树结构,以方便后续进行递归处理生成解题步骤向用户展示。
104.沿用上例,在得到一元一次不等式方程“(3x+8)*2+6≥4”的基础上,此时可以将该不等式方程作为构建题目树结构的根节点,之后按照运算规则对根节点进行拆分,拆分后的结果如图2中(a)所示,其中“(3x+8)*2”为第一子节点,“+6”为第二子节点,“≥4”为第三
子节点;之后确定第一子节点中包含的字符数量满足拆分条件,则按照运算规则对第一子节点进行拆分,拆分后的结果如图2中(b)所示,其中“(3x+8)”为第四子节点,“*2”为第五子节点;之后确定第四子节点中包含的字符数量满足拆分条件,则按照运算规则对第四子节点进行拆分,拆分后的结果如图2中(c)所示,其中“3x”为第六子节点,“+8”为第七子节点,此时确定各个子节点均不满足拆分条件。
105.进一步的,由于用户输入的方程为一元一次不等式方程,为了能够向用户展示不等式方程的求解步骤,此时可以结合第一子节点、第二子节点、第四子节点、第五子节点、第六子节点和第七子节点中分别包含的字符构建第一树结构,结合第三子节点中包含的字符构建第二树结构,构建出的树结构如图2中(d)所示,以方便后续可以结合第一树结构和第二树结构解析出一元一次不等式方程的解题步骤,以达到辅助用户学习的目的。
106.实际应用中,由于在进行不等式运算处理时,未知数可能在不等号左右两边都存在,此时进行题目树结构构建时,可以按照上述过程分别对不等号两边的部分分别进行题目树结构的构建,以方便递归处理时将不等式整理为标准格式(ax+b≥c),即可按照不等式的性质进行题目解析和处理,以生成不等式的解题步骤向用户展示。
107.综上,通过采用逐级拆分的方式结合运算规则进行题目树结构的构建,不仅可以保证拆分后的子节点更加准确,还能够为后续递归处理打下基础,使得生成的解题步骤符合运算逻辑,方便用户理解,提高用户的体验效果。
108.此外,由于数学计算中涉及到的题目多种多样,如在二元一次等式方程或三元一次等式方程中,题目所涉及到的等式将包含两个或三个,此时为了能够对该类型的等式方程也进行处理,达到辅助用户学习的目的,则可以针对各个等式方程分别构建题目树结构,以方便后续完成对该类型的等式方程进行解题的目的,本实施例中,具体实现方式如下:
109.在目标题目中包含至少两个子题目的情况下,针对至少两个子题目分别构建子题目树结构;
110.将至少两个子题目分别对应的子题目树结构作为目标题目对应的题目树结构。
111.具体的,在确定目标题目中包含至少两个子题目的情况下,说明需要针对各个子题目分别构建题目树结构,则此时可以针对每个子题目分别构建子题目树结构,之后将各个子题目分别对应的子题目树结构作为目标题目的树结构,方便后续进行解题处理操作,以完成对包含多个子题目的目标题目进行解题处理,达到辅助用户学习的目的。
112.需要说明的是,针对每个子题目构建子题目树结构的方式均可参见上述实施例中构建题目树结构的描述内容,本实施例在此不作过多赘述。
113.以目标题目为二元一次等式方程为例对上述实施例进行说明,相应的,三元一次等式方程及一元一次等式方程构建题目树结构的过程均可参见本实施例相应的描述内容,在此不作过多赘述。
114.在对用户输入的待处理题目进行预处理后,得到的目标题目为{2x-5y=-7

;2x+3y=1

},此时可以按照运算规则分别针对目标题目中的式



进行拆分处理,以获得构建题目树结构的树结构子节点;之后将每个式子涉及到树结构子节点中包含的字符进行拼接,即可得到各个式子分别对应的子题目树结构,其中式

对应的子题目树结构如图3中(a)所示,式

对应的子题目树结构如图3中(b)所示,各个式子对应的子题目树结构即为目标题目{2x-5y=-7

;2x+3y=1

}对应的题目树结构,以实现后续可以结合各个子题目树
结构完成对目标题目的解题处理操作。
115.综上,为了能够完成包含多个子题目的目标题目的解题处理操作,在构建题目树结构时,可以针对各个子题目分别构建子题目树结构,实现后续可以针对每个子题目树结构独立完成递归处理,以完成对目标题目的求解操作,生成该题目对应的解题步骤,达到辅助用户学习的目的。
116.步骤s106,根据所述目标题目的类型对应的解析规则对所述题目树结构中包含的节点进行递归处理,获得所述待处理题目对应的解题参数序列。
117.具体的,在上述完成针对目标题目构建题目树结构的基础上,进一步的,由于不同类型的目标题目所对应的解题操作不同,为了能够支持更多类型的题目解题处理操作,可以基于题目类型预设解析规则,且解析规则与题目类型唯一对应,在进行解题处理时,即可按照类型对应的解析规则完成对各个节点的递归处理,以生成解析参数组成解析参数序列,其中,解析规则具体是指针对不同类型的目标题目进行解题处理的规则,该规则由求解方程的步骤和性质决定。
118.如目标题目的类型为一元一次不等式方程,则该类型的题目对应的解析规则包括去分母、去括号、移项、合并同类项和未知数系数化为1,以及性质1:不等式的两边都加上(或减去)同一个数(或式子),不等号的方向不变,性质2:不等式的两边都乘以(或除以)同一个正数,不等号的方向不变,性质3:不等式的两边都乘以(或除以)同一个负数,不等号的方向改变。也就是说,在对目标题目的类型为一元一次不等式方程进行解题处理时,则需要按照上述解析规则对该题目对应的题目树结构进行递归处理,保证运算正确的情况下生成解题参数,方便后续生成准确的解题步骤。
119.如目标题目的类型为二元一次等式方程,则该类型的题目对应的解析规则包括代入消元法:将一个未知数用含另一未知数的式子表示出来,再代入另一方程,实现消元,以及加减消元法:使方程组中两个方程中的某一个未知数前的系数的绝对值相等,然后把两个方程相加或相减,以消去这个未知数,使方程只含有一个未知数而得以求解。也就是说,在对目标题目的类型为一元二次等式方程进行解题时,则需要按照上述解析规则对该题目对应的题目树结构进行递归处理保证运算正确的情况下生成解题参数,方便后续生成准确的解题步骤。
120.需要说明的是,在针对一元一次等式方程和一元二次等式方程对应的题目树结构进行递归处理时,也需要按照各个题目的类型对应的解析规则完成,而该解析规则是根据方程的解题步骤和性质创建,因此在对构建出的题目树结构中的节点进行递归处理时,需要优先确定目标题目的类型,之后选择与该类型匹配的解析规则完成递归处理操作,以生成目标题目对应的解题参数序列;解题参数序列具体是指按照解析规则对题目树结构中的每个层级包含的节点进行递归处理后得到的解题参数组成的序列,其中,解题参数是指对每个层级包含的节点进行递归处理后,当前阶段得到的方程表达式,每个方程表达式均可理解为目标题目的一个解题步骤,后续通过对解题参数序列中包含的解题参数进行排序和处理,即可生成对应待处理题目的解题步骤,以方便用户学习解题过程,提高用户的使用体验。
121.进一步的,在对题目树结构中包含的节点进行递归处理前,需要确定目标题目的类型,从而才能够准确的选择解析规则,以完成对题目树结构中包含的节点进行递归处理,
本实施例中,具体实现方式如下:
122.识别目标题目中包含的待求解字符以及运算符号;
123.基于待求解字符和运算符号确定目标题目的类型,并选择与目标题目的类型对应的解析规则;
124.按照解析规则对题目树结构中包含的节点进行递归处理,获得待处理题目对应的解题参数序列。
125.具体的,待求解字符具体是指目标题目中包含的未知数及其对应的幂,运算符号具体是指目标题目中包含的等号(=)或不等号(>,<,≥和≤)。
126.基于此,由于目标题目为数学方程,因此可以识别待求解字符和运算符号,之后基于待求解字符的数量,待求解字符的幂,以及运算符号确定目标题目的类型。
127.如目标题目中包含一个未知数,且该未知数的幂为1,运算符号为=,则目标题目的类型为一元一次等式方程;如目标题目中包含二个未知数,且该未知数的幂为1,运算符号为=,则目标题目的类型为二元一次等式方程;如目标题目中包含一个未知数,且该未知数的幂为1,运算符号为>,<,≥或≤,则目标题目的类型为一元一次不等式方程;如目标题目中包含一个未知数,且该未知数的幂为2,运算符号为=,则目标题目的类型为一元二次等式方程。
128.进一步的,在确定目标题目的类型后,可以选择与该类型匹配的解析规则,之后按照解析规则对题目树结构中包含的节点进行递归处理,以生成每个层级中包含的节点对应的解题参数,通过将全部层级对应的解题参数进行整合,即可得到解题参数序列,以方便后续进行解题步骤的生成处理。
129.更进一步的,在按照解析规则对题目树结构中包含的节点进行递归处理时,考虑到题目树结构可能包含多个层级,而每个层级对应的解题参数都是后续创建解题步骤的基础,因此可以在递归处理时对每个层级对应的解题参数进行保存,以创建出与目标题目对应的解题参数序列,本实施例中,具体实现方式如下:
130.确定题目树结构中包含的树结构层级,以及各个树结构层级中包含的节点;
131.按照各个树结构层级的排列顺序以及解析规则,依次对每个树结构层级中包含的节点进行递归处理,获得每个树结构层级对应的解题参数;
132.将每个树结构层级对应的解题参数进行整合,获得待处理题目对应的解题参数序列。
133.具体的,为了能够针对待处理题目生成解题步骤,以及确保解题步骤的准确性,首先可以确定题目树结构中包含的树结构层级以及各个树结构层级中包含的节点,之后按照树结构层级的排列顺序,采用解析规则对最底层的树结构层级中包含的节点进行递归处理,获得最底层的树结构层级对应的解题参数,之后再对已经递归处理完成的树结构层级的上一树结构层级进行处理,以此类推,直至对题目树结构中包含的树结构层级都完成处理后,将各个层级对应的解析参数进行整合,即可得到待处理题目对应的解题参数序列,以方便后续能够针对待处理题目生成解题步骤。
134.沿用上例,在得到如图2中(d)所示的第一树结构和第二树结构后,为了能够在后续生成该题目的解题步骤,可以识别该题目中包含的未知数及未知数的幂,以及运算符号,确定未知数为x,未知数的幂为1,运算符号为≥,此时确定(3x+8)*2+6≥4为一元一次不等
式方程,则选择一元一次不等式方程对应的解析规则对上述树结构进行处理即可。
135.首先确定第一树结构中包含的四个树结构层级,其中,第一树结构层级包括节点(3x+8)*2+6,第二树结构层级包含节点(3x+8)*2和+6,第三树结构层级包含节点(3x+8)和*2,第四树结构层级包含节点3x和+8,第二树结构中包含一个树结构层级,该树结构层级包含节点≥4;其次,确定第一树结构中的各个树结构层级的排列顺序为第一树结构层级-》第二树结构层级-》第三树结构层级-》第四树结构层级;再次,按照一元一次不等式方程对应的解析规则先对第四树结构层级中包含的节点3x和+8进行递归处理,并结合≥4节点确定第四树结构层级对应的解题参数为(3x+8)*2+6≥4;再按照解析规则对第三树结构层级中包含的节点(3x+8)和*2进行递归处理,并结合≥4节点确定第三树结构层级对应的解题参数为3x*2+8*2+6≥4和6x+16+6≥4;再按照解析规则对第二树结构层级中包含的节点(3x+8)*2和+6进行递归处理,并结合≥4节点确定第二树结构层级对应的解题参数为6x+22≥4;最后再按照解析规则中包含的去分母、去括号、移项、合并同类项和未知数系数化为1的规则对第一树结构层级包括节点(3x+8)*2+6进行递归处理,并结合≥4节点确定第一树结构层级对应的解题参数为6x≥4-22,6x≥-18,6x/6≥-18/6以及x≥-3;最后将各个树结构层级对应的解题参数进行整合,即可得到题目(3x+8)*2+6≥4对应的解题参数序列{(3x+8)*2+6≥4;3x*2+8*2+6≥4;6x+16+6≥4;6x+22≥4;6x≥4-22;6x≥-18;6x/6≥-18;x≥-3},以方便后续生成该一元一次不等式方程的解题步骤。
136.实际应用中,在基于树结构层级的排列顺序以及解析规则,依次对每个树结构层级中包含的节点进行递归处理时,在完成上一树结构层级的递归处理后,需要结合上一树结构层级中的递归处理结果对下一树结构层级中的节点进行更新,之后再基于解析规则对下一树结构层级中更新后的节点进行递归处理,以此保证递归处理时,都是向前计算完成的,以支持后续解题步骤的生成。
137.综上,通过按照树结构层级的排列顺序和解析规则完成对各个层级的节点进行递归处理,不仅可以保证解题参数的准确性,还能够以此为基础充分反映解题过程,从而保证后续能够生成解释性更好的解题步骤。
138.此外,在对题目数据结构中包含的节点进行递归处理时,还可以通过判断叶子结点是否为根节点的方式完成,以实现基于节点为单位完成递归处理的操作,获得解题参数,本实施例中,具体实现方式如下:
139.按照解析规则对题目树结构中包含的第i叶子结点进行递归处理,获得第i叶子结点对应的解题参数,其中i为正整数;
140.判断第i叶子结点是否为题目树结构的根节点;
141.若是,基于解题参数构建解题参数序列。
142.若否,基于解题参数对题目树结构进行更新,将更新后的题目树结构作为所述题目树结构,i自增1,并执行按照解析规则对题目树结构中包含的第i叶子结点进行递归处理步骤。
143.具体的,叶子结点具体是指题目树结构中的末端节点,相应的,根节点具体是指题目树结构中的开始节点。
144.基于此,由于题目树结构是对目标题目进行逐级拆分后得到的树形结构,因此在进行递归处理时,可以按照解析规则优先对题目树结构中包含的第i叶子结点进行递归处
理,其中i为正整数且i大于等于1,根据处理结果即可得到第i叶子结点对应的解题参数,之后判断已经递归处理完成的第i叶子结点是否为题目树结构的根节点;
145.若是,说明针对题目树结构中的节点进行递归处理的操作完成,则此时可以统计每次递归处理完成后获得的解题参数,将这部分解题参数进行整合,即可得到待处理题目对应的解题参数序列;
146.若否,说明针对题目树结构中的节点进行递归处理的操作未完成,则此时可以基于解题参数对题目树结构进行更新,更新后的题目树结构相对于更新前的题目树结构减少了一个树结构层级,此时i自增1,之后再对更新后的题目树结构中包含的第i叶子结点进行递归处理,直至第i叶子结点为题目树结构的根节点,即可完成递归处理操作,此时可以统计每次递归处理完成后获得的解题参数,将这部分解题参数进行整合,即可得到待处理题目对应的解题参数序列。
147.沿用上例,在得到如图2中(d)所示的第一树结构和第二树结构,并确定(3x+8)*2+6≥4为一元一次不等式方程的基础上,进一步的,按照解析规则对第一树结构中包含的第一叶子结点3x和+8进行递归处理,并结合节点≥4确定第一叶子结点对应的解题参数为(3x+8)*2+6≥4,之后基于该解题参数对第一树结构进行更新,更新后的第一树结构如图4中(a)所示;再基于解析规则对更新后的第一树结构中包含的第二叶子节点3x+8和*2进行递归处理,并结合节点≥4确定第二叶子结点对应的解题参数为3x*2+8*2+6≥4,之后基于该解题参数对第一树结构进行更新,更新后的第一树结构如图4中(b)所示;再基于解析规则对更新后的第一树结构中包含的第三叶子结点3x*2和8*2进行递归处理,并结合≥4确定第三叶子结点对应的解题参数为6x+16+6≥4,之后基于该解题参数对第一树结构进行更新,更新后的第一树结构如图4中(c)所示;再基于解题规则对更新后的第一树结构中包含的第四叶子结点6x+16和+6进行递归处理,并结合≥4确定第四叶子结点对应的解题参数为6x+22≥4,之后基于该解题参数对第一树结构进行更新,更新后的第一树结构如图4中(d)所示;再基于解析规则中包含的去分母、去括号、移项、合并同类项和未知数系数化为1的规则对更新后的第一树结构中包含的第五叶子结点6x+22≥4进行递归处理,获得第五叶子结点对应的解题参数为6x≥4-22,6x≥-18,6x/6≥-18/6以及x≥-3。
148.更进一步的,确定第五叶子结点对应的解题参数后,通过判断确定第五叶子结点为第一树结构的根节点,则此时可以将各个叶子结点对应的解题参数进行整合,即可得到题目(3x+8)*2+6≥4对应的解题参数序列{(3x+8)*2+6≥4;3x*2+8*2+6≥4;6x+16+6≥4;6x+22≥4;6x≥4-22;6x≥-18;6x/6≥-18/6;x≥-3},以方便后续生成该一元一次不等式方程的解题步骤。
149.综上,通过采用判断递归处理的叶子结点是否为题目树结构根节点的处理方式,能够有效的遍历题目树结构中涉及到的节点,保证解题参数覆盖更加全面,以实现后续生成的解题步骤更加准确和完整,以达到辅助用户学习待处理题目解题过程的目的。
150.此外,在目标题目包含至少两个子题目的情况下,由于该类型的题目的特性,如果需要完成解题处理操作,则需要优先完成目标子题目树结构中包含的节点递归处理操作,之后再基于递归处理操作得到的第一解题参数序列和解析规则对剩余的子题目对应的子题目树结构进行递归处理,本实施例中,具体实现方式如步骤s10602至步骤s10610:
151.步骤s10602,确定目标题目的类型,并选择目标题目的类型对应的解析规则。
152.具体的,确定目标题目的类型,并选择解析规则的过程可以参见上述实施例相同的描述内容,本实施例在此不作过多赘述。
153.步骤s10604,在至少两个子题目分别对应的子题目树结构中确定目标子题目树结构。
154.步骤s10606,按照解析规则对目标子题目树结构中包含的节点进行递归处理,获得待处理题目对应的第一解题参数序列。
155.步骤s10608,基于第一解题参数序列和解析规则对除目标子题目树结构外的子题目树结构进行递归处理,获得待处理题目对应的第二解题参数序列。
156.具体的,在基于第一解题参数序列和解析规则对剩余的子题目树结构进行递归处理时,实则是基于第一解题参数序列对剩余的子题目树结构进行更新,之后再按照解析规则进行递归处理,本实施例中,具体实现方式如下:
157.基于第一解题参数序列对除目标子题目树结构外的子题目树结构进行更新;
158.按照解析规则对更新后的子题目树结构进行递归处理,获得待处理题目对应的第二解题参数序列。
159.步骤s10610,将第一解题参数序列和第二解题参数序列进行整合,根据整合结果生成待处理题目对应的解题参数序列。
160.具体的,目标子题目树结构具体是指在至少两个子题目中筛选出的目标子题目对应的题目树结构,在后续进行递归处理时,可以优先对目标子题目树结构中包含的节点进行递归处理,之后基于递归处理结果获得的第一解题参数序列对剩余的子题目树结构进行更新,再按照解析规则对更新后的子题目树结构中包含的节点进行递归处理,即可得到剩余的子题目树结构对应的子题目对应的第二解题参数序列,最后将第一解题参数序列和第二解题参数序列进行整合,即可得到待处理题目对应的解题参数序列,以方便后续进行解题步骤的创建和展示。
161.沿用上例,在确定目标题目{2x-5y=-7

;2x+3y=1

}后,通过对目标题目进行识别,确定该题目为二元一次等式方程,此时选择与二元一次等式方程匹配的解析规则对图3中所示的子题目树结构进行递归处理。
162.进一步的,首先选择式

作为目标子题目,并将式

对应的子题目树结构作为目标子题目树结构,之后按照解析规则对目标子题目树结构中包含的节点进行递归处理,获得目标题目对应的第一解题参数序列{2x-5y=-7;2x=-7+5y;2x=5y-7;x=(5y-7)/2},再次按照式

对应的第一解题参数序列对式

对应的子题目树结构进行更新,更新后的式

对应的子题目树结构如图5所示;之后再按照解析规则对更新后的式

对应的子题目树结构中包含的节点进行递归处理,获得目标题目对应的第二解题参数序列{2*[(5y-7)/2]+3y=1;5y-7+3y=1;8y-7=1;8y=1+7;8y=8;y=1;2x-5*1=-7;2x-5=-7;2x=-7+5;2x=-2;x=-1}。
[0163]
更进一步的,在得到第一解题参数序列以及第二解题参数序列后,即可将第一解题参数序列和第二解题参数序列进行整合,即可得到二元一次等式方程对应的解题参数序列{2x-5y=-7;2x=-7+5y;2x=5y-7;x=(5y-7)/2;2*[(5y-7)/2]+3y=1;5y-7+3y=1;8y-7=1;8y=1+7;8y=8;y=1;2x-5*1=-7;2x-5=-7;2x=-7+5;2x=-2;x=-1},以方便后续生成该二元一次等式方程的解题步骤。
[0164]
综上,为了能够针对包含多个子题目的待处理题目也完成解题处理操作,可以通过代入消元的方式减少多个待解答字符的影响,从而更加方便对各个子题目树结构中包含的节点进行递归处理,保证后续生成的解题参数序列更加准确。
[0165]
此外,在目标题目包含至少两个子题目的情况下,还可以先将两个子题目进行融合处理,基于融合后的题目构建题目树结构,之后再对题目树结构进行递归处理,即可得到目标题目对应的解题参数序列。
[0166]
沿用上例,在确定目标题目{2x-5y=-7

;2x+3y=1

}后,通过对目标题目进行识别,确定该题目为二元一次等式方程,此时可以将式

减去式

,根据计算结果获得2x-5y-(2x+3y)=-7-1

的等式,之后基于式

构建题目树结构,获得如图6所示的题目树结构;进一步的,此时可以基于二元一次等式方程匹配的解析规则对图6所示的题目树结构进行递归处理,根据递归处理即可获得解题参数序列{x-5y-(2x+3y)=-7-1;2x-2x-5y-3y=-8;-8y=-8;y=1;2x+3*1=1;2x+3=1;2x=1-3;2x=-2;x=(-2)/2;x=-1},以方便后续生成该二元一次等式方程的解题步骤。
[0167]
具体实施时,在获得待处理题目对应的解题参数序列时,可以根据实际应用场景选择合适的处理策略实现,本实施例在此不作任何限定。
[0168]
步骤s108,基于所述解题参数序列生成所述待处理题目对应的解题步骤。
[0169]
具体的,在上述获得待处理题目对应的解题参数序列后,进一步的,为了能够向用户提供待处理题目的解题步骤,达到辅助用户学习的目的,此时可以基于所述解题参数序列生成待处理题目对应的解题步骤,之后将解题步骤向用户进行展示,以使得用户了解待处理题目的解题方法和方式,更加有效的辅助用户学习待处理题目的解题过程。
[0170]
进一步的,在基于解题参数序列生成解题步骤的过程中,由于解题参数序列中包含的解题参数是基于题目树结构的递归处理获得的,如果直接使用解题参数序列生成解题步骤,可能出现解题步骤混乱的问题,因此为了能够向用户展示顺序正确的解题步骤,可以在生成解题步骤时对其进行排序,本实施例中,具体实现方式如下:
[0171]
按照递归处理顺序对解题参数序列中包含的解题参数进行排序;
[0172]
将排序后的解题参数序列进行可视化处理,获得待处理题目对应的解题步骤。
[0173]
具体的,递归处理顺序具体是指对题目树结构中包含的节点进行递归处理时的顺序,该顺序与树结构层级的处理顺序相同,用于映射解题参数的顺序,从而实现结合解题参数生成有序的解题步骤。相应的,可视化处理具体是指将解题参数序列转换为用户可以观看的解题步骤,方便用户学习。
[0174]
基于此,在得到解题参数序列后,可以按照递归处理对解题参数序列中包含的解题参数进行排序,以实现将解题参数序列调整为有序的,且排列后的解题参数序列与解题过程相对应,之后再对排序后的解题参数序列进行可视化处理,即可生成待处理题目对应的解题步骤,并向用户展示即可。
[0175]
沿用上例,在获得题目(3x+8)*2+6≥4对应的解题参数序列{(3x+8)*2+6≥4;3x*2+8*2+6≥4;6x+16+6≥4;6x+22≥4;6x≥4-22;6x≥-18;6x/6≥-18;x≥-3}后,此时可以按照题目树结构的递归处理顺序对解题参数序列中包含的解题参数进行重新排序,排序后的解题参数序列为{(3x+8)*2+6≥4;3x*2+8*2+6≥4;6x+16+6≥4;6x+22≥4;6x≥4-22;6x≥-18;6x/6≥-18/6;x≥-3},之后再对排序后的解题参数序列进行可视化处理,即可生成向用
户展示的解题步骤,并向用户展示即可。
[0176]
综上,通过对解题参数序列中包含的解题参数进行重新排序,不仅可以保证后续生成的解题步骤的有序性,更加能够充分体现出待处理题目的解题过程,从而达到辅助用户学习的目的,提高用户的体验效果。
[0177]
实际应用中,若待处理题目对应的解题步骤较多,如果都向用户展示,可能需要消耗用户较多的时间才能够完成解题步骤的理解,因此为了能够在节省用户时间的同时达到学习的目的,可以对生成的解题步骤进行简化处理;简化处理是指将解题步骤中重要程度较低的步骤剔除,仅保留重要程度较高的步骤,以此为基础向用户展示,使得用户更加方便学习待处理题目的解题步骤。
[0178]
本说明书提供的解题方法,在获取到待处理题目后,为了方便进行后续的解题处理,可以对待处理题目进行预处理获得目标题目,并构建目标题目对应的题目树结构;之后根据目标题目的类型对应的解析规则对题目树结构中包含的节点进行递归处理,以得到待处理题目对应的解题参数序列,最后再基于解题参数序列生成待处理题目对应的解题步骤即可;实现通过构建题目树结构的方式来充分表达待处理题目的层级关系,方便后续按照解析规则进行递归处理,有效的保证了解题过程的可解释性;同时基于递归处理结果获得解题参数序列,能够保证题目的解题步骤都被保存,以向用户展示完整的解题步骤,实现更加有效的辅助用户学习待处理题目,提高用户的体验效果。
[0179]
下述结合附图7,以本说明书提供的解题方法在二元一次等式方程中的应用为例,对所述解题方法进行进一步说明。其中,图7示出了本说明书一实施例提供的一种应用于二元一次等式方程中的解题方法的处理流程图,具体包括以下步骤:
[0180]
步骤s702,获取用户输入的图片格式的待处理题目。
[0181]
具体的,获取用户输入的图片格式的待处理题目3x2+2x-1=0。
[0182]
步骤s704,识别图片格式的待处理题目中包含的题目字符,按照题目字符在待处理题目中的排列顺序对题目字符进行拼接,获得目标题目。
[0183]
具体的,通过对图片格式的待处理题目3x2+2x-1=0进行识别,获得题目字符{3,x2,+,2,x,-,1,=,0},之后为了能够方便后续进行处理,可以按照字符在待处理题目中的排列顺序对题目字符进行拼接,以获得满足后续处理需求的目标格式对应的目标题目3x2+2x-1=0。
[0184]
步骤s706,按照预设的运算规则对目标题目进行拆分,并根据拆分结果构建目标题目对应的题目树结构。
[0185]
具体的,在得到目标题目3x2+2x-1=0后,可以将该题目作为根节点,之后按照预设的运算规则(把一个多项式在一个范围化为几个整式的积的形式,)对根节点进行拆分,获得第一子节点分别为(x+1)(3x-1)=0;再对第一子节点(x+1)(3x-1)进行拆分,获得第二子节点分别为(x+1)和*(3x-1),此时确定第二子节点无法继续进行拆分,则此时可以第一子节点和第二子节点以及根节点构建3x2+2x-1=0对应的题目树结构。在该题目树结构中,根节点为3x2+2x-1=0,下一层级的节点分别为(x+1)(3x-1)和=0,叶子结点分别为(x+1)和*(3x-1)。
[0186]
步骤s708,识别目标题目中包含的待求解字符和运算符号,并基于待求解字符和运算符号确定目标题目的类型,以及选择与类型对应的解析规则。
[0187]
具体的,通过识别目标题目3x2+2x-1=0中的未知数,以及未知数的幂,确定未知数是x,未知数的最高次幂是2,同时确定运算符号为=,则此时根据未知数x,未知数的最高次幂2,以及运算符号=,确定目标题目为二元一次等式方程,并选择与二元一次等式方程对应的解析规则即可,该解析规则为任意数乘以0都得0。
[0188]
步骤s710,按照解析规则对题目树结构中包含的第i叶子结点进行递归处理,获得第i叶子结点对应的解题参数;其中,i为正整数且i大于等于1。
[0189]
步骤s712,判断第i叶子结点是否为题目树结构的根节点;若否,执行步骤s714;若是,执行步骤s716。
[0190]
步骤s714,基于解题参数对题目树结构进行更新,将更新后的题目树结构作为下一递归处理周期的题目树结构,并返回执行步骤s710。
[0191]
步骤s716,将各个叶子结点对应的解题参数进行整合,获得待处理题目对应的解题参数序列。
[0192]
具体的,在得到题目树结构和解析规则后,可以按照解析规则对题目树结构中的第一叶子结点(x+1)和*(3x-1)进行递归处理,获得第一叶子结点对应的解析参数(x+1)*(3x-1)=0;之后基于解析参数对题目树结构进行更新,更新后的题目树结构相对于上一递归处理周期减少一个层级,此时的第二叶子结点为(x+1)*(3x-1)和=0,之后再按照解析规则对第二叶子结点进行递归处理,获得第二叶子结点对应的解析参数x+1=0或3x-1=0,同时判断出第二叶子结点不是题目树结构的根节点,则基于解析参数x+1=0或3x-1=0对题目树结构进行更新,再按照解析规则对更新后的题目树结构的第三叶子结点进行递归处理,获得第三叶子结点对应的解析参数x=-1或3x=1,x=1/3。
[0193]
进一步的,在获得第三叶子结点对应的解析参数后,确定第三叶子结点为题目树结构的根节点,则此时统计各个叶子结点对应的解析参数,分别为(x+1)*(3x-1)=0;x+1=0或3x-1=0;x=-1或3x=1,x=1/3,则此时可以将解析参数进行整合,获得目标题目3x2+2x-1=0对应的解析参数序列。
[0194]
步骤s718,基于解题参数序列生成待处理题目对应的解题步骤,并向用户展示解题步骤。
[0195]
具体的,在得到解题参数序列{(x+1)*(3x-1)和=0;x+1=0或3x-1=0;x=-1或3x=1,x=1/3}后,可以对解题参数序列中包含的解题参数进行调整,根据调整结果生成解题步骤为{3x2+2x-1=0;(x+1)(3x-1)=0;x+1=0;x1=-1;3x-1=0;3x=1;x2=1/3},并将解题步骤向用户展示即可。
[0196]
本说明书提供的解题方法,实现通过构建题目树结构的方式来充分表达待处理题目的层级关系,方便后续按照解析规则进行递归处理,有效的保证了解题过程的可解释性;同时基于递归处理结果获得解题参数序列,能够保证题目的解题步骤都被保存,以向用户展示完整的解题步骤,实现更加有效的辅助用户学习待处理题目,提高用户的体验效果。
[0197]
与上述方法实施例相对应,本说明书还提供了解题装置实施例,图8示出了本说明书一实施例提供的一种解题装置的结构示意图。如图8所示,该装置包括:
[0198]
获取模块802,被配置为获取待处理题目;
[0199]
构建模块804,被配置为对所述待处理题目进行预处理获得目标题目,并构建所述目标题目对应的题目树结构;
[0200]
处理模块806,被配置为根据所述目标题目的类型对应的解析规则对所述题目树结构中包含的节点进行递归处理,获得所述待处理题目对应的解题参数序列;
[0201]
生成模块808,被配置为基于所述解题参数序列生成所述待处理题目对应的解题步骤。
[0202]
一个可选的实施例中,所述构建模块804进一步被配置为:
[0203]
识别所述待处理题目中包含的题目字符,按照所述题目字符在所述待处理题目中的排列顺序对所述题目字符进行拼接,获得所述目标题目;或者,识别所述待处理题目中包含的题目字符,基于用户提交的类型选择指令对所述题目字符进行拼接,获得所述目标题目。
[0204]
一个可选的实施例中,所述构建模块804进一步被配置为:
[0205]
将所述目标题目作为目标树结构节点,并按照预设的运算规则对所述目标树结构节点进行拆分获得树结构子节点;判断所述树结构子节点中包含的字符是否满足拆分条件;若是,将所述树结构子节点作为所述目标树结构节点,并执行所述按照预设的运算规则对所述目标树结构节点进行拆分获得树结构子节点的步骤;若否,基于各个树结构子节点中包含的字符生成所述目标题目对应的所述题目树结构。
[0206]
一个可选的实施例中,所述处理模块806进一步被配置为:
[0207]
识别所述目标题目中包含的待求解字符以及运算符号;基于所述待求解字符和所述运算符号确定所述目标题目的类型,并选择与所述目标题目的类型对应的所述解析规则;按照所述解析规则对所述题目树结构中包含的节点进行递归处理,获得所述待处理题目对应的所述解题参数序列。
[0208]
一个可选的实施例中,所述处理模块806进一步被配置为:
[0209]
确定所述题目树结构中包含的树结构层级,以及各个树结构层级中包含的节点;按照各个树结构层级的排列顺序以及所述解析规则,依次对每个树结构层级中包含的节点进行递归处理,获得每个树结构层级对应的解题参数;将每个树结构层级对应的解题参数进行整合,获得所述待处理题目对应的所述解题参数序列。
[0210]
一个可选的实施例中,所述处理模块806进一步被配置为:
[0211]
按照所述解析规则对所述题目树结构中包含的第i叶子结点进行递归处理,获得所述第i叶子结点对应的解题参数,其中i为正整数;判断所述第i叶子结点是否为所述题目树结构的根节点;若是,基于所述解题参数构建所述解题参数序列。若否,基于所述解题参数对所述题目树结构进行更新,将更新后的题目树结构作为所述题目树结构,i自增1,并执行所述按照所述解析规则对所述题目树结构中包含的第i叶子结点进行递归处理步骤。
[0212]
一个可选的实施例中,所述构建模块804进一步被配置为:
[0213]
在所述目标题目中包含至少两个子题目的情况下,针对所述至少两个子题目分别构建子题目树结构;将所述至少两个子题目分别对应的子题目树结构作为所述目标题目对应的所述题目树结构。
[0214]
一个可选的实施例中,所述处理模块806进一步被配置为:
[0215]
确定所述目标题目的类型,并选择所述目标题目的类型对应的解析规则;在所述至少两个子题目分别对应的子题目树结构中确定目标子题目树结构;按照所述解析规则对所述目标子题目树结构中包含的节点进行递归处理,获得所述待处理题目对应的第一解题
参数序列;基于所述第一解题参数序列和所述解析规则对除所述目标子题目树结构外的子题目树结构进行递归处理,获得所述待处理题目对应的第二解题参数序列;将所述第一解题参数序列和所述第二解题参数序列进行整合,根据整合结果生成所述待处理题目对应的所述解题参数序列。
[0216]
一个可选的实施例中,所述处理模块806进一步被配置为:
[0217]
基于所述第一解题参数序列对除所述目标子题目树结构外的子题目树结构进行更新;按照所述解析规则对更新后的子题目树结构进行递归处理,获得所述待处理题目对应的所述第二解题参数序列。
[0218]
一个可选的实施例中,所述生成模块808进一步被配置为:
[0219]
按照递归处理顺序对所述解题参数序列中包含的解题参数进行排序;将排序后的解题参数序列进行可视化处理,获得所述待处理题目对应的所述解题步骤。
[0220]
一个可选的实施例中,所述目标题目的类型包括下述至少一项:一元一次不等式方程,一元一次等式方程,一元二次等式方程,二元一次等式方程。
[0221]
本说明书提供的解题装置,在获取到待处理题目后,为了方便进行后续的解题处理,可以对待处理题目进行预处理获得目标题目,并构建目标题目对应的题目树结构;之后根据目标题目的类型对应的解析规则对题目树结构中包含的节点进行递归处理,以得到待处理题目对应的解题参数序列,最后再基于解题参数序列生成待处理题目对应的解题步骤即可;实现通过构建题目树结构的方式来充分表达待处理题目的层级关系,方便后续按照解析规则进行递归处理,有效的保证了解题过程的可解释性;同时基于递归处理结果获得解题参数序列,能够保证题目的解题步骤都被保存,以向用户展示完整的解题步骤,实现更加有效的辅助用户学习待处理题目,提高用户的体验效果。
[0222]
上述为本实施例的一种解题装置的示意性方案。需要说明的是,该解题装置的技术方案与上述的解题方法的技术方案属于同一构思,解题装置的技术方案未详细描述的细节内容,均可以参见上述解题方法的技术方案的描述。
[0223]
图9示出了根据本说明书一实施例提供的一种计算设备900的结构框图。该计算设备900的部件包括但不限于存储器910和处理器920。处理器920与存储器910通过总线930相连接,数据库950用于保存数据。
[0224]
计算设备900还包括接入设备940,接入设备940使得计算设备900能够经由一个或多个网络960通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备940可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
[0225]
在本说明书的一个实施例中,计算设备900的上述部件以及图9中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图9所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
[0226]
计算设备900可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动
电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备900还可以是移动式或静止式的服务器。
[0227]
其中,处理器920用于执行如下计算机可执行指令:
[0228]
获取待处理题目;
[0229]
对所述待处理题目进行预处理获得目标题目,并构建所述目标题目对应的题目树结构;
[0230]
根据所述目标题目的类型对应的解析规则对所述题目树结构中包含的节点进行递归处理,获得所述待处理题目对应的解题参数序列;
[0231]
基于所述解题参数序列生成所述待处理题目对应的解题步骤。
[0232]
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的解题方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述解题方法的技术方案的描述。
[0233]
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于:
[0234]
获取待处理题目;
[0235]
对所述待处理题目进行预处理获得目标题目,并构建所述目标题目对应的题目树结构;
[0236]
根据所述目标题目的类型对应的解析规则对所述题目树结构中包含的节点进行递归处理,获得所述待处理题目对应的解题参数序列;
[0237]
基于所述解题参数序列生成所述待处理题目对应的解题步骤。
[0238]
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的解题方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述解题方法的技术方案的描述。
[0239]
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0240]
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0241]
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书并不受所描述的动作顺序的限制,因为依据本说明书,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该
知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书所必须的。
[0242]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
[0243]
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1