论文部分内容阅读
作为机器智能的重要标准测试之一,自动求解数学应用题(MWP)的研究历史可追溯到20世纪60年代,并且在最近几年中吸引了大量研究者们的关注。对于数学应用题的自动求解,求解器需要将人类可读懂的句子映射成机器可理解的逻辑形式,随后推理得到其求解表示式,最后计算得到其答案。该任务不仅仅涉及到对文本的深入理解,还需要求解器具有很强的逻辑推理能力,这也是自然语言理解和推理研究中的难点和重点。近几年,大量的数学应用题求解器被提出,研究者们也声称在各自的小规模数据集上取得了优异的效果。作为早期的尝试,基于动词分类的求解器,受限于只能支持加减法两种运算;基于标签的方法,需要过多的人工干预,难以扩展;基于模板的解决方案,随着数据集增大,模板集的基数和复杂性增加,性能急剧下降;基于表达式树的方法,随着数字个数的增加,搜索空间呈指数增长。综上所述,这些方法表现的还不够鲁棒,推理难度随着数据量和数据复杂度的增加呈指数增长,其在特征设计和提取上花费的人工成本代价巨大,且不能够在可接受的运算时间内得到足够好的效果。因此,为了更客观,更全面,更多样化的测评数学应用求解器,近两年来相关研究者们发布了较大规模的数学应用题数据集,对以往的方法进行了探究验证,给往后的方法提供了一个更具挑战的测试平台。本文主要聚焦于用深度学习和强化学习相关的技术来构建数学应用题自动求解器。本文首先回顾总结了算术和方程组这两大类数学应用题(MWP)近年以来的发展。随后介绍了本文提出的三种基于深度学习或强化学习的求解方案:1)提出了一种基于深度Q网络(DQN)的数学应用题自动求解器,降低了构建数学求解表达式树所需的指数级的搜索空间,能够更高效更准确的对数学应用题进行求解;2)提出了一种基于序列到序列(SEQ2SEQ)集成模型的数学应用题自动求解器和一种等式归一化方法,减少了在特征设计和提取上花费的人工成本,降低了等式的搜索空间;3)提出了一种基于递归神经网络的数学应用题两步求解系统:首先利用序列到序列(SEQ2SEQ)模型预测一个操作符待填充的树形结构的求解表达式模板;然后利用得到的树形结构模板,通过递归神经网络,自底向上预测内节点对应的操作符。该方法更进一步减少了模板的搜索空间,提高了数学应用题的求解准确率。本文最后,基于当前的研究现状,讨论了对于数学应用题自动求解领域,值得进一步探索和研究的方向。