[发明专利]一种算数应用题智能解题方法及系统有效
申请号: | 202110183217.0 | 申请日: | 2021-02-10 |
公开(公告)号: | CN112860856B | 公开(公告)日: | 2022-06-14 |
发明(设计)人: | 陈羽中;胡潇炜 | 申请(专利权)人: | 福州大学 |
主分类号: | G06F16/33 | 分类号: | G06F16/33;G06F16/35;G06F40/289;G06F40/30;G06F40/216;G06K9/62;G06N3/04;G06N3/08 |
代理公司: | 福州元创专利商标代理有限公司 35100 | 代理人: | 张灯灿;蔡学俊 |
地址: | 350108 福建省福州市*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 算数 应用题 智能 解题 方法 系统 | ||
1.一种算数应用题智能解题方法,其特征在于,包括以下步骤:
步骤A:对采集到的算数应用题数据进行预处理,建立包含算数应用题的已知条件、问题以及答案的训练集;
步骤B:构建用于算数应用题智能解题的深度学习模型,确定损失函数,在训练集上通过最小化损失函数训练所述深度学习模型;
步骤C:将算数应用题的已知条件和问题输入训练好的深度学习模型中,输出问题的答案;
所述步骤B具体包括以下步骤:
步骤B1:构建用于算数应用题智能解题的深度学习模型,模型包括编码器和答案预测器,首先将算数应用题的已知条件和问题输入编码器进行编码,得到融合已知条件和问题的语义信息的表征向量M0,M1,M2;然后将融合已知条件和问题的表征向量输入到答案预测器中,得到构成算数表达式需要从已知条件中提取的数字的数量,从已知条件中提取相应数量的数字,为每个数字分配运算符,最终得到算数表达式,计算算数表达式,输出答案a′;
步骤B2:确定所述深度学习模型的损失函数loss,选择交叉熵作为深度学习网络模型的损失函数,根据答案预测器预测得到的答案a′与训练集中的答案a计算损失值;
步骤B3:遍历训练集,对每一个三元组(p,q,a),将算数应用题的已知条件p与问题q输入到编码器中,得到融合已知条件和问题的语义信息的表征向量M0,M1,M2,其中编码器包括输入编码层、文本编码层、交互编码层与堆叠编码器层;
步骤B4:将步骤B3得到的融合已知条件和问题的语义信息的表征向量M0,M1,M2输入到答案预测器中,预测构造算数表达式需要从已知条件中提取的数字的数量,从已知条件中提取相应数量的数字,为每个数字分配运算符,得到算数表达式,对算数表达式求值得到问题的答案;
步骤B5:根据目标损失函数loss计算损失,并利用反向传播方法计算网络中各参数的梯度,通过多次迭代最小化损失函数,在每次迭代中,训练集被分成多个批次进行分批优化,并利用随机梯度下降方法更新参数;
步骤B6:答案预测器采用强化学习训练模型,使用策略梯度方法进行强化学习训练,最大化回报期望;
步骤B7:当深度学习模型产生的损失值迭代变化小于设定阈值不再降低或者达到最大迭代次数,终止深度学习模型的训练。
2.根据权利要求1所述的一种算数应用题智能解题方法,其特征在于,所述步骤A具体包括以下步骤:
步骤A1:采集用于训练的算数应用题数据,每条算数应用题数据包括算数应用题的已知条件、问题与答案;
步骤A2:对每条算数应用题数据进行预处理,分别对算数应用题的已知条件、问题以及答案进行分词并去除停用词,得到三元组(p,q,a),其中p表示算数应用题的已知条件,q表示问题,a表示问题的答案;
其中,为对算数应用题的已知条件进行分词并去除停用词后已知条件中的第i个词,i=1,2,...,L(p),L(p)为对算数应用题的已知条件进行分词并去除停用词后已知条件中剩余的词数;表示对问题进行分词并去除停用词后问题中的第j个词,j=1,2,...,L(q),L(q)为对问题进行分词并去除停用词后的问题中剩余的词数;表示对答案进行分词并去除停用词后答案中的第k个词,k=1,2,...,L(a),L(a)为对答案进行分词并去除停用词后答案中剩余的词数;
步骤A3:使用步骤A2处理后的算数应用题数据的三元组(p,q,a)构成训练集。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福州大学,未经福州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110183217.0/1.html,转载请声明来源钻瓜专利网。