让人工智能解数学题?并没有想象的那么简单

雷锋网(公众号:雷锋网)按:本文作者微软亚洲研究院知识挖掘组,雷锋网获授权转载。

导读:约1500年前的古代数学著作《孙子算经》中记载了一个有趣的问题:

今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?

这就是今人所谓的鸡兔同笼问题。如今这个问题小学生们解决起来可能都轻而易举,但对于人工智能而言可能并非如此。在人工智能火热的今天,我们想聊聊如何让计算机具备解此类问题的能力——即数学解题。

智能答题任务

如果说一套系统就能解决所有问题的“通用人工智能”离人们的生活还很遥远,那么让人工智能系统解决具体的某一项、或某一类问题已经是一个切实可行的小目标。近几年智能解题逐渐成为人工智能的一大研究热点。随着这项研究的日益火热,人们想通过让人工智能参加“考试”,与人类选手进行公平、公开的比试,从而衡量目前人工智能系统的“智能”水平。

在全世界范围内,有多家研究机构正在从事这一方面的研究。

例如日本国立情报学研究所开发了一个项目Todai
Robot,他们让机器人挑战大学试题,目标是2021能够考上东京大学。艾伦人工智能研究所(Allen Institute for
Artificial Intelligence)
也举办了一项比赛,来自全世界的几千个团队纷纷提交了自己的软件系统来挑战8年级的科学题目,最终,该比赛的第一名仅能达到59%的正确率。

在中国,国家科技部2015年也开启了“高考机器人” 项目(863计划中的类人智能项目),让人工智能系统和全国的文科考生一样,挑战2017年高考语文、数学、文综三项科目,研究相关类人答题系统。超过30多家高校和科研机构(清华大学、中科院自动化所等)联合参与了该项目。

意料之外但又情理之中的是,目前各个人工智能系统的表现普遍在理科解题上弱于文科解题。究其原因:目前机器学习更多强调的是对记忆、计算等相关内容的储存和运用,而对于逻辑理解和推理这一模块还没有很好的解决。数学解题,作为理科考试的一部分,十分考验计算机的理解能力和推理能力,针对数学解题之上的研究成果非常有可能定义计算机智能的新层次。有鉴于此,数学解题应该也正在成为人工智能的一块重要拼图。

难点和挑战

尽管鸡兔同笼问题已经成为小学数学中的常见题型,然而该问题对于计算机来说却是一个极大的挑战。具体来讲,为了得到最终答案计算机需要通过理解题目的文字描述来得到相关数学表达,计算机需要具备逻辑推理能力来对得到的数学表达进行算术演算,计算机还需要具有一定的有关现实世界的常识从而能够约束和简化题目。

首先,数学解题需要多种层次的自然语言理解。对于一道题目的文字描述,计算机需要知道并理解其中包含的概念。举个例子,“一加一等于几”以及“小明有一个苹果和一个梨,问小明有几个水果”,同样本质是“1+1=?”的两道题,在题型概念上是一样的,表达方式却截然不同。计算机需要知道如何把以上两道问题都抽象成两个对象相加,这就涉及到所谓的自然语言理解。

事实上,抽取题目中各个概念变量的关系也十分具有难度。数学题要求的是精确,如果题目变换了一个词,变量之间的关系可能就会改变,整个解法也会不一样。比如下面两道追赶问题:

  • 两辆车同时往同一方向开,速度分别为28km/h和46km/h,问多少小时后两车相距63km?
  • 两辆车同时往相反方向开,速度分别为28km/h和46km/h,问多少小时后两车相距63km?

两道题描述很类似,但是车的方向关系导致了两题的解法大不相同。如何捕抓出这种细微的差别也是一大难点。这也是所谓的自然语言理解的一部分。

其次,在一定程度上理解文字之后,数学解题需要通过逻辑推理生成解题公式。如下图Hosseni 2014的工作,把数学题通过自然语言处理得到几个变量状态之后,需要推理得到各个变量状态之间的关系得出数学公式。在他给出的例子中,计算机通过学习能得到动词“give”代表两个状态相减。

