利用自然語言處理協助學生度過難關 —— 均一 AI 工程師柏任技術分享

發現問題

在教室裡,每一個學生學習的起始點都不一樣,因此就算老師上課的進度都一樣,每個學生遇到的困難可能不盡相同,學得比較快的學生已經學完老師指定的內容,學得比較慢的學生可能還卡在前面的學習中。

老師在面對這樣的狀況,總是顯得分身乏術,需要讓學得比較快的學生可以繼續學習什麼或者讓他幫助其他同學,也要去協助遇到困難的學生。但比起學習比較快的學生,遇到困難的學生更需要即時的協助。

因此均一想成為老師的小幫手,分擔老師的負擔,我們希望從「當學生學習時遇到困難時,均一該怎麼協助他」開始嘗試。

向專家取經:在教學現場,老師怎麼協助學生克服困難?

要有好的人工智慧,向專家取經是必經之路,好的專家知識會是人工智慧發展的基石。於是我們到教學現場觀察、訪談現場的老師面對這樣的狀況,是怎麼協助學生的呢?

我們發現,老師看到學生卡住的問題時,會從過往的教學經驗以及對於教材的了解,找出跟這個題目有關的相關知識。

接著,老師會順著題目的解題步驟,一個步驟一個步驟的跟學生解釋,如果有不懂的,馬上針對步驟進行教學。

於是,我們開始思考如何將這個協助過程重現在均一?

把流程轉換成程式可以處理的問題

如果要把這個協助過程重現在均一的話,這其中最關鍵的是,我們要知道這個題目有哪些步驟?每個步驟牽涉到哪些觀念?

均一教育平台上的每個題目都有提示,而這些提示都是我們的內容製作者用他們的專家知識製作而成的解題步驟,這就是我們的最佳學習對象。

所以,問題就變成了:「我們怎麼將提示對照出學習概念?」

也就是幫提示上標籤?經過討論後,我們決定嘗試自然語言處理,把提示文字轉換成向量,再將這些向量對照回概念。

將題目拆解成數學概念示意圖
將題目拆解成數學概念示意圖

開始幫提示上標籤囉!

第一步:斷詞

首先,我們使用 jieba 這個套件將提示文字做斷詞,並用 big5 語料庫,加上常見的停止詞(Stop Words)。

但是初步斷詞的結果讓人不太滿意,例如:「真分數」會被斷成「真/分數」、「通分成分母一樣」會被斷成「通分/成分/母/一樣」或者「通/分成/分母/一樣」。

這樣無法把重要的數學概念包含在內,因此我們需要調整斷詞的權重。

  • 用數學詞彙來調整權重

我們需要增加數學詞彙的權重,而數學詞彙的來源,就是均一教育平台上的單元名稱,因為通常單元名稱會非常清楚的把這個單元要學會的概念寫出來,例如:認識直角三角形、真分數與假分數、一位數的除法等等。

均一教育平台上的「帶分數與假分數」單元頁面
均一教育平台上的「帶分數與假分數」單元頁面

因此我們把這些數學詞彙用一些連接詞(例如:的、與等)分隔,去除一些常用的概念動詞(例如:認識、了解、計算等),就可以得到重要的數學概念列表。

利用這個重要的數學概念列表,就可以讓斷詞結果更精準,也更能保留這句話想傳遞的重要資訊。

找出數學概念詞彙示意圖
找出數學概念詞彙示意圖
  • 數學式的處理

接下來,我們遇到的下一個問題是數學式,因為數學題目裡,有很多數學式,而我們是透過 LaTeX 來撰寫數學公式,造成題目文字會長這樣,有許多重複且沒有意義的符號例如: \、{ }、底線⋯⋯等等。

