首页> 中国专利> 应用题解题步骤的生成方法和装置

应用题解题步骤的生成方法和装置

摘要

本公开提出一种应用题解题步骤的生成方法和装置,其中,本公开提出的应用题解题步骤的生成方法,在确定了应用题对应的算式树后,首先利用规则匹配和模型预测方法确定算式树中各节点对应的候选语义,之后,再基于预设的公式库,将各个节点对应的候选语义进行聚合、筛选,以确定每个节点对应的目标语义,然后再根据算式树中每个节点对应的目标语义,生成应用题对应的解题步骤。由此,通过扩大算式树中各节点的候选语义范围,提高了确定各个节点的正确语义的概率,进而提高了确定的解题步骤的正确性和可靠性。

著录项

  • 公开/公告号CN116070636A

    专利类型发明专利

  • 公开/公告日2023-05-05

    原文格式PDF

  • 申请/专利权人 北京猿力未来科技有限公司;

    申请/专利号CN202111272467.8

  • 申请日2021-10-29

  • 分类号G06F40/30(2020.01);G06Q50/20(2012.01);

  • 代理机构北京清亦华知识产权代理事务所(普通合伙) 11201;

  • 代理人单冠飞

  • 地址 100102 北京市朝阳区广顺南大街8号院1号楼6层F01-03、05-10单元

  • 入库时间 2023-06-19 19:33:46

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-05-23

    实质审查的生效 IPC(主分类):G06F40/30 专利申请号:2021112724678 申请日:20211029

    实质审查的生效

  • 2023-05-05

    公开

    发明专利申请公布

说明书

技术领域

本公开涉及人工智能技术领域,尤其涉及一种应用题解题步骤的生成方法和装置。

背景技术

受人工智能技术的不断发展的影响,在教育领域中,学生的学习方式以及教师的授课方式都发生了改变。在数学学科中,应用题是重点及难点之一,学生对应用题的理解主要依靠教师的讲解,如果基于人工智能的手段能够精准有效的生成应用题解题步骤,不仅有利于学生的自主学习,也大大的减轻了教师的教学压力。

相关技术中,通常基于模型方法生成应用题解题步骤,该方法需要依赖大量的训练数据,但是由于训练数据集的获得难度较大,导致模型生成的应用题解题步骤存在错误的情况。因此,如何提供一种可靠的应用题解题步骤生成方法,是目前亟需解决的问题。

发明内容

本公开提出一种应用题解题步骤的生成方法和装置,用于解决生成应用题解题步骤可靠性低的问题。

本公开一方面实施例提出了一种应用题解题步骤的生成方法,包括:

获取待处理的应用题对应的算式树;

分别基于预设的规则及语义生成模型,对所述算式树及所述应用题进行语义提取,以确定所述算式树中每个节点对应的候选语义集;

基于预设的公式库,自叶子节点至根节点,将所述算式树中每个节点对应的候选语义集进行聚合处理,以确定每个节点对应的聚合后的语义及各个节点聚合后的语义间的关联关系;

在所述算式树中根节点对应的聚合后的语义为一个的情况下,自根节点至叶子节点,根据所述各个节点聚合后的语义间的关联关系,依次将每个节点对应的聚合后的语义中与上一级节点对应的目标语义关联的语义,确定为所述每个节点对应的目标语义;

根据所述算式树中每个节点对应的目标语义,生成所述应用题对应的解题步骤。

本公开另一方面实施例提出了一种应用题解题步骤的生成装置,包括:

获取模块,用于获取待处理的应用题对应的算式树;

第一确定模块,用于分别基于预设的规则及语义生成模型,对所述算式树及所述应用题进行语义提取,以确定所述算式树中每个节点对应的候选语义集;

第二确定模块,用于基于预设的公式库,自叶子节点至根节点,将所述算式树中每个节点对应的候选语义集进行聚合处理,以确定每个节点对应的聚合后的语义及各个节点聚合后的语义间的关联关系;

