首页 / 一种计算题目的解析方法、装置设备及介质

一种计算题目的解析方法、装置设备及介质实质审查 发明

技术领域

[0001] 本公开涉及计算机技术领域,尤其涉及一种计算题目的解析方法、装置设备及介质。

相关背景技术

[0002] 公式解析是将公式中的数字、计算符号和关系符号等数据分割出来,并由此构建树状的公式表示结构。这种公式解析方案可以非常方便的解析标准公式格式的数据,但其扩展比较困难,不支持特殊类型题目的解析,对特殊符号不能准确解析其代表意义。因此,面对一些特殊的题型、特殊符号时,目前的公式解析方案的解析能力较差,难以给出准确的解析结果。

具体实施方式

[0030] 为了能够更清楚地理解本公开的上述目的、特征和优点,下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
[0031] 应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
[0032] 本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
[0033] 需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
[0034] 本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
[0035] 目前的公式解析方案,只能处理一些标准的公式,无法处理特殊题型或特殊符号,比如:带单位的计算、比较大小、圆圈等。因此,为了提升公式解析能力,更好地满足公式解析需求,本公开实施例提供一种计算题目的解析方法、装置、设备及介质。为便于理解,以下对本公开实施例展开描述。
[0036] 图1为本公开实施例提供的一种计算题目的解析方法流程图。本方法可以应用于计算题目的解析装置,该装置可以采用软件和/或硬件的方式实现。如图1所示,该计算题目的解析方法可以包括以下步骤。
[0037] 步骤S102,获取包括多个字符的计算题目。
[0038] 考虑到计算题目来源不确定,计算题目存在不完整、表示不规范等问题,本实施例可以提供如下一种获取计算题目的方式。首先获取原始计算题目;可以通过图像拍摄操作或图像上传操作等方式获取包含计算题目的图像,从图像中提取LaTeX格式的计算题目;计算题目如常见的数学计算题。
[0039] 识别原始计算题目中的字符;根据字符对原始计算题目的组成结构进行完整性检查;组成结构包括但不限于:括号以成对的形式出现、公式连接符号(如等号、约等号)和运算符号(如加减乘除)不连续出现、相邻两个字符之间的距离在预设的距离阈值内。通过对上述组成结构进行检查,可以确定原始计算题目是否存在括号缺失、符号错误、字符缺失等错误。在检查原始计算题目的组成结构完整的情况下,对原始计算题目中的字符进行清洗,得到最终用于解析的计算题目。
[0040] 在实际应用中,有些来源的原始计算题目可能不会以标准的latex形式进行公式的表示,本实施例可以将易混用的同一符号的不同表示进行清洗,将同一符号的不同表示转化为统一的latex表示。具体的,可以预先建立latex表示的标准字符及其多种变形字符的对应关系,当计算题目中含有不标准的变形字符时,根据上述对应关系,将有不标准的变形字符转换为latex表示的标准字符。
[0041] 步骤S104,识别字符的字符类型,并根据字符类型将计算题目中的多个字符划分为特殊符号和多个同类字符串。其中,特殊符号包括字符类型为预设的特殊字符类型的字符;每个同类字符串包括字符类型相同且为非特殊字符类型的字符。
[0042] 在本实施例中,按照字符在计算题目中从头到尾的排列顺序,逐一遍历各个字符。在遍历过程中,识别每一个字符的字符类型,比如:单个数字、点、运算符、百分号等。如果当前字符是运算符、等于号和圆圈等预设的特殊字符类型,则保存当前字符及当前字符对应的特殊字符类型。在数学公式中,特殊字符类型的字符通常独立构成一个单项,如+、=,于是,本实施例可以将特殊字符类型的字符保存为特殊符号。
[0043] 如果当前字符不是特殊符号,则保存当前字符及当前字符的第一字符类型,并从当前字符继续往后遍历,直到出现不相同的第二字符类型时,保存从首个第一字符类型的字符,到出现第二字符类型的字符之前最后一个第一字符类型的字符之间的字符串,此为一个同类字符串。例如如下字符:3、2、1、·,遍历字符“3”的字符类型为单个数字,字符“2”的字符类型为单个数字,遍历字符“1”的字符类型为单个数字,字符“·”的字符类型为点,则保存从首个单个数字的字符“3”到最后一个单个数字的字符“1”之间的字符为一个同类字符串“321”。
[0044] 根据相同的字符类型,可以将计算题目中的字符分类为多个同类字符串,每个同类字符串中包括字符类型相同的一个或多个字符,连续的两个同类字符串中字符对应的字符类型不相同。
[0045] 通过以上实施例,可以根据字符及其字符类型,将计算题目解析为特殊符号和同类字符串。
[0046] 步骤S106,根据同类字符串中各字符的字符类型,预测同类字符串的第一类型属性。示例性的,在同类字符串包括三个字符类型为单个数字的字符的情况下,基于三个字符的字符类型为单个数字,可以预测该同类字符串的第一类型属性包括:数字、整数、整数位数为三位数。在同类字符串包括一个字符类型为点的字符的情况下,基于字符的字符类型为点,可以预测该同类字符串的第一类型属性包括:小数点。
[0047] 步骤S108,根据第一类型属性对多个同类字符串进行组合,生成公式项。
[0048] 在本实施例中,按照同类字符串在计算题目中从头到尾的排列顺序,逐一遍历各个同类字符串。在遍历之前,本实施例可以预先设置具有位置关系的至少两种第一类型属性作为属性组合;属性组合中的至少两个第一类型属性是指,能够组成一个完整公式项的至少两个同类字符串的第一类型属性。属性组合如,表示小数的属性组合包括位置为前后依次排列的{数字、小数点和数字},表示百分数的属性组合包括位置为前后依次排列的{数字和百分号},或者{数字、小数点、数字和百分号},表示分数的属性组合包括位置为上下依次排列的{数字、横线和数字},表示带单位数值的属性组合包括位置为前后依次排列的{数字和单位类型},或者{数字、小数点、数字和单位类型}。在此不再一一列举。
[0049] 在遍历过程中,根据属性组合,从多个同类字符串中确定出与属性组合相匹配的至少两个待组合字符串,以及与属性组合不匹配的独立的单一同类字符串;将连续的至少两个同类字符串生成公式项,以及将独立的单一同类字符串生成公式项。也就是说,本实施例中的公式项可以是由一个同类字符串组成,如:整数数字“56”,也可以是由与属性组合相匹配的至少两个同类字符串组成,如:小数“32.5”,带单位数值“3小时”。
[0050] 步骤S110,基于特殊符号和公式项生成计算题目对应的表达式树状结构。
[0051] 考虑到计算题目一般是由运算符号(如加、减、乘、除)和公式连接符号(如等于、约等于)连接公式项组成的;基于此,本实施例可以获取特殊符号中的公式连接符号和运算符号;将公式连接符号和运算符号以及确定的公式项输入至预设的公式解析器,以通过公式解析器解析计算题目的公式结构,构建对应的表达式树状结构。
[0052] 本实施例提供的计算题目的解析方法,首先识别计算题目中字符的字符类型,并根据字符类型将计算题目中的多个字符划分为特殊符号和多个同类字符串;然后根据同类字符串中各字符的字符类型,预测同类字符串的第一类型属性;根据第一类型属性对多个同类字符串进行组合,生成公式项;最后基于特殊符号和公式项生成计算题目对应的表达式树状结构。本技术方案以单个的字符作为解析的最基本单元,降低了解析难度,再通过对字符进行分类,由小到大地逐步解析出特殊符号以及同类字符串、公式项,由此能够提高对计算题目内部表达式的解析准确性;利用粒度较细的特殊符号和公式项,有利于分析计算题目内部的结构关系,尤其是面对题型复杂、特殊的计算题目,能够提高表达式解析能力。
[0053] 为便于理解,以下对本公开提供的计算题目的解析方法展开详细描述。
[0054] 针对上述步骤S104,在此提供一种根据字符类型将字符划分为特殊符号和多个同类字符串的实施例,可参照图2和以下内容。
[0055] 步骤1,按照字符在计算题目中的排列顺序,将各字符逐一作为当前字符并执行如下步骤2‑5所示的分类处理。当前字符可表示为Ci,i表示从1到N的排列顺序,N表示计算题目中包括N个字符。
[0056] 步骤2,判断当前字符Ci的字符类型是否为预设的特殊字符类型。识别当前字符Ci是什么字符类型,如整数、分数、单位、运算符、圆圈等。如果当前字符Ci的字符类型是运算符、公式连接符、圆圈等预设的特殊字符类型,则执行如下步骤3,如果不是,则执行如下步骤4。
[0057] 步骤3,将当前字符确定为特殊符号;在当前字符Ci是上述任一种特殊字符类型的情况下,可以将当前字符Ci确定为特殊符号并保存。
[0058] 步骤4,比对当前字符的字符类型是否与相邻的前一字符的字符类型相同,且在相同的情况下,将当前字符和前一字符确定为同类字符。在当前字符Ci不是特殊字符类型的情况下,比对当前字符Ci的字符类型与相邻的前一字符Ci‑1的字符类型是否相同。如果不同,表示相比于前一字符Ci‑1,当前字符Ci的字符类型发生了明确的变化,无法与前一字符Ci‑1组成一个合理的项。
[0059] 如果相同,表示当前字符Ci和前一字符Ci‑1是同一项中的两个组成元素,如字符类型同为单个数字的当前字符“2”和前一字符“3”,可能是组成数字“32”的两个数字元素;在此情况下,可以将字符类型相同的当前字符Ci和前一字符Ci‑1都作为同类字符。而后,从当前字符Ci开始继续往后遍历。
[0060] 步骤5,对下一个当前字符再次执行分类处理,直至比对当前字符的字符类型与前一字符的字符类型不同时,将比对不同之前确定的连续多个同类字符保存为一个同类字符串。
[0061] 从当前字符Ci开始继续往后遍历,将下一个字符Ci+1作为新的当前字符,并回到上述步骤2再次执行分类处理。以此类推,直至当前字符(为便于区分,此处可表示为Ck)的字符类型与前一字符Ck‑1的字符类型不同时,获取字符Ck之前确定的字符类型与字符Ck‑1相同的连续多个同类字符,即:Ci‑1、Ci、……Ck‑1;或者也可以理解为,当字符Ck‑1的字符类型为第一字符类型时,从首个第一字符类型的字符Ci‑1开始,到字符类型发生变化的当前字符之前的前一字符Ck‑1结束,得到同为第一字符类型的连续多个同类字符。将连续多个同类字符保存为一个同类字符串。此时,以下一个字符Ck+1继续向后探索下一个同类字符串。
[0062] 步骤6,在完成对多个字符的分类处理后,得到计算题目中的多个同类字符串。
[0063] 在遍历完计算题目中的最后一个字符CN后,完成对多个字符的分类处理,得到计算题目中的多个同类字符串。以如下计算题目为例:(32.5+56)‑7=81.5≈80。假设当前字符为“(”,判断该字符“(”的字符类型是特殊字符类型,于是,记录“(”,继续遍历,直到遍历到另一半括号“)”。在确定遍历到的两个括号是一对后,对括号中的内容当作一个公式进行解析。也即,从字符“(”的下一个字符开始继续遍历,此时的当前字符为“3”,其字符类型为单个数字,不同于前一字符“(”字符类型为特殊字符类型,此时记录当前字符“3”及其字符类型为单个数字。将下一字符“2”作为新的当前字符,其与前一字符“3”的字符类型相同,此时将字符“2”和字符“3”确定为同类字符。将下一字符“·”作为新的当前字符,其与前一字符“2”的字符类型不同,此时,保存同类字符“3”和“2”为一个同类字符串“32”。根据以上分类处理,可以得到计算题目中的如下多个同类字符串:“(”、“32”、“·”、“56”、“)”、……“80”。需要说明的是,对于其他诸如“”、[]、{}等嵌套结构的处理方式,与本示例中()的处理方式相同,都是先遍历得到成对的嵌套结构,再针对嵌套结构内的内容进行解析。
[0064] 另外容易理解的是,根据字符类型可以将上述计算题目中的字符“+、-、=、≈”分类为特殊符号。对于特殊字符类型的字符,通常可以独立保存为特殊符号,但在一些特殊情况下,也可以参照同类字符串的分类方式,将连续多个字符类型相同且为特殊字符类型的字符保存为一个同类特殊字符串,或者,将以组合形式出现的多个字符类型相同且为特殊字符类型的字符保存为一个同类特殊字符串,然后再基于同类特殊字符串确定特殊符号。
[0065] 以上实施例通过对单个字符进行字符类型的识别,以及基于此进行同类字符串的分类处理,能方便的进行特殊字符或特殊字符串的识别,比如:对于一些有特殊要求的题目前面的*、▲、℃等,通过本实施例可以做出准确有效的识别。
[0066] 根据以上实施例确定计算题目中的特殊符号和同类字符串,以及,确定各同类字符串的第一类型属性。根据第一类型属性可以对多个同类字符串进行组合,生成公式项,本实施例的实现方式可以参照如下所示。
[0067] (I)按照同类字符串在计算题目中的排列顺序,将各同类字符串逐一作为当前同类字符串并执行如下(II)‑(IV)所示的分组处理。当前同类字符串表示为Si,i表示从1到M的排列顺序,M表示计算题目中包括M个同类字符串。
[0068] (II)判断当前同类字符串的第一类型属性与相邻的后置同类字符串的第一类型属性,是否与预设的属性组合相匹配;其中,属性组合包括具有位置关系的至少两种第一类型属性。如果匹配,则执行如下步骤(III);如果不匹配,则执行如下步骤(IV)。
[0069] (III)将当前同类字符串和后置同类字符串确定为待组合字符串,并将后置同类字符串作为新的当前同类字符串。
[0070] 本实施例中,比对当前同类字符串Si及其相邻的后置同类字符串Si+1对应的第一类型属性之间是否能够匹配上某一种属性组合。如果上述前后相邻的两个同类字符串对应的第一类型属性之间能够匹配上某一种属性组合,表示将当前同类字符串Si及其后置同类字符串Si+1是同一公式项中的两个组成元素。例如:第一类型属性为数字的当前同类字符串“32”和第一类型属性为小数点的后置同类字符串“·”,与小数的属性组合{数字、小数点和数字}中的前两项相匹配,以上两个同类字符串可以是组成小数的前两项元素,在此情况下,可以将后置同类字符串作为单位赋给当前同类字符串。
[0071] 本实施例将第一类型属性之间能够匹配上目标属性组合的当前同类字符串及其后置同类字符串均确定为待组合字符串,以及,将后置同类字符串赋给当前同类字符串。
[0072] 而后,将该后置同类字符串Si+1作为新的当前同类字符串并继续往后遍历,直至当前同类字符串(为便于区分,此处可表示为Sk)的第一类型属性与后置同类字符串Sk+1的第一类型属性之间无法匹配到任一种属性组合时,将此前确定的连续的几个待组合字符串生成公式项,该连续的几个待组合字符串诸如为:Si、Si+1、……Sk,其中,Si和Si+1是能够匹配上目标属性组合的第一组前后相邻的同类字符串。
[0073] (IV)将当前同类字符串生成公式项,或者,将当前同类字符串之前确定的连续至少两个待组合字符串生成公式项。
[0074] 本实施例中,如果当前同类字符串Si及其相邻的后置同类字符串Si+1对应的第一类型属性之间无法匹配上任一种属性组合,可能分为如下两种情况:
[0075] 一种为,前后都无法匹配上属性组合的当前同类字符串,也即当前同类字符串与其前置和后置的同类字符串对应的第一类型属性之间都无法匹配上任一种属性组合,当前同类字符串Si不存在与之对应的待组合字符串,也即当前同类字符串Si本身能够独立作为一个完整的公式项,如常见的整数数字(如56)。在此情况下,将当前同类字符串生成公式项。
[0076] 另一种为,在当前同类字符串Si及其之前,确定有与之连续的至少一个待组合字符串;在此情况下,将当前同类字符串之前确定的连续至少两个待组合字符串生成公式项。
[0077] 以上将当前同类字符串生成公式项和将至少两个待组合字符串生成公式项的过程中,具体生成方式可以包括:按照匹配成功的属性组合,将当前同类字符串之前确定的连续至少两个待组合字符串组合为公式项字符串。示例性的,确定的待组合字符串包括如下四个:“99”、“·”、“9”和“%”,则将它们组成为一个完整的公式项字符串:“99.9%”。对公式项字符串进行实例化,得到公式项:“99.9%”;其中,实例化是一种编程过程,是将一个抽象的概念类(也即公式项字符串),具体到该类实物(也即公式项)的过程。
[0078] (V)当完成对多个同类字符串的分组处理后,得到计算题目中的多个公式项。
[0079] 在遍历完计算题目中的最后一个同类字符串SM后,完成对多个同类字符串的分组处理,得到计算题目中的多个公式项。参照图3,以如下计算题目为例:(32.5+56)‑7=81.5≈80,根据以上分组处理,可以得到计算题目中的如下多个公式项:“32.5”、“56”、“7”、“81.5”和“80”。此外,图3还包括计算题目中的如下多个特殊符号:“+”、“‑”、“=”和“≈”。
[0080] 在本实施例中,基于特殊符号公式项生成计算题目对应的表达式树状结构的实现方式可以包括:
[0081] 获取特殊符号中的公式连接符号和运算符号。
[0082] 根据公式连接符号对计算题目中的公式项和运算符进行解析,得到多个子公式;其中,子公式包括一项公式项,或者包括由运算符号相连的至少两项公式项。
[0083] 具体的,可以利用公式解析器遍历计算题目中的各个公式项,根据公式连接符号和运算符号对公式项之间的关系进行解析,得到多个子公式。上述子公式如图3中的子公式1:32.5+56,子公式2:(32.5+56)‑7等。
[0084] 通过公式连接符号对子公式进行连接,生成计算题目对应的表达式树状结构。在生成的表达式树状结构中包括:由公式连接符号连接的子公式,由运算符号连接的公式项。
[0085] 在上述实施例的基础上,本实施例提供的方法还可以包括:
[0086] 根据公式项中各同类字符串的第一类型属性,确定公式项的第二类型属性。具体的,当公式项包括一个同类字符串时,可以根据该同类字符串的第一类型属性确定公式项的第二类型属性,如第一属性类型包括:数字、整数、整数位数为三位数,则可以基于此确定公式项的第二类型属性包括:数字、整数、整数位数为三位数、相反数、近似数、数字的单位等属性。公式项的第二类型属性不仅可以支持后续的数值计算,也对后续计算类型的判断,题目讲解步骤自动生成等拓展应用提供了以公式项为基础的属性信息,使公式解析不只能解析公式,也能为后续基于公式的应用提供更丰富的信息。
[0087] 根据子公式中各公式项的第二类型属性,确定子公式的第三类型属性。具体的,当子公式包括一个公式项时,可以将公式项的第二类型属性作为子公式的第三类型属性。当子公式包括公式项和运算符号时,可以根据运算符号和公式项的第二类型属性确定子公式的第三类型属性。子公式的第三类型属性诸如可以包括:子公式中包含的数字类型及个数、是否可计算、运算法则、运算符号的类型及其在子公式中的位置、子公式中是否包含未知数、子公式中的单位集合等。以子公式1为例,其运算符号为加号,公式项分别为小数类型的32.5和整数类型的56,基于此,可以确定子公式1的第三类型属性包括:可计算、运算法则为相加、计算符号的位置为公式项“32.5”和“56”的根节点、不含待填项、不带单位的计算等。
通过子公式的第三类型属性可以更全面的了解计算题目各部分的信息,了解计算题目的结构特征、数字特征等不同层次的特征,为后续基于计算题目的应用提供充分的子公式级别的信息参考。
[0088] 以及,基于公式项及第二类型属性、子公式及第三类型属性对计算题目的计算类型进行分类。
[0089] 在一种可能的实现方式中,可以先基于公式连接符号和子公式确定计算题目整体的第四类型属性。计算题目的第四类型属性诸如:两个数的加法、填数、加减混合计算、两个数比大小、比例方程等。
[0090] 接下来,基于公式项及第二类型属性、子公式及第三类型属性、计算题目及第四类型属性,在不同粒度下对计算题目的计算类型进行分类。
[0091] 具体的,从计算题目整体出发,利用计算题目自身的第四类型属性进行计算类型的粗粒度分类;其次从计算题目中的子公式出发,利用子公式及其第三类型属性进行计算类型的中等粒度分类;最后从子公式中的公式项出发,利用公式项及其第二类型属性进行计算类型细粒度分类。而后,根据用户需求,可以将以上任一种粒度下分类得到的计算类型作为计算题目最终的分类结果。
[0092] 对于计算题目中的用于填写答案的待填项,本实施例可以遍历计算题目中的公式项,以识别当前的公式项是否为用于填写答案的待填项;当识别到当前的公式项为空括号、下划线、空圆圈或空方框等内容时,确定当前的公式项为待填项。在识别到待填项的情况下,根据待填项前后的公式项及第二类型属性,和/或子公式及第三类型属性,对待填项进行分类。比如:待填项前后的公式项为两个数字,则位于中间的待填项应该是需要填写一个运算符号,则此待填项的预分类为运算符号。
[0093] 如果遍历完所有公式项之后还存在不确定的待填项,那么可以综合计算题目的整体信息及已经确定的待填项的信息,再进行一次待填项的确定。
[0094] 在一种场景中,本实施例还可以根据特殊符号、公式项和子公式,验证计算题目的组成结构的合法性,从而避免计算题目存在有连着的两个运算符号和两个数字这种不合理情况。
[0095] 综合,本实施例提供的计算题目的解析方法,以计算题目中的单个的字符作为解析的最基本单元,从识别字符的字符类型作为解析的基础,降低了解析难度;再从字符开始,由小到大地逐步解析出特殊符号以及同类字符串、公式项,由此能够提高对计算题目内部表达式的解析准确性;最后利用粒度较细的特殊符号和公式项,有利于分析计算题目内部的结构关系,尤其是面对题型复杂、特殊的计算题目,能够提高表达式解析能力。
[0096] 图4为本公开实施例提供的一种计算题目的解析装置结构框图。本装置可以用于实现上述计算题目的解析方法。如图4所示,该计算题目的解析装置400可以包括以下模块:
[0097] 题目获取模块402,用于获取包括多个字符的计算题目;
[0098] 字符识别模块404,用于识别所述字符的字符类型,并根据所述字符类型将所述计算题目中的多个字符划分为特殊符号和多个同类字符串;其中,所述特殊符号包括字符类型为预设的特殊字符类型的所述字符;每个所述同类字符串包括字符类型相同且为非特殊字符类型的所述字符;
[0099] 属性预测模块406,用于根据所述同类字符串中各所述字符的字符类型,预测所述同类字符串的第一类型属性;
[0100] 公式项生成模块408,用于根据所述第一类型属性对多个所述同类字符串进行组合,生成公式项;
[0101] 结构生成模块410,用于基于所述特殊符号和所述公式项生成所述计算题目对应的表达式树状结构。
[0102] 本实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
[0103] 本公开示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本公开实施例的方法。
[0104] 本公开示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。
[0105] 参考图4,现将描述可以作为本公开的服务器或客户端的电子设备500的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0106] 如图5所示,电子设备500包括计算单元501,其可以根据存储在只读存储器(ROM)502中的计算机程序或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序,来执行各种适当的动作和处理。在RAM 503中,还可存储设备500操作所需的各种程序和数据。计算单元501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
[0107] 电子设备500中的多个部件连接至I/O接口505,包括:输入单元506、输出单元507、存储单元508以及通信单元509。输入单元506可以是能向电子设备500输入信息的任何类型的设备,输入单元506可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元507可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元508可以包括但不限于磁盘、光盘。通信单元509允许电子设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
[0108] 计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理。例如,在一些实施例中,计算题目的解析方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到电子设备500上。在一些实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行计算题目的解析方法。
[0109] 用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0110] 在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD‑ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0111] 如本公开使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
[0112] 为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0113] 可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
[0114] 计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端‑服务器关系的计算机程序来产生客户端和服务器的关系。
[0115] 以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页 第1页 第2页 第3页
相关技术
装置设备相关技术
解析方法相关技术
张西群发明人的其他相关专利技术