博舍

让人工智能解数学题,可能没你想象的那么简单 人工智能答题软件哪个好一点

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

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

约1500年前的古代数学著作《孙子算经》中记载了一个有趣的问题:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”这就是今人所谓的鸡兔同笼问题。如今这个问题小学生们解决起来可能都轻而易举,但对于人工智能而言可能并非如此。在人工智能火热的今天,我们想聊聊如何让计算机具备解此类问题的能力——即数学解题。

智能答题任务

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

在全世界范围内,有多家研究机构正在从事这一方面的研究。例如日本国立情报学研究所开发了一个项目TodaiRobot,他们让机器人挑战大学试题,目标是2021能够考上东京大学。艾伦人工智能研究所(AllenInstituteforArtificialIntelligence)也举办了一项比赛,来自全世界的几千个团队纷纷提交了自己的软件系统来挑战8年级的科学题目,最终,该比赛的第一名仅能达到59%的正确率。在中国,国家科技部2015年也开启了“高考机器人”项目(863计划中的类人智能项目),让人工智能系统和全国的文科考生一样,挑战2017年高考语文、数学、文综三项科目,研究相关类人答题系统。超过30多家高校和科研机构(清华大学、中科院自动化所等)联合参与了该项目。

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

难点和挑战

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

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

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

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

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

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

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

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

历史与现状

智能答题系统最早可以回溯到20世纪60年代。1964年提出的STUDENT(Bobrow1964)系统可以视作早期答题人工智能实现的代表:输入有规定的描述方式的数学题,人工定义一组关键词和关系(如EQUAL,SUM,PRODUCT),把自然语言(linguisticform)通过模式匹配映射到对应的函数关系表达。例如句子“thenumberofadvertisementsis45”可转化为函数表达方式(EQUAL(NUMBEROFADVERTISMENTS)45)。之后的CARPS系统(Charniak1968)能够把自然语言表示成为成树状结构,再匹配生成公式解答,此外它嵌入了很多数学模型的知识,如面积、体积、维度等等。但CARPS系统仅限于解决比率问题(ratioproblem)。

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

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

MIT于2014年在国际计算语言年会(ACL2014,Kushman2014)上提出了一种基于统计学习的方法(命名为KAZB),引入了模板的概念(比如“1+1”和“1+2”同属于一个模板x=a+b)。根据公式的标注把数学题归类成不同的题型,抽取题目中不同层次的特征(如有关词汇、词性以及语法等),使用统计学习技术自动判断题型。但是此类方法的一个缺点为:无法解决训练集之外的题型。比如训练集只出现过两个数相加,机器无法泛化解答三个数相加的问题。之后百度ZDC(Zhouetal.2015),微软研究院(Upadhyay2016)的研究团队也在同样的方法框架下分别做了不同的优化改进。在一个开放的评测数据集上(即ALG514,含有514道题),三个系统准确率在上分别是68.7%,78.7%以及83%。

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

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

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

应用场景

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

知识问答系统

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

智能问答

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

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

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

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

Dolphin解题

SigmaDolphin定义了一套针对数学解题的抽象表示语言(被命名为DolphinLanguage),包含了数学相关的类和函数。该语言人工定义了1000多种数学类型以及7000多种从Freebase和其它网页自动抽取的概念类型,加上其定义的函数和数据结构,使得该语言十分适合表达数学概念及运算,并能很好地构建出一个精准的数学解题系统。同时DolphinLanguage具有大约1万条语法规则,把自然语言解析成DolphinLanguage的表示,继而进行推理得到数学公式。有关该方法的详细介绍已经发表在EMNLP2015,题为“AutomaticallySolvingNumberWordProblemsbySemanticParsingandReasoning”。

“whatis1plus2”的Dolphin语言表示形式Dolphin18K数据集

目前该研究领域正在使用的数据集规模都相对较小,而且题型都比较简单。众所周知,机器学习的关键是数据,特别关键的是数据规模。然而,数学题库需要提供公式和答案,人工标注十分耗时。微软亚洲研究院团队采用半自动地方法从雅虎问答获取数学题,经过人工筛选题目,并自动抽取公式和答案作为标注,构建一个新的数据集Dolphin18K。该数据集包含了1万8千多道数学题。有关该数据集的详细介绍已发表在ACL2016,题为“HowWellDoComputersSolveMathWordProblems?Large-ScaleDatasetConstructionandEvaluation”。过往的系统在各自的数据集上都有高达60%至80%的准确率,但由于评测的数据集都在几百道题目的规模上,而且都有不同的题型限制,导致其得出的结论可能不够有代表性。对比之前的数据集,Dolphin18K题目数量增加了10倍以上,涵盖了不同年级、不同难度的数学题,且题型更加全面丰富,更具有挑战性。目前,在Dolphin18K的评测上,过往的这些数学解题系统平均只能获得20%左右的准确率,说明了数学解题并没有想象中的那么简单。

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

