让人工智能解数学题,可能没你想象的那么简单

来源:微软研究院AI头条,授权CSDN发布。
欢迎人工智能领域技术投稿、约稿、给文章纠错,请发送邮件至heyc@csdn.net

约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年之前多数关于智能答题系统的工作都是基于预定义的模式匹配规则,这类工作主有两个主要的缺点:(1)定义的规则覆盖率小,能解决的问题十分有限,而在真实场景下数学题目的描述往往是比较自由、不太受限的;(2)评测比较模糊,这些系统很少给出评测结果以验证其有效性。

在这之后有了很多不同的尝试。比如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分的水平。

参考文献
[1] Daniel G. Bobrow. 1964. Natural Language input for a computer problem solving system. MIT technical report, 1964.
[2] Charniak E. 1968. CARPS, a program which solves calculus word problems. MIT technical report, 1968.
[3] Mohammad Javad Hosseini, Hannaneh Hajishirizi, Oren Etzioni, and Nate Kushman. 2014. Learning to solve arithmetic word problems with verb categorization. EMNLP 2014.
[4] 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.
[5] Rik Koncel-Kedziorsk, Hannaneh Hajishirizi, Ashish Sabharwal, Oren Etzioni, and Siena Dumas Ang. 2015. Parsing algebraic word problems into equations. TACL 2015.
[6] Nate Kushman, Yoav Artzi, Luke Zettlemoyer, and Regina Barzilay. 2014. Learning to automatically solve algebra word problems. ACL 2014.
[7] Christian Liguda and Thies Pfeiffer. 2012. Modeling math word problems with augmented semantic networks. NLDB 2012.
[8] 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.
[9] Minjoon Seo, Hannaneh Hajishirzi, Ali Farhadi, Oren Etzioni, and Clint Malcolm. 2015. Solving gemometry problems: Combining text and diagram interpretation. EMNLP 2015.
[10] 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.
[11] Lipu Zhou, Shuaixiang Dai, and Liwei Chen. 2015. Learn to solve algebra word problems using quadratic programming. EMNLP 2015.


【CSDN在线直播课】《TensorFlow实战》作者、PPmoney大数据算法总监黄文坚老师即将开课:《使用TensorFlow创建可自动玩游戏的DQN模型》,本次课程集中讲解Deep-Q Network及其TensorFlow的实现。扫描下方二维码报名

图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/70638.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

给自己的课程打个广告

给自己的一些付费课程打个广告吧,金额不高,但你们的支持可以让我在写作、分享时更有动力,在媳妇面前也更有地位哈哈,谢谢支持了!! 有问题欢迎留言或者加我微信: sxkejinet 面试经验分享OkHttp3 和 Retrofit…

大学生个人职业生涯规划书PPT

大学生如何职业生涯规划主要是指根据个人的兴趣、性格特点、内在潜能来确立个人的职业发展目标,并根据自身情况对未来职业生涯上的短期目标、中期目标和长期目标进行设定,根据设定的这些目标来规划不同阶段下需要完成自我提升的通道。简而言之就是自身通…

python职业规划书_大学生职业规划书

职业生涯规划(简称生涯规划),又叫职业生涯设计,是将个人与组织相结合,在对一个人职业生涯的主客观条件进行测定、分析、总结的基础上,对自己的兴趣、爱好、能力、特点进行综合分析与权衡,结合时…

计算机相关专业的学生如何规划自己的职业?

一、 前言 2017年曾经写过一篇关于学什么编程方向的文章,当时反响很大,有不少在校的社团组织私下授权转载我的文章。现在的大学,两极分化极其严重,优秀的同学毕业找工作顺风顺水,平庸甚至较差的同学,找工作…

大学生职业规划策划书

一.前言 我时常问自己“人生之路到底该如何去走”,长久以来我也不断思考并在实践中体会这个问题。心中记得这样一句话“走好每一步,这就是你的人生。”人生之路其实十分短暂,因为你度过的每一天或者每一秒就是你的人生。正因为人生经不起虚度…

大学生职业生涯规划的意义

前言职业生涯规划是指个人发展与组织发展相结合,通过对职业生涯的主客观因素分析、总结和测定,确定一个人的奋斗目标,并为实现这一事业职业目标,而预先进行生涯系统安排的过程。在任何社会、任何体制下,个人职业设计更…

职业生涯规划(career planning)

