李進豪
(1.廣東省海洋工程職業技術學校,廣州 510320;2.廣東生態工程職業學院,廣州 510520)
隨著人工智能理論和技術的日益成熟,其應用正日趨普及化,并為教育教學改革帶來一系列的創新應用。調研表明,在教育教學過程中,教育工作者經常需要對大量的文字、圖片等原始資料進行處理,以便獲取教育教學管理或課堂教學等所需的信息。為了減輕教育工作者的常規工作量和提高工作效率,基于文字識別技術的智能應用在教育教學過程中越來越多,其應用優化了教育過程和教學方式,助力教育實現了跨越式發展。
作為廣東省教師信息技術應用能力提升工程2.0專項科研課題主持人,在多技術融合應用的推進過程中,我們發現“素材收集”工作是每一位教育工作者都必須面對的,其工作量相對來說是較大的,耗費了大量的時間與精力。調研表明,每一位教育工作者都期望能有智能小助手來協助處理一些枯燥、流程化的工作,把自己從“低效的工作”中解脫出來。例如,紙質教材文字提取、外景拍攝圖片文字提取等。因此,基于文字識別技術的批量圖片文字智能提取是一項非常有意義的研究工作,有較強的實用價值,有利于助推多技術融合應用的普及化。
作為廣東省職業教育名師工作室主持人(信息技術方向),有助推廣東省智慧教育前行的職責。在智慧教育的推進過程中,我們發現隨著“翻轉課堂”教學模式的普及化,越來越多的有效互動反饋都是基于測驗(成果導向)來實現的。在測驗中,我們需要處理大量的原始資料,以提取有效信息。對于職業教育來說,技能的培養是重中之重,而技能一般是需要學生親自動手去操作的,其評價并不能用簡單的文字題目來實現。例如,信息技術類技能測試的過程中,核心結果很多都是以圖片形式呈現,其反饋不是文字描述可以替代的。因此,基于文字識別技術智能提取圖片中的關鍵信息點是一項非常有價值的工作,有較高的研究價值,有利于助推智慧教育的大眾化。
文字識別技術是指利用計算機自動識別字符的技術,是模式識別應用的一個重要領域。一般包括文字信息的采集、信息的分析與處理、信息的分類判別等幾個部分。
(1)調用一種高效的文字識別技術。
(2)以二進制格式打開一個圖片文件。
(3)讀取圖片文件的全部內容。
(4)基于“OCR識別算法”識別文字。
(5)輸出圖片上的所有可識別文字。
2.3.1 百度智能云通用文字識別
基于業界領先的深度學習技術,提供多場景、多語種、高精度的整圖文字檢測和識別服務,基于接口支持限量的免費使用(免費賬號)。如果需要獲得更多的技術支持,可使用付費賬號。
2.3.2 核心技術
(1)調用AipOcr。
from aip import AipOcr
(2)打開圖片文件(二進制)。
with open(mypicfilename,′rb′)as myf:
(3)讀取圖片文件的信息。
myimg=myf.read()
(4)識別文字(調用接口函數)。
mymsg=client.basicGenera(lmyimg)
(5)循環獲取所有的文字。
for i in mymsg.ge(t′words_result′):
myxx=myxx+i.ge(t′words′)
在基于多技術融合的教育教學過程中,我們常需要批量提取紙質教材的文字、批量提取外景拍攝圖片的文字等。例如,提取已經拍攝好的30張外景圖片中的文字,并按指定的順序合成為一個文本文件(或docx文檔)。
需求來源:名師工作室專項課題(基于Python的文字自動識別系統的研究)。
3.2.1 基礎工作
基于掃描或拍攝將需要提取文字的圖片按一定的順序排序(此順序一般將是批量識別的順序,會將影響文件中的文字順序),并復制到文字識別小程序的指定文件夾(例如input文件夾)。
3.2.2 智能提取
(1)按順序智能讀取每一張圖片。
(2)基于Python 的文字識別技術識別圖片中的所有文字。
(3)以追加模式寫入指定文件夾中的文件中(例如output文件夾)。
3.2.3 后期編輯
在文字處理軟件中讀取文件中的所有文字,核查并編輯即可完成文字素材的獲取。
3.3.1 調用AipOcr

3.3.2 循環讀取指定文件夾下的所有圖片文件

3.3.3 識別所有的文字


3.4.1 圖片(文件名:環山徑簡介.jpg)

圖1 環山徑簡介
3.4.2 文字識別結果(文件名:環山徑簡介.txt)

