题目自动解答方法及计算机存储介质与流程

文档序号:19376350发布日期:2019-12-10 23:54阅读:186来源:国知局
题目自动解答方法及计算机存储介质与流程

本发明涉及计算机技术领域,尤其涉及一种题目自动解答方法及计算机存储介质。



背景技术:

随着互联网的迅速发展,越来越多的学生借助网络进行学习,例如通过网络进行答题训练、通过网络搜索题目解答过程进行题目解答学习等。

现有的通过网络搜索题目解答的过程包括:用户将题目内容输入到搜索应用或教学应用中,搜索应用或教学应用在数据库中查找对应的题目解答过程,并返回给用户。

这一过程中存在一些问题,例如,能否找到题目的解答过程依赖于题目数据库,需要设置庞大的题目数据库,收录足够多的题目和对应的解答过程才能满足用户需求,且依然不能避免有些用户输入的题目未被收录,不能找到解答过程的问题。

尤其是对于几何证明题来说,几何证明题的题目变化较多,但题目的同质化较强,现有的搜索应用或教学应用需要在数据库中预先存储大量类似的几何证明题的题目和解答过程,需要占用很多存储空间和资源。



技术实现要素:

有鉴于此,本发明实施例提供一种题目自动解答方法及计算机存储介质,以解决现有技术中解答用户输入的证明题需要依赖庞大的数据库,占用很多存储空间和资源的问题。

本发明实施例的第一方面,提供一种题目自动解答方法,其包括:获取待解答题目中的条件数据及目标数据;根据条件数据和目标数据,分别生成对应的条件表达式和目标表达式;使用预设的推导规则,对条件表达式进行推导分析,以获得与目标表达式匹配的推导结果表达式;从推导分析的过程数据中,获取与匹配的推导结果表达式对应的过程数据;根据条件表达式、目标表达式和与匹配的推导结果表达式对应的过程数据,生成与待解答题目对应的解答数据并显示。

根据本发明实施例的第二方面,提供一种计算机存储介质,计算机存储介质存储有:用于获取待解答题目中的条件数据及目标数据的指令;用于根据条件数据和目标数据,分别生成对应的条件表达式和目标表达式的指令;用于使用预设的推导规则,对条件表达式进行推导分析,以获得与目标表达式匹配的推导结果表达式的指令;用于从推导分析的过程数据中,获取与匹配的推导结果表达式对应的过程数据的指令;用于根据条件表达式、目标表达式和与匹配的推导结果表达式对应的过程数据,生成与待解答题目对应的解答数据并显示的指令。

本发明实施例提供的一种题目自动解答方案,可以利用预设的推导规则对待解答题目中的条件表达式进行推导分析,并推导出与目标表达式匹配的推导结果表达式,从而获取推导出的与目标表达式匹配的推导结果表达式对应的推导分析过程的过程数据,并根据该对应的过程数据、条件表达式和目标表达式生成解答数据,实现对题目的自动解答,而无需依赖数据库中预存的数据实现题目解答,解决了现有的题目解答需要依赖于较大数据库存储的海量数据,占用较多存储空间和资源,且不能自适应同类型题目变换的问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例一提供的一种题目自动解答方法的流程示意图;

图2为本发明实施例二提供的一种题目自动解答方法的流程示意图;

图3为本发明实施例二中例举的几何证明题的示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

图1为本发明实施例一提供的一种题目自动解答方法的流程示意图。如图1所示,该方法包括以下步骤:

s101:获取待解答题目中的条件数据及目标数据。

其中,条件数据可以从待解答题目中给出的已知条件中获取,目标数据可以从待解答题目中的目标获取。

例如,在证明类题目中,条件数据可以从证明类题目给出的已知条件中获取,目标数据可以从证明类题目中的需要证明的结论获取。

或者,在填空类题目中,条件数据可以从填空类题目中的题干的条件部分获取,目标数据可以从填空类题目的题干的结果部分获取。

s102:根据条件数据和目标数据,分别生成对应的条件表达式和目标表达式。

条件表达式用于通过将条件数据中所包含的信息规则化,以便于后续进行数据处理。

