Program Induction by Rationale Generation: Learning to Solve and Explain Algebraic Word Problems
Wang Ling♠ Dani Yogatama♠ Chris Dyer♠ Phil Blunsom♠♢ ♠♠\spadesuitDeepMind♢♢\qquad\diamondsuitUniversity of Oxford
Abstract
Solving algebraic word problems requires executing a series of arithmetic operations—a program—to obtain a final answer. However, since programs can be arbitrarily complicated, inducing them directly from question-answer pairs is a formidable challenge. To make this task more feasible, we solve these problems by generating answer rationales, sequences of natural language and human-readable mathematical expressions that derive the final answer through a series of small steps. Although rationales do not explicitly specify programs, they provide a scaffolding for their structure via intermediate milestones. To evaluate our approach, we have created a new 100,000-sample dataset of questions, answers and rationales. Experimental results show that indirect supervision of program learning via answer rationales is a promising strategy for inducing arithmetic programs.
中文速览
代数应用题(algebraic word problem)的难点在于机器需要自动推断出一串运算步骤,而仅凭题目和最终答案来学习这些步骤搜索空间极其庞大。研究者提出让模型生成"答题解析"(answer rationale)——即人类可读的自然语言与数学表达式交织而成的逐步推导过程——以此为隐变量来间接监督运算程序的学习,相当于用解题过程的文字脚手架缩小了程序搜索的范围。为此,他们构建了包含超过10万道题目、答案与解析的数据集AQuA,并设计了一种序列到序列模型,将解题过程表示为可执行的指令序列,结合启发式搜索来推断未标注的程序。实验表明,该方法将基线准确率提升了一倍,证明"先生成解析、再得出答案"这一间接监督策略对于引导模型学习算术程序是切实可行的,也为可解释数学推理提供了新思路。
原文 arXiv:1705.04146;中英对照 + 大白话阅读 https://aha.fim.ai/paper/1705.04146v3