首页> 中国专利> 语法依赖增强的数学应用题语义识别与推理方法及系统

语法依赖增强的数学应用题语义识别与推理方法及系统

摘要

本发明公开了一种语法依赖增强的数学应用题语义识别与推理方法及系统,通过树结构提取题目文本中的信息,融合题目文本局部和全局的语义,能够准确识别数学应用题的细节,有效地描述题目语义与细节,提升智能教育的实际应用中的效果。此外,编码器产生的语义向量可以给众多教育平台提供更好的试题表征、试题自动标注与个性化试题推荐等智慧教育领域的实践提供一定的技术支持,还可带来一定的潜在经济效益。

著录项

  • 公开/公告号CN112613323A

    专利类型发明专利

  • 公开/公告日2021-04-06

    原文格式PDF

  • 申请/专利权人 中国科学技术大学;

    申请/专利号CN202011517409.2

  • 发明设计人 陈恩红;刘淇;林鑫;黄振亚;王皓;

    申请日2020-12-21

  • 分类号G06F40/30(20200101);G06F40/211(20200101);G06N3/04(20060101);G06N5/04(20060101);

  • 代理机构11260 北京凯特来知识产权代理有限公司;

  • 代理人郑立明;韩珂

  • 地址 230026 安徽省合肥市包河区金寨路96号

  • 入库时间 2023-06-19 10:29:05

说明书

技术领域

本发明涉及机器学习、人工智能和智能教育技术领域,尤其涉及一种语法依赖增强的数学应用题语义识别与推理方法及系统。

背景技术

在智能教育中,数学应用题的自动推理和求解是一项具有挑战性的任务。数学应用题包含一段自然语言描述的故事以及一个相关的数学题目。数学应用题的题目由自然语言给出,答案由数学推理得到,因此求解数学应用题要求算法具有对自然语言的语义理解能力和数学推理能力。

现有的方法中,针对数学应用题推理时,结合数学表达式的逻辑结构将题目转化为可计算求解的数学表达式。然而,这些工作只注重于如何让计算机进行数学推理,但没有对题目文本的语义进行深度理解,忽略题目中各元素间的语法依赖关系(如:数量与所修饰的实体),难以准确识别数学应用题的细节,无法有效地描述题目语义与细节,导致在智能教育的实际应用中的效果不佳。

发明内容

本发明的目的是提供一种语法依赖增强的数学应用题语义识别与推理方法及系统,能够准确识别数学应用题的细节,有效地描述题目语义与细节,提升在智能教育的实际应用中的效果。

本发明的目的是通过以下技术方案实现的:

一种语法依赖增强的数学应用题语义识别与推理方法,包括:

将题目文本划分为多个分句,采用一个层次化的单词-分句-题目编码器学习题目从局部到全局的语义信息表示,并且利用分句内关联增强分句语义,建立语法依赖树保存题目文本结构并建模分句内各元素间的结构依赖,最终得到题目文本对应的全局语义信息的表征;

采用基于树结构的解码器结合全局语义信息的表征,递归生成题目文本对应的数学表达式。

由上述本发明提供的技术方案可以看出,相比于传统序列化的处理方法,可以更有效地描述题目的语义与细节,从而提高模型的推理准确性。

附图说明

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

图1为本发明实施例提供的数学应用题描述图;

图2为本发明实施例提供的一种语法依赖增强的数学应用题语义识别与推理方法的框架图;

图3为本发明实施例提供的语法依赖增强的分句表征模块中的框架图;

图4为本发明实施例提供的一种语法依赖增强的数学应用题语义识别与推理系统的示意图。

具体实施方式

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

本发明实施例提供一种语法依赖增强的数学应用题语义识别与推理方法,其主要包括:

将题目文本划分为多个分句,采用一个层次化的单词-分句-题目编码器学习题目从局部到全局的语义信息表示,并且利用分句内关联增强分句语义,建立语法依赖树保存题目结构并建模分句内各元素间的结构依赖,最终得到题目文本对应的全局语义信息的表征;

采用基于树结构的解码器结合全局语义信息的表征,递归生成题目文本对应的数学表达式。

本发明实施例上述方案,以分句作为语义单位,利用语法依赖树表示语句结构并层次化建模题目文本的语义信息,同时使用基于树结构的递归序列模型捕获数学表达式各元素(如:数字、运算符)间的结构依赖关系。通过融合题目文本的局部细节、全局目标以及各元素间的依赖关系,上述方案以提高算法数学推理的准确性。

上述方案实际上涵盖了两个阶段:

第一个阶段为题目理解阶段:模拟人类阅读与理解习惯,将题目文本划分为多个分句,然后设计一个层次化的单词-分句-题目编码器来学习题目文本从局部到全局的语义信息表示。进一步,为了利用分句内关联增强分句语义,在分句理解阶段,建立语法依赖树保存题目文本结构并设计一个基于依赖树的模块建模分句内各元素间的结构依赖。