第三确定模块,在所述算式树中根节点对应的聚合后的语义为一个的情况下,自根节点至叶子节点,根据所述各个节点聚合后的语义间的关联关系,依次将每个节点对应的聚合后的语义中与上一级节点对应的目标语义关联的语义,确定为所述每个节点对应的目标语义;

生成模块,用于根据所述算式树中每个节点对应的目标语义,生成所述应用题对应的解题步骤。

本公开提出的应用题解题步骤的生成方法,在确定了应用题对应的算式树后,首先利用规则匹配和模型预测方法确定算式树中各节点对应的候选语义,之后,再基于预设的公式库,将各个节点对应的候选语义进行聚合、筛选,以确定每个节点对应的目标语义,然后再根据算式树中每个节点对应的目标语义,生成应用题对应的解题步骤。由此,通过扩大算式树中各节点的候选语义范围,提高了确定各个节点的正确语义的概率,进而提高了确定的解题步骤的正确性和可靠性。

本公开实施例提供一种计算设备,所述计算设备包括:

存储有可执行程序代码的存储器;

与存储器耦合的处理器;

其中,处理器调用存储器中存储的可执行程序代码,执行如上述第一方面所述的应用题解题步骤的生成方法。

本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的应用题解题步骤的生成方法。

本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。

附图说明

本公开上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本公开实施例提供的一种应用题解题步骤的生成方法的流程示意图;

图2为本公开提出的一种算式树示意图;

图3为本公开提供的一种算式语义树的示意图;

图4所示为本公开中的一种语义聚合的过程示意图;

图5为本公开实施例提供的另一种应用题解题步骤的生成方法的流程示意图;

图6为本公开提供的一种候选语义与聚合后的语义的示意图;

图7所示为本公开中的一种语义树的结构示意图;

图8为本公开实施例提供的又一种应用题解题步骤的生成方法的流程示意图;

图9为本公开实施例提供的一种应用题解题步骤的生成装置的结构示意图。

图10为本公开实施例提供的一种计算设备的结构示意图。

具体实施方式

下面详细描述本公开的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本公开,而不能理解为对本公开的限制。

图1为本公开实施例提供的一种应用题解题步骤的生成方法的流程示意图。

如图1所示,该应用题解题步骤的生成方法包括:

步骤101,获取待处理的应用题对应的算式树。

本公开中,可以将待处理的应用题输入预先训练好的端到端的解题模型中,以获取该应用题的算式,之后,再基于算式构造出算式树。

比如,若解题模型输出的某一应用题的算式为:“2*2*3.14*3”,则根据其构造的算式树可以如图2所示。由图2可知,算式树中,可以包括数学运算符及运算数。

步骤102,分别基于预设的规则及语义生成模型,对算式树及应用题进行语义提取,以确定算式树中每个节点对应的候选语义集。

由上图2可知,算式树中的节点,可以为运算符,或者,运算数等。另外,在应用题中,算式树中的每个节点,还可以被赋予一个语义,以构造出算式语义树。如图3所示,图3为本公开提供的一种算式语义树的示意图。由图3可知,若与图2所示的算式树对应的应用题为:一个圆柱的底面半径为2厘米,高为3厘米,求此圆柱的体积,则图2所示的算式树中各个节点的语义分别如图3所述。

由图3可知,每个节点的语义包括:主语(如:圆柱、圆、长方形等)、谓词(如:长、面积、体积等)、单位。

本公开中,可以根据算式树中各节点的位置,将节点分为三类:叶子节点、中间节点、根节点。算式树中各节点的语义可以基于应用题题干及对应的算式树,利用规则匹配及模型预测等方法进行提取。

可选的,可以利用规则匹配的方法,分别为根节点及每个叶子节点提取有效语义。在实现时,可以将题干与预设的规则进行匹配,若题干中的部分内容与某一规则匹配成功,则可以根据题干中的部分内容,确定对应的节点的语义。

比如,当题干中“圆柱的底面半径是2cm”与任一规则匹配,则可根据该规则,确定图2算式树中,数值为“2”的节点对应的语义为:主语:圆柱,谓词为:半径,单位为:厘米。

