一种融合结构信息的数学应用题统一解题方法

    技术2024-12-10  13


    本发明涉及神经网络,具体为一种融合结构信息的数学应用题统一解题方法。


    背景技术:

    1、求解数学应用题(math word problems,mwp)是自然语言处理(nlp)中的一项重要且基本的研究,对于机器翻译、机器阅读和机器问答等领域至关重要。自20世纪60年代以来,数学应用题求解领域得到了广泛的研究,从智能程度低的正则匹配解题方法到自动解题模型的研究。近年来,随着在线智慧教育的兴起,数学应用题求解取得了不错的成果。然而,现有的人工智能算法在逻辑思考和数理推理方面仍存在挑战,尤其是在需要数理逻辑推导能力的应用场景中,智能算法的解决方案与实际需求的匹配度和准确度仍需提升。因此,对数学应用题自动解题算法的研究成为了推动人工智能算法在数理推理和逻辑思考方面能力提升的关键任务。通过深入研究数学应用题自动解题算法,可以为人工智能技术的发展注入新的动力,推动人工智能技术在更多领域的应用和发展,为未来的智能技术发展奠定坚实的基础。

    2、现有数学应用题求解方法,如基于规则和统计的方法,这些方法通常需要消耗大量时间和人力资源,无法处理数据中的不确定性,具有较大的局限性。而近些年的数学应用题求解方法大多基于深度学习的方式,且大多聚焦于学习单个数学题或引入额外提示信息以提升数学应用题求解的性能,难以通过现有的题目进行类比求解。

    3、针对数学应用题类比求解领域,现有的一些深度学习方法依旧通过计算数学应用题之间的相似度来检索相似题目,以达到类比求解的目的。很少有工作从题目本身蕴含的结构信息和数学知识点信息角度挖掘词语或句子深层语义,因此导致类比求解性能不佳。

    4、数学应用题的方程表达常常不会是单一的,数学应用题可以分为简单算术题和方程应用题,但现有的基于深度学习的数学应用题求解方法大多数只能处理简单算术题或者方程应用题,然而能同时解决简单算术题和方程应用题的模型很少有人研究,能利用具有相同知识的相似题目类比统一求解简单算术题和方程应用题的模型目前几乎没有。


    技术实现思路

    1、针对现有技术的不足,本发明提供了一种融合结构信息的数学应用题统一解题方法,其目的在于将题目结构信息和数学知识点信息融合引入数学应用题求解模型,并且让模型能够像人类一样通过具有相同知识点的相似题目对简单算术题和方程应用题进行统一的类比求解,从而提升求解器的性能。

    2、为实现上述目的,本发明提供如下技术方案:一种融合结构信息的数学应用题统一解题方法,包括如下步骤:

    3、步骤s1:构建数据集,数据集内包含若干数学应用题以及该数学应用题对应的方程表达式和答案,且每个数学应用题均被标注知识点;

    4、步骤s2:对待求解数学应用题进行定义;设定长度为的待求解数学应用题为,根据生成长度为的方程表达式为,通过计算得到的答案,其中,表示待求解数学应用题中第个位置对应的文字,表示方程表达式中第个位置对应的符号;

    5、步骤s3:构建数学应用题解答模型,所述数学应用题解答模型由解题特征编码器、相似题目检索器和数学应用题类比求解器组成;所述解题特征编码器包括数学应用题特征编码器和方程表达式特征编码器,数学应用题特征编码器由预训练好的math-bert模型构成,方程表达式特征编码器由双向门控循环单元构成;所述相似题目检索器包括语义依存关系图构建模块、数值关系图构建模块、由图编码器构成的图编码层、知识点权重构建模块以及余弦相似度计算模块;所述数学应用题类比求解器包括由文本特征提取器构成的相似求解目的题目检索器、门控模块、由交叉注意力模块构成的语义融合层以及树形解码器;

    6、步骤s4:将待求解数学应用题和数据集内数学应用题输入到数学应用题特征编码器中,得到待求解数学应用题和数据集内数学应用题的语义嵌入向量;

    7、获取待求解数学应用题和数据集内数学应用题的语义依存关系集合和数值关系集合,并通过语义依存关系图构建模块和数值关系图构建模块分别构建待求解数学应用题和数据集内数学应用题的语义依存关系图和数值关系图;

    8、将待求解数学应用题和数据集内数学应用题的语义依存关系图和数值关系图输入到图编码层中,分别得到待求解数学应用题和数据集内数学应用题的语义依存关系特征向量和数值关系特征向量;

    9、分别对待求解数学应用题和数据集内数学应用题的语义依存关系特征向量和数值关系特征向量进行融合,得到待求解数学应用题的特征表示以及数据集内数学应用题的特征表示;

    10、将特征表示结合自身对应知识点后与特征表示输入余弦相似度计算模块进行相似度计算,检索出数据集内与待求解数学应用题具有相同知识点的数学应用题作为候选数学应用题;

    11、步骤s5:获取候选数学应用题的语义嵌入向量和候选数学应用题方程表达式全局特征向量;将待求解数学应用题的语义嵌入向量、候选数学应用题的语义嵌入向量和候选数学应用题方程表达式全局特征向量输入相似求解目的题目检索器中,得到相似目的应用题语义嵌入向量以及相似目的应用题方程表达式全局特征向量;

    12、步骤s6:对待求解数学应用题的语义嵌入向量进行平均,得到待求解数学应用题的全局特征向量,将待求解数学应用题的全局特征向量以及相似目的应用题语义嵌入向量输入语义融合层中,得到深层次特征表示,将深层次特征表示与相似目的应用题方程表达式全局特征向量进行级联后输入门控模块,得到初始节点;

    13、步骤s7:将初始节点输入到树形解码器中进行解码,获得最终的方程表达式,再通过最小化负对数似然损失函数计算数学应用题类比求解器的损失,优化更新解题特征编码器和树形解码器的模型参数。

    14、进一步的,得到数学应用题的语义依存关系集合和数值关系集合的具体过程为:对数学应用题中各词语之间的关系进行抽取得到语义依存关系集合;获取数学应用题中包含的多个数值关系三元组,构成数学应用题的数值关系集合。

    15、进一步的,通过语义依存关系图构建模块和数值关系图构建模块构建语义依存关系图和数值关系图的具体过程为:

    16、构建语义依存关系图:当数学应用题中第个位置的词语和第个位置的词语存在依存关系,则和之间存在一条边;

    17、构建数值关系图:在数学应用题存在数值大小关系的两个数值之间建立有向的连接边,获得大于关系图和小于关系图,对于数学应用题中的第个位置的数值和第个位置的数值,当,则和之间存在一条边,当,则和之间存在一条边。

    18、进一步的,步骤s4中,得到待求解数学应用题的特征表示以及数据集内数学应用题的特征表示的具体过程为:利用图编码器gcn分别捕捉数学应用题中每个词语与相邻词语之间的关系以及每个数值之间的关系,得到待求解数学应用题的特征表示和数据集内数学应用题的特征表示;具体的:

    19、语义依存关系特征聚合:首先,使用数学应用题特征编码器获取待求解数学应用题的语义嵌入向量作为待求解数学应用题语义依存关系图中每个节点的初始特征向量,随后通过图编码器gcn聚合语义依存关系图中每个节点的信息获得第n层的聚合信息矩阵,然后语义依存关系图中每个节点从领域节点更新自身嵌入向量,得到第n层嵌入更新之后的语义依存关系特征向量,即待求解数学应用题的语义依存关系特征向量;

    20、对于数据集内数学应用题,首先通过数学应用题特征编码器获取数据集内数学应用题的语义嵌入向量作为数据集内数学应用题语义依存关系图节点的初始特征向量,接着获取数据集内数学应用题在第n层每个节点从自身相邻节点聚合得到的信息和第n层节点嵌入更新之后的语义依存关系特征向量;

    21、数值关系聚合:利用图编码器gcn分别对待求解数学应用题数值关系图的大于关系图和小于关系图进行特征聚合,得到大于关系图第n层的聚合信息和小于关系图第n层的聚合信息,然后通过聚合机制来结合和得到结合特征向量,最后将经过线性变换和sigmoid非线性激活来得到待求解数学应用题数值关系特征向量,表示为:

    22、;

    23、;

    24、;

    25、;

    26、;

    27、式中,表示元素逐个相乘;表示relu激活函数;sigmoid表示非线性激活函数;表示待求解数学应用题在大于关系图和小于关系图特征聚合过程中所迭代的次数;和分别表示待求解数学应用题的大于关系图和小于关系图在第n层节点从相邻节点中聚合的信息;和分别表示待求解数学应用题的大于关系图和小于关系图对应的度矩阵;和分别表示待求解数学应用题的大于关系图和小于关系图对应邻接矩阵;和分别表示待求解数学应用题的大于关系图和小于关系图对应单位矩阵;表示通过聚合机制得到的聚合权重矩阵;和分别表示n层和第n-1层节点的特征向量;、、、、、、均为可学习的权重矩阵;

    28、通过采用得到的相同计算方式获得数据集内数学应用题数值关系特征向量;

    29、特征融合:将待求解数学应用题的语义依存关系特征向量和数值关系特征向量进行融合,得到待求解数学应用题的特征表示;

    30、将数据集内数学应用题的语义依存关系特征向量和数值关系特征向量进行融合,得到数据集内数学应用题的特征表示。

    31、进一步的,步骤s4中,将特征表示结合自身对应知识点后与特征表示输入余弦相似度计算模块进行相似度计算,检索出数据集内与待求解数学应用题具有相同知识点的数学应用题作为候选数学应用题的具体过程为:

    32、为数据集内数学应用题中的不同层级的知识点赋予不同的权重信息,获得数据集内数学应用题的权重矩阵,将数据集内数学应用题的特征表示与对应的数据集内数学应用题的权重矩阵进行相乘,得到数据集内数学应用题表示;

    33、其中,数学应用题中的知识点的层级分为一级、二级、三级,当数据集内数学应用题与待求解数学应用题存在相同的三级知识点,则距离为1,当数据集内数学应用题与待求解数学应用题存在相同的二级知识点,则距离为2,当数据集内数学应用题与待求解数学应用题存在相同的一级知识点,则距离为4,当数据集内数学应用题与待求解数学应用题没有相同的知识点,则距离为0;

    34、基于数据集内数学应用题表示,通过余弦相似度计算待求解数学应用题与数据集内数学应用题之间的相似度得分;

    35、将输入均方误差损失函数中,计算得到相似题目检索器的损失;

    36、根据相似度得分,检索出数据集内与待求解数学应用题具有相同知识点的数学应用题作为候选数学应用题。

    37、进一步的,步骤s5中,获取候选数学应用题的语义嵌入向量和候选数学应用题方程表达式全局特征向量的具体过程为:

    38、将所有候选数学应用题输入数学应用题特征编码器中得到候选数学应用题的语义嵌入向量集合,表示个候选数学应用题中第个候选数学应用题的语义嵌入向量;将所有候选数学应用题对应的方程表达式输入方程表达式特征编码器中得到候选数学应用题方程表达式全局特征向量集合,表示个候选数学应用题中第个候选数学应用题方程表达式全局特征向量;

    39、设定个候选数学应用题中第个候选数学应用题对应的方程表达式为,表示中第个符号,得到第个候选数学应用题方程表达式全局特征向量的计算过程表示为:

    40、;

    41、;

    42、;

    43、式中,和分别表示前向序列第个时间步和第个时间步的隐藏层状态;和分别表示后向序列第个时间步和第个时间步的隐藏层状态;表示方程表达式第个符号嵌入,表示前向序列第个时间步的隐藏状态;表示后向序列第0个时间步的隐藏状态;表示双向门控循环单元bi-gru。

    44、进一步的,步骤s5中,得到相似目的应用题语义嵌入向量以及相似目的应用题方程表达式全局特征向量的具体过程为:

    45、将第个候选数学应用题的语义嵌入向量以及待求解数学应用题的语义嵌入向量分别输入到文本特征提取器中,分别得到第个候选数学应用题的语义特征和待求解数学应用题的语义特征,其中,计算过程表示为:

    46、;

    47、;

    48、;

    49、式中,表示relu激活函数;、分别为第个卷积核的权重矩阵和偏置项;表示最大池化操作;表示第个卷积核的池化结果;表示矩阵拼接;表示策略;表示按一定概率进行随机置零得到的特征矩阵;和分别表示全连接层的权重矩阵和偏置项;

    50、第个候选数学应用题的语义特征采用与相同方式计算得到;

    51、将和进行向量内积后归一化,得到待求解数学应用题与候选数学应用题的相似度概率,然后根据相似度概率进行排序,从候选数学应用题的语义嵌入向量集合和候选数学应用题方程表达式全局特征向量集合中获得相似目的应用题语义嵌入向量和相似目的应用题方程表达式全局特征向量。

    52、进一步的,步骤s6中得到深层次特征表示的具体过程为:

    53、通过交叉注意力模块将待求解数学应用题的全局特征向量与相似目的应用题语义嵌入向量进行融合,获得深层次特征表示,计算过程表示为:

    54、;

    55、;

    56、式中,、、分别表示查询向量、键向量和值向量;softmax为归一化指数函数;为和的第二维度大小;、、分别表示自注意力机制的查询向量、键向量和值向量的投影参数矩阵;令、,其中,为交叉注意力机制中线性层可学习的参数矩阵;表示的转置;表示交叉注意力机制;

    57、步骤s6中,将深层次特征表示与相似目的应用题方程表达式全局特征向量进行级联后输入门控模块,得到初始节点的具体过程为:

    58、通过门控机制即门控模块将深层次特征表示与融合,得到初始节点,表示为:

    59、;

    60、;

    61、;

    62、式中,表示初始隐藏状态的候选值;是双曲正切激活函数;是门控信号;是sigmoid激活函数;、均为门控模块的权重矩阵;、均为门控模块的偏置项;令,表示与拼接后的向量。

    63、进一步的,步骤s7的具体过程为:

    64、将输入树形解码器,通过自顶向下的树结构解码和自底向上的子树语义变换,利用生成符号的语义信息来决定生成的符号;具体的:

    65、字嵌入定义:待求解数学应用题的目标词汇表由4部分组成:数学运算符、未知数、常量,以及出现在待求解数学应用题中的数字,对于目标词汇表中的每个令牌的嵌入表示为:

    66、;

    67、式中,、、、分别表示对数学运算符进行嵌入的映射函数、对未知数进行嵌入的映射函数、对常量进行嵌入的映射函数以及利用待求解数学应用题的上下文对数字进行局部信息嵌入的函数;

    68、节点状态更新:在生成符号的过程中,对树形解码器进行结构调整,表示为:

    69、;

    70、式中,表示第个树节点的状态向量;表示第个树节点更新后的节点状态向量;表示第个树节点生成的符号;是第个树节点生成的符号的嵌入表示;表示树结构中左边部分子树的语义表示;、分别表示树结构中左边部分子树节点状态更新函数和树结构中右边部分子树节点状态更新函数;

    71、负对数似然损失:通过计算待求解数学应用题的方程表达式中第个位置的符号在给定待求解数学应用题下的条件概率,再通过最小化负对数似然损失函数得到数学应用题类比求解器的损失表示为;

    72、;

    73、;

    74、式中,是待求解数学应用题的方程表达式的总长度;表示第个树节点生成第个位置的符号的得分函数;表示第个树节点生成第个位置的符号的得分函数;和分别表示第个树节点的目标向量以及第个树节点的上下文向量。

    75、进一步的,构建数据集的具体过程为:

    76、从数学试卷和学习网站中收集16112个小学的数学应用题,其中,收集的数学应用题中包含简单算术题和方程应用题;

    77、对收集的数学应用题进行预处理:

    78、1、去除重复的数学应用题;

    79、2、使用数学知识点词典对数学应用题进行自动标注,同时通过半人工的方式为每个数学应用题进行知识点标注;数学知识点词典基于人教版教材进行构建;

    80、3、对知识点标注的结果进行标签一致性检验,即对相同的知识点标注的结果进行相似性计算,取相似度高的知识点标注的结果;

    81、最后,对预处理后的数学应用题进行人工检查和校正,保留15000个数学应用题来组成数据集。

    82、与现有的技术相比,本发明具备以下有益效果:本发明采用数学应用题结构信息和知识点层级信息融合的方式,解决了相似数学应用题检索效果不佳的问题;针对数学应用题的语义结构复杂且方程表达式复杂且多样性,采用一个门控模块将具有相同知识点的数学应用题进行语义融合,能更好的融合相似数学应用题表达式信息,在提高模型解题的正确率的同时提升了模型对数学应用题举一反三的能力。


    技术特征:

    1.一种融合结构信息的数学应用题统一解题方法,其特征在于,包括如下步骤:

    2.根据权利要求1所述的一种融合结构信息的数学应用题统一解题方法,其特征在于:得到数学应用题的语义依存关系集合和数值关系集合的具体过程为:对数学应用题中各词语之间的关系进行抽取得到语义依存关系集合;获取数学应用题中包含的多个数值关系三元组,构成数学应用题的数值关系集合。

    3.根据权利要求2所述的一种融合结构信息的数学应用题统一解题方法,其特征在于:通过语义依存关系图构建模块和数值关系图构建模块构建语义依存关系图和数值关系图的具体过程为:

    4.根据权利要求3所述的一种融合结构信息的数学应用题统一解题方法,其特征在于:步骤s4中,得到待求解数学应用题的特征表示以及数据集内数学应用题的特征表示的具体过程为:利用图编码器gcn分别捕捉数学应用题中每个词语与相邻词语之间的关系以及每个数值之间的关系,得到待求解数学应用题的特征表示和数据集内数学应用题的特征表示;具体的:

    5.根据权利要求4所述的一种融合结构信息的数学应用题统一解题方法,其特征在于:步骤s4中,将特征表示结合自身对应知识点后与特征表示输入余弦相似度计算模块进行相似度计算,检索出数据集内与待求解数学应用题具有相同知识点的数学应用题作为候选数学应用题的具体过程为:

    6.根据权利要求5所述的一种融合结构信息的数学应用题统一解题方法,其特征在于:步骤s5中,获取候选数学应用题的语义嵌入向量和候选数学应用题方程表达式全局特征向量的具体过程为:

    7.根据权利要求6所述的一种融合结构信息的数学应用题统一解题方法,其特征在于:步骤s5中,得到相似目的应用题语义嵌入向量以及相似目的应用题方程表达式全局特征向量的具体过程为:

    8.根据权利要求7所述的一种融合结构信息的数学应用题统一解题方法,其特征在于:步骤s6中得到深层次特征表示的具体过程为:

    9.根据权利要求8所述的一种融合结构信息的数学应用题统一解题方法,其特征在于:步骤s7的具体过程为:

    10.根据权利要求9所述的一种融合结构信息的数学应用题统一解题方法,其特征在于:构建数据集的具体过程为:


    技术总结
    本发明公开了一种融合结构信息的数学应用题统一解题方法,包括如下步骤:首先基于待求解数学应用题和数据集内数学应用题语义嵌入向量的语义依存关系和数值关系,结合对应数学应用题知识点,检索出数据集内与待求解数学应用题具有相同知识点的数学应用题作为候选数学应用题,随后获取与待求解数学应用题具有相似目的的候选数学应用题的特征,并将该特征结合待求解数学应用题的特征计算得到初始节点,将初始节点解码获得最终方程表达式;本发明采用数学应用题结构信息和知识点层级信息融合的方式,解决了相似数学应用题检索效果不佳的问题。

    技术研发人员:王岚,邓正正,陈开阳,刘祥棋,杨兰建,陈奥,黄琪,王明文
    受保护的技术使用者:江西师范大学
    技术研发日:
    技术公布日:2024/10/24
    转载请注明原文地址:https://symbian.8miu.com/read-23401.html

    最新回复(0)