数学题解答模型训练方法及装置与流程
未命名
08-17
阅读:164
评论:0
1.本公开涉及机器学习技术领域,尤其涉及一种数学题解答模型训练方法及装置。
背景技术:
2.近年来,神经网络模型在计算机视觉、模式匹配、自然语言处理、强化学习等领域取得了巨大成功,也有人将神经网络模型应用到求解数学题上。从数据形式上来说,一道数学题可以看作是一个序列,而其解答(解题步骤或者求解表达式)往往也是以序列的形式呈现,所以目前神经网络模型求解数学题是被理解为从自然语言到数学语言的翻译过程。这种认识或者看法在一定程度忽略了求解数学题的推理过程,所以基于这种认识或者看法得到的神经网络模型求解数学题时推理能力较差。
技术实现要素:
3.有鉴于此,本公开实施例提供了一种数学题解答模型训练方法、装置、电子设备及计算机可读存储介质,以解决现有技术中,神经网络模型求解数学题时推理能力较差的问题。
4.本公开实施例的第一方面,提供了一种数学题解答模型训练方法,包括:获取数学题训练数据和数学题推理数据,其中,数学题训练数据包括多道数学题以及每道数学题对应的答案,数学题推理数据包括多道数学题以及每道数学题对应的推理过程和答案;利用数学题训练数据对预训练语言模型进行训练;冻结训练后的预训练语言模型的模型参数,基于数学题推理数据控制被冻结模型参数后的预训练语言模型按照每道数学题对应的推理过程解答该数学题,直至得到该数学题对应的答案,使得预训练语言模型从多道数学题对应的推理过程中学习到解答各种数学题的思维链;将学习到解答各种数学题的思维链的预训练语言模型作为数学题解答模型,利用数学题解答模型多次生成待解答的目标数学题对应的推理过程和答案,将生成次数最多的推理过程和答案作为目标数学题对应的最终结果。
5.本公开实施例的第二方面,提供了一种数学题解答模型训练装置,包括:获取模块,被配置为获取数学题训练数据和数学题推理数据,其中,数学题训练数据包括多道数学题以及每道数学题对应的答案,数学题推理数据包括多道数学题以及每道数学题对应的推理过程和答案;训练模块,被配置为利用数学题训练数据对预训练语言模型进行训练;推理模块,被配置为冻结训练后的预训练语言模型的模型参数,基于数学题推理数据控制被冻结模型参数后的预训练语言模型按照每道数学题对应的推理过程解答该数学题,直至得到该数学题对应的答案,使得预训练语言模型从多道数学题对应的推理过程中学习到解答各种数学题的思维链;解题模块,被配置为将学习到解答各种数学题的思维链的预训练语言模型作为数学题解答模型,利用数学题解答模型多次生成待解答的目标数学题对应的推理过程和答案,将生成次数最多的推理过程和答案作为目标数学题对应的最终结果。
6.本公开实施例的第三方面,提供了一种电子设备,包括存储器、处理器以及存储在
存储器中并且可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。
7.本公开实施例的第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
8.本公开实施例与现有技术相比存在的有益效果是:因为本公开实施例通过获取数学题训练数据和数学题推理数据,其中,数学题训练数据包括多道数学题以及每道数学题对应的答案,数学题推理数据包括多道数学题以及每道数学题对应的推理过程和答案;利用数学题训练数据对预训练语言模型进行训练;冻结训练后的预训练语言模型的模型参数,基于数学题推理数据控制被冻结模型参数后的预训练语言模型按照每道数学题对应的推理过程解答该数学题,直至得到该数学题对应的答案,使得预训练语言模型从多道数学题对应的推理过程中学习到解答各种数学题的思维链;将学习到解答各种数学题的思维链的预训练语言模型作为数学题解答模型,利用数学题解答模型多次生成待解答的目标数学题对应的推理过程和答案,将生成次数最多的推理过程和答案作为目标数学题对应的最终结果,因此,采用上述技术手段,可以解决现有技术中,神经网络模型求解数学题时推理能力较差的问题,进而提高神经网络模型求解数学题的推理能力。
附图说明
9.为了更清楚地说明本公开实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
10.图1是本公开实施例提供的一种数学题解答模型训练方法的流程示意图;图2是本技术实施例提供的一种解答数学题的方法的流程示意图;图3是本公开实施例提供的一种数学题解答模型训练装置的结构示意图;图4是本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
11.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本公开实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本公开。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本公开的描述。
12.图1是本公开实施例提供的一种数学题解答模型训练方法的流程示意图。图1的数学题解答模型训练方法可以由计算机或服务器,或者计算机或服务器上的软件执行。如图1所示,该数学题解答模型训练方法包括:s101,获取数学题训练数据和数学题推理数据,其中,数学题训练数据包括多道数学题以及每道数学题对应的答案,数学题推理数据包括多道数学题以及每道数学题对应的推理过程和答案;s102,利用数学题训练数据对预训练语言模型进行训练;s103,冻结训练后的预训练语言模型的模型参数,基于数学题推理数据控制被冻
结模型参数后的预训练语言模型按照每道数学题对应的推理过程解答该数学题,直至得到该数学题对应的答案,使得预训练语言模型从多道数学题对应的推理过程中学习到解答各种数学题的思维链;s104,将学习到解答各种数学题的思维链的预训练语言模型作为数学题解答模型,利用数学题解答模型多次生成待解答的目标数学题对应的推理过程和答案,将生成次数最多的推理过程和答案作为目标数学题对应的最终结果。
13.预训练语言模型可以是gpt模型或者bert模型,gpt英文全称是generative pre-trainedtransformer,bert英文全称是bidirectional encoderrepresentations from transformers。数学题训练数据中的数学题没有对应的推理过程,数学题训练数据中的数学题看作是样本,数学题对应的答案看作是样本的标签,利用数学题训练数据对预训练语言模型进行训练,属于模型训练阶段,用的是常见的模型训练方法,不再赘述。数学题推理数据中的数学题具有对应的推理过程,基于数学题推理数据控制被冻结模型参数后的预训练语言模型按照每道数学题对应的推理过程解答该数学题,属于模型推理阶段,模型推理阶段是为了预训练语言模型从多道数学题对应的推理过程中学习到解答各种数学题的思维链。机器学习中思维链是一种离散式提示学习,也指神经网络模型模拟人解题的思路,本技术实施例预训练语言模型在模型推理阶段学习到思维链,是指学习到解答各种数学题的思路。多次利用数学题解答模型对目标数学题进行生成,并统计生成结果出现的次数,选择出现次数最多的结果作为最终输出,生成结果包括目标数学题对应的推理过程和答案。
14.比如数学题训练数据如下表:
数学题数学题对应的答案请给出素数无穷性的证明:假设只有有限个素数。令。那么,n+1是素数或者不是素数。如果n+1为素数,则n+1要大于,所以它不在那些假设的素数集合中。如果n+1为合数,因为任何一个合数都可以分解为几个素数的积;而n和n+1的最大公约数是1,所以n+1不可能被整除,所以该合数分解得到的素因数肯定不在假设的素数集合中。因此无论该数是素数还是合数,都意味着在假设的有限个素数之外还存在着其他素数。对任何有限个素数的集合来说,用上述的方法永远可以得到有一个素数不在假设的素数集合中的结论。所以原先的假设不成立。也就是说,素数有无穷多个。现有一笼子,里面有鸡和兔子若干只,数一数,共有头14个,腿38条,求鸡和兔子各有多少只?解:假设全部是鸡,则有14
×
2=28条腿,比实际少38-28=10只,一只鸡变成一只兔子腿增加2条,10
÷
2=5只,所以需要5只鸡变成兔子,即兔子为5只,鸡为14-5=9只。
根据本公开实施例提供的技术方案,获取数学题训练数据和数学题推理数据,其中,数学题训练数据包括多道数学题以及每道数学题对应的答案,数学题推理数据包括多道数学题以及每道数学题对应的推理过程和答案;利用数学题训练数据对预训练语言模型进行训练;冻结训练后的预训练语言模型的模型参数,基于数学题推理数据控制被冻结模型参数后的预训练语言模型按照每道数学题对应的推理过程解答该数学题,直至得到该数学题对应的答案,使得预训练语言模型从多道数学题对应的推理过程中学习到解答各种数
学题的思维链;将学习到解答各种数学题的思维链的预训练语言模型作为数学题解答模型,利用数学题解答模型多次生成待解答的目标数学题对应的推理过程和答案,将生成次数最多的推理过程和答案作为目标数学题对应的最终结果,因此,采用上述技术手段,可以解决现有技术中,神经网络模型求解数学题时推理能力较差的问题,进而提高神经网络模型求解数学题的推理能力。
15.基于数学题推理数据控制被冻结模型参数后的预训练语言模型按照每道数学题对应的推理过程解答该数学题,直至得到该数学题对应的答案,使得预训练语言模型从多道数学题对应的推理过程中学习到解答各种数学题的思维链,包括:将数学题推理数据中的数学题按照难易程度进行划分,得到不同难易程度的多个题组,其中,每个题组包括多道数学题以及每道数学题对应的推理过程和答案;按照多个题组由易到难的顺序多次控制被冻结模型参数后的预训练语言模型按照每个题组中的每道数学题对应的推理过程解答该数学题,直至得到该数学题对应的答案,使得预训练语言模型从多道数学题对应的推理过程中学习到解答各种数学题的思维链,其中,每次基于一个题组控制被冻结模型参数后的预训练语言模型。
16.数学题的难易程度可以用贝叶斯网络衡量或者出错的人数衡量。为了便于预训练语言模型学习,按照题组由易到难的顺序,控制预训练语言模型按照每个题组中的每道数学题对应的推理过程解答该数学题。比如数学题推理数据被划分为三个题组,由易到难为第一题组、第二题组和第三题组,那么也是控制预训练语言模型依次按照第一题组、第二题组和第三题组中的每道数学题对应的推理过程解答该数学题。
17.将学习到解答各种数学题的思维链的预训练语言模型作为数学题解答模型之后,方法还包括:获取待解答的数学题集合,将数学题集合中的多个数学题按照预设数量n和每个数学题对应的知识点进行划分,得到针对不同知识点的多个题组,其中,每个题组包括n条数据,第i条数据为第(i+1)/2道数学题,第i+1条数据为第(i+1)/2道数学题对应的推理过程和答案,n为奇数,第n条数据表示的数学题没有对应的推理过程和答案,i为开区间(0,n)内的奇数,i+1小于n;将多个题组依次输入数学题解答模型,输出每个题组中第n条数据表示的数学题对应的推理过程和答案,其中,每个题组中第n条数据表示的数学题对应的推理过程和答案,是数学题解答模型通过上下文学习的方法得到的。
18.将多个题组依次输入数学题解答模型,输出每个题组中第n条数据表示的数学题对应的推理过程和答案,包括:将每个题组中的第i条数据和第i+1条数据作为一对数据,每个题组具有(n-1)/2对数据;数学题解答模型基于每个题组中的(n-1)/2对数据,通过上下文学习的方法对该题组中第n条数据进行推理,得到该题组中第n条数据表示的数学题对应的推理过程和答案。
19.比如一个数学题集合中某个知识点的数学题有10个,n为5,则该知识点的数学题被划分为两个题组,这两个题组有5条数据,则i为1和3,第1条数据为第1道数学题,第2条数据为第1道数学题对应的推理过程和答案,第3条数据为第2道数学题,第4条数据为第2道数学题对应的推理过程和答案,第5条数据为第3道数学题,第3道数学题没有对应的推理过程和答案,i+1最大是4,所以i+1小于n。
20.将每道数学题和其对应的推理过程和答案作为一对,一个题组具有(n-1)/2对数据,将一个数据组中的(n-1)/2对数据作为上文,将该数据组中第n条数据作为下文,以上下
文学习的方法对该数据组中第n条数据进行推理,得到该数据组中第n条数据表示的数学题对应的推理过程和答案。
21.或者将一个数据组中所有的数据作为上文,将该数据组中第n条数据表示的数学题对应的推理过程和答案(未知)作为下文,以上下文学习的方法对该数据组中第n条数据进行推理,得到该数据组中第n条数据表示的数学题对应的推理过程和答案。
22.本技术实施例相当于利用预训练语言模型基于前(n-1)/2道数学题对应的推理过程和答案,推理出第(n+1)/2道数学题对应的推理过程和答案。
23.将学习到解答各种数学题的思维链的预训练语言模型作为数学题解答模型之后,方法还包括:获取待解答的题组,其中,题组包括n道数学题,n道数学题均属于同一个知识点或者类型,前n-1道数学题均有对应的推理过程和答案,第n道数学题没有对应的推理过程和答案;将题组中的n道数学题输入数学题解答模型,输出题组中第n道数学题对应的推理过程和答案,其中,第n道数学题对应的推理过程和答案是数学题解答模型通过上下文学习的方法得到的。
24.以高中数学题为例,类型包括三角函数或数列、立体几何、统计与概率、解析几何、函数和导数、平面几何证明、坐标系与参数方程、不等式等。知识点是一个数学题的考点或者出题基于的知识。本技术实施例相当于利用预训练语言模型基于前n-1道数学题对应的推理过程和答案,推理出第n道数学题对应的推理过程和答案。
25.利用数学题训练数据对预训练语言模型进行训练,包括:构建数学题解答任务以及多种辅助任务,其中,多种辅助任务,包括:主题分类任务、题目分类任务、意图识别任务、自动摘要任务和翻译任务;基于数学题解答任务利用数学题训练数据对预训练语言模型进行训练,在基于数学题解答任务对预训练语言模型进行训练的过程中,基于多种辅助任务对预训练语言模型进行训练。
26.主题分类任务是按照数学题中的文字含义对数学题进行分类的任务;题目分类任务是按照数学题对应的知识点对数学题进行分类的任务;意图识别任务识别数学题中的文字含义的任务;自动摘要任务是概括数学题大意的任务;比如数学题解答模型服务的对象是中国的学生,那么翻译任务用于将英文版的数学题翻译为中文版的数学题。
27.多种辅助任务和数学题解答任务是同时对预训练语言模型进行训练的,基于多种辅助任务对预训练语言模型进行训练,可以是利用数学题训练数据对预训练语言模型进行训练,也可以是各种辅助任务对应的训练数据对预训练语言模型进行训练。
28.利用数学题训练数据对预训练语言模型进行训练,包括:利用预训练语言模型提取数学题训练数据中每道数学题以及每道数学题对应答案的句子级表示和题级表示;通过每道数学题以及每道数学题对应答案的句子级表示和题级表示,增强预训练语言模型对每道数学题以及每道数学题对应答案的理解,以完成对预训练语言模型的训练。
29.按照逗号、句号和问号等符号,可以将一道数学题划分为多条句子,数学题的题级表示是数学题整体的特征表示,数学题的句子级表示是数学题中每条句子的特征表示(细节特征),句子级表示是比题级表示更详细的特征表示。数学题对应答案的句子级表示和题级表示与数学题的句子级表示和题级表示类似。本技术实施例根据句子级表示和题级表示(也就是在关注到整体特征时,也关注到细节特征),增强预训练语言模型对每道数学题以及每道数学题对应答案的理解,可以使得预训练语言模型进行更加准确的推理解题。
30.图2是本技术实施例提供的一种解答数学题的方法的流程示意图。如图2所示,包括:s201,获取待解答的数学题集合;s202,将数学题集合中的多个数学题按照预设数量n和每个数学题对应的知识点进行划分,得到针对不同知识点的多个题组,其中,每个题组包括n条数据,第i条数据为第(i+1)/2道数学题,第i+1条数据为第(i+1)/2道数学题对应的推理过程和答案,n为奇数,第n条数据表示的数学题没有对应的推理过程和答案,i为开区间(0,n)内的奇数,i+1小于n;s203,将每个题组中的第i条数据和第i+1条数据作为一对数据,每个题组具有(n-1)/2对数据,将多个题组依次输入数学题解答模型:s204,数学题解答模型基于每个题组中的(n-1)/2对数据,通过上下文学习的方法对该题组中第n条数据进行推理,得到该题组中第n条数据表示的数学题对应的推理过程和答案;s205,数学题解答模型输出每个题组中第n条数据表示的数学题对应的推理过程和答案。
31.上述所有可选技术方案,可以采用任意结合形成本技术的可选实施例,在此不再一一赘述。
32.下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
33.图3是本公开实施例提供的一种数学题解答模型训练装置的示意图。如图3所示,该数学题解答模型训练装置包括:获取模块301,被配置为获取数学题训练数据和数学题推理数据,其中,数学题训练数据包括多道数学题以及每道数学题对应的答案,数学题推理数据包括多道数学题以及每道数学题对应的推理过程和答案;训练模块302,被配置为利用数学题训练数据对预训练语言模型进行训练;推理模块303,被配置为冻结训练后的预训练语言模型的模型参数,基于数学题推理数据控制被冻结模型参数后的预训练语言模型按照每道数学题对应的推理过程解答该数学题,直至得到该数学题对应的答案,使得预训练语言模型从多道数学题对应的推理过程中学习到解答各种数学题的思维链;解题模块304,被配置为将学习到解答各种数学题的思维链的预训练语言模型作为数学题解答模型,利用数学题解答模型多次生成待解答的目标数学题对应的推理过程和答案,将生成次数最多的推理过程和答案作为目标数学题对应的最终结果。
34.预训练语言模型可以是gpt模型或者bert模型,gpt英文全称是generative pre-trainedtransformer,bert英文全称是bidirectional encoderrepresentations from transformers。数学题训练数据中的数学题没有对应的推理过程,数学题训练数据中的数学题看作是样本,数学题对应的答案看作是样本的标签,利用数学题训练数据对预训练语言模型进行训练,属于模型训练阶段,用的是常见的模型训练方法,不再赘述。数学题推理数据中的数学题具有对应的推理过程,基于数学题推理数据控制被冻结模型参数后的预训练语言模型按照每道数学题对应的推理过程解答该数学题,属于模型推理阶段,模型推理阶段是为了预训练语言模型从多道数学题对应的推理过程中学习到解答各种数学题的思
维链。机器学习中思维链是一种离散式提示学习,也指神经网络模型模拟人解题的思路,本技术实施例预训练语言模型在模型推理阶段学习到思维链,是指学习到解答各种数学题的思路。多次利用数学题解答模型对目标数学题进行生成,并统计生成结果出现的次数,选择出现次数最多的结果作为最终输出,生成结果包括目标数学题对应的推理过程和答案。
35.根据本公开实施例提供的技术方案,获取数学题训练数据和数学题推理数据,其中,数学题训练数据包括多道数学题以及每道数学题对应的答案,数学题推理数据包括多道数学题以及每道数学题对应的推理过程和答案;利用数学题训练数据对预训练语言模型进行训练;冻结训练后的预训练语言模型的模型参数,基于数学题推理数据控制被冻结模型参数后的预训练语言模型按照每道数学题对应的推理过程解答该数学题,直至得到该数学题对应的答案,使得预训练语言模型从多道数学题对应的推理过程中学习到解答各种数学题的思维链;将学习到解答各种数学题的思维链的预训练语言模型作为数学题解答模型,利用数学题解答模型多次生成待解答的目标数学题对应的推理过程和答案,将生成次数最多的推理过程和答案作为目标数学题对应的最终结果,因此,采用上述技术手段,可以解决现有技术中,神经网络模型求解数学题时推理能力较差的问题,进而提高神经网络模型求解数学题的推理能力。
36.可选地,推理模块303还被配置为将数学题推理数据中的数学题按照难易程度进行划分,得到不同难易程度的多个题组,其中,每个题组包括多道数学题以及每道数学题对应的推理过程和答案;按照多个题组由易到难的顺序多次控制被冻结模型参数后的预训练语言模型按照每个题组中的每道数学题对应的推理过程解答该数学题,直至得到该数学题对应的答案,使得预训练语言模型从多道数学题对应的推理过程中学习到解答各种数学题的思维链,其中,每次基于一个题组控制被冻结模型参数后的预训练语言模型。
37.数学题的难易程度可以用贝叶斯网络衡量或者出错的人数衡量。为了便于预训练语言模型学习,按照题组由易到难的顺序,控制预训练语言模型按照每个题组中的每道数学题对应的推理过程解答该数学题。比如数学题推理数据被划分为三个题组,由易到难为第一题组、第二题组和第三题组,那么也是控制预训练语言模型依次按照第一题组、第二题组和第三题组中的每道数学题对应的推理过程解答该数学题。
38.可选地,推理模块303还被配置为获取待解答的数学题集合,将数学题集合中的多个数学题按照预设数量n和每个数学题对应的知识点进行划分,得到针对不同知识点的多个题组,其中,每个题组包括n条数据,第i条数据为第(i+1)/2道数学题,第i+1条数据为第(i+1)/2道数学题对应的推理过程和答案,n为奇数,第n条数据表示的数学题没有对应的推理过程和答案,i为开区间(0,n)内的奇数,i+1小于n;将多个题组依次输入数学题解答模型,输出每个题组中第n条数据表示的数学题对应的推理过程和答案,其中,每个题组中第n条数据表示的数学题对应的推理过程和答案,是数学题解答模型通过上下文学习的方法得到的。
39.可选地,推理模块303还被配置为将每个题组中的第i条数据和第i+1条数据作为一对数据,每个题组具有(n-1)/2对数据;数学题解答模型基于每个题组中的(n-1)/2对数据,通过上下文学习的方法对该题组中第n条数据进行推理,得到该题组中第n条数据表示的数学题对应的推理过程和答案。
40.比如一个数学题集合中某个知识点的数学题有10个,n为5,则该知识点的数学题
被划分为两个题组,这两个题组有5条数据,则i为1和3,第1条数据为第1道数学题,第2条数据为第1道数学题对应的推理过程和答案,第3条数据为第2道数学题,第4条数据为第2道数学题对应的推理过程和答案,第5条数据为第3道数学题,第3道数学题没有对应的推理过程和答案,i+1最大是4,所以i+1小于n。
41.将每道数学题和其对应的推理过程和答案作为一对,一个题组具有(n-1)/2对数据,将一个数据组中的(n-1)/2对数据作为上文,将该数据组中第n条数据作为下文,以上下文学习的方法对该数据组中第n条数据进行推理,得到该数据组中第n条数据表示的数学题对应的推理过程和答案。
42.或者将一个数据组中所有的数据作为上文,将该数据组中第n条数据表示的数学题对应的推理过程和答案(未知)作为下文,以上下文学习的方法对该数据组中第n条数据进行推理,得到该数据组中第n条数据表示的数学题对应的推理过程和答案。
43.本技术实施例相当于利用预训练语言模型基于前(n-1)/2道数学题对应的推理过程和答案,推理出第(n+1)/2道数学题对应的推理过程和答案。
44.可选地,推理模块303还被配置为获取待解答的题组,其中,题组包括n道数学题,n道数学题均属于同一个知识点或者类型,前n-1道数学题均有对应的推理过程和答案,第n道数学题没有对应的推理过程和答案;将题组中的n道数学题输入数学题解答模型,输出题组中第n道数学题对应的推理过程和答案,其中,第n道数学题对应的推理过程和答案是数学题解答模型通过上下文学习的方法得到的。
45.以高中数学题为例,类型包括三角函数或数列、立体几何、统计与概率、解析几何、函数和导数、平面几何证明、坐标系与参数方程、不等式等。知识点是一个数学题的考点或者出题基于的知识。本技术实施例相当于利用预训练语言模型基于前n-1道数学题对应的推理过程和答案,推理出第n道数学题对应的推理过程和答案。
46.可选地,训练模块302还被配置为构建数学题解答任务以及多种辅助任务,其中,多种辅助任务,包括:主题分类任务、题目分类任务、意图识别任务、自动摘要任务和翻译任务;基于数学题解答任务利用数学题训练数据对预训练语言模型进行训练,在基于数学题解答任务对预训练语言模型进行训练的过程中,基于多种辅助任务对预训练语言模型进行训练。
47.主题分类任务是按照数学题中的文字含义对数学题进行分类的任务;题目分类任务是按照数学题对应的知识点对数学题进行分类的任务;意图识别任务识别数学题中的文字含义的任务;自动摘要任务是概括数学题大意的任务;比如数学题解答模型服务的对象是中国的学生,那么翻译任务用于将英文版的数学题翻译为中文版的数学题。
48.多种辅助任务和数学题解答任务是同时对预训练语言模型进行训练的,基于多种辅助任务对预训练语言模型进行训练,可以是利用数学题训练数据对预训练语言模型进行训练,也可以是各种辅助任务对应的训练数据对预训练语言模型进行训练。
49.可选地,训练模块302还被配置为利用预训练语言模型提取数学题训练数据中每道数学题以及每道数学题对应答案的句子级表示和题级表示;通过每道数学题以及每道数学题对应答案的句子级表示和题级表示,增强预训练语言模型对每道数学题以及每道数学题对应答案的理解,以完成对预训练语言模型的训练。
50.按照逗号、句号和问号等符号,可以将一道数学题划分为多条句子,数学题的题级
表示是数学题整体的特征表示,数学题的句子级表示是数学题中每条句子的特征表示(细节特征),句子级表示是比题级表示更详细的特征表示。数学题对应答案的句子级表示和题级表示与数学题的句子级表示和题级表示类似。本技术实施例根据句子级表示和题级表示(也就是在关注到整体特征时,也关注到细节特征),增强预训练语言模型对每道数学题以及每道数学题对应答案的理解,可以使得预训练语言模型进行更加准确的推理解题。
51.可选地,解题模块304还被配置为获取待解答的数学题集合;将数学题集合中的多个数学题按照预设数量n和每个数学题对应的知识点进行划分,得到针对不同知识点的多个题组,其中,每个题组包括n条数据,第i条数据为第(i+1)/2道数学题,第i+1条数据为第(i+1)/2道数学题对应的推理过程和答案,n为奇数,第n条数据表示的数学题没有对应的推理过程和答案,i为开区间(0,n)内的奇数,i+1小于n;将每个题组中的第i条数据和第i+1条数据作为一对数据,每个题组具有(n-1)/2对数据,将多个题组依次输入数学题解答模型:数学题解答模型基于每个题组中的(n-1)/2对数据,通过上下文学习的方法对该题组中第n条数据进行推理,得到该题组中第n条数据表示的数学题对应的推理过程和答案;数学题解答模型输出每个题组中第n条数据表示的数学题对应的推理过程和答案。
52.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。
53.图4是本公开实施例提供的电子设备4的示意图。如图4所示,该实施例的电子设备4包括:处理器401、存储器402以及存储在该存储器402中并且可在处理器401上运行的计算机程序403。处理器401执行计算机程序403时实现上述各个方法实施例中的步骤。或者,处理器401执行计算机程序403时实现上述各装置实施例中各模块/单元的功能。
54.电子设备4可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备4可以包括但不仅限于处理器401和存储器402。本领域技术人员可以理解,图4仅仅是电子设备4的示例,并不构成对电子设备4的限定,可以包括比图示更多或更少的部件,或者不同的部件。
55.处理器401可以是中央处理单元(central processing unit,cpu),也可以是其它通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specificintegrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
56.存储器402可以是电子设备4的内部存储单元,例如,电子设备4的硬盘或内存。存储器402也可以是电子设备4的外部存储设备,例如,电子设备4上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。存储器402还可以既包括电子设备4的内部存储单元也包括外部存储设备。存储器402用于存储计算机程序以及电子设备所需的其它程序和数据。
57.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是
各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
58.集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本公开实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
59.以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围,均应包含在本公开的保护范围之内。
技术特征:
1.一种数学题解答模型训练方法,其特征在于,包括:获取数学题训练数据和数学题推理数据,其中,所述数学题训练数据包括多道数学题以及每道数学题对应的答案,所述数学题推理数据包括多道数学题以及每道数学题对应的推理过程和答案;利用所述数学题训练数据对预训练语言模型进行训练;冻结训练后的预训练语言模型的模型参数,基于所述数学题推理数据控制被冻结所述模型参数后的预训练语言模型按照每道数学题对应的推理过程解答该数学题,直至得到该数学题对应的答案,使得所述预训练语言模型从多道数学题对应的推理过程中学习到解答各种数学题的思维链;将学习到解答各种数学题的思维链的预训练语言模型作为数学题解答模型,利用所述数学题解答模型多次生成待解答的目标数学题对应的推理过程和答案,将生成次数最多的推理过程和答案作为所述目标数学题对应的最终结果。2.根据权利要求1所述的方法,其特征在于,基于所述数学题推理数据控制被冻结所述模型参数后的预训练语言模型按照每道数学题对应的推理过程解答该数学题,直至得到该数学题对应的答案,使得所述预训练语言模型从多道数学题对应的推理过程中学习到解答各种数学题的思维链,包括:将所述数学题推理数据中的数学题按照难易程度进行划分,得到不同难易程度的多个题组,其中,每个题组包括多道数学题以及每道数学题对应的推理过程和答案;按照多个题组由易到难的顺序多次控制被冻结所述模型参数后的预训练语言模型按照每个题组中的每道数学题对应的推理过程解答该数学题,直至得到该数学题对应的答案,使得所述预训练语言模型从多道数学题对应的推理过程中学习到解答各种数学题的思维链,其中,每次基于一个题组控制被冻结所述模型参数后的预训练语言模型。3.根据权利要求1所述的方法,其特征在于,将学习到解答各种数学题的思维链的预训练语言模型作为数学题解答模型之后,所述方法还包括:获取待解答的数学题集合,将所述数学题集合中的多个数学题按照预设数量n和每个数学题对应的知识点进行划分,得到针对不同知识点的多个题组,其中,每个题组包括n条数据,第i条数据为第(i+1)/2道数学题,第i+1条数据为第(i+1)/2道数学题对应的推理过程和答案,n为奇数,第n条数据表示的数学题没有对应的推理过程和答案,i为开区间(0,n)内的奇数,i+1小于n;将多个题组依次输入所述数学题解答模型,输出每个题组中第n条数据表示的数学题对应的推理过程和答案,其中,每个题组中第n条数据表示的数学题对应的推理过程和答案,是所述数学题解答模型通过上下文学习的方法得到的。4.根据权利要求3所述的方法,其特征在于,将多个题组依次输入所述数学题解答模型,输出每个题组中第n条数据表示的数学题对应的推理过程和答案,包括:将每个题组中的第i条数据和第i+1条数据作为一对数据,每个题组具有(n-1)/2对数据;所述数学题解答模型基于每个题组中的(n-1)/2对数据,通过所述上下文学习的方法对该题组中第n条数据进行推理,得到该题组中第n条数据表示的数学题对应的推理过程和答案。
5.根据权利要求1所述的方法,其特征在于,将学习到解答各种数学题的思维链的预训练语言模型作为数学题解答模型之后,所述方法还包括:获取待解答的题组,其中,所述题组包括n道数学题,n道数学题均属于同一个知识点或者类型,前n-1道数学题均有对应的推理过程和答案,第n道数学题没有对应的推理过程和答案;将所述题组中的n道数学题输入所述数学题解答模型,输出所述题组中第n道数学题对应的推理过程和答案,其中,第n道数学题对应的推理过程和答案是所述数学题解答模型通过上下文学习的方法得到的。6.根据权利要求1所述的方法,其特征在于,利用所述数学题训练数据对预训练语言模型进行训练,包括:构建数学题解答任务以及多种辅助任务,其中,多种辅助任务,包括:主题分类任务、题目分类任务、意图识别任务、自动摘要任务和翻译任务;基于所述数学题解答任务利用所述数学题训练数据对所述预训练语言模型进行训练,在基于所述数学题解答任务对所述预训练语言模型进行训练的过程中,基于多种辅助任务对所述预训练语言模型进行训练。7.根据权利要求1所述的方法,其特征在于,利用所述数学题训练数据对预训练语言模型进行训练,包括:利用所述预训练语言模型提取所述数学题训练数据中每道数学题以及每道数学题对应答案的句子级表示和题级表示;通过每道数学题以及每道数学题对应答案的句子级表示和题级表示,增强所述预训练语言模型对每道数学题以及每道数学题对应答案的理解,以完成对所述预训练语言模型的训练。8.一种数学题解答模型训练装置,其特征在于,包括:获取模块,被配置为获取数学题训练数据和数学题推理数据,其中,所述数学题训练数据包括多道数学题以及每道数学题对应的答案,所述数学题推理数据包括多道数学题以及每道数学题对应的推理过程和答案;训练模块,被配置为利用所述数学题训练数据对预训练语言模型进行训练;推理模块,被配置为冻结训练后的预训练语言模型的模型参数,基于所述数学题推理数据控制被冻结所述模型参数后的预训练语言模型按照每道数学题对应的推理过程解答该数学题,直至得到该数学题对应的答案,使得所述预训练语言模型从多道数学题对应的推理过程中学习到解答各种数学题的思维链;解题模块,被配置为将学习到解答各种数学题的思维链的预训练语言模型作为数学题解答模型,利用所述数学题解答模型多次生成待解答的目标数学题对应的推理过程和答案,将生成次数最多的推理过程和答案作为所述目标数学题对应的最终结果。9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并且可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述方法的步骤。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述方法的步骤。
技术总结
本公开涉及机器学习技术领域,提供了一种数学题解答模型训练方法及装置。该方法包括:利用数学题训练数据对预训练语言模型进行训练;冻结训练后的预训练语言模型的模型参数,基于数学题推理数据控制被冻结模型参数后的预训练语言模型按照每道数学题对应的推理过程解答该数学题,直至得到该数学题对应的答案,使得预训练语言模型从多道数学题对应的推理过程中学习到解答各种数学题的思维链;将学习到解答各种数学题的思维链的预训练语言模型作为数学题解答模型,利用数学题解答模型多次生成待解答的目标数学题对应的推理过程和答案,将生成次数最多的推理过程和答案作为目标数学题对应的最终结果。标数学题对应的最终结果。标数学题对应的最终结果。
技术研发人员:汪骞 暴宇健 王芳
受保护的技术使用者:深圳须弥云图空间科技有限公司
技术研发日:2023.07.18
技术公布日:2023/8/16
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:用于车道保持功能的控制方法和设备与流程 下一篇:雷达数据预测方法及系统与流程