圖2 文字識別結果
(1)為了提升圖片的文字識別正確率,需要盡可能提高圖片的清晰度與可辨認性。必要時,建議使用圖片處理軟件(例如Photoshop)對圖片進行預處理。
(2)執行接口函數basicGenera(l)時,由于存在網絡延時,因此有時會因為無法及時返回結果而導致程序中的后續語句出錯。建議:在該語句之后使用延時語句time.sleep()解決。
(3)如果一次需要識別多個“批量圖片”,而且需要等待的時間較長。建議:將不同的“批量圖片”放在不同的文件夾中來實現。
(4)如果需要將識別結果直接保存為docx 格式,則將打開txt文件改為打開docx文件,其原理相似。
(5)百度智能云通用文字識別的免費使用次數對于普通教學應用是足夠的(非營利性質)。特殊的應用場景,如果有需要,可采用付費模式解決。
(6)如果涉及保密信息,不建議使用調用“接口”的免費自動文字識別功能。
職業教育教學過程中的技能測試,測試的結果很多都不是可以用文字描述來替代的。例:《信息技術》課程的文檔操作之“查找與替換”,我們需要知道的是學生的操作過程,而該操作過程的核心結果用截圖的形式來呈現是比較科學的。為了實現自動閱卷,我們可以通過提取圖片的關鍵信息點來判斷學生的操作是否正確。如果有需要,可以通過判斷多張圖片(系列操作的圖片)來確認,以提高自動閱卷的可靠性。
需求來源:名師工作室專項課題(基于Python的自動閱卷系統的研究)。
4.2.1 基礎工作
(1)每一位學生用自己的“姓名+學號”創建一個文件夾,所有操作截圖(技能點)均按測試指定的文件名保存(文件名錯誤,視為0分)。
(2)教師設定自動閱卷時每一個技能點(操作截圖)所需要判斷的關鍵信息點,存放在參考答案的文件中(例如xlsx文件)。
(3)將學生的考試文件夾合并后存放在自動閱卷小程序指定的文件夾中(例如ksinput)。
4.2.2 自動閱卷
(1)自適應讀取學生文件下的每一個文件(操作截圖)。
(2)判斷文件名是否為有效文件名。如果文件名不是參考答案中需要檢測的文件,則視為無效文件。
(3)智能判斷。如果文件名是參考答案中需要檢測的文件,則自動提取該操作截圖的關鍵信息點并與參考答案中的關鍵信息點相比較。如果完全一致,則認為該技能點可以得分,否則視為0分。
(4)循環讀取并完成對所有文件的智能判斷,累計得分即為學生本次技能測試的成績。
(5)將成績保存在指定的考試成績文件中。
(6)按上述原理,循環讀取所有學生的文件,即完成自動閱卷。
4.2.3 后期工作
根據需要處理考試成績文件。若有規范性要求,則可使用Python 附加小程序來處理。例如:成績排序、成績分析等。
4.3.1 提取圖片關鍵信息
核心代碼:與應用案例1相同。
注意事項:如果需要識別的信息較多且沒有專項經費支持(校內使用,非營利性質),在允許的情況下可申請多個百度智能云通用文字識別賬號(免費賬號);有可能的情況下,建議使用付費賬號,以便獲得更多的技術支持。
4.3.2 判斷圖片文件是否為有效文件

4.4.1 圖片(文件名:查找與替換.jpg)

圖3 查找與替換
4.4.2 關鍵信息點(9個)
查找與替換、查找內容、工作室、替換為、名師工作室、替換、全部替換、查找下一處、取消。
4.4.3 智能提取結果(文件名:查找與替換.txt)

圖4 智能提取結果
(1)自動閱卷小程序的可靠性主要依賴于技能點之“操作截圖”選擇的合理性和“關鍵信息點”選擇的科學性。
(2)因為所有的圖片均來源于截圖,其文字識別的正確率較高,無需對圖片進行預處理。建議:學生規范化操作(截圖),以免因為識別問題而導致成績存在爭議。
(3)建議:“操作截圖”界面上盡量有一些標志性的文字,以提升自動閱卷的可信度。
(4)建議:在真正使用前,教師對所有的題目進行一次模擬操作,在生成技能點“操作截圖”之后進行一次“嘗試性”自動閱卷,以保證技能點“操作截圖”選擇的合理性和“關鍵信息點”選擇的科學性。
(5)基于文字識別有時可能存在不可預測性。建議:在模擬操作的基礎上,對閱卷時所需的“關鍵信息點”進行優化,以彌補文字識別可能存在的偏差。
(6)自動閱卷對文件名的要求較高。建議:文件名盡可能使用大寫字母,盡量避免使用有“爭議性”的字符。
(7)Python 支持對多種類型文件的“強”讀寫功能。以docx 文檔為例,除了可以讀取文件的內容外,還可以讀取其文檔格式。因此,在自動閱卷過程中,若有需要可以直接讀取文件的相關信息,輔以判斷操作結果的正確性。
(8)如果需要將自動閱卷小程序發放到學生端,則可以將參考答案做加密的預處理。
5.1.1 應用場景
(1)案例。30 張圖片,每張圖片平均約200個漢字,合計約6000個漢字。
(2)人工錄入(某教學團隊平均速度)。錄入速度每分鐘約50個漢字。
(3)自動識別(文字識別小程序)。每張圖片約2秒。
5.1.2 效果分析
(1)人工錄入。理論上所需時間約7200 秒,實際時間會更長。
(2)自動識別。理論上所需時間約60秒,實際時間相近。
(3)效果分析。在素材收集方面,文字自動識別技術的應用是非常有效的,有助于提升教師的幸福感和成就感。
5.2.1 應用場景
(1)案例。30 位學生,每位學生有20 張圖片,合計600張圖片。
(2)人工閱卷(某教學團隊平均速度)。每張圖片平均需要10秒(含簡易成績錄入等)。
(3)自動識別(自動閱卷小程序)。每張圖片約2秒。
5.2.2 效果分析
(1)人工閱卷。理論上所需時間約6000 秒,實際時間會更長。
(2)自動閱卷。理論上所需時間約1200 秒,實際時間相近。
(3)效果分析。在閱卷方面,文字自動識別技術的應用同樣是非常有效的。但由于閱卷過于標準化,在個性化評分方面略有不足。
在智慧教育中應用文字識別技術,有利于提高工作效率,有利于開啟智慧教育的創新模式。文中提及的代碼全部在“Office 2016+Python 3.8.3”環境下調試通過,并應用于實際工作中,效果好。