例如,条件表达式包括参数信息和对应的参数关系信息,其中,参数信息和对应的参数关系信息都是通过自然语言处理模型从条件数据中获取的。参数信息用于指示条件数据中含有的至少两个参数,参数关系信息用于指示至少两个参数间的关系。这样可以将待解答题目中的以自然语言表述的已知条件,转化为便于计算机设备处理的条件表达式,从而便于后续计算机设备进行题目的自动解答。

本领域技术人员可以选择合适的自然语言处理模型对条件数据进行处理,例如,通过语义表示模型、语义相似度分析模型、词法分析模型等。

在一种可行方式中,条件表达式包括根据参数关系信息及相应的参数信息生成的至少一个按照谓词表达式。每个谓词表达式均可作为一个规则条件数据。

本领域技术人员可以采用合适的格式作为谓词表达式,本实施例对此不作限定,例如谓词表达式可以是:[参数关系,[参数1,参数2,...]]。条件表达式可以以数组的形式存储多个规则条件数据,数组中的每个元素存储一个规则条件数据。

目标表达式与条件表达式类似,目标表达式包括至少一个规则目标数据,该规则目标数据与规则条件数据类似,可以以谓词表达式表达。

s103:使用预设的推导规则,对条件表达式进行推导分析,以获得与目标表达式匹配的推导结果表达式。

推导规则可以是数学定理、公式、公理等,也可以是化学反应方程式等。根据不同的需要可以预设一个或多个规则作为推导规则。

利用推导规则对条件表达式进行推导分析时,结合条件表达式中的参数、参数关系以及推导规则可以确定新的参数关系和/或参数,当推导出的新的参数关系或参数与目标表达式一致时,确定获得与需要解答的目标表达式匹配的推导结果表达式。

以预设的推导规则中的一个规则为勾股定理为例,当条件表达式中包括以下的规则条件数据时:

规则条件数据1:[righttriangle,[a,b,c]],其中参数关系righttriangle用于指示直角三角形,参数a、b、c用于指示直角三角形的三个顶点,其自然语言含义为直角三角形abc;

规则条件数据2:[perpendicular,[[a,b],[a,c]]],其中参数关系perpendicular用于指示垂直,参数ab和ac用于指示线段ab和ac,其自然语言表达含义为线段ab与线段ac垂直;

规则条件数据3:[length1,[a,b]],其中参数关系length1用于指示两点间距离,参数ab用于指示点a和b,其自然语言表达含义为线段ab的长度为length1;

规则条件数据4:[length2,[a,c]],其中参数关系length2用于指示两点间的距离,参数ac用于指示点a和c,其自然语言表达含义为线段ac的长度为length2。根据前述的规则条件数据和预设的推导规则(例如勾股定理)可以推导出规则目标数据:

可以根据获得的规则目标数据生成目标表达式。

s104:从推导分析的过程数据中,获取与匹配的推导结果表达式对应的过程数据。

推导出与需要的目标表达式匹配的推导结果表达式后,可以从推导分析的过程数据中获取与匹配的推导结果表达式对应的过程数据。该过程数据中包括推导出需要的目标表达式所用的推导规则、规则条件数据及推导逻辑数据。其中,规则条件数据可以是条件表达式中的所有或部分规则条件数据。推导逻辑数据用于指示使用的规则条件数据之间的因果关系、使用顺序等。

s105:根据条件表达式、目标表达式和与匹配的推导结果表达式对应的过程数据,生成与待解答题目对应的解答数据并显示。

获取过程数据后,根据条件表达式、目标表达式和与匹配的推导结果表达式对应的过程数据,生成与待解答题目对应的解答数据并显示,从而完成对题目的自动解答,且可以自动展示题目解答的推导过程。

该题目自动解答方法可以利用预设的推导规则对待解答题目中的条件表达式进行推导分析,并推导出与目标表达式匹配的推导结果表达式,从而获取推导出匹配的推导结果表达式的过程数据,并根据与匹配的推导结果表达式对应的过程数据、条件表达式和目标表达式生成解答数据,实现对题目的自动解答,而无需依赖数据库中预存的数据实现题目解答,解决了现有的题目解答需要依赖于较大数据库存储的海量数据,占用较多存储空间和资源,且不能自适应同类型题目变换的问题。

实施例二

图2为本发明实施例二提供的一种题目自动解答方法的流程示意图。如图2所示,该方法包括以下步骤:

s201:获取待解答题目中的条件数据及目标数据。

本领域技术人员可以采用适当的方式获取条件数据和目标数据。

例如,若待解答题目是文本数据,则可以直接从该文本数据中通过关键字提取的方式获取条件数据和目标数据。

若待解答题目是图片,则可以在获取包含待解答题目的图片后,通过机器识别模型识别该图片,获取图片中的字符数据,再从字符数据中获取条件数据及目标数据。其中,机器识别模型可以是任何适当的模型,例如ocr(opticalcharacterrecognition,光学字符识别)模型。

由于该题目解答方法可以适应不同类型的题目源,因此用户可以通过不同的方式输入待解答题目,能够实现拍照搜题解题功能,解决了现有的需要用户手动打字输入题目费时费力的问题。

条件数据可以从待解答题目给出的已知条件中获取,目标数据可以从待解答题目中的目标获取。

例如,在证明类题目中,条件数据可以从证明类题目给出的已知条件中获取,目标数据可以从证明类题目中的需要证明的结论获取。

或者,在填空类题目中,条件数据可以从填空类题目中的题干的条件部分获取,目标数据可以从填空类题目的题干的结果部分获取。

s202:根据条件数据和目标数据,分别生成对应的条件表达式和目标表达式。

例如,可以根据条件数据和目标数据,通过自然语言处理模型,如,通过语义分析模型等,分别生成对应的条件表达式和目标表达式。

其中,条件表达式用于将条件数据中所包含的信息规则化,以便于后续进行数据处理。

例如,条件表达式包括参数信息和对应的参数关系信息,其中,参数信息和对应的参数关系信息都是通过自然语言处理模型从条件数据中获取的。参数信息用于指示条件数据中含有的至少两个参数,参数关系信息用于指示至少两个参数间的关系。这样可以将待解答题目中以自然语言表述的已知条件,转化为便于计算机设备处理的条件表达式,从而便于后续计算机设备进行题目的自动解答。

在一种可行方式中,条件表达式中的每个参数关系信息及相应的参数信息按照谓词表达式表达形成条件表达式中的一条规则条件数据。条件表达式中可以包括至少一个规则条件数据。也即,条件表达式包括根据参数关系信息及相应的参数信息生成的至少一个谓词表达式。

本领域技术人员可以采用合适的格式作为谓词表达式,本实施例对此不作限定,例如谓词表达式可以是:[参数关系,[参数1,参数2,...]]。条件表达式可以以数组的形式存储多个规则条件数据,数组中的每个元素对应一个规则条件数据。

目标表达式与条件表达式类似,目标表达式包括至少一个规则目标数据,该规则目标数据与规则条件数据类似,可以以谓词表达式表达。以几何证明题为例,参见图3,在⊿abc中,ab⊥cd,be⊥ac,点g为de的中点,f为bc的中点,求证:fg⊥de。

该题目中的条件数据转化为条件表达式的过程是:将每个已知条件转化为一个规则条件数据,并可以根据所有的规则条件数据生成条件表达式。

具体地,将每个已知条件转化为对应的规则条件数据如下:

ab⊥cd转化为:[perpendicular,[[a,b],[c,d]]]

a,b,d三点共线转化为:[collinear,[a,b,d]]

be⊥ac转化为:[perpendicular,[[b,e],[a,c]]]

a,c,e三点共线转化为:[collinear,[a,e,c]]

点g是线段de的中点转化为:[midpoint,g,[d,e]]

点f是线段bc中点转化为:[midpoint,f,[b,c]]

该题目中的目标数据转化为目标表达式的过程是:将求证的目标转化为规则目标数据,并根据规则目标数据生成目标表达式。

具体地,将求证的目标转化为规则目标数据如下:

fg⊥de转化为:[perpendicular,[[f,g],[d,e]]]

s203:使用预设的推导规则,对条件表达式进行推导分析,以获得与目标表达式匹配的推导结果表达式。

预设的推导规则中可以包括至少一条规则,该规则可以是几何的定理、公理、公式等。

例如,在一种可行方式中,步骤203包括以下子步骤:

s203a:使用预设的推导规则,对条件表达式进行推导分析,获得推导结果表达式。