↑Hosseni 2014训练一个分类器判断一个动词属于加/减

最后,计算机需要具有一定有关现实世界的常识去理解自然语言里面一些隐式的指代。比如圆周率为3.14,速度乘以时间等于路程等等。在鸡兔同笼问题中,鸡有两条腿、兔有四条腿是隐式包含的条件,只有知道这些常识才能正确的解答问题。

历史与现状

智能答题系统最早可以回溯到20世纪60年代。1964年提出的STUDENT(Bobrow
1964)系统可以视作早期答题人工智能实现的代表:输入有规定的描述方式的数学题,人工定义一组关键词和关系(如EQUAL, SUM,
PRODUCT),把自然语言(linguistic form)通过模式匹配映射到对应的函数关系表达。例如句子

the number of advertisements is 45

可转化为函数表达方式

EQUAL (NUMBER OF ADVERTISMENTS)45

之后的CARPS系统(Charniak 1968)能够把自然语言表示成为成树状结构,再匹配生成公式解答,此外它嵌入了很多数学模型的知识,如面积、体积、维度等等。但CARPS系统仅限于解决比率问题(ratio problem)。  

2008年之前多数关于智能答题系统的工作都是基于预定义的模式匹配规则,这类工作主有两个主要的缺点:

  • 定义的规则覆盖率小,能解决的问题十分有限,而在真实场景下数学题目的描述往往是比较自由、不太受限的;
  • 评测比较模糊,这些系统很少给出评测结果以验证其有效性。

在这之后有了很多不同的尝试。比如SoMaTePs系统(Liguda
& Pfeiffer 2012)尝试用扩张语义网(Augmented Semantic
Network)表示数学题,抽取题目的对象(object)作为节点,节点之间的关系包括加减乘除。ARIS 系统(Hosseini
2014)让机器学习题目中的动词,并对这些动词进行加减二分类,把数学题看作以动词为关系的状态转移图,但这个方法目前只解决一元加减问题,不考虑乘除。

MIT 于2014年在国际计算语言年会(ACL
2014, Kushman 2014) 上提出了一种基于统计学习的方法(命名为KAZB),引入了模板的概念 (比如“1+1”和
“1+2”同属于一个模板x = a + b)
。根据公式的标注把数学题归类成不同的题型,抽取题目中不同层次的特征(如有关词汇、词性以及语法等),使用统计学习技术自动判断题型。

但是此类方法的一个缺点为:无法解决训练集之外的题型。比如训练集只出现过两个数相加,机器无法泛化解答三个数相加的问题。之后百度ZDC(Zhou
et al. 2015),微软研究院 (Upadhyay
2016)的研究团队也在同样的方法框架下分别做了不同的优化改进。在一个开放的评测数据集上(即ALG514,含有514道题),三个系统准确率在上分别是68.7%,78.7%以及83%。

随后,华盛顿大学的ALGES系统(Koncel-Kedziorski
et al.
2015)定义了Qset的概念(一个Qset包括Quantity,Entity,Adjective等属性)。首先抽取一道问题的Qset,利用线性整数规划把Qset和加减乘除生成可能的公式,再选出最有可能的公式解出答案。目前限定于一元一次方程。他们同时构建了一个508道题的数据集,系统获得的准确率在72%左右。

艾伦人工智能研究所除了考虑数学文字题之外,还有关于几何看图题的研究。GEOS
(Seo et al. 2015)
根据几何数学定义了一组数学概念以及函数,对图和文字分别构建了不同的分析器(parser)。他们在186道SAT的数学题上获得的准确率大概是60%左右。

下表对以上一些具有代表性的系统做出了总结。给出一道数学题文字描述,系统需要涵盖三大部分:自然语言理解,语义表达和映射以及数学推理得出解决公式和答案。

应用场景

作为一种有趣的人工智能问题,数学解题相关的研究和努力不仅有助于推动机器智能的进步,同时也会在众多实际应用场景中产生价值。

线上教育