可选的,还可以利用模型预测的方法,可以为所有节点提取语义。比如,将待处理的应用题题干和算式树输入到训练好的模型中,以获得每个节点多条置信度不同的语义信息。因为置信度较低的语义对解题的意义较小,为减少计算量,可以丢弃低于置信度阈值的语义,保留高于置信度阈值的语义。

此外,由于算式树中的某些数字可能为常量,本公开中,还可以进一步判断算式树中的运算数是否为潜在常量,来确定算式树中节点的语义。比如可以将叶子节点的数值与公式库中提取的常量进行对比,如果算式树中存在与公式库中的常量相同的数值,则可以认为此数值所在的节点可能是潜在常量。其中,公式库中的数学公式可以通过人工枚举获得,或者,也可以通过对已知的各个数学公式进行统计后生成,本公开对此不做限定。

比如,公式库中包含公式“直径=半径*2”,则将图3中的节点与公式库中的常量进行比对可知,图3中存在数值为2的叶子节点,则此叶子节点可能为常量。

最后,将规则、模型、常量匹配三种方法提取的语义按节点组合,获得每个节点对应的候选语义集。

步骤103,基于预设的公式库,自叶子节点至根节点,将算式树中每个节点对应的候选语义集进行聚合处理,以确定每个节点对应的聚合后的语义及各个节点聚合后的语义间的关联关系。

具体的,由于每个节点可能有多个候选语义,而正确的解题步骤可能只对应着一种节点语义组合,因此可以通过对每个节点的语义进行筛选,以获得一种最优的结题步骤。

可选的,可以子叶子节点至根节点,以子算式树为单位,将每个子算式树中的节点对应的候选语义进行聚合。比如,可以将子算式树中叶子节点的候选语义进行组合,然后再根据组合方案进行聚合。本方案中,可以将子算式树根节点的运算符及叶子节点谓词进行组合,并在公式库中进行查询,如果能查询到,则组合有效,并记录语义的关联关系;如果查询不到,则组合无效。

比如,如图4所示为本公开中的一种语义聚合的过程示意图,如图4所示,对子算式树“2*2”进行聚合时,数值为2的叶子节点可能为潜在常量,且有一个候选语义(主语:圆柱、谓词:半径、单位:厘米),则该子算式树有4种候选语义组合方案。以图4b为例,叶子节点谓词与父节点运算符的组合结果为:半径*2,在公式库中查找到“直径=半径*2”,则聚合成功,得到子算式树的根节点聚合后的语义为(主语:圆柱,谓词:直径,单位:厘米),该情况下节点间的语义的关联关系为:“直径=半径*2”。如果,在公式库中查找不到“半径*2”相关的公式,则“半径*2”的组合无效。同理,可得到图4中其他三种候选语义组合的聚合结果。

另外,当每个节点的候选语义较多时,候选语义组合方案也相应变多,且组合中存在重复、无效、可靠性较低的组合方案。为了增加解题步骤的正确性,可以对候选语义组合做进一步的筛选。

本实施中,可以基于深度学习方法,对所有的组合进行遍历,以获得最优几种组合方案,然后删除最优几种组合方案中聚合后语义为无意义的、或者聚合后语义相同的组合。可选的,可以根据子算式树对应的候选语义组合中,每个节点语义的来源,确定待去除的组合。通常,依据最大程度保留来源为模型预测的语义原则,删除来源为模型预测的语义较少的组合。如果候选语义组合中,来源为模型预测的语义数量相同,则保留左结点为模型预测的语义的组合。

比如:假设子算式树2*2中,每个节点有3种候选语义,则可组成9种候选语义组合,利用预先训练好的深度学习网络,根据聚合的语义关联关系对候选语义组合进行评分,筛选出得分最高的4种最优的组合,如图4所示。图4展示了4种最优组合聚合后的语义关联关系,由于图4c的组合中,父节点聚合后为无意义,即可直接去掉,图4b和图4d的父节点聚合后语义的谓词都为“直径”,可以认为图4b和图4d对应的两种组合聚合后的语义相同,可以去掉图4b和图4d所示组合中的一种。如图4b和图4d所示,该两个组合中分别包括一个模型预测的语义“主语:圆柱,谓词:半径,单位:厘米”,以及一个常量,即二个组合中包含的模型预测的语义的数量相同,此时,由于图4b对应的参考语义组合中左节点的语义为模型预测的,而图4d中右叶子节点的语义为模型预测的,从而可以保留4b对应的参考语义组,删除4d对应的参考语义组。

