張學(xué)軍 董曉輝
[摘 ? 要] 隨著新版《普通高中信息技術(shù)課程標(biāo)準(zhǔn)(2017年版)》的發(fā)布,案例教學(xué)資源尤其是具有情境性、復(fù)雜性、綜合性、實(shí)踐性等特點(diǎn)的項(xiàng)目案例教學(xué)資源的建設(shè)成了一項(xiàng)亟須解決的任務(wù)。面對目前項(xiàng)目案例資源嚴(yán)重不足的現(xiàn)狀,文章在相關(guān)研究基礎(chǔ)上,基于大數(shù)據(jù)時(shí)代背景下人工智能應(yīng)用的視角,提出了基于大數(shù)據(jù)的人工智能應(yīng)用開發(fā)框架,闡述了該開發(fā)框架所包含的網(wǎng)絡(luò)爬蟲應(yīng)用開發(fā)和基于大數(shù)據(jù)的人工智能應(yīng)用開發(fā)流程的設(shè)計(jì)?;谠撻_發(fā)框架并結(jié)合新版《普通高中信息技術(shù)課程標(biāo)準(zhǔn)(2017年版)》中的“人工智能初步”模塊要求,構(gòu)建了高中信息技術(shù)課程的人工智能應(yīng)用設(shè)計(jì)框架?;谠撛O(shè)計(jì)框架,使用Python語言開發(fā)了有聲小說、教育故事文本分析、人臉檢測與人臉識別三個(gè)人工智能應(yīng)用項(xiàng)目案例。這些項(xiàng)目案例融合了大數(shù)據(jù)、人工智能應(yīng)用的典型特征,具有較好的遷移性,不但可以在高中信息技術(shù)課程中的“人工智能初步”模塊以及其他模塊中使用,其設(shè)計(jì)框架也為基于學(xué)科核心素養(yǎng)的高中信息技術(shù)課程教學(xué)的落地提供了一種解決思路。
[關(guān)鍵詞] 大數(shù)據(jù); 人工智能; 高中人工智能課程; 項(xiàng)目案例資源; 設(shè)計(jì)與開發(fā)
[中圖分類號] G434 ? ? ? ? ? ?[文獻(xiàn)標(biāo)志碼] A
[作者簡介] 張學(xué)軍(1968—),男,甘肅會(huì)寧人。教授,博士,主要從事數(shù)字化教育資源設(shè)計(jì)與開發(fā)、人工智能教育研究。E-mail: xjzhang99@163.com。
一、問題的提出
根據(jù)美國市場調(diào)查公司IDC的預(yù)測,人類產(chǎn)生的數(shù)據(jù)量正在呈指數(shù)級增長,這個(gè)速度在2020年之前會(huì)一直保持下去。預(yù)計(jì)到2020年,全球?qū)⒖偣矒碛?5ZB(1ZB數(shù)據(jù)相當(dāng)于全世界海灘上的沙子數(shù)量的總和)的數(shù)據(jù)量。一方面,數(shù)據(jù)量的爆炸式增長、社會(huì)的日益數(shù)字化,促使人類社會(huì)進(jìn)入大數(shù)據(jù)時(shí)代[1];另一方面,大數(shù)據(jù)、云計(jì)算等技術(shù)推動(dòng)人工智能進(jìn)入快速發(fā)展期,以大數(shù)據(jù)為原材料、人工智能為引擎的科技時(shí)代的來臨不可阻擋。在教育領(lǐng)域,基于大數(shù)據(jù)的人工智能應(yīng)用將使教育更加接近教育的本質(zhì):系統(tǒng)地幫助學(xué)習(xí)者提升認(rèn)知能力并服務(wù)于學(xué)習(xí)者的個(gè)性化需求[2]。2017 年,國務(wù)院出臺的《新一代人工智能發(fā)展規(guī)劃》明確提出,在中小學(xué)階段設(shè)置人工智能相關(guān)課程,逐步推廣編程教育[3]。新版《普通高中信息技術(shù)課程標(biāo)準(zhǔn)(2017年版)》,將“人工智能初步”模塊列為選擇性必修課[4]。由于人工智能課程難度較大,不宜采用傳統(tǒng)的“講授”式教學(xué),更適合應(yīng)用情境化、基于問題、基于案例的教學(xué)模式[5]。從現(xiàn)有的理論研究來看,有較好價(jià)值的中學(xué)人工智能教育案例研究的成果很有限[6-8];從目前的實(shí)際應(yīng)用情況來看,類似《人工智能基礎(chǔ)(高中版)》[9]這樣的配套了實(shí)驗(yàn)平臺(提供案例)的教材還不多,提供的案例資源也很有限。項(xiàng)目案例資源作為一種特殊的教學(xué)資源,以貼近實(shí)際的項(xiàng)目為載體,具有情境性、復(fù)雜性、綜合性、實(shí)踐性等特點(diǎn),能夠更好地幫助學(xué)生理解并運(yùn)用知識來解決實(shí)際問題。因此,本文所在研究團(tuán)隊(duì)開發(fā)了幾個(gè)典型的可用于高中人工智能教育應(yīng)用的項(xiàng)目案例資源,為高中人工智能教育如何落地提供依據(jù),同時(shí),也為高中一線信息技術(shù)教師如何上好人工智能課提供可借鑒的思路。因?yàn)殚_發(fā)的項(xiàng)目案例資源既涉及人工智能教育應(yīng)用,同時(shí),又關(guān)聯(lián)大數(shù)據(jù)如何獲取。所以,該項(xiàng)目案例資源不但可用于高中“人工智能初步”模塊的教學(xué),而且高中信息技術(shù)課程其他模塊也能參考使用。
二、大數(shù)據(jù)背景下人工智能課程的技術(shù)基礎(chǔ)
高中信息技術(shù)課程的人工智能應(yīng)用項(xiàng)目案例涉及數(shù)據(jù)獲?。ňW(wǎng)絡(luò)爬蟲)和人工智能領(lǐng)域的語音合成、文本分析、人臉檢測與人臉識別等多種技術(shù)。
(一)網(wǎng)絡(luò)爬蟲
網(wǎng)絡(luò)爬蟲是一種自動(dòng)下載網(wǎng)絡(luò)資源的程序[10] ,網(wǎng)絡(luò)爬蟲按照實(shí)現(xiàn)的技術(shù)和結(jié)構(gòu)可以分為通用網(wǎng)絡(luò)爬蟲、聚焦網(wǎng)絡(luò)爬蟲、增量式網(wǎng)絡(luò)爬蟲、深層網(wǎng)絡(luò)爬蟲等類型[11]。筆者所在研究團(tuán)隊(duì)開發(fā)的3個(gè)項(xiàng)目案例中的網(wǎng)絡(luò)爬蟲屬于聚焦網(wǎng)絡(luò)爬蟲。聚焦網(wǎng)絡(luò)爬蟲也叫主題網(wǎng)絡(luò)爬蟲,顧名思義,聚焦網(wǎng)絡(luò)爬蟲是按照預(yù)先定義好的主題有選擇地進(jìn)行網(wǎng)頁爬取的一種爬蟲。聚焦網(wǎng)絡(luò)爬蟲在開發(fā)時(shí)要關(guān)注以下幾點(diǎn):第一,根據(jù)主題確定要爬取的網(wǎng)站數(shù)據(jù);第二,分析整個(gè)網(wǎng)站的數(shù)據(jù)結(jié)構(gòu)(確定網(wǎng)站的URL格式,確定網(wǎng)頁的數(shù)據(jù)格式、編碼格式以及對外請求方式);第三,編寫代碼時(shí),首先要通過請求網(wǎng)絡(luò)獲取服務(wù)器響應(yīng)后的數(shù)據(jù),其次要分析數(shù)據(jù)結(jié)構(gòu),通過解析的方式過濾出有用的數(shù)據(jù),最后把過濾的數(shù)據(jù)進(jìn)行保存(本地保存或數(shù)據(jù)庫保存)。本文在3個(gè)項(xiàng)目案例中使用Python語言,利用網(wǎng)絡(luò)爬蟲技術(shù)根據(jù)主題需要爬取了1057720部小說(文本)、2060篇教育故事(文本)和30680張人物圖片。
(二)語音合成
語音合成是文本轉(zhuǎn)換為語音的技術(shù)[12]?;谏疃壬窠?jīng)網(wǎng)絡(luò)(DNN)的語音合成一般要經(jīng)過如下步驟:文本→文本分析→特征提取→DNN處理→參數(shù)生成→波形生成→語音[13-14]。使用應(yīng)用程序編程接口(API)是快速獲得語音合成等相關(guān)應(yīng)用結(jié)果數(shù)據(jù)的好方法。很多知名的大公司都開放了API,如國外的Google、Amazon和國內(nèi)的百度、騰訊、阿里巴巴、科大訊飛等公司都開放了大量人工智能API,其中百度開放的人工智能API涉及百度語音(語音識別、語音合成)等11個(gè)大類和許多子類。本文在項(xiàng)目案例1“有聲小說”中,使用Python語言,通過調(diào)用百度語音API中的語音合成API,將1057720部小說(文本)轉(zhuǎn)換成了相應(yīng)的語音文件(mp3格式)。
(三)文本分析
文本分析也稱為文本挖掘,是從文本數(shù)據(jù)中獲得高質(zhì)量的信息和見解所遵循的方法和過程[15]。文本分析一般由獲取文本信息(原始文本)、分詞(將原始的文本分割成一個(gè)個(gè)獨(dú)立的詞)、文本清洗(去除無用的標(biāo)簽、特殊符號、停用詞)、標(biāo)準(zhǔn)化(詞干提取、詞形還原)、特征提?。ㄔ~頻率與逆文檔率、詞嵌入、文本轉(zhuǎn)換為稀疏矩陣)、建模(相似度算法、分類算法)等環(huán)節(jié)組成。本文在項(xiàng)目案例2“教育故事文本分析”中,使用Python語言,通過調(diào)用百度人工智能自然語言處理API中的情感傾向分析API,實(shí)現(xiàn)了2060篇教育故事文章的情感傾向分析。項(xiàng)目案例2中2060篇教育故事文章的文檔主題分析,則是使用Python語言,通過調(diào)用機(jī)器學(xué)習(xí)scikit-learn庫中隱含Dirichlet 分布(LatentDirichletAllocation,LDA)模塊實(shí)現(xiàn)的。
(四)人臉檢測與人臉識別
人臉檢測,簡單來說就是從圖片找到人臉的位置。一般來說,人臉檢測應(yīng)該可以正確檢測出圖片中存在的所有人臉,不能有遺漏,也不能有錯(cuò)檢[16]。由于人臉識別一般包含人臉檢測環(huán)節(jié),所以本文主要介紹人臉識別。人臉識別是基于人的臉部特征信息進(jìn)行身份識別的一種生物識別技術(shù)[17]。本文在項(xiàng)目案例3“人臉檢測與人臉識別”中,使用Python語言,通過調(diào)用百度人工智能人臉識別API中的人臉檢測API和人臉對比API,實(shí)現(xiàn)了所選靜態(tài)圖片的人臉檢測和人臉識別,對于動(dòng)態(tài)環(huán)境(攝像頭刷臉)下的人臉檢測和人臉識別,則是使用Python語言,通過調(diào)用人臉識別庫face_recognition和計(jì)算機(jī)視覺庫python-opencv聯(lián)合實(shí)現(xiàn)的。
三、基于大數(shù)據(jù)的人工智能應(yīng)用開發(fā)框架設(shè)計(jì)
大數(shù)據(jù)背景下的人工智能應(yīng)用開發(fā)不能只考慮人工智能應(yīng)用因素,需要融合互聯(lián)網(wǎng)大數(shù)據(jù)、人工智能應(yīng)用兩大因素,形成“互聯(lián)網(wǎng)大數(shù)據(jù)+人工智能應(yīng)用”的開發(fā)思路。
(一)基于大數(shù)據(jù)的人工智能應(yīng)用開發(fā)框架設(shè)計(jì)
基于大數(shù)據(jù)的人工智能應(yīng)用開發(fā)涉及四個(gè)關(guān)鍵詞:大數(shù)據(jù)、人工智能應(yīng)用、網(wǎng)絡(luò)爬蟲、大數(shù)據(jù)與人工智能應(yīng)用的結(jié)合。對于大數(shù)據(jù),主要考慮大數(shù)據(jù)從哪里來以及如何存儲(chǔ),本文認(rèn)為目前大數(shù)據(jù)的主要來源就是互聯(lián)網(wǎng),互聯(lián)網(wǎng)上有各種各樣的大數(shù)據(jù),這些大數(shù)據(jù)來自于教育、文化、歷史等各個(gè)領(lǐng)域,互聯(lián)網(wǎng)大數(shù)據(jù)一般不能直接使用,要通過網(wǎng)絡(luò)爬蟲下載到本地,選用適合的存儲(chǔ)方式存儲(chǔ)成為可直接使用的大數(shù)據(jù)。本文認(rèn)為,人工智能應(yīng)用主要涉及自然語言處理、語音技術(shù)應(yīng)用、圖像技術(shù)應(yīng)用等應(yīng)用領(lǐng)域;只有將本地大數(shù)據(jù)與人工智能應(yīng)用相結(jié)合,才能滿足包含教育類文章主題分析等各種具體應(yīng)用項(xiàng)目的要求。基于大數(shù)據(jù)的人工智能應(yīng)用開發(fā)框架如圖1所示。
互聯(lián)網(wǎng)是孕育各類大數(shù)據(jù)的非常重要的來源?;ヂ?lián)網(wǎng)上的大數(shù)據(jù)浩如煙海,如教育、文化、歷史、新聞、科技、體育、汽車、旅游、時(shí)尚、閱讀、圖片、音樂、電影、動(dòng)漫、游戲、視頻、博客、微博、社區(qū)等各類大數(shù)據(jù),應(yīng)有盡有。開發(fā)時(shí),首先要根據(jù)主題需要選擇其中的某類主題,然后通過百度等搜索引擎查找、分析互聯(lián)網(wǎng)上與所選主題盡可能吻合的網(wǎng)站作為大數(shù)據(jù)的來源;然后利用網(wǎng)絡(luò)爬蟲技術(shù)編寫爬蟲程序,將所選網(wǎng)站上相應(yīng)主題的大數(shù)據(jù)下載到本地電腦形成本地大數(shù)據(jù);接下來根據(jù)開發(fā)需要選擇人工智能應(yīng)用中的某類應(yīng)用(目前能實(shí)現(xiàn)的人工智能應(yīng)用涉及自然語言處理、語音技術(shù)應(yīng)用、圖像技術(shù)應(yīng)用、視頻技術(shù)應(yīng)用、知識圖譜應(yīng)用、增強(qiáng)現(xiàn)實(shí)應(yīng)用等多種類型,開發(fā)者可根據(jù)開發(fā)需要選擇其中具體的某類應(yīng)用來進(jìn)行);最后針對下載到本地的某個(gè)主題的大數(shù)據(jù)(如教育類文章),利用人工智能應(yīng)用中的某類具體應(yīng)用(如文章分類),開發(fā)相應(yīng)的基于大數(shù)據(jù)的某個(gè)具體的人工智能應(yīng)用(如教育類文章主題分析)。
(二)網(wǎng)絡(luò)爬蟲應(yīng)用開發(fā)流程設(shè)計(jì)
網(wǎng)絡(luò)爬蟲應(yīng)用程序是實(shí)現(xiàn)從互聯(lián)網(wǎng)大數(shù)據(jù)到本地大數(shù)據(jù)轉(zhuǎn)移的主要技術(shù)手段,網(wǎng)絡(luò)爬蟲應(yīng)用開發(fā)流程如圖2所示。以Python語言為例,首先根據(jù)主題確定要爬取的網(wǎng)站數(shù)據(jù),分析整個(gè)網(wǎng)站的數(shù)據(jù)結(jié)構(gòu)(確定網(wǎng)站的URL格式,確定網(wǎng)頁的數(shù)據(jù)格式、編碼格式以及對外請求方式),導(dǎo)入Python中os、time、re、json等本地庫以及requests、bs4、lxml、pandas等第三方庫,設(shè)定要爬取網(wǎng)站的地址;然后運(yùn)用requests中g(shù)et等方法爬取網(wǎng)站數(shù)據(jù),利用解析、過濾方法(如lxml中xpath)解析、過濾網(wǎng)站數(shù)據(jù),編碼為所需要的格式(如utf-8),并通過數(shù)據(jù)保存方法(如pandas中to_csv)保存到本地文件(當(dāng)然也可以根據(jù)需要采用其他方法保存到本地?cái)?shù)據(jù)庫)。
(三)基于人工智能API的人工智能應(yīng)用開發(fā)流程設(shè)計(jì)
基于人工智能API的人工智能應(yīng)用程序是實(shí)現(xiàn)基于大數(shù)據(jù)的人工智能應(yīng)用的常用技術(shù)手段和核心環(huán)節(jié)。本文的人工智能應(yīng)用程序所需的大數(shù)據(jù),指的是將所需要的互聯(lián)網(wǎng)大數(shù)據(jù)經(jīng)過網(wǎng)絡(luò)爬蟲應(yīng)用程序爬取下來保存到本地的大數(shù)據(jù)?;谌斯ぶ悄蹵PI的人工智能應(yīng)用開發(fā)流程如圖3所示。
以使用Python語言開發(fā)語音合成為例,首先導(dǎo)入Python中os、re等本地庫以及人工智能語音處理第三方庫(如百度語音處理aip);然后讀取爬取好的本好大數(shù)據(jù)[如本文中的1057720部小說,根據(jù)需要將每部小說切分成長度為1024字節(jié)的一系列片段(百度人工智能語音aip每次處理的文本長度要求不超過1024字節(jié))];調(diào)用人工智能API(如百度語音處理aip庫中AipSpeech模塊的語音合成方法systhesis)將相應(yīng)文本數(shù)據(jù)轉(zhuǎn)換為音頻數(shù)據(jù);最后將音頻數(shù)據(jù)保存為mp3文件(本文在程序中還調(diào)用了ffmpeg軟件,將初步生成的一個(gè)個(gè)片段mp3文件拼接成了一個(gè)完整的mp3文件)。
四、高中信息技術(shù)課程人工智能應(yīng)用設(shè)計(jì)框架
高中信息技術(shù)課程人工智能應(yīng)用設(shè)計(jì)框架的構(gòu)建有三個(gè)依據(jù):(1)普通高中信息技術(shù)課程標(biāo)準(zhǔn)(2017版)中“人工智能初步”模塊的要求;(2)華東師范大學(xué)出版社和商務(wù)印書館聯(lián)合出版的教材《人工智能基礎(chǔ)(高中版)》內(nèi)容要求;(3)基于大數(shù)據(jù)的人工智能應(yīng)用開發(fā)框架。人工智能應(yīng)用設(shè)計(jì)框架如圖4所示。
《普通高中信息技術(shù)課程標(biāo)準(zhǔn)(2017年版)》中“人工智能初步”模塊內(nèi)容要求明確指出,通過剖析具體案例,了解人工智能的核心算法,熟悉智能技術(shù)應(yīng)用的基本過程和實(shí)現(xiàn)原理;知道特定領(lǐng)域(如機(jī)器學(xué)習(xí))人工智能應(yīng)用系統(tǒng)的開發(fā)工具和開發(fā)平臺,通過具體案例了解這些工具的特點(diǎn)、應(yīng)用模式及局限性;利用開源人工智能應(yīng)用框架,搭建簡單的人工智能應(yīng)用模塊,并能根據(jù)實(shí)際需要配置適當(dāng)?shù)沫h(huán)境、參數(shù)及自然交互方式等[4]。這些內(nèi)容要求在圖4中的“基于大數(shù)據(jù)的人工智能應(yīng)用開發(fā)框架”中通過技術(shù)環(huán)境層、大數(shù)據(jù)接口層、人工智能API層和人工智能應(yīng)用層等由低層到高層的四層結(jié)構(gòu)整體體現(xiàn)出來。人工智能應(yīng)用層包含語音識別/合成、圖像識別、自然語言處理等各種人工智能應(yīng)用案例,人工智能API層包括百度人工智能API等開發(fā)工具和開發(fā)平臺,技術(shù)環(huán)境層包括tensorflow等開源人工智能應(yīng)用框架。
華東師范大學(xué)出版社和商務(wù)印書館聯(lián)合出版的教材《人工智能基礎(chǔ)(高中版)》依據(jù)《普通高中信息技術(shù)課程標(biāo)準(zhǔn)(2017年版)》中“人工智能初步”模塊內(nèi)容要求編寫,該教材設(shè)計(jì)思路提煉為“耳聰目明,心靈手巧”[18],這八個(gè)字的設(shè)計(jì)思路體現(xiàn)在該教材的內(nèi)容結(jié)構(gòu)[共九章,按先后順序?yàn)椋?)人工智能:新時(shí)代的開啟心靈(開篇);(2)牛刀小試:察異辨花(目明);(3)別具慧眼:識圖認(rèn)物(目明);(4)耳聽八方:析音賞樂(耳聰);(5)冰雪聰明:看懂視頻(目明) ;(6)無師自通:分門別類(目明);(7)識文斷字:理解文本(心靈);(8)神來之筆:創(chuàng)作圖畫(手巧);(9)運(yùn)籌帷幄:圍棋高手(心靈)]中。
在分析上述高中信息技術(shù)課程人工智能應(yīng)用設(shè)計(jì)框架構(gòu)建的前兩個(gè)依據(jù)的基礎(chǔ)上,本研究基于大數(shù)據(jù)的人工智能應(yīng)用開發(fā)框架,設(shè)計(jì)了高中信息技術(shù)課程人工智能應(yīng)用設(shè)計(jì)框架中虛線框內(nèi)的應(yīng)用開發(fā)框架,該框架在本質(zhì)上與圖1的框架是一致的,只不過為了便于解釋將它分為四層(技術(shù)環(huán)境層、大數(shù)據(jù)接口層、人工智能API層和人工智能應(yīng)用層)。人工智能應(yīng)用層包含語音識別/合成對應(yīng)教材設(shè)計(jì)思路中的“耳聰”,圖像識別對應(yīng)教材設(shè)計(jì)思路中的“目明”,自然語言處理對應(yīng)教材設(shè)計(jì)思路中的“心靈”;人工智能應(yīng)用層的實(shí)現(xiàn)需要調(diào)用下層的人工智能API層(如百度人工智能API接口等)來實(shí)現(xiàn)具體的語音識別/合成、圖像識別、自然語言處理等應(yīng)用,因?yàn)楝F(xiàn)在的人工智能應(yīng)用講求“無數(shù)據(jù),不智能”,因此,人工智能API層需要調(diào)用下層的大數(shù)據(jù)接口層(如網(wǎng)絡(luò)爬蟲等)來實(shí)現(xiàn)將互聯(lián)網(wǎng)上的大數(shù)據(jù)下載到本地,網(wǎng)絡(luò)爬蟲的實(shí)現(xiàn)依據(jù)圖2中的網(wǎng)絡(luò)爬蟲應(yīng)用開發(fā)流程;大數(shù)據(jù)接口層最終依賴最低層技術(shù)環(huán)境層(如python、tensorflow等)的支持。高中信息技術(shù)課程人工智能應(yīng)用設(shè)計(jì)框架圖中虛線框內(nèi)的應(yīng)用開發(fā)框架的技術(shù)實(shí)現(xiàn)依據(jù)圖2的網(wǎng)絡(luò)爬蟲應(yīng)用開發(fā)流程和圖3的基于人工智能API的人工智能應(yīng)用開發(fā)流程來實(shí)施。
五、高中信息技術(shù)課程人工智能應(yīng)用項(xiàng)目案例資源開發(fā)
本文開發(fā)的3個(gè)高中信息技術(shù)課程人工智能應(yīng)用項(xiàng)目案例(項(xiàng)目案例之一:“有聲小說”,涉及語音合成,對應(yīng)教材設(shè)計(jì)思路中的“耳聰”;項(xiàng)目案例之二:“教育故事文本分析”,涉及自然語言處理,對應(yīng)教材設(shè)計(jì)思路中的“心靈”;項(xiàng)目案例之三:“人臉檢測與人臉識別”,涉及圖像識別,對應(yīng)教材設(shè)計(jì)思路中的“目明”),均屬于基于大數(shù)據(jù)的人工智能應(yīng)用,選用的程序開發(fā)語言是Python。之所以選擇Python作為高中人工智能應(yīng)用開發(fā)語言,理由有以下幾個(gè)方面:第一,Python是最接近自然語言的計(jì)算機(jī)程序語言之一,也是當(dāng)前業(yè)界人工智能應(yīng)用開發(fā)的首選語言之一;第二,Python入門門檻低,開發(fā)者學(xué)習(xí)后可以快速上手,將精力集中于開發(fā)項(xiàng)目中的主要業(yè)務(wù)邏輯本身而不是側(cè)重于Python語法;第三,Python除了本身自帶的大量核心庫以外,還可以廣泛使用大量的第三方庫,從而快速實(shí)現(xiàn)網(wǎng)絡(luò)爬蟲、Web應(yīng)用、數(shù)據(jù)分析、人工智能等各種應(yīng)用開發(fā);第四,目前新課改在審的高中信息技術(shù)教材中大都使用了Python語言,Python語言很有可能成為高中信息技術(shù)教材甚至相應(yīng)科目高考的首選語言。實(shí)踐過程中,每個(gè)項(xiàng)目案例資源開發(fā)時(shí)所采用的應(yīng)用程序由網(wǎng)絡(luò)爬蟲、人工智能應(yīng)用兩大部分組成。其中網(wǎng)絡(luò)爬蟲實(shí)現(xiàn)互聯(lián)網(wǎng)大數(shù)據(jù)向本地大數(shù)據(jù)的轉(zhuǎn)移,人工智能應(yīng)用實(shí)現(xiàn)語音合成、文本情感分析、文檔主題分析、人臉檢測與識別等應(yīng)用。程序開發(fā)環(huán)境:(1)操作系統(tǒng) win7/win10;(2)Python語言版本3.6;(3)Python集成開發(fā)環(huán)境PyCharm 2018.2。
(一)項(xiàng)目案例之一:有聲小說
該項(xiàng)目案例旨在體現(xiàn)人工智能課程三大應(yīng)用(自然語言、語音、圖像/視頻)之一的語音技術(shù)應(yīng)用,讓學(xué)生在復(fù)雜的項(xiàng)目情境中深刻體會(huì)人工智能課程中語音識別/合成技術(shù)的原理和算法,實(shí)現(xiàn)高中人工智能課程教材中的“耳聰”(能聽會(huì)說)目標(biāo),以及高中信息技術(shù)新課標(biāo)的計(jì)算思維學(xué)科核心素養(yǎng)。該項(xiàng)目代碼包含學(xué)習(xí)Python編程所需的絕大部分語法,同時(shí),又涉及網(wǎng)絡(luò)小說大數(shù)據(jù)爬取和人工智能中語音合成算法的應(yīng)用。通過該項(xiàng)目的算法講解、代碼訓(xùn)練,既能培養(yǎng)學(xué)生的文本大數(shù)據(jù)與人工智能語音技術(shù)應(yīng)用能力,又能有效培養(yǎng)學(xué)生的計(jì)算思維。
1. 案例介紹
“有聲小說”項(xiàng)目實(shí)現(xiàn)爬取網(wǎng)絡(luò)小說大數(shù)據(jù)(文本)并轉(zhuǎn)換為語音(mp3文件)。在網(wǎng)絡(luò)爬蟲應(yīng)用開發(fā)中,從起點(diǎn)中文網(wǎng)(https://www.qidian.com,2018-12-15)選擇免費(fèi)的小說,利用Python編寫的網(wǎng)絡(luò)爬蟲程序(novelDownAll.py,程序代碼近50行) 共爬取了1057720部小說;在人工智能應(yīng)用開發(fā)中,使用Python編寫的語音合成程序(SpeechSynthesisAll.py,程序代碼120多行) 將爬取的小說轉(zhuǎn)換為語音(mp3文件)。
2. 程序?qū)崿F(xiàn)
“有聲小說”是一個(gè)非常典型的基于大數(shù)據(jù)的人工智能應(yīng)用項(xiàng)目,由通過網(wǎng)絡(luò)爬蟲爬取網(wǎng)絡(luò)小說程序和通過百度語音合成接口生成mp3小說程序兩部分組成,其程序開發(fā)流程如圖5、圖6所示。由于本文篇幅所限,未能提供程序源碼,有需要者可通過E-mail與作者聯(lián)系。
(二)項(xiàng)目案例之二:教育故事文本分析
該項(xiàng)目案例旨在體現(xiàn)人工智能課程三大應(yīng)用(自然語言、語音、圖像/視頻)之一的自然語言處理應(yīng)用,讓學(xué)生在復(fù)雜的項(xiàng)目情境中深刻體會(huì)人工智能課程中自然語言處理(含文本情感分析)的原理和算法,實(shí)現(xiàn)高中人工智能課程教材中的“心靈”(能思考會(huì)分析)目標(biāo)以及高中信息技術(shù)新課標(biāo)的計(jì)算思維學(xué)科核心素養(yǎng)。該項(xiàng)目代碼也包含了學(xué)習(xí)Python編程所需的絕大部分語法,同時(shí),又涉及教育故事文本大數(shù)據(jù)爬取和人工智能中文本分析算法的應(yīng)用。通過該項(xiàng)目的算法講解、代碼訓(xùn)練,既能培養(yǎng)學(xué)生的文本大數(shù)據(jù)與人工智能自然語言處理應(yīng)用能力,又能有效培養(yǎng)學(xué)生的計(jì)算思維。
1. 案例介紹
“教育故事文本分析”項(xiàng)目爬取了教育故事類文章并對這些文章進(jìn)行了情感分析與主題分析。在網(wǎng)絡(luò)爬蟲應(yīng)用開發(fā)中,從7C教育資源網(wǎng)(http://www.7cxk.net/,原名為中小學(xué)教育資源站,2018-12-20)中選擇了教育故事欄目,使用Python編寫的網(wǎng)絡(luò)爬蟲程序共爬取了2060篇文章;在人工智能應(yīng)用開發(fā)中,使用Python編寫的程序?qū)崿F(xiàn)了2054篇(剔除了6篇,由于某些限制無法用人工智能API分析)文章的情感分析和2060篇文章的主題分析。
2. 情感分析過程及結(jié)果
本文之所以選擇7C教育資源網(wǎng)作為“教育故事文本分析”項(xiàng)目的數(shù)據(jù)來源,是由于該網(wǎng)站資源較為豐富,其中包括從小學(xué)到高中各學(xué)科的各類資源,其中既有學(xué)生資源,也有教師資源。“教育故事”(http://www.7cxk.net/teacher/guanli/gushi/)是7C教育資源網(wǎng)中屬于教師資源的一個(gè)欄目,積累了學(xué)科教師和教育名家撰寫的大量生動(dòng)活潑、積極向上、教育價(jià)值和意義突出的教育故事類文章?!敖逃适挛谋痉治觥表?xiàng)目從上述網(wǎng)站中爬取的實(shí)驗(yàn)樣本數(shù)據(jù)見表1。
表1中樣本長度在346字節(jié)至29120字節(jié)之間,樣本長度分布如圖7所示。
文本情感分析,簡單來說就是分析文本以理解作者表達(dá)觀點(diǎn)中所透露出來的情感、感覺或情緒。情感分析也稱為意見分析/挖掘,是指使用如自然語言處理NLP、字典資源、語言學(xué)和機(jī)器學(xué)習(xí)等技術(shù)來進(jìn)行主觀意見相關(guān)的信息提取(這些主觀意見包括情緒、態(tài)度、心情、情態(tài)等),并嘗試用這些來計(jì)算文本文檔所表示的極性(指文本是否表示積極、消極或中性的情緒,更高級的分析包括尋找更復(fù)雜的情緒如悲傷、快樂、憤怒和諷刺等)的過程[15]?!敖逃适挛谋痉治觥表?xiàng)目情感分析結(jié)果如圖8(a)、(b)所示。
本文的情感分析調(diào)用了百度人工智能文本分析API的aip庫中的AipNlp模塊,調(diào)用的方法是sentimentClassify,使用該方法會(huì)返回極性 (Sentment:0表示積極,1表示中性,2表示消極)、積極情感概率(positive_prob)、消極情感概率(negative_prob)、置信度(confidence)等信息。由于連續(xù)頻繁調(diào)用百度人工智能文本分析API服務(wù)會(huì)被拒絕,所以2054個(gè)文本(1個(gè)文本代表1篇文章,2060個(gè)文本按順序從1~2060編號,剔除了6個(gè)由于某些限制無法用人工智能API分析的文章,其編號依次為367、1121、1137、1303、1439、2055)被分成兩個(gè)圖[圖8(a)、(b)]來顯示。由于百度人工智能文本分析API每次能處理的文本長度不超過1024個(gè)字節(jié),因此,將每個(gè)文本切分成了一系列片段,每個(gè)片段為1024個(gè)字節(jié),所以圖中縱坐標(biāo)的單位是(片)段數(shù)(1024字節(jié)/段)。圖8(a)、(b)中的積極、中性、消極均表示置信度在95%及以上的文本數(shù)據(jù),積極_參考、中性_參考、消極_參考均表示置信度在95%以下的文本數(shù)據(jù),積極_總表示積極與積極_參考數(shù)量之和,消極_總表示消極與消極_參考數(shù)量之和,中性_總表示中性與中性_參考數(shù)量之和。
從圖8(a)、(b)中可以看出,2054篇教育故事類文章中情感極性屬于積極的最多,屬于消極的次之,屬于中性的最少,詳細(xì)占比如圖9所示。
從圖9可以看出,積極情感(置信度高)占22.73 %,積極情感占 48.80 %,積極情感合計(jì)占71.53%;消極情感(置信度高)占3.71 %,消極情感占 22.66 %,消極情感合計(jì)占26.37%;中性情感(置信度高)占0.04 %,中性情感占 2.21 %,中性情感合計(jì)占2.25%。從情感分析結(jié)果來看,積極情感占70%以上。該結(jié)果在一定程度上說明,7C教育資源網(wǎng)中的教育故事類文章表達(dá)的情感積極向上,由于該分析結(jié)果是對2054篇文章的整體分析,近似于全樣本 (全樣本為2060篇文章),因此,該分析結(jié)果有較好的參考價(jià)值。
3. 主題分析過程及結(jié)果
人工智能文本分析中的主題分析,就是采用聚類分析方法,從而確定文本的核心主題。典型的聚類分析方法有k-means聚類、近鄰傳播聚類、層次聚類等,本文的主題分析采用了LDA(Latent Dirichlet Allocation)。LDA是一種文檔主題生成模型,包含詞、主題和文檔三層結(jié)構(gòu),核心觀點(diǎn)是文章的每個(gè)詞都通過“以一定概率選擇了某個(gè)主題,并從這個(gè)主題中以一定概率選擇某個(gè)詞語”這樣一個(gè)過程得到[19]。本文的主題分析以上文介紹的2060篇文章作為數(shù)據(jù)分析來源,主題分析調(diào)用了機(jī)器學(xué)習(xí)scikit-learn庫中LDA模塊LatentDirichletAllocation,調(diào)用的方法是fit。主題分析的文檔先要經(jīng)過分詞、文本清洗、標(biāo)準(zhǔn)化、分詞文本轉(zhuǎn)換為稀疏矩陣等一系列步驟,然后使用fit方法生成相應(yīng)的文檔主題模型。
設(shè)置自定義主題個(gè)數(shù)為5,每個(gè)主題的關(guān)鍵詞個(gè)數(shù)為8,則隨機(jī)兩次運(yùn)行主題分析程序生成的文檔主題及關(guān)鍵詞,見表2、表3。
主題數(shù)與主題對應(yīng)關(guān)鍵詞數(shù)不同,則結(jié)果不同。從表2、表3可以看出,即使每次運(yùn)行時(shí)設(shè)置的主題數(shù)與主題對應(yīng)關(guān)鍵詞數(shù)都相同,運(yùn)行的結(jié)果也有差異,使用者可多次運(yùn)行程序后選擇自己認(rèn)為比較滿意的結(jié)果即可。
實(shí)際上,還可以使用pyLDAvis等Python第三方庫,將結(jié)果用圖來可視化展示。設(shè)置自定義主題個(gè)數(shù)為5,則使用pyLDAvis將結(jié)果可視化后如圖10所示。
圖10展示的是選擇主題1后的界面圖,圖中展示主題1所占的百分比為41.5%。主題1中包括前30個(gè)關(guān)鍵詞及所占比例(每個(gè)主題均包含30個(gè)關(guān)鍵詞),圖10右上部分滑動(dòng)滑塊,可以從0~1調(diào)整參數(shù)λ的值,λ不同,前30個(gè)關(guān)鍵詞的順序和名稱會(huì)不同。經(jīng)反復(fù)設(shè)置不同的主題運(yùn)行程序后發(fā)現(xiàn),本案例中主題分為3類是一個(gè)比較合理的選擇,因?yàn)榇藭r(shí)3類主題合計(jì)占比為99.6%,其他主題合計(jì)占比為0.4%(在一定程序上可以忽略),同時(shí),各主題所占的比例以及主題與主題之間沒有交叉且距離相對適中。3類主題關(guān)鍵詞及占比見表4。
(三)項(xiàng)目案例之三:人臉檢測與人臉識別
該項(xiàng)目案例旨在體現(xiàn)人工智能課程三大應(yīng)用(自然語言、語音、圖像/視頻)之一的圖像/視頻技術(shù)應(yīng)用,讓學(xué)生在復(fù)雜的項(xiàng)目情境中深刻體會(huì)人工智能課程中圖像檢測與識別的原理和算法,實(shí)現(xiàn)高中人工智能課程教材中的“目明”(能看會(huì)分析)目標(biāo)以及高中信息技術(shù)新課標(biāo)的計(jì)算思維學(xué)科核心素養(yǎng)。該項(xiàng)目代碼同樣包含了學(xué)習(xí)Python編程所需的絕大部分語法,同時(shí),又涉及圖像大數(shù)據(jù)爬取和人工智能中圖像檢測與識別算法的應(yīng)用。通過該項(xiàng)目的算法講解、代碼訓(xùn)練,既能培養(yǎng)學(xué)生的圖像大數(shù)據(jù)與人工智能圖像/視頻技術(shù)應(yīng)用能力,又能有效培養(yǎng)學(xué)生的計(jì)算思維。
1. 案例介紹
“人臉檢測與人臉識別”項(xiàng)目爬取了網(wǎng)絡(luò)中的海量人物圖片并對選擇的部分圖片實(shí)現(xiàn)了人臉檢測及人臉識別。在網(wǎng)絡(luò)爬蟲應(yīng)用開發(fā)中,從新浪網(wǎng)導(dǎo)航“圖片”中“時(shí)尚”欄目下設(shè)的“美容”子欄目(http://slide.fashion.sina.com.cn/b/,2018-12-27)選擇圖片,使用Python編寫的網(wǎng)絡(luò)爬蟲程序(程序代碼近50行) 共爬取了30680張人物圖片;在人工智能應(yīng)用開發(fā)中,使用Python編寫的人臉檢測和識別程序(程序代碼近170行) ,實(shí)現(xiàn)了基于靜態(tài)圖片或動(dòng)態(tài)攝像的人臉檢測和識別程序。
2. 人臉檢測與人臉識別分析過程及結(jié)果
本文中對于靜態(tài)圖片的人臉檢測,是通過調(diào)用百度人工智能人臉檢測與識別aip庫中的AipFace模塊實(shí)現(xiàn)的,調(diào)用的方法是detect;對于靜態(tài)圖片的人臉識別,是通過調(diào)用百度人工智能人臉檢測與識別aip庫中的AipFace模塊實(shí)現(xiàn)的,調(diào)用的方法是match;對于動(dòng)態(tài)環(huán)境(攝像頭刷臉)下的人臉檢測和人臉識別,則是通過調(diào)用Python第三方庫中的人臉識別庫face_recognition和計(jì)算機(jī)視覺庫python-opencv聯(lián)合實(shí)現(xiàn)的。
靜態(tài)圖片的人臉檢測的效果如圖11(a)、(b)所示[圖片來自公開的人臉數(shù)據(jù)集LFW(http://vis-www.cs.umass.edu/lfw/)]。為了避免侵權(quán),本文未使用從新浪網(wǎng)中爬取的圖片。
從圖11(a)、圖11(b)的對比可以看出,圖11(b)中被識別的人臉被方形框所標(biāo)記。應(yīng)當(dāng)注意的是,百度人工智能API提供的人臉檢測功能對圖片中的人臉數(shù)目有限制,本文測試結(jié)果為檢測的人臉數(shù)不超過10個(gè)。
對于靜態(tài)圖片的人臉識別,假設(shè)提供比對的靜態(tài)圖片如圖12(a)、(b)所示[圖片來自公開的人臉數(shù)據(jù)集LFW(http://vis-www.cs.umass.edu/lfw/)],則程序運(yùn)行后顯示結(jié)果為:照片相似度為91.84%,是同一個(gè)人。一般來說,如果照片相似度在80%以上,則被識別為同一個(gè)人。
對于動(dòng)態(tài)環(huán)境(攝像頭刷臉)下的人臉檢測和人臉識別,程序運(yùn)行后顯示結(jié)果如圖13所示。
如圖13所示,在動(dòng)態(tài)環(huán)境(攝像頭刷臉)下,人臉不但被檢測到(方形框標(biāo)記人臉),而且也被識別出來(方形框左下方顯示出了被識別者的姓名信息)。
六、結(jié) 束 語
新版《普通高中信息技術(shù)課程標(biāo)準(zhǔn)(2017年版)》發(fā)布以來,筆者一直在思考一個(gè)問題:如何讓基于學(xué)科核心素養(yǎng)的信息技術(shù)課程教學(xué)真正落地?本文認(rèn)為,對絕大多數(shù)一線教師來說,具有挑戰(zhàn)性的是缺乏適合教學(xué)應(yīng)用的、優(yōu)秀的項(xiàng)目案例教學(xué)資源。因?yàn)榫湍壳暗膶?shí)際情況來說,優(yōu)秀的項(xiàng)目案例教學(xué)資源太少了。巧婦難為無米之炊,新的信息技術(shù)課程倡導(dǎo)基于情境的案例式教學(xué)、項(xiàng)目式教學(xué),這些教學(xué)方式比以往的教學(xué)方式更注重案例資源尤其是項(xiàng)目案例資源的積累和運(yùn)用。如果能結(jié)合大數(shù)據(jù)背景,開發(fā)基于大數(shù)據(jù)的人工智能應(yīng)用項(xiàng)目案例,不失為目前高中信息技術(shù)課程教學(xué)資源建設(shè)的一種新思路。通過開發(fā)這樣的項(xiàng)目案例資源,既解決了優(yōu)秀的項(xiàng)目案例資源缺乏的問題,又解決了高中信息技術(shù)課程中最具挑戰(zhàn)性的人工智能課程教學(xué)難的問題,從而使基于學(xué)科核心素養(yǎng)的信息技術(shù)課程教學(xué)初步落地,也讓大數(shù)據(jù)、人工智能這些概念不僅僅停留在理論宣傳上,更滲透到一線教師日常教學(xué)的實(shí)踐中。由于基于大數(shù)據(jù)的人工智能應(yīng)用比較復(fù)雜、形式多樣,也許本文的研究僅僅只是一個(gè)開始。
[參考文獻(xiàn)]
[1] 陶皖.云計(jì)算與大數(shù)據(jù)[M].西安:西安電子科技大學(xué)出版社,2017:9-11.
[2] 何克抗. 21世紀(jì)以來的新興信息技術(shù)對教育深化改革的重大影響[J].電化教育研究,2019(2):5-12.
[3] 國務(wù)院.新一代人工智能發(fā)展規(guī)劃[EB/OL].[2019-01-22].http://www.gov.cn/zhengce/content/2017-07/20/content_ 5211996.htm.
[4] 中華人民共和國教育部.普通高中信息技術(shù)課程標(biāo)準(zhǔn)(2017年版)[M].北京:人民教育出版社,2018:9-10.
[5] 馬超,張義兵,趙慶國.高中《人工智能初步》教學(xué)的三種常用模式[J].現(xiàn)代教育技術(shù),2008(8):51-53.
[6] 李鳴華.案例教學(xué)法在高中人工智能課程中的運(yùn)用研究[J].中國電化教育,2008(2):99-102.
[7] 吳曉如.人工智能教育應(yīng)用的發(fā)展趨勢與實(shí)踐案例[J].現(xiàn)代教育技術(shù),2018(2):5-11.
[8] 趙飛龍,鐘錕,劉敏.人工智能科普教育探究——以初中“語音合成”課為例[J].現(xiàn)代教育技術(shù),2018(5):5-11.
[9] 湯曉鷗,陳玉琨.人工智能基礎(chǔ)(高中版)[M].上海:華東師范大學(xué)出版社,商務(wù)印書館,2018:1-169.
[10] 周德懋,李舟軍.高性能網(wǎng)絡(luò)爬蟲研究綜述[J].計(jì)算機(jī)科學(xué),2009(8):26-29,53.
[11] 韋瑋.精通Python網(wǎng)絡(luò)爬蟲:核心技術(shù)、框架與項(xiàng)目實(shí)戰(zhàn)[M].北京:機(jī)械工業(yè)出版社,2017:6-8.
[12] 楊順安.面向聲學(xué)語音學(xué)的普通話語音合成技術(shù)[M].北京:社會(huì)科學(xué)文獻(xiàn)出版社,1994:5-6.
[13] 張斌,全昌勤,任福繼.語音合成方法和發(fā)展綜述[J].小型微型計(jì)算機(jī)系統(tǒng),2016(1):186-192.
[14] 于延鎖,朱風(fēng)云,李先剛,等.面向大語料庫的語音合成方法研究[J].北京大學(xué)學(xué)報(bào)(自然科學(xué)版),2014(5):791-796.
[15] 迪潘簡·撒卡爾.Python文本分析[M].閆龍川,高德荃,李君婷,譯.北京:機(jī)械工業(yè)出版社,2018:35-36.
[16] 何之源. 21個(gè)項(xiàng)目玩轉(zhuǎn)深度學(xué)習(xí):基于Tensorflow的實(shí)踐詳解[M].北京:電子工業(yè)出版社,2018:112-113.
[17] 秦鴻,李泰峰,郭亨藝,等.人臉識別技術(shù)在圖書館的應(yīng)用研究[J].大學(xué)圖書館學(xué)報(bào),2018(6):49-54.
[18] 專知. 第一本人工智能中學(xué)教材來了!《人工智能基礎(chǔ)(高中版)》編著歷程 [EB/OL].[2019-01-27]. https://cloud.tencent.com/developer/article/1143504.
[19] 百度百科.LDA [EB/OL].[2019-01-27].https://baike.baidu.com/item/LDA/13489644?fr=aladdin.
[Abstract] With the release of the new version of Information Technology Curriculum Standards for Senior High Schools (2017 edition), the construction of case teaching resources, especially project case teaching resources with scenarios, complexity, comprehensiveness and practicality, has become an urgent task to be solved. Faced with the serious shortage of project case resources at present, based on relevant researches and from the perspective of AI application in the era of big data, this paper puts forward the framework of AI application development based on big data, and expounds its application development of web crawler and the design of AI application development based on big data. Based on the development framework and the requirements of the "Preliminary Artificial Intelligence" module in the new version of Information Technology Curriculum Standards for Senior High Schools (2017 edition), this paper constructs the design framework of AI application for high school information technology curriculum. Based on this design framework, three AI application cases of audio fiction, text analysis of educational stories, face detection and face recognition are developed by using Python language. Those project cases integrate the typical characteristics of big data and AI application, and have good mobility. Not only can they be used in the "preliminary AI" module and other modules of high school information technology curriculum, but also their design framework provides a solution to the implementation of high school information technology curriculum teaching based on subject core literacy.
[Keywords] Big Data; Artificial Intelligence; Artificial Intelligence Course in Senior High School; Project Case Resources; Design and Development