本文转自:WIKI智库(https://wiki.mbalib.com/wiki/职业生涯规划) 职业生涯规划的定义 职业生涯规划(简称生涯规划),又叫职业生涯设计,是指个人与组织相结合,在对一个人职业生涯的主…

计算机个人职业生涯规划

个人职业生涯规划 摘要 在当下竞争激烈的时代,如果没有做好充分的准备就去迎接社会的毒打,往往是遍体鳞伤。而一个人的职业规划将是我们面对社会的最好的铠甲,即使是简单的未来规划,也会使你成长的路上少点磕绊,所以…

大一上:大学生职业生涯规划书【自我性格、气质、及其优缺点的分析】

大学生职业生涯规划书 一、My MBTI 二、自我描述 我的性格类型倾向为“ INTJ ”(内向 直觉 思维 判断 倾向度: I57 N100 T86 J100 不假思索指数:11) 我在实现自己的想法和达成自己的目标时有创新的想法和非凡的动力。能很快洞察到外界事物间的规律并形…

软件工程大学生职业规划书

引言 在今天这个人才竞争时代,职业生涯规划开始成为在人争夺战中 另一重要利器,对企业而言,如何体现公司“以人为本”人才理念, 关注员工人才理念,关注员工持续成长,职业生涯规划是一种有效手段; 而对每个人…

职业生涯规划访谈,写给在校的你们

今天一位在校大学生邀请我在线做一个关于职业生涯规划的访谈,在此我将他提出的问题以及我个人的一些看法贴出,希望能给在校或是即将毕业的你们有所帮助。 问: 老师你好,就是我想问一下我们计算机专业的大学生,在课堂上学好必要的知…

大学生职业生涯发展与规划

《创业教育课程(一)----大学生职业生涯发展与规划》 结课作业要求 作业选题:大学规划书 作业要求:从自身的情况、现状出发,有针对性地制定一份详尽的增强自身就业能力的大学规划书,根据相关社会要求有针对性…

流利阅读 2019.2.23 China’s Forbidden City opens to the general public at night for the first time in 94

下载 笔记版/无笔记版 pdf资料: GitHub - zhbink/LiuLiYueDu: 流利阅读pdf汇总 本文内容全部来源于流利阅读。流利阅读对每期内容均有很好的文章讲解,向您推荐。 您可以关注微信公众号:流利阅读 了解详情。 China’s Forbidden City opens to…

英语阅读——2004

文章目录 词汇名词性从句1.主语从句与It形式主语1.1主语从句1.2It形式主语 独立主格结构with独立主格结构倒装句1.完全倒装句1.1副词在句首的倒装1.1.1地点副词在句首的倒装(here、there)1.1.2时间副词在句首的倒装(now、then)1.1.3表运动方向的副词在句首的倒装(in、out、up、…

chatgpt赋能python:用Python开发软件的SEO技巧

用Python开发软件的SEO技巧 随着互联网的发展,越来越多的企业开始意识到网络营销的重要性,而SEO(搜索引擎优化)是网络营销的重中之重。对于软件开发企业来说,利用SEO技术进行软件推广是很实用的。本文将介绍如何使用P…

目标检测算法——YOLOv5/YOLOv7改进|结合轻量型网络ShuffleNetV2

深度学习Tricks,第一时间送达 论文题目:《ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design》论文地址: https://arxiv.org/abs/1807.11164 FLOPS:每秒浮点运算次数,这个由硬件决定。 G…

魔改YOLOv5/YOLOv7高阶版——改进之结合解耦头Decoupled_Detect

💖💖>>>加勒比海带,QQ2479200884<<<💖💖 🍀🍀>>>【YOLO魔法搭配&论文投稿咨询】<<<🍀 ✨✨>>>学习交流 | 温澜潮生 | 合作共赢 | 共同进步<<<✨✨

第78篇一对多之稳定性研究(三)及array_walk及array_values

关键词&#xff1a;一对多稳定性研究, array_walk,array_values 一、一对多稳定性研究 1.1 测试平台--本地服务器运行平台 老师端&#xff1a;带老师名字 https://localhost:9101/demos/index.html?roomid888&t600&&teaNameMobile莫言 学生一&#xff1a; h…

ai绘画上色软件有哪些?为你推荐好用的软件

我最近发现了一种新奇的软件&#xff0c;那就是AI绘画。这类软件好神奇啊&#xff0c;能根据我提供的关键词生成出图片。 因为觉得有趣&#xff0c;我还找了几个工具试用。然后就得到了好多漂亮的图片&#xff0c;分享一些给大家看看。 大家看到了这些图片&#xff0c;是不是也…

树莓派初次编译Qt时系统卡死问题

树莓派编译程序时遇到卡死的问题 尝试增加树莓派的swap交换空间, sudo nano /etc/dphys-swapfile找到 CONF_SWAPSIZE&#xff0c;改变后面的数字即调整交换空间的大小,单位为MB,想改成4g就把后面的数字该为4096, 2g就是2048 CONF_MAXSWAP有预设值的话, 必须大于等于刚才设置…