步骤104,在算式树中根节点对应的聚合后的语义为一个的情况下,自根节点至叶子节点,根据各个节点聚合后的语义间的关联关系,依次将每个节点对应的聚合后的语义中与上一级节点对应的目标语义关联的语义,确定为每个节点对应的目标语义。

具体的,自底向上对算式树中所有节点聚合完成后,每个节点可能仍存在多种候选语义,此时可以通过自顶向下,根据语义的关联关系对聚合结果进行验证,以确定每个节点的目标语义。其中,目标语义是最终生成解题步骤时,每个节点对应的唯一语义。

在实现时,确定父节点目标语义后,可以在父节点聚合后的语义关联关系中,选出父节点的目标语义对应的关联关系,再依据该关联关系可以确定子节点的目标语义,依次类推,自顶向下依次确定每个节点的目标语义。

比如,如图3所示,根节点对应的聚合后的语义只有一个“主语:圆柱,谓词:体积,单位:立方厘米”,之后,即可根据该语义对应的关联关系“体积=底面积*高”,确定数值为3的节点的语义(主语:圆柱,谓词:高,单位:厘米),与数值为3的节点同层的运算符为*的节点语义(主语:圆柱,谓词:底面积,单位:平方厘米)。同理,逐层向下确定子算式树“**3.14”、“2*2”中各节点对应的语义。

步骤105,根据算式树中每个节点对应的目标语义,生成应用题对应的解题步骤。

在确定每个节点目标语义后,根据算式树自底向上,结合节点对应的目标语义及运算符,逐步生成解题步骤。

比如:假如图3为由每个节点目标语义组成的算式语义树,自底向上生成的第一个解题步骤为:半径平方=半径*半径,第二步为:底面积=半径平方*3.14,第三步为:体积=底面积*高。

本公开中,在确定了应用题对应的算式树后,首先利用规则匹配和模型预测方法确定算式树中各节点对应的候选语义,之后,再基于预设的公式库,将各个节点对应的候选语义进行聚合、筛选,以确定每个节点对应的目标语义,然后再根据算式树中每个节点对应的目标语义,生成应用题对应的解题步骤。由此,通过扩大算式树中各节点的候选语义范围,提高了确定各个节点的正确语义的概率,进而提高了确定的解题步骤的正确性和可靠性。

在实际应用中,每个节点可能存在多个候选语义,本公开中,为了尽量获取应用题对应的较优的解题步骤,可以基于每个候选语义对应的优先级,对候选语义进行筛选,以获得一种最优的结题步骤。下面结合图5对上述过程进行详细说明,图5为本公开实施例提供的另一种应用题解题步骤的生成方法的流程示意图。

如图5所示,该应用题解题步骤的生成方法包括:

步骤501,获取待处理的应用题对应的算式树。

本公开中,可以将待处理的应用题输入预先训练好的端到端的解题模型中,以获取该应用题的算式,之后,再基于算式构造出算式树。

步骤502,将应用题分别与预设的规则库中的各个语义进行匹配,以确定算式树中每个节点对应的第一候选语义。

本实施例中,可以基于预设的规则为算式树节点提取语义。实施时,可以将应用题题干按句子进行分解,将每一子句与预设的规则进行逐一匹配,若与某一规则匹配成功,则可以从题干中的部分内容中提取对应的节点的语义。

需要说明的是,预设的规则通常是通过人工设计校验的,其正确性有一定的保障,因此,可以将基于规则提取的第一候选语义的优先级设置为一个较高的值。

步骤503,将应用题及算式树,输入预设的语义生成模型,以确定算式树中每个节点对应的第二候选语义。