近几年兴起的中小学生学习平台,该类应用普遍会支持如下功能——学生可以采取对准题目拍照,或者文字语音方式来输入数学题,学习平台识别题目并给出解题思路。由于此类平台具有庞大的题库,因此可以通过识别匹配题目来实现上功能。该应用的用户量已经突破一亿,在教育市场份额巨大。但是这些平台中所有的题目需要人工预设解题思路,受限于此,题库的扩展存在一定约束。人工智能数学解题的成功解决将会大大提升此类平台。

知识问答系统

作为新一代的知识搜索引擎的代表,WolframAlpha能理解用户搜索问题并直接给出答案,而不是返回一堆网页链接。其中WolframAlpha被搜索过的一类典型的问题就是数学问题。输入数学题,它能给出数学模型、解题步骤以及答案。数学解题是此类引擎的核心构件之一。

智能问答

智能对话系统的终极目标是实现人机自由对话,计算机能够响应来自用户的各种问题。其中,自然也包括数学解题。微软小冰实际上已经开始了这方面的尝试,它目前已可以解决比较简单的算术题。

SigmaDolphin——微软亚洲研究院的数学解题

SigmaDolphin是微软亚洲研究院在2013年初启动的解题项目。Sigma即西格玛大厦,是微软亚洲研究院的诞生地;而Dolphin则是该系统被赋予的期望——像海豚一样聪明。

目前SigmaDolphin主要有两个研究成果。

  • Dolphin解题

SigmaDolphin定义了一套针对数学解题的抽象表示语言(被命名为Dolphin

Language),包含了数学相关的类和函数。该语言人工定义了1000多种数学类型以及7000多种从Freebase和其它网页自动抽取的概念类型,加上其定义的函数和数据结构,使得该语言十分适合表达数学概念及运算,并能很好地构建出一个精准的数学解题系统。

同时Dolphin
Language具有大约1万条语法规则,把自然语言解析成Dolphin
Language的表示,继而进行推理得到数学公式。有关该方法的详细介绍已经发表在EMNLP 2015, 题为“Automatically
Solving Number Word Problems by Semantic Parsing and Reasoning” 。

↑what is 1 plus 2”的Dolphin语言表示形式

  • Dolphin18K数据集

目前该研究领域正在使用的数据集规模都相对较小,而且题型都比较简单。众所周知,机器学习的关键是数据,特别关键的是数据规模。然而,数学题库需要提供公式和答案,人工标注十分耗时。微软亚洲研究院团队采用半自动地方法从雅虎问答获取数学题,经过人工筛选题目,并自动抽取公式和答案作为标注,构建一个新的数据集Dolphin18K。该数据集包含了1万8千多道数学题。有关该数据集的详细介绍已发表在ACL
2016,题为“How Well Do Computers Solve Math Word Problems? Large-Scale
Dataset Construction and Evaluation”。

过往的系统在各自的数据集上都有高达60%至80%的准确率,但由于评测的数据集都在几百道题目的规模上,而且都有不同的题型限制,导致其得出的结论可能不够有代表性。对比之前的数据集,Dolphin18K题目数量增加了10倍以上,涵盖了不同年级、不同难度的数学题,且题型更加全面丰富,更具有挑战性。目前,在Dolphin18K的评测上,过往的这些数学解题系统平均只能获得20%左右的准确率,说明了数学解题并没有想象中的那么简单。

如上所述,目前智能解题任务仍然存在众多的挑战。但我们仍可以期冀,通过不断的数据积累和方法创新,智能解题系统的能力终将逼近甚至超过人类——答题能力能从及格逐渐提升至100分的水平。

参考文献

Daniel G. Bobrow. 1964. Natural Language input for a computer problem solving system. MIT technical report, 1964.

Charniak E. 1968. CARPS, a program which solves calculus word problems. MIT technical report, 1968.

Mohammad
Javad Hosseini, Hannaneh Hajishirizi, Oren Etzioni, and Nate Kushman.
2014. Learning to solve arithmetic word problems with verb
categorization. EMNLP 2014.

