从「小学数学」做起,训练AI协助解决日常算数问题 – 科学月刊Science Monthly

Author 作者 许闻廉/中研院资讯所的特聘研究员,研究领域为生物资讯、演算法、自然语言理解及人工智慧。吕菁菁/清大台湾语言研究与教学研究所副教授,研究领域为课室中的对话、语言理解、计算语言学。人工智慧数学深度学习数学题型解题AI解题系统涂灵测试小学数学对话系统*本篇文章与阳明交通大学人工智慧普适研究中心(PAIR labs)合作*以人工智慧(artificial intelligence, AI)技术来进行对话的机器人未来在网路上将非常流行。而在这些对话中经常会出现金钱交易的议题(比如:买菜、网路购物、股票、房地产等)以及相关的数字。一般问答系统大多无法理解这些相关数字的重要性,也无法揣测数字之间的关系。因此,遇到需要理解语意、计算相关数字等加减乘除的算数问题时,就只能回答「无法理解你的问题」。事实上,现今的机器学习模型大多着重於「分类」,不擅於「逻辑推理」,因此难以处理这些需求。

我们在2000年执行数位学习计画的时候,就发现「小学数学」是一个非常不错的研究议题,尤其从发展「自然语言理解」(natural-language understanding,NLU)让AI读懂人类语言的角度来看。首先,小学数学每一题都有答案,容易验证理解系统的对错;再者,小学数学里面的自然语言相对简单,但仍具有语言理解的典型困难。近年来「深度学习」(deep learning)几乎在所有领域都有杰出的表现,然而因为在逻辑推论方面不够强,所以在语言理解上仍有许多改善的空间。事实上,很多机器学习的模型都曾被学者应用於处理小学数学,但目前尚未有显着的成效。以下,我们就概略介绍处理日常生活算数问题中,待AI解决的相关议题。语言里的常识,读懂字里行间的言外之意自然语言理解里面有一个很重要的部分,就是「常识」的处理。「常识」在此指的是蕴含在一般对话里面的意义,大部分的人看了就可以联想理解。这类知识通常「不会」出现在文本中,因此这些重要的「常识」是现今受限於文本学习模型的机器学习所学不到的,必须由人类告知AI。而且,这些「言外之意」的使用需要恰到好处才行,这是语言理解最为困难的一点。

以下,我们举出一些在语言里面(尤其是中文)常见省略和指示代名词的例子,来说明AI在语言理解需要克服的问题。在省略方面,「小明喝了二杯果汁,小华三杯」,後面这句话为「小华喝了三杯果汁」省略了「喝」和「果汁」。AI看到了必须知道如何自行填回去,才能够正确理解。在代名词方面,「爸爸有八颗苹果,他吃了二颗,还剩几颗?」里面的「他」显而易见地是爸爸。然而,「爸爸给小华100元,他就有足够的钱去买玩具了」这句要推论出「他」是小华,对AI而言就比较复杂了:因为「就有足够的钱」的意思是,原本钱不够,但增加了一些钱之後就够了。在这个句子里,「给予者」给了之後钱减少,「被给予者」的钱增加,所以推论应该是「被给予者」小华多了100元之後就有足够的钱去买玩具了。

再来,就是有些动词的「语意」在不同的问题里可能不一样。例如下面几题中的动词「拿」:
1. 袋子里有17颗球,哥哥拿了6颗,弟弟拿了5颗,袋子里还剩下几颗球?
2. 35颗巧克力平分成7袋,妹妹拿了一袋後,吃掉3颗,妹妹还剩下几颗巧克力?
3. 妈妈把24片平分成8盘。奇奇拿了一盘,姐姐又给他8片,奇奇现在一共有几片?

句里,「哥哥拿了6颗」在没有说明从哪里拿的情况下,AI必须假设是从前一句的「袋子」里拿,因此袋子里会「减少」6颗球。但是,第二句的「拿」相对於「妹妹」却是「增加」了一袋。同理,第三句的「拿」相对於「奇奇」是「增加」了一盘。所以,同一个动词「拿」,AI转换时要理解为「增加」或「减少」,完全看问句是从那个角度出发。分析数学题型,探索解题关键一般而言,小学数学题型可分为基本题、应用题、混合题,以及阅读测验题等。

1. 基本题可分为连续加减或连续乘除题, 以及回答哪个答案符合「最多」、「足够」等条件。最单纯的基本题只有一个运算。这类型的题目表面上简单,然而遇到语意复杂的情况,AI理解还是很容易犯错。

2. 应用题则有水流问题、植树问题等等。要解答这类问题,通常需要额外(没有写在题目内)的领域知识(包含相关的文字和公式,如顺流速度是水速加船速),AI才能列出完整的公式进行运算。

3. 混合题则为不同类型的基本题,或者是基本题和应用题的混合,难度较高。学生必须规画先计算出哪个变量,再藉此计算出其他变量,逐步地解出整题的答案。每次计算的逻辑可能不同,同样地,AI也需要分析题目的语意,进行类似的逻辑推论。

4. 阅读测验题是针对一段文字中的某些句子中的数字提问。由於掺杂了许多不相干的句子,AI需要选择相关的句子来进行计算,难度非常高。这类型的题目比较常出现在日常生活中,也是最为实用的题型。如果能够以AI破解,可以帮助我们解决许多金融、保险、购物的问题。加入解题过程的说明,帮助学生理解学习一个AI系统的「可信任度」很大部分在於这个系统的「可解释性」。关於「可解释性」,学界有许多不同的论述。在此处我们认为,自然语言处理的可解释性,应该是要能够以一般人听得懂的话来说明AI所做的「结论」及「过程」,也因此当AI犯错时,比较容易修正。以小学数学解题而言,这就意味着AI不但要能算出正确答案,而且要能将过程一步一步地解释让人听懂。试想,如果有一位学生做数学作业时,每一题都只写出答案,而没有计算过程,老师如何确认这位学生是否真的知道这道题的解法?而且,AI如果只计算答案,无法自动产生解释,对学生的帮助还是相当有限。(123RF)当初设计AI解题系统遇到困难时,经常加入人类可能采取的作法;或者说,试着「模拟」人类遇到这些问题时可能采取的步骤。大家可以想像,在刚开始建置的时候,AI可能只有一些词汇或专有名词辨识的能力,但不具备太多的常识。用我们的方式逐一加入这些知识後,AI会变得愈来愈「聪明」。在这样知识累积的过程中,AI必须克服上述人类会遇到所有语言上、推理上的问题。也因为这个缘故,我们指导出来的AI才有可能发掘出大部分学生会遇到的困难,并且提供解题过程的说明。如果AI只能提供最後的答案,就会像一些数学非常好的学生,往往很难了解其他同侪会想不通一些浅显易见的道理,因为他自己从未体验过类似的盲点,也难以提供帮助。因此,我们相信一个能够将常识以及基本推论过程说明清楚的AI系统,对学生应该颇有帮助(详细可参考…

0 0 投票数
Article Rating
订阅评论
提醒
guest
0 Comments
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x