本实施例中,可以将待处理的应用题题干和算式树输入到训练好的模型中,以获得每个节点多条置信度不同的语义信息。基于模型预测的语义,其语义的正确性依赖于训练数据的质量,由于训练数据获取难度大,导致预测的语义可能存在错误的现象,因此,第二候选语义的优先级通常小于第一候选语义对应的优先级。

需要说明的是,模型输出的第二候选语义通常为多个,且每个第二候选语义对应一个置信度,本公开中,可以首先与每个第二候选语义对应的置信度,从多个第二候选语义中,选择置信度较高的几个作为节点对应的候选语义。

步骤504,根据算式树中第一子算式树中各节点对应的候选语义集,确定第一子算式树对应的候选语义组,其中,第一子算式树为由叶子节点组成的算式树,每个候选语义组中包括第一子算式树中每个节点对应的一个候选语义。

本实施例中,将第一子算式树中各节点对应的候选语义进行组合,确定第一子算式树对应的候选语义组。其中,第一子算式树为子节点全部为叶子节点的算式树。

比如,图2为本公开提出的一种算式树示意图。如图2所示,“2*2”即为第一子算式树。假设,数值为“2”的节点可能为常量,且有1个候选语义(主语:圆柱,谓词:半径,单位:厘米),则子算式树“2*2”对应的候选语义组为:“半径、2”、“半径、半径”、“2、半径”、“2、2”,其中,候选语义组中“半径”代表候选语义中谓词为“半径”的语义,候选语义组中“2”代表候选语义中的常量。

步骤505,基于预设的公式库,对第一子算式树对应的每个候选语义组进行遍历,以确定第一子算式树对应的参考语义组。

由于无实际意义的候选语义组合,对于生成解题步骤没有意义。因此,在确定候选语义组合后,可以首先对候选语义组合进行筛选,以确定有实际意义的组合,并将其作为子算式树的参考语义组。

基于公式库对自算式树对应的候选语义组合进行筛选的过程,可参照本公开任一实施例的详细描述,此处不再赘述。

步骤506,对每个所述参考语义组中的语义进行聚合,以确定所述第一子算式树中父节点对应的聚合后的语义。

本公开中,可以对每个参考语义组中的语义进行聚合,确定相应的子算式树中父节点的聚合后的语义。比如,在图4中,假设图4中子算式树“2*2”的参考语义组有4种,对每种参考语义组聚合后的语义分别如图4所示。

其中,如图4c所示,父节点的聚合后的语义为无意义,可以直接删除,如图4b、4d所示,父节点聚合后的语义相同,可以删除其中一个语义及对应的参考语义组,比如,可以删除图4d所示的参考语义组。

本公开中,父节点对应的聚合后的语义可能只有一个,也可能有多个,在父节点聚合后的语义为多个的情况下,可以为不同的语义分配不同的优先级。比如,可以将父节点聚合后的语义,与该节点对应的模型预测所得各候选语义进行比对,如果存在相同语义,则按照模型预测语义的置信度为聚合得到的语义分配优先级。如果置信度高,可以为对应的聚合后的语义分配较高的优先级,如果置信度底,则为聚合后的语义分配较低的优先级,如果不存在相同语义,可以将聚合后的语义的优先级设置为最低。

比如,图6为本公开提供的一种候选语义与聚合后的语义的示意图。如图6所示,图6a为模型预测的3个候选语义,图6b为聚合后的2个语义,本公开中,可以将谓词相同的语义,确定为相同语义。对比图6a和图6b中语义可知,图6a中第一个语义与图6b中第一个语义相同,图6a中第二个语义与图6b中第二个语义相同,因此,可以根据图6a中的置信度,设置图6b中第一个语义的优先级高于第二个语义的优先级。

步骤507,基于父节点对应的聚合后的语义,返回执行确定子算式树对应的候选语义组的操作,直至确定算式树中每个节点对应的聚合后的语义及每个子算式树对应的参考语义组。

