◆甘肅省秦安縣第一中學(xué) 魏鵬飛
“簡(jiǎn)單人工智能應(yīng)用模塊開(kāi)發(fā)”是高中信息技術(shù)課程選擇性必修模塊4“人工智能初步”中的重要組成部分。根據(jù)新課標(biāo)的要求,我通過(guò)設(shè)計(jì)制作簡(jiǎn)單的人工智能項(xiàng)目,讓學(xué)生親歷利用人工智能解決問(wèn)題的過(guò)程。
本文以“圖片文字提取工具”的設(shè)計(jì)與實(shí)現(xiàn)過(guò)程為例,提出“高中人工智能項(xiàng)目制作教學(xué)策略”(以下簡(jiǎn)稱(chēng)“策略”):以解決現(xiàn)實(shí)情境中的真實(shí)問(wèn)題為導(dǎo)向,采用項(xiàng)目式學(xué)習(xí)模式,增加學(xué)習(xí)的探究性與趣味性;通過(guò)調(diào)用百度接口,使學(xué)生繞過(guò)人工智能核心算法的學(xué)習(xí),降低學(xué)習(xí)難度;弱化學(xué)生對(duì)核心算法的學(xué)習(xí),強(qiáng)調(diào)學(xué)生解決問(wèn)題的思路和方法,有利于學(xué)生問(wèn)題解決能力、計(jì)算思維能力以及創(chuàng)新能力的培養(yǎng)。
創(chuàng)設(shè)真實(shí)的問(wèn)題情境引發(fā)學(xué)生深度思考,是開(kāi)展項(xiàng)目式學(xué)習(xí)的首要環(huán)節(jié),也是尤為重要的一步。設(shè)定的問(wèn)題情境應(yīng)貼近學(xué)生的現(xiàn)實(shí)生活,能引發(fā)學(xué)生思考,激發(fā)學(xué)生的學(xué)習(xí)興趣,繼而以興趣為驅(qū)動(dòng),主動(dòng)開(kāi)展探究活動(dòng)。
人們時(shí)常需要提取圖片中的文字,但目前使用專(zhuān)業(yè)的圖片文字提取工具大多需付費(fèi),百度、科大訊飛等免費(fèi)使用接口缺乏統(tǒng)一的用戶界面,只得依靠其提供的代碼調(diào)用接口。這種缺乏界面的操作方式對(duì)普通用戶不太友好。
基于此,我讓學(xué)生通過(guò)所學(xué)的Python 知識(shí)并結(jié)合百度接口框架,設(shè)計(jì)制作了一款用于解決上述問(wèn)題的工具。創(chuàng)設(shè)問(wèn)題的理由如下:
1.文字識(shí)別是人工智能應(yīng)用的一個(gè)領(lǐng)域,符合教育主題;
2.提取圖片中的文字是學(xué)生在學(xué)習(xí)和生活中經(jīng)常遇到的問(wèn)題,易激發(fā)學(xué)生的學(xué)習(xí)興趣;
3.學(xué)生在提取圖片中的文字失敗的情況下,若能利用自己制作的工具成功提取文字,能增強(qiáng)自信心和榮譽(yù)感。
項(xiàng)目的功能通常隱含于真實(shí)的問(wèn)題情境中,教師應(yīng)引導(dǎo)學(xué)生通過(guò)分析問(wèn)題、剔除無(wú)關(guān)項(xiàng)、保留關(guān)鍵點(diǎn),最后形成可視化項(xiàng)目功能思維導(dǎo)圖。
圖1 圖片文字提取工具的思維導(dǎo)圖
結(jié)合本項(xiàng)目的教學(xué)案例,圍繞問(wèn)題情境組織學(xué)生開(kāi)展探究活動(dòng),最后將可視化項(xiàng)目功能分為選擇圖片類(lèi)型、打開(kāi)圖片、加載圖片、識(shí)別文字、顯示文字、提取文字,形成圖片文字提取工具的思維導(dǎo)圖。
“策略”以項(xiàng)目式學(xué)習(xí)為主,教學(xué)活動(dòng)的開(kāi)展以學(xué)生為中心,教師是教學(xué)活動(dòng)的組織者、引導(dǎo)者和幫助者。在開(kāi)展項(xiàng)目式學(xué)習(xí)中,由于項(xiàng)目具有開(kāi)放性、綜合性和復(fù)雜性等特點(diǎn),學(xué)生在實(shí)踐過(guò)程中難免會(huì)遇到知識(shí)盲區(qū),需要教師為學(xué)生提供相關(guān)的學(xué)習(xí)支架(包括學(xué)習(xí)資料和技術(shù)指導(dǎo)),保證項(xiàng)目的有序開(kāi)展。
以“圖片文字提取工具”項(xiàng)目為例。在開(kāi)展項(xiàng)目式學(xué)習(xí)前,學(xué)生首先需熟練掌握Python 編程語(yǔ)言中的內(nèi)置庫(kù)Tkinter,因?yàn)樗侵谱饔脩艚换ソ缑姹仨毦邆涞幕A(chǔ)知識(shí)。然而Tkinter 庫(kù)中方法繁多,且每種方法都有諸多屬性,學(xué)生易混淆或遺忘。這時(shí),我會(huì)教學(xué)生“Lable”(標(biāo)簽)、“Entry”(輸入框)、“Button”(按鈕)、“Text”(多行文本框)等使用方法。我還提供了包括注冊(cè)、登陸、選擇文字識(shí)別、創(chuàng)建應(yīng)用以及自動(dòng)生成賬號(hào)等調(diào)用百度接口的方法,其中自動(dòng)生成的賬號(hào)包含AppID、APIKey、Secret Key 三部分內(nèi)容,其賬號(hào)列表具體內(nèi)容如圖2 所示。
圖2 文字識(shí)別賬號(hào)列表
在項(xiàng)目界面設(shè)計(jì)與實(shí)現(xiàn)中,如何設(shè)定與獲取輸入類(lèi)控件的值也是難點(diǎn)之一。我在教學(xué)中發(fā)現(xiàn),學(xué)生經(jīng)常在此類(lèi)問(wèn)題上犯錯(cuò)。可基于控件的使用方法制作一個(gè)簡(jiǎn)單的項(xiàng)目,以學(xué)習(xí)資源的形式提供給學(xué)生,讓學(xué)生在反復(fù)學(xué)習(xí)與使用過(guò)程中,逐漸熟練其具體用法,從而達(dá)到知識(shí)的學(xué)習(xí)與重構(gòu),實(shí)現(xiàn)教學(xué)難點(diǎn)上的突破。
比如:簡(jiǎn)單項(xiàng)目“用戶登錄界面”的實(shí)現(xiàn)過(guò)程就要用到文本框值的綁定、初始值的設(shè)定、輸出值的提取等知識(shí)。將該項(xiàng)目以學(xué)習(xí)支架的形式提供給學(xué)生,方便其在使用相關(guān)控件時(shí)查找資源,這不僅有利于培養(yǎng)學(xué)生的自主能力,還能減少教師的工作量。
以“圖片文字提取工具”為例,學(xué)生根據(jù)教師提供的學(xué)習(xí)支架,結(jié)合項(xiàng)目要實(shí)現(xiàn)的功能,設(shè)計(jì)制作主界面。用到的控件及其功能如下:“Lable”(標(biāo)簽)——用于顯示靜態(tài)的文本信息及其圖片的顯示信息;“Combobox”(下拉列表框)——用于顯示要選擇的圖片類(lèi)型;“Button”(按鈕)——用于人機(jī)交互,發(fā)送和接受交互信息;“Text”(多行文本框)——用于識(shí)別文字的顯示。
圖3 主界面運(yùn)行效果
高中階段,基于程序設(shè)計(jì)培養(yǎng)學(xué)生的計(jì)算思維應(yīng)聚焦在算法設(shè)計(jì)上,而并非某種語(yǔ)言或程序設(shè)計(jì)上。利用計(jì)算機(jī)解決問(wèn)題,編程語(yǔ)言只是工具,程序設(shè)計(jì)只是手段,而算法才是靈魂。
一個(gè)好的算法不僅需要有強(qiáng)大的可讀性和可移植性,還應(yīng)考慮其時(shí)間和空間的復(fù)雜性,即程序的執(zhí)行效率。這種高度不是設(shè)計(jì)幾個(gè)算法或編制一個(gè)程序就能達(dá)到的,需在教師的指導(dǎo)下通過(guò)長(zhǎng)期訓(xùn)練形成。
圖4 學(xué)生分組開(kāi)展項(xiàng)目式學(xué)習(xí)
如果說(shuō)算法是解決問(wèn)題的方法和步驟,那么編程就是通過(guò)某種編程語(yǔ)言將算法轉(zhuǎn)化為程序,實(shí)現(xiàn)某種特定功能的過(guò)程。兩者最大的區(qū)別在于,算法不能直接被計(jì)算機(jī)執(zhí)行,而程序可以。
以“圖片文字提取工具”的編程實(shí)現(xiàn)過(guò)程為例,將整個(gè)項(xiàng)目封裝在一個(gè)名叫“Image_recognition”的類(lèi)中,類(lèi)方法又包含“openfile_path(self)”(打開(kāi)圖片)、“get_file_content”(讀取圖片)、“showidentify_result”(文字識(shí)別)、“copy_text”(文字提?。┑裙δ苣K。
項(xiàng)目采用單元測(cè)試與集成測(cè)試結(jié)合的測(cè)試方法。
在程序編制過(guò)程中采用單元測(cè)試,即對(duì)每個(gè)函數(shù)及其實(shí)現(xiàn)的功能進(jìn)行測(cè)試。這是在編制程序早期發(fā)現(xiàn)語(yǔ)法和語(yǔ)義錯(cuò)誤的較好辦法。
程序編寫(xiě)完成后,采用集成測(cè)試的方法對(duì)系統(tǒng)的運(yùn)行及其識(shí)別情況進(jìn)行測(cè)試。在具體測(cè)試過(guò)程中,分別選取5 張圖片,對(duì)每一種識(shí)別類(lèi)型進(jìn)行測(cè)試用例,其文字識(shí)別率超過(guò)90%,基本達(dá)到使用要求。
然而,項(xiàng)目在實(shí)現(xiàn)基本功能的情況下還存在一些缺陷:系統(tǒng)每次只能加載一張圖片進(jìn)行識(shí)別,對(duì)多張圖片的識(shí)別效率較低;由于項(xiàng)目文字識(shí)別部分是調(diào)用百度接口來(lái)實(shí)現(xiàn)的,受網(wǎng)絡(luò)或其他使用限額的限制,時(shí)常出現(xiàn)識(shí)別錯(cuò)誤的情況。這些都是我后期需要改進(jìn)的地方。