例如,预设的推导规则包括直角三角形的顶点到斜边中点的连线等于斜边的一半。以前述的几何证明题为例,根据该预设的推导规则、规则条件数据点f是线段bc中点([midpoint,f,[b,c]])可以推导出一个规则结果数据线段ef、bf、cf等长([cong,[[b,f],[c,f],[d,f],[e,f]]])。

当预设的推导规则包括多个规则时,根据不同的规则、条件表达式可以推导出至少一个规则结果数据。根据这些规则结果数据可以生成推导结果表达式。

在使用预设的推导规则对条件表达式进行推导分析时,可以遍历所有规则与条件表达式中的规则条件数据的组合方式;也可以先确定适用的规则,再遍历所有适用的规则与规则条件数据的组合方式。

本领域技术人员可以采用适当的方式确定适用规则,本实施例对此不作限制。例如,在预设的推导规则中设置至少一个标签,标签用于指示该规则的类型,标签可以是直角三角形、长度、角度等。确定适用规则时,若标签与参数关系匹配,则确定该规则为适用规则。

推导结果表达式可以以数组的形式存储各规则结果数据。例如,前述的几何证明题,根据预设的推导规则和条件表达式可以获得的推导结果表达式如下:

共线:{[collinear,[b,c,f]],[collinear,[d,e,g]]}

等长:{[cong,[[d,g],[e,g]]],[cong,[[b,f],[c,f],[d,f],[e,f]]]}

共圆:{[cyclic,[b,c,d,e]]}

垂直:{[perpendicular,[[d,e,g],[f,g]]]}

等角:

{[eqangle,[[[a,b,d],[a,c,e]],[[d,f],[d,e,g]],[[d,e,g],[e,f]]]],…}

相似三角形:{[simtriangle,[[c,b,a],[d,e,a]]],…}

全等三角形:{[contriangle,[[d,e,f],[e,d,f]]],…}

s203b:判断推导结果表达式是否与目标表达式匹配。

在一种可行方式中,当推导结果表达式中的至少一个规则结果数据与目标表达式中的至少一个规则目标数据一致时,确定推导结果表达式与目标表达式匹配。

若匹配,则确定获得与目标表达式匹配的推导结果表达式。以几何证明题为例,则可以确定完成了证明。

若不匹配,则将推导结果表达式与条件表达式合并成新的条件表达式,并再次使用预设的推导规则对新的条件表达式进行推导分析,获得新的推导结果表达式之后,返回判断推导结果表达式是否与目标表达式匹配的步骤执行,直至新的推导结果表达式与目标表达式匹配。

若推导结果表达式中没有规则结果数据与目标表达式中的规则目标数据一致,且获得的推导结果表达式中的所有规则结果数据均已在条件表达式中,则此种情况下可以提示错误或警告,以指示无法获得解题答案。

s204:从推导分析的过程数据中,获取与匹配的推导结果表达式对应的过程数据。

在获取与目标表达式匹配的推导结果表达式后,从与目标表达式匹配的推导结果表达式中,确定与目标表达式中的规则目标数据一致的规则结果数据。从推导分析的所有过程数据中,获取推导出一致的规则结果数据所用的推导规则、规则条件数据及推导逻辑数据。根据获取的推导规则、规则条件数据及推导逻辑数据,生成过程数据。

例如,在每次使用预设的推导规则,对条件表达式进行推导分析的过程中可以将所有的过程数据进行记录保存,从与目标表达式匹配的推导结果表达式中,确定与目标表达式中的规则目标数据一致的规则结果数据;从推导分析的所有过程数据中,获取推导出一致的规则结果数据所用的推导规则、规则条件数据及推导逻辑数据;根据获取的推导规则、规则条件数据及推导逻辑数据,生成过程数据。

其中,推导逻辑数据用于指示规则结果数据与规则条件数据之间的因果关系。例如,推导逻辑数据用于指示因为有规则条件数据1和规则条件数据3所以推导出规则结果数据1。

s205:根据条件表达式、目标表达式和与匹配的推导结果表达式对应的过程数据,生成与待解答题目对应的解答数据并显示。

根据生成的过程数据可以生成对应的解答过程并显示。例如,前述的几何证明题根据过程数据输出解答数据如下:

∵be⊥ae,点f是bc的中点,∴bf=cf=ef;