本实施例中,由于父节点聚合后的语义是依赖于公式库查询出的结果,其可靠性较高,可以用父节点的聚合后的语义,替换父节点对应的候选语义。之后,逐层向上依次取每一个子算式树,并对每个子算式树执行筛选参考语义组的操作,直至确定算式树中每个节点对应的聚合后的语义及每个子算式树对应的参考语义组。

比如,图6a中第一个语义的单位为:厘米,图6b中第一个语义的单位为:平方厘米,因为聚合是通过与公式库进行比对所得,准确性更高,从而可以将图6b所示两种语义,作为该节点的候选语义,用于进行向上一个子算式树的聚合操作。以图3为例,在确定“2*2”子算式树对应的参考语义及对应父节点聚合后的语义之后,基于父节点聚合后的语义,向上对子算式树“**3.14”、“**3”依次执行步骤504至步骤505操作,以确定算式树中每个节点对应的聚合后的语义及每个子算式树对应的参考语义组。

另外,在父节点聚合后语义相同的情况下,还可以根据子节点中,运算符节点语义的优先级,确定保留哪种组合。本方案中,可以保留包含最高优先级语义的组合,如果优先级相同,则保留第一次获取的语义组合。

比如,如图7所示,在图7a和图7b的子算式树“**5”中,父节点聚合后的语义的谓词都为“体积”,假设子节点中运算符“*”的候选语义中,谓词为“底面积”的候选语义的优先级高于谓词为“侧面积”的候选语义的优先级,则保留图7a所示组合,丢弃图7b所示组合。

步骤508,根据每个子算式树对应的参考语义组,确定各个节点聚合后的语义间的关联关系。

本公开中,确定每个子算式树对应的参考语义组后,对每个参考语义组进行聚合,即可确定每个子算式树中,各节点的聚合后的语义间的关联关系。其中,聚合方法可参照上述实施例的详细描述,此处不再赘述。

步骤509,在算式树中根节点对应的聚合后的语义为一个的情况下,自根节点至叶子节点,根据各个节点聚合后的语义间的关联关系,依次将每个节点对应的聚合后的语义中与上一级节点对应的目标语义关联的语义,确定为每个节点对应的目标语义。

步骤510,根据算式树中每个节点对应的目标语义,生成应用题对应的解题步骤。

本实施例中,步骤509-步骤510可参照上述实施例的详细描述,此处不再赘述。

本公开中,在确定了应用题对应的算式树后,首先利用规则匹配和模型预测方法确定算式树中各节点对应的候选语义,之后,再基于预设的公式库,将各子算式树对应的候选语义组合进行聚合、筛选,以确定每个节点对应的目标语义,然后再根据算式树中每个节点对应的目标语义,生成应用题对应的解题步骤。由此,通过扩大算式树中各节点的候选语义范围,提高了确定各个节点的正确语义的概率,进而提高了确定的解题步骤的正确性和可靠性。

在实际应用中,确定每个节点对应的聚合后的语义及各个节点聚合后的语义关联关系之后,可以自上向下进行验证,以确定每个节点的目标语义。当根节点有多个聚合后的语义时,无法依赖语义关联关系确定根节点的目标语义。本公开中,可以利用根节点候选语义来源确定根节点的目标语义。下面结合图8进行说明,图8为本公开实施例提供的另一种应用题解题步骤的生成方法的流程示意图。

如图8所示,该应用题解题步骤的生成方法包括:

步骤801,获取待处理的应用题对应的算式树。

步骤802,分别基于预设的规则及语义生成模型,对算式树及应用题进行语义提取,以确定算式树中每个节点对应的候选语义集。

步骤803,基于预设的公式库,自叶子节点至根节点,将算式树中每个节点对应的候选语义集进行聚合处理,以确定每个节点对应的聚合后的语义及各个节点聚合后的语义间的关联关系。

本实施例中,步骤801-步骤803可参照上述实施例的详细描述,此处不再赘述。

步骤804,在根节点聚合后的语义为多个的情况下,确定根节点的目标语义。

