文章專區

2022-05-15從「小學數學」做起,訓練AI協助解決日常算數問題 485 期

Author 作者 許聞廉/中研院資訊所的特聘研究員,研究領域為生物資訊、演算法、自然語言理解及人工智慧。呂菁菁/清大臺灣語言研究與教學研究所副教授,研究領域為課室中的對話、語言理解、計算語言學。

*本篇文章與陽明交通大學人工智慧普適研究中心(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系統,對學生應該頗有幫助(詳細可參考延伸閱讀2小學數學深度理解系統DEMO)。

 

讓AI陪解題提問,小學數學對話系統

除了以AI自動解題並寫出解釋外,我們還開發了「小學數學解題的對話系統」。我們注意到,坊間有許多數學教材,對於各種類型的題目都有不錯的解法及解釋,但是仍有許多學生看不太懂。或者說,程度還好的同學看了這些教材,努力思考一下可能就會了,然而其他學生還是會受限於各種不同的原因而無法理解教材中的陳述。這也是為何需要「一對一」教學的原因:每個學生讀不懂的原因可能不太一樣,不容易有「一體適用」的解法或說明。這類「一對一」教學連補習班都不太可能做到,必須聘請適合的家教。然而,這不是一般家庭負擔得起的。所以一個可以和學生對話,藉以了解其盲點,並提出具體建議的AI解題機器人,正好可以彌補這個空缺。

從另一個角度看,要測試一個學生是否理解一個題目或者發掘出其困難點,最有效的方法就是「口試」:以一種對話的方式,由AI對學生提出一系列問題,請學生說明,並由AI輔助學生解惑。這些問題的來源,就是當初AI需要克服的語言上、推理上的困難點。此外,這些問題還需要配合學生的程度。而如果某些疑點,可能起因於學生對於前面的某個單元不夠理解或熟練,AI就可以建議學生重溫那個單元的相關練習題。等到困難消除後,再回到目前的問題。

研究團隊所完成的「金融小幫手」截圖,相關影片可見連結延伸閱讀1。(作者提供)


這種以對話進行測試的方式有其歷史背景:有「電腦之父」之稱的涂靈(Alan Turing)曾對電腦軟體是否具有接近人類的「智能性」而訂出了一個評鑑方式的概念,就是「涂靈測試」(Turing test)。這個測試基本上就是一個對話系統,簡述如下:

由一群「測試者」在房間A內和另一個房間B內的「受試者」以電腦鍵盤進行對話,彼此看不見也聽不見對方。這些「受試者」有「真人」也有「AI對話軟體」。結束後,由A房間的測試者提出他們認為哪些是真人,哪些是對話軟體。如果一個AI對話軟體被誤認為是「真人」,就代表這個軟體已經具有相當程度的人類智慧。


這個測試每年都舉行,到目前為止,還沒有AI對話軟體被誤認為是真人。

看完以上的「涂靈測試」,可能讓各位以為要讓AI和學生對話、解題困難重重。其實,目前的技術要讓AI在開放領域進行對話的確困難,然而在解題相關、知識有限的領域內,AI對話是可以做得出一定成效的。困難之處反而在於,學生通常都不擅於主動提出問題(一方面可能是擔心問題過於「笨拙」,或是擔心讓老師或同學發現自身的弱點);較多還是由系統主動發問,由學生回答。所以,小學數學對話過程中,我們的系統還會引導學生發問。並且,AI在提問的過程中,就可作為示範,讓學生學習如何問問題。此外,因為有了AI對話系統的參與,一旁的家長也可藉由觀察AI所提出的問題,了解小孩的困難點,較有機會看清楚應如何從旁提供協助。

結論

我們實驗室花了五年多的時間鑽研這個領域,最近終於排除萬難,發展出一個嶄新的自然語言模型,解決了文字算數問題。在這個模型中,我們設計了自動解題的策略,並將解題步驟以自然語言描述出來。最後,為了那些連解釋都看不太懂的學生,還開發了小學數學對話系統。希望經由對話,發現學生的盲點,並建議學生修正的方向。經由本文簡介,希望大家對於AI處理算數的難度以及應對之道有初步理解。

「數學」是一個令許多學子頭痛的科目。尤其在小學階段,因為「數學」沒學好而影響一輩子發展的人比比皆是,殊為可惜。其實,很多解題困難來自於文字理解,以及一些簡單的推論方法。我們發展的這套解題對話AI系統,希望能夠對學童有所貢獻,也能夠應用在日常的購物、保險、金融領域。最後,語言常識千變萬化,需要持續投注人力充實AI的知識才能讓系統更加完善,希望有更多的有識之士能夠出錢出力,共襄盛舉。非常歡迎外來資金的投入,讓此套AI雛形系統能夠及早開發出實用的產品,嘉惠普羅大眾,在數學教育與各種日常生活中儘早有所應用。

延伸閱讀
1. 許聞廉,金融小幫手Demo,2019年8月6日,https://iasl.iis.sinica.edu.tw/hsu/zh/存款小幫手demo/。
2. 許聞廉,小學數學深度理解解題系統Demo,2019年8月6日,https://iasl.iis.sinica.edu.tw/hsu/zh/小學數學深度理解解題系統Demo/。