Danqing
Huang, Shuming Shi, Chin-Yew Lin, Jian Yin and Wei-Ying Ma. 2016. How
well do computers solve math word problems? Large-scale dataset
construction and evaluation. ACL 2016.

Rik
Koncel-Kedziorsk, Hannaneh Hajishirizi, Ashish Sabharwal, Oren Etzioni,
and Siena Dumas Ang. 2015. Parsing algebraic word problems into
equations. TACL 2015.

Nate
Kushman, Yoav Artzi, Luke Zettlemoyer, and Regina Barzilay. 2014.
Learning to automatically solve algebra word problems. ACL 2014.

Christian Liguda and Thies Pfeiffer. 2012. Modeling math word problems with augmented semantic networks. NLDB 2012.

Anirban
Mukherjee and Utpal Garain. 2008. A review of methods for automatic
understanding of natural language mathematical problems. Artif. Intell.
Rev. 29(2): 93-122, 2008.

Minjoon
Seo, Hannaneh Hajishirzi, Ali Farhadi, Oren Etzioni, and Clint Malcolm.
2015. Solving gemometry problems: Combining text and diagram
interpretation. EMNLP 2015.

Shuming
Shi, Yuehui Wang, Chin-Yew Lin, Xiaojiang Liu, and Yong Rui. 2015.
Automatically solving number word problems by semantic parsing and
reasoning. EMNLP 2015.

Lipu Zhou, Shuaixiang Dai, and Liwei Chen. 2015. Learn to solve algebra word problems using quadratic programming. EMNLP 2015.

本文作者:谷磊

本文转自雷锋网禁止二次转载,原文链接

时间: 2017-08-01

让人工智能解数学题?并没有想象的那么简单的相关文章

如何模仿人的学习模式来教计算机程序解数学题?

周末,看关于专家系统方面的书,其中有关于规则方面的内容,忽然就想,能不能模仿人的学习方式来提升计算机程序的计算能力呢?  试想,一个小孩子,他一开始什么也不会,首先,你要告诉他什么是数字,然后告诉他什么是加.减:然后告诉他什么是乘.除,还要告诉他有乘.除要先计算乘除,然后又引入了括号说,有括号永远要先计算括号.如此,随着告诉他的技能越多,他的解题能力也就越强.  于是就想着试验一下.  第一步,教计算机学习什么是数字.  下面的正则表达式,就是告诉"孩子",数字就是前面可能有"

模仿人来教计算机解数学题