通常,基于模型生成的候选语义包括置信度属性,可以基于候选语义的置信度,确定根节点的目标语义。本实施例中,如果根节点聚合后的语义,与根节点基于规则提取的候选语义相同,则可以将基于规则提取的候选语义,确定为根节点的目标语义。或者,如果根节点聚合后的语义中未包含基于规则提取的候选语义,而与利用模型预测的候选语义相同,可以按照模型预测的语义置信度确定对应的聚合后语义的置信度。

在根节点对应的任一聚合后的语义的置信度高于其余聚合后的语义的情况下,将此聚合后的语义,确定为根节点对应的目标语义。

比如,如图3中的语义树中,基于规则为根节点提取的一个候选语义的谓词为“体积”,则若根节点对应的聚合后的语义中,包含谓词为“体积”的语义,则可以将谓词为“体积”的语义确定为该根节点的目标语义。

本实施例中,还可以根据聚合后的语义中的谓词是否在谓词库中,来确定聚合后的语义的优先级。比如,当聚合后的语义中包含第一候选语义、且第一候选语义的谓词在谓词库中时,则可以将第一候选语义确定为根节点对应的目标语义。此外,在谓词库中的谓词称为有效谓词,不在谓词库中的谓词,称为无效谓词,包含有效谓词的语义可以认为是有效语义,包含无效谓词的语义则为无效语义。其中,谓词库中的谓词,可以通过人工枚举获得,或者,也可以通过对已知语义的算式树统计后生成,本公开对此不做限定。

另外,在根节点聚合后的语义中即未包含第一候选语义、又未包含第二候选语义的时,则可以认为解题步骤生成失败,程序结束。

步骤805,自根节点至叶子节点,根据各个节点聚合后的语义间的关联关系,依次将每个节点对应的聚合后的语义中与上一级节点对应的目标语义关联的语义,确定为每个节点对应的目标语义。

步骤806,根据算式树中每个节点对应的目标语义,生成应用题对应的解题步骤。

本实施例中,步骤805、步骤806可参照上述实施例的详细描述,此处不再赘述。

本公开中,在确定了应用题对应的算式树后,首先利用规则匹配和模型预测方法确定算式树中各节点对应的候选语义,之后,再基于预设的公式库,将各子算式树对应的候选语义组合进行聚合、筛选,以确定每个节点对应的目标语义,在聚合后的语义为多个的情况下,再根据聚合后的语义的来源,确定聚合后的语义的置信度,进而将置信度最高的语义确定为节点的目标语义,然后再根据算式树中每个节点对应的目标语义,生成应用题对应的解题步骤。从而保证了各个节点目标语义的准确性,进而提高了生成应用题解题步骤的准确性和可靠性。

如图9所示,该应用题解题步骤的生成装置900包括:获取模块910、第一确定模块920、第二确定模块930、第三确定模块940和生成模块950。

获取模块910,用于获取待处理的应用题对应的算式树;

第一确定模块920,用于分别基于预设的规则及语义生成模型,对所述算式树及所述应用题进行语义提取,以确定所述算式树中每个节点对应的候选语义集;

第二确定模块930,用于基于预设的公式库,自叶子节点至根节点,将所述算式树中每个节点对应的候选语义集进行聚合处理,以确定每个节点对应的聚合后的语义及各个节点聚合后的语义间的关联关系;

第三确定模块940,用于在所述算式树中根节点对应的聚合后的语义为一个的情况下,自根节点至叶子节点,根据所述各个节点聚合后的语义间的关联关系,依次将每个节点对应的聚合后的语义中与上一级节点对应的目标语义关联的语义,确定为所述每个节点对应的目标语义;

生成模块950,用于根据所述算式树中每个节点对应的目标语义,生成所述应用题对应的解题步骤。

在本公开实施例一种可能的实现方式中,上述第一确定模块920用于:

将所述应用题分别与预设的规则库中的各个语义进行匹配,以确定所述算式树中每个节点对应的第一候选语义;

将所述应用题及所述算式树,输入预设的语义生成模型,以确定所述算式树中每个节点对应的第二候选语义。

在本公开实施例一种可能的实现方式中,上述第二确定模块930包括:

第一确定单元,用于根据所述算式树中第一子算式树中各节点对应的候选语义集,确定所述第一子算式树对应的候选语义组,其中,所述第一子算式树为由叶子节点组成的算式树,每个候选语义组中包括所述第一子算式树中每个节点对应的一个候选语义;

遍历单元,用于基于所述预设的公式库,对所述第一子算式树对应的每个候选语义组进行遍历,以确定所述第一子算式树对应的参考语义组;

聚合单元,用于对每个所述参考语义组中的语义进行聚合,以确定所述第一子算式树中父节点对应的聚合后的语义;

第二确定单元,用于基于所述父节点对应的聚合后的语义,返回执行所述确定子算式树对应的候选语义组的操作,直至确定所述算式树中每个节点对应的聚合后的语义及每个所述子算式树对应的参考语义组;

第三确定单元,用于根据所述每个所述子算式树对应的参考语义组,确定所述各个节点聚合后的语义间的关联关系。

在本公开实施例一种可能的实现方式中,上述遍历单元用于:

根据每个所述候选语义组中的谓词、及所述第一子算式树中包含的操作符,确定每个候选语义组对应的参考公式;

将每个所述参考公式,与所述预设的公式库中的每个公式进行匹配,以确定与所述公式库中的任一公式匹配的参考公式;

将所述参考公式对应的候选语义组,确定为所述第一子算式树对应的参考语义组。

在本公开实施例一种可能的实现方式中,该装置还可包括:

第四确定模块,用于在所述算式树中根节点对应的聚合后的语义为多个的情况下,确定所述根节点对应的每个聚合后的语义的置信度;

第五确定模块,用于在所述根节点对应的任一聚合后的语义的置信度高于其余聚合后的语义的情况下,将所述任一聚合后的语义,确定为所述根节点对应的目标语义。

在本公开实施例一种可能的实现方式中,该装置还可包括:

第六确定模块,用于在所述算式树中根节点对应的聚合后的语义为多个的情况下,确定所述根节点对应的多个聚合后的语义中是否包含基于所述预设的规则确定的第一候选语义;

第七确定模块,用于在所述多个聚合后的语义中包含第一候选语义的情况下,确定所述第一候选语义中的谓词是否有效;

第八确定模块,用于在所述谓词有效的情况下,将所述第一候选语义确定为所述根节点对应的目标语义;

第九确定模块,用于在所述多个聚合后的语义中未包含所述第一候选语义、或者所述谓词无效的情况下,将所述聚合后的语义中、基于所述预设的语义生成模型生成的第二候选语义,确定为所述根节点对应的目标语义。

需要说明的是,上述对应用题解题步骤的生成方法实施例的解释说明,也适用于该实施例的应用题解题步骤的生成装置,故在此不再赘述。

本公开实施例的应用题解题步骤的生成装置,在确定了应用题对应的算式树后,首先利用规则匹配和模型预测方法确定算式树中各节点对应的候选语义,之后,再基于预设的公式库,将各子算式树对应的候选语义组合进行聚合、筛选,以确定每个节点对应的目标语义,然后再根据算式树中每个节点对应的目标语义,生成应用题对应的解题步骤。由此,通过扩大算式树中各节点的候选语义范围,提高了确定各个节点的正确语义的概率,进而提高了确定的解题步骤的正确性和可靠性。

为了实现上述实施例,本公开实施例还提出一种计算机设备,包括处理器和存储器;

存储有可执行程序代码的存储器1001;

与存储器1001耦合的处理器1002;

其中,处理器1002调用存储器1001中存储的可执行程序代码,执行本公开任意实施例所提供的应用题解题步骤的生成方法。

该计算设备实施例与上述方法实施例是基于同一发明构思得到的实施例,相关之处可以相互参照。上述计算设备实施例与方法实施例相对应,与该方法实施例具有同样的技术效果,具体说明参见方法实施例。

为了实现上述实施例,本公开实施例还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例所述的应用题解题步骤的生成方法。

在本说明书的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本公开的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

尽管上面已经示出和描述了本公开的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本公开的限制,本领域的普通技术人员在本公开的范围内可以对上述实施例进行变化、修改、替换和变型。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号