第二个阶段为推理阶段:提出一个基于树结构的解码器递归生成数学表达式,首先利用层次化注意力机制显式综合不同层次的信息增强语义并抽取相关的上下文信息,然后利用指针-生成网络指导模型抽取已有信息和推理附加知识来预测每个位置符号。

为了便于理解,下面结合附图对上述方案做详细的介绍。

本发明实施中,使用广义上的数学应用题作为数据集。如图1所示,为数学应用题描述图;题目的文本内容需要含有用于描述题目信息的自然文本(如字词)和描述数量信息的数值(如图1中“3”和“4”),每条数据包括题目文本(如图1中“Problem”部分)、数学表达式(如图1中“Expression”部分)和数值答案(如图1中“Answer”部分),其中题目文本是本方案所必须的,数学表达式仅用于本方案的训练,数值答案仅用于本方案的效果评估,实际使用中仅需要题目文本。此类数据样例如腾讯公司发布的开源数学应用题数据集(Math23K)以及Microsoft公司发布的开源数据集(MAWPS)。此外,也可以通过网络爬取或线下收集中小学生的作业或考试数学题集获得输入数据集。

本发明的目的是根据文本建模其语义信息,从而进行深度推理,进而生成数学表达式;这一阶段中语义向量可以给众多教育平台提供更好的试题表征、试题自动标注与个性化试题推荐等服务,带来一定的潜在经济效益。同时,可以根据生成的数学表达式求解答案。

本发明实施例中,将每一个题目的文本P,表示为由n个单词或数值组成的序列P={p

题目P对应的表达式E

给定题目P的输入序列,数学应用题语义识别与推理的目标是学习一个模型,读取P的token作为输入,通过语义识别与推理,预测相应的表达式

本发明实施例构建了一个网络模型来进行数学应用题语义识别与推理。

网络模型的需要进行训练,训练数据为预先收集的数据集,为了保证模型的效果需要对收集的数据集进行预处理:1)数据过滤:本发明实例主要针对数学应用题中仅包含一个问题,问题的答案为数值且可以通过一个数学表达式直接计算得到的应用场景,因此需要选择数据集中仅含有一个数学表达式和数值答案的题目,过滤掉缺少表达式或有两个及以上表达式、答案的题目。2)抽样:在每个数据集中分别进行随机抽样,选用原始数据集的子集训练模型。

此外,与人类解题相似,数学应用题的语义识别与推理需要机器具有两种关键能力:自然语言理解能力以理解题目文本语义中多个要素间的关系,逻辑推理能力以通过细粒度的逻辑推理生成正确的数学表达式。现有研究工作大多仅仅关注数学推理能力以生成表达式,但仅仅简单地将题目文本建模为一个词序列,只关注词相对位置的直接影响(如:图1中“longer”在“cm”后,“than”前),却忽略了词间与语义高度相关的复杂结构(如:“3”、“longer”和“width”间关系)。这与人类准确理解题目文本的方式不符,缺乏对题目文本深层语义的理解与推理的准确性。实际上,要模仿人类的阅读习惯准确理解题目文本语义,并提高推理的效果,存在诸多困难与挑战:(1)人类通常先阅读题目文本的每个部分(如:句子)以注意局部细节(如:图1中的数值),再将其结合以获取全局目标(如:矩形的周长),如何模拟这一过程是一个具有挑战性的问题;(2)人类可以轻易抓住词间的语义依赖关系以理解其细节描述与局部语义(如:图1中“3”描述了“length”比“width”“longer”的程度),但机器却难以理解;(3)在推理中如何将局部逻辑转换为对应的表达式(如:题目文本中“3cmlonger”对应于表达式中“+3”)是一个重要的任务。(4)问题求解可能需要题目文本外的人类数学知识(如:图1中除了题目文本中的“length”和“width”,还需要矩形周长公式“2×(NUM+NUM)”,其中的“2”无法从题目文本中直接产生),如何利用这些知识仍是一个未解决的问题。

本发明实施例提供的网络模型可以更好模拟人类阅读过程提高语义理解能力,增强推理效果。本发明整个方法作为一个网络模型,基于序列到序列(Sequence-to-sequence,Seq2Seq)框架理解数学应用题和推理数学表达式,如图2~图3所示,网络模型主要包括三个部分:层次化编码器模块(Hierarchical Encoder Module)、语法依赖增强的分句表征模块(Dependency-enhanced Clause Module)和基于树结构的解码器模块(Tree-based Decoder Module)。