参考文献[1]DanielG.Bobrow.1964.NaturalLanguageinputforacomputerproblemsolvingsystem.MITtechnicalreport,1964.[2]CharniakE.1968.CARPS,aprogramwhichsolvescalculuswordproblems.MITtechnicalreport,1968.[3]MohammadJavadHosseini,HannanehHajishirizi,OrenEtzioni,andNateKushman.2014.Learningtosolvearithmeticwordproblemswithverbcategorization.EMNLP2014.[4]DanqingHuang,ShumingShi,Chin-YewLin,JianYinandWei-YingMa.2016.Howwelldocomputerssolvemathwordproblems?Large-scaledatasetconstructionandevaluation.ACL2016.[5]RikKoncel-Kedziorsk,HannanehHajishirizi,AshishSabharwal,OrenEtzioni,andSienaDumasAng.2015.Parsingalgebraicwordproblemsintoequations.TACL2015.[6]NateKushman,YoavArtzi,LukeZettlemoyer,andReginaBarzilay.2014.Learningtoautomaticallysolvealgebrawordproblems.ACL2014.[7]ChristianLigudaandThiesPfeiffer.2012.Modelingmathwordproblemswithaugmentedsemanticnetworks.NLDB2012.[8]AnirbanMukherjeeandUtpalGarain.2008.Areviewofmethodsforautomaticunderstandingofnaturallanguagemathematicalproblems.Artif.Intell.Rev.29(2):93-122,2008.[9]MinjoonSeo,HannanehHajishirzi,AliFarhadi,OrenEtzioni,andClintMalcolm.2015.Solvinggemometryproblems:Combiningtextanddiagraminterpretation.EMNLP2015.[10]ShumingShi,YuehuiWang,Chin-YewLin,XiaojiangLiu,andYongRui.2015.Automaticallysolvingnumberwordproblemsbysemanticparsingandreasoning.EMNLP2015.[11]LipuZhou,ShuaixiangDai,andLiweiChen.2015.Learntosolvealgebrawordproblemsusingquadraticprogramming.EMNLP2015.

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

人工智能课复习(简答题)

1.什么叫人工智能?它与云计算、大数据和物联网之间有什么关系?

人工智能英文缩写为AI,它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。关系:物联网的正常运行是通过大数据传输信息给云计算平台处理,然后人工智能提取云计算平台存储的数据进行活动。

2.人工智能有哪三大流派?他们各自观点是什么?

1符号主义源于数理逻辑,认为智能产生于大脑的抽象思维,主观意识过程,例如数学推导,概念化的知识表示,模型语义推理2连接主义源于仿生学,认为人工智能产生于人的脑神经元之间的相互作用及信息往来的学习与统计过程。3行为主义源于心理学与控制学,认为智能是产生于主题与环境的交互过程。基于可观测的具体的行为活动,以控制论及感知-动作型控制系统为基础,摒弃了内省的思维过程,而把智能的研究建立在可观测的具体的行为活动基础上。

3.知识的表达方式有哪些?试举例说明某一种表达方式的应用。

知识表达方式:谓词逻辑表示法,产生式表示法,语义网络表示法,框架表示法,脚本表示法,过程表示法,面向对象表示法,神经网络表示法.应用:谓词逻辑表示法是目前应用最广的方法之一,在AI系统上已经得到了应用。

4试用谓词逻辑表达描述下述推理:(1)如果张三比李四大,那么李四比张三小。(2)甲和乙结婚了,则或者甲为男,乙为女;或者甲为女,乙为男。(3)如果一个人是老实人,他就不会说慌;张三说谎了,所以张三不是一个老实人。

5原命题:不管黑猫白猫,抓住老鼠就是好猫。写出原命题的谓词表达式。

设K(x,y):x抓住y,G(x):x是好的,C(x):x是猫,B(x):x是黑的,W(x):x是白的,M(x):x是老鼠,则原命题符号化为

6求P∧(Q→R)→S的合取范式。

7.某公司招聘人员,A、B、C三人应试,经面试后,公司有如下想法:(1)三人中至少录用一人;(2)如果录用A而不录用B,则一定录用C;(3)如果录用B,则一定录用C。求证:公司一定录取C。

8.阐述人工神经网络的工作原理。什么叫卷积神经网络?什么叫循环神经网络?二者各有什么特点?试举例说明其中一种神经网络的应用。

工作原理:从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络。卷积神经网络:卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。特点:局部连接,权值共享,降采样循环神经网络:循环神经网络是一种反馈网络,模拟“人脑记忆功能”,常用于语言识别、机器翻译、视频分析、生成图像描述等。特点:应用:主要在自然语言处理方向应用;文档分类和时间序列分析;时间序列对比;序列到序列的学习;情感分析;时间序列预测

9.什么是机器学习?深度学习与普通神经网络有什么不同?

机器学习就是研究如何使计算机具有类似人的学习能力,使它能通过学习自动的获取知识。不同:它们采用不同的训练机制。神经网络采用BP算法调整参数,即采用迭代算法来训练整个网络。随机设定初值,计算当前网络的输出,然后根据当前输出和样本真实标签之间的差去改变前面各层的参数,直到收敛。深度学习整体上是一个分层训练机制。10.机器学习有哪些方法?机器学习的应用场合主要有哪些?

监督式学习非监督式学习半监督式学习强化学习关联规则学习深度学习决策树学习金融领域:检测信用卡欺诈、证券市场分析等。互联网领域:自然语言处理、语音识别、语言翻译、搜索引擎、广告推广、邮件的反垃圾过滤系统等。医学领域:医学诊断等。自动化及机器人领域:无人驾驶、图像处理、信号处理等。生物领域:人体基因序列分析、蛋白质结构预测、DNA序列测序等。游戏领域:游戏战略规划等。新闻领域:新闻推荐系统等。刑侦领域:潜在犯罪预测等。

11.深度学习的主要开发工具框架有哪些?1.TensorFlow2.Keras3.Lasagne4.Caffe5.DSSTNE6.Torch7.MXNet8.DL4J9.CognitiveToolkit

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