∵bf=cf=ef,cd⊥ad,点f是bc的中点,∴bf=cf=df=ef;

∵点g是de的中点,∴dg=eg;

∵df=ef,dg=eg,∴dg⊥fg。

根据需要,可以将获得每个规则结果数据所使用的推导规则的内容也进行显示,以更加便于用户深入学习。

该题目自动解答方法可以利用预设的推导规则对待解答题目中的条件表达式进行推导分析,并推导出与目标表达式匹配的推导结果表达式,从而获取推导出的与目标表达式匹配的推导结果表达式对应的推导分析过程的过程数据,并根据该对应的过程数据、条件表达式和目标表达式生成解答数据,实现对题目的自动解答,而无需依赖数据库中预存的数据实现题目解答,解决了现有的题目解答需要依赖于较大数据库存储的海量数据,占用较多存储空间和资源,且不能自适应同类型题目变换的问题。

此外,该题目自动解答方法可以适应不同的输入方式,使用户可以使用拍照等方式搜索题目对应的解答过程,有助于减少搜索的繁琐度,提升效率,且使用更加方便快捷。

实施例三

根据本发明的实施例,提供一种计算机存储介质,计算机存储介质存储有:用于获取待解答题目中的条件数据及目标数据的指令;用于根据条件数据和目标数据,分别生成对应的条件表达式和目标表达式的指令;用于使用预设的推导规则,对条件表达式进行推导分析,以获得与目标表达式匹配的推导结果表达式的指令;用于从推导分析的过程数据中,获取与匹配的推导结果表达式对应的过程数据的指令;用于根据条件表达式、目标表达式和与匹配的推导结果表达式对应的过程数据,生成与待解答题目对应的解答数据并显示的指令。

可选地,用于使用预设的推导规则,对条件表达式进行推导分析,以获得与目标表达式匹配的推导结果表达式的指令,包括:用于使用预设的推导规则,对条件表达式进行推导分析,获得推导结果表达式的指令;用于判断推导结果表达式是否与目标表达式匹配的指令;用于若匹配,则确定获得与目标表达式的匹配的推导结果表达式的指令;用于若不匹配,则将推导结果表达式与条件表达式合并成新的条件表达式,并再次使用预设的推导规则对新的条件表达式进行推导分析,获得新的推导结果表达式之后,返回判断推导结果表达式是否与目标表达式匹配的步骤执行,直至新的推导结果表达式与目标表达式匹配的指令。

可选地,推导规则包括至少一条规则,推导分析包括至少一次分析过程,条件表达式中包括至少一个规则条件数据,推导结果表达式中包括至少一个规则结果数据,目标表达式中包括至少一个规则目标数据;用于获取与匹配的推导结果表达式对应的过程数据的指令,包括:用于从与目标表达式匹配的推导结果表达式中,确定与目标表达式中的规则目标数据一致的规则结果数据的指令;用于从推导分析的所有过程数据中,获取推导出一致的规则结果数据所用的推导规则、规则条件数据及推导逻辑数据的指令;用于根据获取的推导规则、规则条件数据及推导逻辑数据,生成与匹配的推导结果表达式对应的过程数据的指令。

可选地,用于获取待解答题目中的条件数据及目标数据的指令包括:用于获取包含待解答题目的图片的指令;用于通过机器识别模型识别图片,并获取待解答题目中的条件数据及目标数据的指令。

可选地,用于根据条件数据和目标数据,分别生成对应的条件表达式和目标表达式的指令,包括:用于根据条件数据和目标数据,通过自然语言处理模型,分别生成对应的条件表达式和目标表达式的指令。

可选地,条件表达式包括通过自然语言处理模型从条件数据中获取的参数信息和对应的参数关系信息,其中,参数信息用于指示条件数据中含有的至少两个参数,参数关系信息用于指示至少两个参数间的关系。

可选地,条件表达式包括根据参数关系信息及相应的参数信息生成的至少一个谓词表达式。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机存储介质中,所述计算机存储介质包括用于以计算机(例如计算机)可读的形式存储或传送信息的任何机制。例如,机器可读介质包括只读存储器(rom)、随机存取存储器(ram)、磁盘存储介质、光存储介质、闪速存储介质、电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等)等,该计算机软件产品包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1