层次化编码器模块负责将题目文本划分为分句并学习题目文本从局部到全局的语义表征,语法依赖增强的分句表征模块负责结合分句内的结构依赖为层次化编码器模块学习每个分句的表征,基于树结构的解码器模块在题目文本语义表征的基础上,通过基于树结构的神经网络递归生成数学表达式,并使用层次注意力机制综合不同层次语义信息和指针-生成网络指导模型抽取已有信息和推导附加知识,从而准确预测各个节点的符号。各模块的具体介绍如下:

一、层次化编码器模块。

层次化编码器模块如图2上方虚线框部分所示,给定题目序列P={p

1、上下文增强的单词表征。

在单词层(图2的“Word-Level”层),将每个词p

其中,GRU

2、语法依赖增强的分句表征。

在分句层(图2的“Clause-Level”层),根据分句的划分,提取每个分句C

3、分句间关联增强的题目文本表征。

在题目层(图2的“Problem-Level”层),基于每个分句C

首先,对每个分句C

其中,PE(k)为表示第k个分句位置的编码向量,然后,通过自注意力机制从其他分句中抽取相关语义信息增强分句语义:使用神经网络建模分句表征

其中,ReLU为线性整流函数,[.]表示多个向量的拼接操作,T为向量转置运算,W

本领域技术人员可以理解,神经网络包含了线性模块和非线性模块,线性模块包含权重参数W与偏置参数b,非线性模块主要包含ReLU;本发明各部分中所涉及的神经网络的结构可以相同也可以不同。

依据分句间相关性从其他每个分句表征

其中,s为抽取语义信息时每个分句的索引,α

通过相关语义信息

其中,W

二、语法依赖增强的分句表征模块。

本模块可以理解为一个独立模块,也可以理解为层次化编码器模块的内部子模块,两种理解方式都不影响本发明的实现。

如图3所示,为语法依赖增强的分句表征模块的框架图。给定每个分句C

本发明实施例中,基于语法依赖树T

对于叶节点t

对于非叶节点t

首先,计算非叶节点t

其中W

其中,c为抽取细节语义时每个子节点的索引,α

将子节点的细节语义与初始化的节点语义表征进行融合,得到增强的节点语义表征

其中,W

三、基于树结构的解码器模块。

基于树结构的解码器模块如图2下方的两个虚线框部分所示,其输入为题目文本P各层次的语义表征。由于每个有效的数学表达式都能够唯一转换成对应的表达式树,因此解码器将数学表达式的预测与生成等价转换为表达式树的预测与生成。首先,通过基于树结构的方法,按照从根节点到叶节点的顺序自顶向下递归地依次预测并生成所需表达式树的每个节点

本发明实施例中,每个节点

1、目标向量生成。

根节点的目标向量通过题目文本对应的全局语义信息的表征h

2、上下文抽取。

基于节点的目标向量q

首先,评估目标向量q

其中,W

其中,W

其中,

3、符号预测。

基于节点的目标向量q

首先,待预测符号

计算待预测符号

P

第一种情况:如果待预测符号

第二种情况:如果待预测符号

其中,

则总的概率

模型为待预测符号

4、表达式生成。

表达式树所有节点预测完成后,综合预测到的所有节点的符号,按照节点位置或节点生成的次序生成前缀表达式形式的数学表达式

以上为本发明实施例上述方案的主要原理,此外针对题目文本P和数据集中对应的目标表达式E

该损失函数表示目标表达式每个位置上的模型计算出的真实符号的概率的负对数之和,其中,每一个y都表示一个目标表达式中真实的符号,P

本领域技术人员可以理解,训练阶段可以根据损失函数来优化模型中的可学习参数,例如前文所提到的各个神经网络线性模块中的权重参数W与偏置参数b。

本发明上述方案,通过树结构提取题目文本中的信息,融合题目文本局部和全局的语义,增强方法的语义理解能力以及推理能力;此外,编码器产生的语义向量可以给众多教育平台提供更好的试题表征、试题自动标注与个性化试题推荐等智慧教育领域的实践提供一定的技术支持,还可带来一定的潜在经济效益。

本发明另一实施例还提供一种语法依赖增强的层次化数学应用题语义识别与推理系统,如图4所示,其主要包括:处理设备与显示设备;其中:

所述处理设备,采用权利要求1~9任一项所述的方法,进行数学应用题语义识别与推理;

所述显示设备,用于显示数学应用题推理与求解过程中各个阶段得到的结果。

本发明实施例中,显示设备可以为触控屏,不仅可以显示各个阶段得到的结果,还可以输出控制命令至所述处理设备,例如,点击相关按钮进行数据预处理,或者点击相关按钮控制模型工作等。

本发明实施例中,处理设备所涉及的语义识别与推理过程在之前的实施例中已经进行了详细的说明,故不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号