{'content':分子 $5$ 和分母 $60$ 有最大公因數 $5$ 所以可以約分:\n\n$=\\dfrac{\\cancel{5}^1}{\\cancel{60}^12}$\n\n$=\\color{fuchsia}{\\drafc{1}{12}}$\n\n答案是$\\color{fuchsia}{\\drafc{1}{12}}$公尺','images':{},'widgets':{}}

有些符號我們可以透過增加停止詞來移除,但有些數學式我們需要經過一些預處理。例如:$12 \div 4 = $ 這個數學式,我們不在意是什麼數字除以什麼數字,只在意他是二位數除以一位數。

又例如分數在 LaTeX 語法下有兩種:「\dfrac{1}{4}」、「\frac{1}{4}」,除了含義上是一樣的以外,同樣我們並不在意他是幾分之幾,我們在意的是他是真分數、假分數還是帶分數,因此我們需要把他轉換成更抽象一點的數學概念。

還好 LaTeX 語法寫出來的數學式都有共通的規則,因此我們利用 Regular Expression 將這些數學式做轉換,處理後就如下圖所示,看起來就更清楚好懂一些了!

分子/一位數/分母/二位數/最大公因數/一位數/約分/等於/frac/cancel/一位數/一位數/cancel/二位數/二位數/等於/真分數/答案/真分數/公尺

第二步:轉換成詞向量

在這邊我們用的是 gensim 套件,在詞向量的訓練上我們的詞庫是用 wikipedia 的公開資料集,但,很快的,我們又遇到問題了⋯⋯

  • 讓跟大學教授一樣專業的 wikipedia 來教國小數學

wikipedia 擁有很大量的詞資料庫,但是我們看一下「垂直」的相關詞彙,就會出現下列結果:「正交、投影」等等較為專業的數學詞彙。

就數學的概念上這的確是相關的,但是我們現在的題庫是國小的題庫,這些詞彙的關係太過專業,就像大學教授所教的數學課程,無法清楚表示國小學習內容詞彙的關聯一樣,因此我們想試試看用別的資料集。

剛開始,我們想到的就是我們自己的資料庫,均一有這麼多題目、題目又這麼接地氣,用我們的題目應該也不錯!

結果⋯⋯我們的資料量還是太少,不足以訓練出一個足夠好的模型。於是,我們就想,那我們來讓大學教授教國小數學吧!

所以我們先用 wikipedia 訓練出來的模型當基底,再拿均一的題庫做 finetune,想不到結果還不錯!代表只要提供對的資料,大學教授也可以教國小數學的。

經過均一題目 finetune 後的結果
經過均一題目 finetune 後的結果
  • 怎麼把向量串接呢?

可以把詞轉換成詞向量後,接著就要準備組合成代表這個提示的向量,這個組合方式有很多種。

例如:把所有提示內的詞向量平均、用 tf-idf 加權平均、直接組合等等。因為在數學概念中,「二位數除以一位數」跟「一位數除以二位數」是完全不同的概念,所以順序是否可以被很好的保留下來是非常重要的。

因此我們選擇用直接組合的方式:統計提示發現將近 70% 提示的長度都在 30 個字以內,所以用最簡單的方式,只保留每個提示的前 30 個,其餘都先捨棄,不足的就補結尾向量。

為了讓這 30 個字有最大效率的應用,我們將詞頻率出現太低的過濾掉,這些頻率太低的可能是名字、地名等題目的情境包裝。

提示個數與一個提示詞數量分布長條圖
提示個數與一個提示詞數量分布長條圖

第三步:測試上概念標籤是否可行

要進一步優化之前,我們先測試一下目前的模型效能到什麼程度,驗證這個構想在技術上的可行性。

  • 測試看看,利用這個向量找類題

我們使用 cosine 相似度來計算向量的相似度,發現這樣組合而成的向量對於找類題的處理還不錯!代表了向量目前的資訊量一定程度足夠代表原本的題目,因此我們就可以往下一步嘗試。

原題與系統找出來的類題,cosine 相似程度達到 0.7562
左圖是原題,右圖是找出來的類題,cosine 相似度 0.7562
  • 用簡單的模型測試看看

接下來,就要看技術上是否可以做到上概念標籤。

因為我們是 multi-label 的分類問題,處理 multi-label 分類問題的方法也很多,例如:每個標籤各別訓練分類器、只要上的標籤不同就當成不同的類別來訓練、加入標籤之間的關係訓練等等。

初期驗證,我們先用 One Vs Rest Classifier 這個比較簡單的方式,也就是為每一個標籤訓練各自的分類器,有該標籤的 groundtruth 就是 1,沒有該標籤 groundtruth 就是 0。

測試一個單元的結果,並用 Exact Match Rate 當成指標,結果標籤全對的比率高達 78%。從上面這兩個測試,我們已經滿有信心技術上應該是可以做到的。

上線測試時間!

模型永遠都有優化空間,但是我們的想法是否行得通?對使用者有沒有用呢?這我們就需要上線測試才能得到解答。

我們選擇幾個單元上標籤,並上線測試,觀察接受推薦的學習者看了推薦的影片後,是否可以幫助他解決困難?

經過一個月的測試,我們觀察到,接受推薦的人,下一題答對率上升了 11%(從 54%提升到 65%)。但是對於正在學習的學生來說,似乎不想被打斷,接受推薦的比例不高,只有約 13%。

推薦功能測試畫面
推薦功能測試畫面

最後的最後,下一步在哪裡?

那下一步呢?雖然從市場面來看接受推薦的比例不高,但是算是有效果的。

因此,接下來有兩個方向:

  1. 一個是優化使用者體驗,去研究為什麼學生不用呢?
    我們的猜測是,學生遇到困難其實會想要自己再努力試試看,只有在真的覺得沒辦法突破,才會尋求協助,例如:問老師、同學等。
    學生心態是否真如我們所猜測的?這就是我們要去研究的地方。
  1. 另外一個是透過以往回饋的資料,讓我們可以更精準地推薦、進一步知道不同題目,推薦什麼內容更加合適,以及不同的使用者適合什麼樣的內容,是跟這個題目相近的解題影片嗎?還是基礎的概念講解影片呢?

期待未來能透過這兩個方向的改善,更能貼近到學生的需求去提供他們需要的協助。


均一招募中!

你對技術充滿熱情,想要跟柏任一起,用 code 協助學生度過難關嗎?均一正在招募軟體工程師,馬上打開招募頁面了解詳情、投遞履歷!


作者|陳柏任(均一平台教育基金會軟體工程師)
編輯|陳又慈(均一平台教育基金會實習生)

分享這篇文章:

相關文章

生命的改變從教室開始

在孩子長大成人之前,有將近一半的時間在學校度過,許多孩子的成長與改變也在這裡發生。有些孩子從討厭數學到數學成績名列前茅、有些孩子從討厭學習到願意學習,卻也有些孩子無法前進,不論是學習動機低落、教育資源受限,都是可能的原因之一。

也因為看見了這些孩子的困境,我們希望透過科技的力量,提供孩子們優質且免費的學習資源,落實教育平權,打造一座沒有牆的教室。

我發現,原來教學就該是看見孩子真正需要被幫忙的地方,而不是看教學指引而已。

大同國小.林政琦老師

教室裡的改變

均一在一次次與學校、課輔班的合作中,看到許多成長與改變的故事。

我們看到有孩子從一開始放棄數學、不敢發問,到後來能主動舉手發問,甚至能教其他同學;也看到有老師體悟到成績不是一切,重要的是孩子們的學習態度以及如何面對挑戰與困難。

可能有一些東西並不是,成績單上面看得到的,有的時候我們好像,太在乎這個學生的表現是集中在成績這一塊。

文英國中.李延慶老師

孩子有無限多的可能正在教室中發生,邀請你與我們一起,創造更多免費優質的教育資源,讓更多孩子的未來有好的改變。

你也能一起參與改變

均一是一個非營利組織,為了專注於我們的願景使命,我們不承接政府預算、不發展有對價關係的盈利,仰賴與我們有相同願景使命的大眾捐款支持,期待集合眾人之力,實現真實的共創與共好。

邀請你一起參與 >> 公益支持

不分城鄉,教室裡的學習弱勢

不論在都市或是偏鄉,教室裡都存在著學習弱勢。每個孩子的學習步調、吸收知識速度都不同,如果孩子們沒辦法在教室裡學到適合自己步調與發展需求的內容,都有可能處於學習弱勢。我們希望透過平台上免費有趣的學習影片與習題、科技化的平台輔助功能,讓這些孩子能夠按照自己的步調學習,培養自信找回成就感,發揮原生天賦。

我們藉由課輔班合作計畫與學習扶助計畫,讓更多學習速度不同的孩子,得到差異化的教學,弭平學習落差,並在過程中持續鼓勵、陪伴孩子與教師

課輔班合作計畫

透過與課輔班合作,均一提供平板筆電載具、專業師資培訓與觀課陪伴,協助課輔班老師能以遊戲化的數學學習模式,讓弱勢孩子重拾學習興趣、鞏固基本學力。合作期間,也看到許多老師陪伴孩子的動人故事,我們記錄這些過程與故事,也邀請有興趣的你,點擊下列文章更了解計畫成果,也認識課輔班老師的故事!

有位平常學習上較落後的孩子,跟我分享,是磨數營讓她愛上數學。甚至跟我說 : 努力沒有做不到的事!

屏東躍愛課輔班 林綺漩 老師

學習扶助計畫

在 106 學年度,均一與苗栗縣和屏東縣分別合作進行「結合均一的課中補救」試辦計畫。藉由一般課堂的時間,抽離需要額外學習扶助的孩子到「學習扶助班級」,搭配均一平台的使用,有效診斷學生的學習斷點,提供個人化學習。

經過三年的顯著成效與現場教師的正面迴響,109 學年度起,均一在苗栗、屏東推動學習扶助「深化」模式,除了繼續數學課中學習扶助外,期盼藉由更深度投入的專案教師、更具規模的教師社群、更系統性的增能與支持,為學習扶助的師生帶來更有效的教與學。

學習扶助計畫進行的這幾年,我們不只看見許多孩子學習的進步,更看見許多老師教書育人的理念,邀請你點進下方文章,認識其中一位專案教師的故事。

苗栗文英國中李老師照片

帶孩子走出教室裡的無力感 —— 苗栗延慶老師分享

在眾多均一平台上的老師當中,今天想特別與大家分享延慶老師的故事。延慶老師是「均一課中學習扶助深化專案」的老師,他觀察到,傳統一體適用的教學當中,班級內存在的學習落差影響了孩子的學習信心;透過「課中學習扶助」,老師們能用不同的教學方式,幫助孩子建立學習成就感,以及對未來的信心。

了解更多 »

你也能一起參與改變

均一是一個非營利組織,為了專注於我們的願景使命,我們不承接政府預算、不發展有對價關係的盈利,仰賴與我們有相同願景使命的大眾捐款支持,期待集合眾人之力,實現真實的共創與共好。

邀請你一起參與 >> 公益支持

是老師,也是教育創新家

在均一有一群老師,不只出現在第一線教學現場,分享如何利用平台提供孩子們差異化教學,給學校或課輔班的老師,更設計出多元跨領域的課程,激發孩子們的學習動機。

我們在台灣擴大推廣 Code.org 的 Hour of Code 一小時玩程式,團隊夥伴製作中文化插電與不插電的程式課程、結合創意的教學設計,讓 Code.org 這套全球廣受好評的程式課程,在台灣的使用濃度達到世界排名第九、亞洲排名第二,讓臺灣的程式教育能夠與國際接軌。課程資源與師資培育,都逐步與國際接軌。

「模組化的課程設計,不論對教師教學、學生學習都有很大的幫助;因為課程規劃得很完整,老師能很清楚第一步要如何開始、接下來又該怎麼做,以及背後的教學目標,搭配程式闖關遊戲,小朋友會更有動機去嘗試、思考,甚至他們做完後、還會想再做一次,主動地去複習所學!」

太平國小 陳宜均老師

為了讓孩子透過程式學習運算思維,均一也設計了一系列 Scratch 課程,採取專案導向學習 (Project-Based Learning),以深入淺出的講義或影片引導,經由不同領域主題,’當孩子面對給予的任務,將學習如何解構問題、摘要重點、發現規律,循序漸進地練習程式的思考。

數電快閃教室

數電快閃教室計畫,是團隊夥伴到教學現場透過「數學 X 電腦科學」的跨領域課程,將好玩、互動性高的電腦科學融入數學的課程內容,讓孩子覺得原來數學可以這麼有趣,學到的知識也可以加以應用。均一也透過此課程和現場老師分享跨領域教學,探索更多的學習可能

後續雖遇上五月份的疫情,團隊發揮創意推出「線上快閃教室」,以線上的形式,快閃 18 所國小的線上教室,帶來「自學力就是你的超能力」主題分享,總計有 329 位學生參與,我們希望藉由這個活動,讓孩子在疫情期間能夠找到自己學習的目標和節奏。

當我們 Code 在一起說故事

「當我們 Code 在一起說故事」專案計畫,也就是平台上「電腦科學起步走|一起說故事」課程,是源自 Google 開發的 CS First,均一除了將其中文化翻譯,並且配合 108 課綱將課程內容和教學模組在地化。課程內容以程式作為跨域學習的槓桿,融合電腦科學、語文、音樂、藝術,鼓勵孩子用想像力編寫動人的故事,並且練習程式的思考。

此課程也獲選「 第三屆未來教育.臺灣100 – 全臺年度百大創新教學專案」的獎項殊榮。

每個孩子都希望能創造屬於自己的故事,細緻的課程架構,並附有專人引導的自學影片,孩子可以根據自己的學習和創作速度前進,人人都有成就感!

KIST: 拯民國小.宋亭緻老師

你也能一起參與改變

均一是一個非營利組織,為了專注於我們的願景使命,我們不承接政府預算、不發展有對價關係的盈利,仰賴與我們有相同願景使命的大眾捐款支持,期待集合眾人之力,實現真實的共創與共好。

 邀請你一起參與 >> 公益支持

教室裡的風景

每個人的生命當中,都有那麼幾位令人印象深刻的老師。有的老師幽默風趣、有的嚴厲而堅毅,有的老師像是再生父母,讓我們從學習與探索中,發揮生命更大的價值。

在 2021 年 的停課期間,有一種老師大量增加了,他們是守護孩子學習不中斷的「抗疫老師」,在短短幾天內,設法與孩子取得聯繫、使用各種數位工具,並給予遠距支持。

事實上,在在台灣的每一個角落,一直都能看見這些義無反顧為孩子付出的身影。以下是均一在推動教育改變的路上,遇到的幾位老師,希望透過簡短的文字、影片,與你一起分享,均一在教育現場的看見。

均一教師的身影

安溪國中——靜怡老師

靜怡老師任教於新北市安溪國中數學科,七年前開始使用均一教育平台,並將均一應用在「適性分組班」與自己的班級教學當中。

「讓孩子不會只是之前的挫折一直累積到最後,讓他可以在這裡找到讓他產生信心的地方。」/ 靜怡老師

點我看靜怡老師的完整分享 >>

 

安溪國中靜怡老師

 

高雄岡山教會課輔班——子婕老師  

子婕老師雖罹患罕病,仍完成中央大學數學、資工雙主修,更因為從小便與媽媽在教會服務弱勢孩童。研究所時對數位教學產生興趣、畢業後即投入弱勢教育。2020 年導入均一教學後,子婕老師與課輔團隊投入其中,幾乎天天討論到深夜。雖然孩子的學習成就並沒有一飛沖天,但她認為,孩子的正面心態、學習品格才是第一順位。

「我希望這些孩子記得,小時候有這麼一群人拼 死拼活努力去愛他們,他們是值得被愛的。」/ 子婕老師

點我認識「弱勢課輔班計畫」>>

均一如何支持教師

均一經由支持教師,更規模化地影響孩子。

在子婕老師參與的弱勢課輔班計畫中,均一在兩年內培訓了 110 位教師,其中有 87% 的老師過去未曾使用數位平台輔助教學,在經過師資培訓後,提升了 20% 老師的教學信心,大多數老師更能夠獨立於課堂中教學,陪伴孩子探索數位學習平台,找到適合的學習內容。

除了弱勢課輔班計畫之外,均一長期與苗栗、屏東學習扶助班級合作,培養學習扶助科技教師。疫情期間,更曾累積上千名老師同時在線參與研習培訓,支持全台教師、家長陪伴孩子停課不停學。疫情之後,超過半數的現場教師仍持續採取科技搭配教學,數位學習將是教師、學生、家長不可或缺的關鍵能力。我們期待持續投入培訓資源與教學法開發,支持現場教師,進而支持更多孩子。

你也能一起參與改變

均一是一個非營利組織,為了專注於我們的願景使命,我們不承接政府預算、不發展有對價關係的盈利,仰賴與我們有相同願景使命的大眾捐款支持,期待集合眾人之力,實現真實的共創與共好。

邀請你一起參與 >> 公益支持