李柏翰 周沫凡 崔椿雨 高凱
教學(xué)背景
隨著人工智能技術(shù)在醫(yī)療、軍事、交通、環(huán)境等諸多領(lǐng)域的廣泛應(yīng)用,人類的生產(chǎn)生活方式已經(jīng)悄然發(fā)生改變。
2017年發(fā)布的《新一代人工智能發(fā)展規(guī)劃》提出,要重點突出加快人工智能創(chuàng)新應(yīng)用,逐步開展具有廣泛普及性的人工智能教育項目,在中小學(xué)開設(shè)人工智能課程,系統(tǒng)性地進行相關(guān)教育教學(xué)活動。因此,如何使課程在中小學(xué)有效落地是一線教師面對的首要問題。
根據(jù)一定的應(yīng)用場景設(shè)計人工智能課程,讓學(xué)生擺脫編程很枯燥的認(rèn)知,引導(dǎo)學(xué)生逐步意識到人工智能技術(shù)的現(xiàn)實意義,并思考該技術(shù)在未來社會可能的應(yīng)用點。只有真正的貫穿項目式學(xué)習(xí),才能讓學(xué)生理解技術(shù)應(yīng)用背后的邏輯和數(shù)學(xué)原理,才能深刻理解技術(shù)與客觀現(xiàn)實的聯(lián)系,并了解到人工智能在哪些方面可以發(fā)揮優(yōu)勢,在哪些方面存在局限。
此外,高中階段人工智能課程專業(yè)性應(yīng)高于初中、小學(xué),高中課堂更應(yīng)做好與大學(xué)相關(guān)專業(yè)的銜接,提高學(xué)生的編程能力,使得K—12的編程教育更有連貫性并形成體系。
教學(xué)主題
基于Python程序語言,以文本內(nèi)容的情感分析為主題,引導(dǎo)學(xué)生熟悉相關(guān)軟件和模塊的功能,根據(jù)學(xué)生現(xiàn)有的代碼基礎(chǔ),自行對數(shù)據(jù)進行構(gòu)造或采集,教師可以提供代碼樣本供學(xué)生參考,讓學(xué)生對真實世界的數(shù)據(jù)進行分析,并進行拓展實現(xiàn)研究性學(xué)習(xí)。
教學(xué)實施
主題引入:什么是文本情感分析
中國有句古話叫作“見字如面”,講的是收信人通過閱讀文字可以感受到寫信人的喜怒哀樂,也即文字是可以表達(dá)感情的。那么,在人工智能領(lǐng)域是否也能讓機器像人一樣感知文字的情感呢?文本的情感分析屬于計算機科學(xué)的人工智能自然語言處理(NaturalLanguageProcessing,NLP)領(lǐng)域,根據(jù)很多在線評論簡潔、情感表述靈活直接的特性,可有效提取評論中的主觀信息,結(jié)合Python中的集成模塊對帶有主觀色彩的文本進行分析、處理、推論,最終得出評論的情感傾向。
很多APP利用這項技術(shù)將人們對商品、美食的評價進行層次劃分,按照肯定到否定的梯度進行排列,從而更好地分析大眾需求,改進產(chǎn)品。
課程準(zhǔn)備
在開始課程前,需要做好課程實驗的準(zhǔn)備工作,在電腦中安裝好Python3.7以上版本。實驗中會用到2個Python庫文件,一個是Snownlp庫,用于完成自然語言處理;另一個是Matplotlib——Python的2D繪圖庫,能以各種硬拷貝格式和跨平臺的交互式環(huán)境生成出版質(zhì)量級別的圖形。
教學(xué)過程
教學(xué)實施過程采用任務(wù)驅(qū)動方式,教師將課程內(nèi)容分解為若干個小任務(wù)。任務(wù)難度應(yīng)符合中學(xué)生的認(rèn)知水平,依托“最近發(fā)展區(qū)”理論,讓學(xué)生能夠在經(jīng)過一些思考與實踐后完成任務(wù)。通過小任務(wù)群推進課程,最終達(dá)到教學(xué)目標(biāo)。
任務(wù)1:語序差異實驗
任務(wù)描述:同樣一句話主謂語顛倒,含義是有區(qū)別的,機器可以對其進行有效識別么?將一句話中的個別詞語顛倒,觀察正向度數(shù)值變化。
設(shè)計意圖:采用控制變量方法,在只改變詞語順序的情況下,正向度數(shù)值沒有變化,利用實驗結(jié)果引導(dǎo)學(xué)生發(fā)現(xiàn)模型的不足。
任務(wù)2:探究數(shù)據(jù)對訓(xùn)練模型結(jié)果的影響
很多學(xué)生通常只注重算法而忽略另外2個非常重要的因素:數(shù)據(jù)和算力。近年來,人工智能技術(shù)的快速發(fā)展與數(shù)據(jù)量的大幅度提升有明顯的關(guān)系。數(shù)據(jù)已經(jīng)成為決定人工智能實踐的核心因素,沒有良好的數(shù)據(jù)就無法得到相對準(zhǔn)確的預(yù)測結(jié)果。用3個不同的語句作為測試集數(shù)據(jù),探究不同數(shù)據(jù)對模型的影響。
通過這個模型,可以看出模型區(qū)分出了“想”和“渴望”的差別,“渴望”的正向程度超過“想”,符合我們對數(shù)據(jù)的預(yù)期。但是,當(dāng)把“AI”替換成“人工智能”時,結(jié)果卻有差異。通常認(rèn)為,“AI”和“人工智能”只是同一個意思的2種不同語言表達(dá),并不應(yīng)對正向度產(chǎn)生影響。但為什么得到了不同的實驗結(jié)果呢?可以引導(dǎo)學(xué)生討論、思考。
出現(xiàn)上述結(jié)果是因為數(shù)據(jù)集不同。模型都要經(jīng)歷訓(xùn)練過程,只有訓(xùn)練過的模型才能夠進行預(yù)測。如果在模型訓(xùn)練過程中,未對一些特定的數(shù)據(jù)進行處理,當(dāng)對這樣的數(shù)據(jù)進行預(yù)測時,模型給出的答案可能就不太準(zhǔn)確,就像學(xué)生在考試時遇到了超綱的知識點,是無法給出正確答案的。
設(shè)計意圖:感受數(shù)據(jù)對人工智能技術(shù)的重要影響。通過實驗引導(dǎo)學(xué)生發(fā)現(xiàn)數(shù)據(jù)對模型的影響,為下一個實驗作好鋪墊。
任務(wù)3:探究數(shù)據(jù)對于訓(xùn)練模型結(jié)果的影響
在前面的任務(wù)中,已經(jīng)體會了數(shù)據(jù)對人工智能技術(shù)的影響。在文本中還會有一些標(biāo)點符號,這些標(biāo)點符號是否會影響訓(xùn)練效果呢?在文本中一些不重要的詞,會對訓(xùn)練結(jié)果產(chǎn)生什么影響呢?一般情況下,訓(xùn)練時會把這些不重要的詞丟棄,放到一個叫作“停用詞”的地方。請大家在一句文本中加入一些不重要的詞語,然后觀察正向度變化。
預(yù)測的結(jié)果表明計算機自動忽略了“只是只是只是”,2句話的評分是一致的。當(dāng)然,這個停用數(shù)據(jù)集也需要提前進行加載。數(shù)據(jù)模型存儲到“./data/test_sentiment.marshal.3”,代碼如下:
與之前的數(shù)據(jù)相比,正向程度發(fā)生了一定變化,學(xué)生通過數(shù)據(jù)處理加深了對數(shù)據(jù)重要性的理解。
設(shè)計意圖:使學(xué)生深入理解機器學(xué)習(xí)中數(shù)據(jù)的重要性,并有意識地構(gòu)建數(shù)據(jù)集使預(yù)測結(jié)果更加準(zhǔn)確。
反思與總結(jié)
人工智能教育的落地需要良好的項目學(xué)習(xí)支撐,本節(jié)課所選用的項目是根據(jù)現(xiàn)實問題得到的,對于真實數(shù)據(jù)的挖掘可更好地提升學(xué)生對于數(shù)據(jù)可利用價值的認(rèn)知,從而提升學(xué)生對于人工智能學(xué)科的興趣愛好。