周末,看关于专家系统方面的书,其中有关于规则方面的内容,忽然就想,能不能模仿人的学习方式来提升计算机程序的计算能力呢?试想,一个小孩子,他一开始什么也不会,首先,你要告诉他什么是数字,然后告诉他什么是加.减:然后告诉他什么是乘.除,还要告诉他有乘.除要先计算乘除,然后又引入了括号说,有括号永远要先计算括号.如此,随着告诉他的技能越多,他的解题能力也就越强.于是就想着试验一下. 文章转载自 开源中国社区 [http://www.oschina.net]

智能家居不要恢宏的想象!要简单的解决方案

和金山的一位高管聊天,聊起最近正热的智能硬件创业潮"在3W.车库买杯咖啡蹲一下午,周围4张桌子,3张桌子在聊智能硬件".简单的一个场景反应了当下物联网概念下,智能硬件的火爆.而聊至深处,理性取代激情,无奈遇见现实"不用智能空气盒,我也知道办公室的PM值超标,不用智能手环我也知道我睡眠最近不好,但是知道有什么用,解决方案呢?!" 一句朴素的质问,反应的是物联网时代下智能硬件的困局.每个人都相信未来智能家居可以智能并美好每个人的生活方式.而当下的现实是,各个智能硬件自成

游戏设计中的色彩哲学:没想象的那么简单

色彩的学问横跨物理.生物.心理.艺术和设计等若干学科--艺术家用它来点燃情感的共鸣,广告人用它来塑造产品的格调,而对游戏设计者而言,色彩不仅关乎"看",还关乎"用".本文将着重探讨游戏中的色彩及其应用,包括提升色彩视觉效果的相关技术和生物学效应等等. 游戏中的色彩:到底有什么用? 色彩的首要功能是帮助我们辨认不同的物体,在游戏中也是如此--现实的苹果是红色的,所以游戏中的苹果也是红色的,辨认起来就更加容易.除此之外,游戏中的色彩还跟艺术.设计和电影一样,有其他作用.

全站HTTPS没你想象的那么简单

对自己无知这件事本身的无知真的挺可怕 认知偏差现象一直存在于我们每个人身上,谁也避免不掉,不过是有的人了解这件事儿,有的人不怎么知道而已,这就产生了「无知而不自知」的认知偏差.当然,这时候你自己忽悠自己倒没什么,顶多让自己每天感觉自己挺厉害的,沉浸于虚幻的优越感中,以为自己比大多数人都优秀,这倒不是一件什么坏事情,但是,如果你和别人沟通交流中展现出来,那挺可怕的,况且有时候你自己并不知道,达克效应(Dunning-Kruger Effect)描述的就是这种现象. 避免这种现象在自己身上的存在,没

又来数学题了。。。请教简单做法

问题描述 对某单位的100名员工进行调查,结果发现他们喜欢看球赛和电影.戏剧.其中58人喜欢看球赛,38人喜欢看戏剧,52人喜欢看电影,既喜欢看球赛又喜欢看戏剧的有18人,既喜欢看电影又喜欢看戏剧的有16人,三种都喜欢看的有12人,则只喜欢看电影的有()A.22人 B.28人 C.30人 D.36人答案是:A.22人我想知道这种题的简单算法.因贱内对数字方面很弱,所以在这向大家请教了,谢谢各位高手啦.ps:求 救 怎么不能用呢? 解决方案 (容斥原理) 最好画一个圈圈图更加直观.对于抽象能力差的

LOL3.14补丁详解:辅助地位提升 打野更简单

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   英雄联盟的3.14补丁包含了大量理论上和技术上的修改.我们留着口水阅读了大量设计师编写的红帖,看到了一个又一个视频,并在PBE测试服上亲手尝试. 这个补丁传达了最简单明了的信息:辅助不再是插眼机器.他们将同其他英雄并肩作战.大多数玩家认为打野目前的状态还不太好,寡妇很不错,草丛进行了修改,更加简单,范围也更小,BUG被修复,双遗迹圣盾的问题也得到了改善. 到目前

中国人工智能学会通讯——无智能,不驾驶——面向未来的智能驾驶时代 ( 下 )

到目前为止似乎比较完美,而实际还 存在着一些问题.我们现在看到很多道 路上面,交通标志牌它的分布非常稀疏, 可能每过一两公里才能够检测出来一个 交通标志牌,因为毕竟这个深度学习算 法是目前最完美的,它有时候还会错过 一个交通标志牌,这时候怎么办呢?我 们会发现在路面上也有非常明显的视觉 特征,我只要把路面的这些视觉特征识 别出来进行匹配,其实是有连续的绝对 的视觉参考的.所以我们做的办法是, 把这个路面粘贴起来.这个粘贴的方法 很简单,跟我们手机拍场景图片一样, 我们慢慢移动的时候可以把这个场景

苹果智能家居大招要来 两年一直没火真相解秘

苹果公司自带话题属性,什么东西只要和苹果沾边就能火一阵子.但是苹果的智能家居布局已经吵吵了两年,一直是雷声大雨点小. 苹果"Homekit"平台2014年发布,除了零零散散上线了几款智能灯泡.插头.空气检测器等小玩意,也一直没什么大动静.而后,Home app在今年夏天悄无声息登陆iOS10,在9月初库克还提过一句,保证在今年年底上线100款适配的设备. Home app的上线和库克的许诺都给智能家居点了把火,大家都期望库克能在9月的秋季发布会上介绍一下苹果智能家居发展图景,但是并没有