国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

運(yùn)用Python可視化技術(shù) 提高中學(xué)編程教學(xué)趣味性

2020-09-29 07:51毛星皓
電腦知識(shí)與技術(shù) 2020年17期
關(guān)鍵詞:詞云分詞高中信息技術(shù)

毛星皓

摘要:如何提高學(xué)生的積極性,是中學(xué)編程教學(xué)始終需要關(guān)注的問(wèn)題。本文以詞云制作為例,探討在Python教學(xué)中,通過(guò)合理設(shè)計(jì)教學(xué)任務(wù),綜合運(yùn)用Jieba、Wordcloud、Matplotlib和Numpy等庫(kù)提供的分詞、可視化等技術(shù),采取循序漸進(jìn)、不斷完善的教學(xué)方法,逐步實(shí)現(xiàn)教學(xué)目標(biāo)。同時(shí),降低編程教學(xué)的門檻,提高趣味性,幫助學(xué)生克服畏難情緒,充分調(diào)動(dòng)積極性、主動(dòng)性,有效提升教學(xué)效果。

關(guān)鍵詞:高中信息技術(shù);Python;詞云;分詞;圖形繪制

中圖分類號(hào):G642 ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1009-3044(2020)17-0136-02

1概述

隨著人工智能時(shí)代的到來(lái),編程技術(shù)已成為未來(lái)人才的必備技能。具備良好的編程思維和編程技術(shù),不僅是信息產(chǎn)業(yè)從業(yè)人員的基本素養(yǎng),也必將成為所有產(chǎn)業(yè)對(duì)人才的根本需求。因此,世界各國(guó)紛紛將編程教學(xué)列入義務(wù)教育的必修內(nèi)容。自2014年起,英國(guó)在義務(wù)教育中加入了編程課程。美國(guó)于2015年提出在10年內(nèi)普及中小學(xué)生編程教育。澳大利亞于2016年正式將編程引入全國(guó)必修課程。日本則提出,自2020年起,小學(xué)必須確保為學(xué)生提供計(jì)算機(jī)編程體驗(yàn)和學(xué)習(xí)機(jī)會(huì),到2021年,初中必須提供計(jì)算機(jī)編程課程。在我國(guó)教育部于2019年3月13日發(fā)布的《2019年教育信息化和網(wǎng)絡(luò)安全工作要點(diǎn)》中也明確指出,國(guó)家將推動(dòng)在中小學(xué)階段設(shè)置人工智能相關(guān)課程,逐步推廣編程教育??梢?jiàn),編程教學(xué)在今后的教育體系中,必將占據(jù)日益重要的地位。

與成人教育有所不同,面向中學(xué)生開(kāi)展編程教學(xué),不僅需要傳授扎實(shí)的編程知識(shí),培養(yǎng)良好的編程習(xí)慣,更重要的是要科學(xué)設(shè)計(jì)教學(xué)任務(wù),合理安排教學(xué)過(guò)程,以便提高編程的趣味性和成就感,充分調(diào)動(dòng)學(xué)生的學(xué)習(xí)興趣,獲得較好的教學(xué)效果。在這方面,Python語(yǔ)言具有很大的優(yōu)勢(shì)。

Python語(yǔ)言的語(yǔ)法結(jié)構(gòu)清晰,代碼形式簡(jiǎn)潔,是公認(rèn)的最接近自然語(yǔ)言的編程語(yǔ)言。與傳統(tǒng)的編程語(yǔ)言如C、Java等相比,語(yǔ)法細(xì)節(jié)較少,記憶負(fù)擔(dān)較輕。可視化手段豐富,能夠便捷地實(shí)現(xiàn)生動(dòng)、直觀的輸出效果,有利于提高編程的趣味性和成就感,對(duì)于中學(xué)生來(lái)說(shuō),更容易上手和靈活應(yīng)用。同時(shí),Python語(yǔ)言開(kāi)放性好,庫(kù)資源豐富,能夠方便地實(shí)現(xiàn)數(shù)據(jù)采集、清洗和分析,編程效率高,當(dāng)前在數(shù)據(jù)分析、機(jī)器學(xué)習(xí)等領(lǐng)域得到了非常廣泛的應(yīng)用,發(fā)展前景廣闊。因此,在國(guó)外一些發(fā)達(dá)國(guó)家排名前百的高中和大學(xué)中,有超過(guò)6成均開(kāi)設(shè)了Python 以及相關(guān)課程,部分學(xué)校已經(jīng)將計(jì)算機(jī)專業(yè)課程設(shè)計(jì)中的第一編程語(yǔ)言從Java改成了Python(于雁2019)。

以Wordcloud庫(kù)為例,該庫(kù)是一個(gè)功能強(qiáng)大的第三方庫(kù),不僅可以根據(jù)文本中詞語(yǔ)的出現(xiàn)頻率繪制詞云,還可靈活設(shè)定詞云的字體、顏色、形狀等,從而從視覺(jué)上凸顯高頻詞及其相應(yīng)的頻次,揭示文本的主要參與者和故事脈絡(luò),是一種優(yōu)秀的數(shù)據(jù)呈現(xiàn)形式。本文將充分利用Wordcloud庫(kù)及相關(guān)庫(kù)的功能,結(jié)合中學(xué)生的喜好,合理設(shè)計(jì)教學(xué)任務(wù)和過(guò)程,循序漸進(jìn),做到寓教于樂(lè),有效提高編程教學(xué)的趣味性。

2教學(xué)目標(biāo)及編程環(huán)境準(zhǔn)備

本案例的教學(xué)目標(biāo)是指導(dǎo)學(xué)生運(yùn)用Python的庫(kù)資源,制作一個(gè)文本的詞云,并通過(guò)設(shè)置參數(shù),控制輸出圖像的尺寸、內(nèi)容和形狀等。制作詞云通常分為三個(gè)步驟,即分詞、圖像繪制和輸出,分別使用Jieba、Wordcloud和Matplotlib三個(gè)庫(kù),涉及Windows命令提示符環(huán)境下的指令輸入、數(shù)據(jù)類型、文件操作以及Python庫(kù)的安裝、調(diào)用以及參數(shù)傳遞等重要知識(shí)點(diǎn)。

首先,指導(dǎo)學(xué)生啟動(dòng)命令提示符,依次輸入命令,安裝Jieba、Wordcloud和Matplotlib等本程序所需的庫(kù),由此學(xué)習(xí)Python第三方庫(kù)的安裝方法(例1)。如果在安裝過(guò)程中,提示pip工具版本過(guò)低,就應(yīng)該先更新Pip包管理工具(例2)。當(dāng)Pip更新到最新版本后,如果安裝Wordcloud還是報(bào)錯(cuò),我們就必須采取第二種安裝方法,即根據(jù)當(dāng)前使用的Python版本,在https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud網(wǎng)頁(yè)上選擇正確的安裝文件(如3.7.x版本的Python必須匹配cp37的包)并下載。隨后,在命令提示符環(huán)境下輸入以下語(yǔ)句進(jìn)行安裝(例3)。

(1) pip install (庫(kù)名,如jieba等)

(2) python -m pip install --upgrade pip

(3) pip install wordcloud-1.5.0-cp37-cp37m-win32.whl

要運(yùn)行Wordcloud,還需要Pillow、Numpy和Matplotlib庫(kù)的支持。如果系統(tǒng)還沒(méi)有安裝這些庫(kù),程序會(huì)自動(dòng)下載并安裝。

最后,我們需要準(zhǔn)備一個(gè)文本文件作為解析對(duì)象,可由學(xué)生自由選擇,以提高編程的趣味性。本案例使用的是一部在中學(xué)生中很受歡迎的網(wǎng)絡(luò)小說(shuō)《全職高手》。

3程序的編制與完善

要實(shí)現(xiàn)基本的詞云繪制功能,只需要使用Jieba和Wordcloud庫(kù)。其中,Jieba是目前最好的中文分詞工具,提供精確模式、全模式和搜索引擎模式三種分詞方式。本案例使用其默認(rèn)的精確模式。Wordcloud則是詞云制作工具。在教學(xué)過(guò)程中,教師需要著重講解的內(nèi)容包括庫(kù)的導(dǎo)入、功能調(diào)用和參數(shù)傳遞等。學(xué)生只需編寫6條語(yǔ)句,就能完成庫(kù)導(dǎo)入、讀文本、分詞、調(diào)用Wordcloud、生成詞云和保存圖像(例4-9),從而實(shí)現(xiàn)程序的基本功能,并獲得詞云的圖像文件(圖1)。在此基礎(chǔ)上,教師可以指導(dǎo)學(xué)生通過(guò)修改例7中“width”“height”“background_color”以及“font_path”等參數(shù),調(diào)整圖片的寬、高、背景色以及字體。

(4) import jieba,wordcloud

(5) text = open("全職高手.txt").read()

(6) text = " ".join(jieba.cut(text))

(7) w=wordcloud.WordCloud(width=1000,height=700,background_color="white",font_path="C:\\Windows\\Fonts\\msyh.ttc")

(8) w.generate(text)

(9) w.to_file("wordcloud.png")

在完成基礎(chǔ)程序編制的基礎(chǔ)上,教師可以指導(dǎo)學(xué)生設(shè)置一些屬性,進(jìn)一步完善詞云的分析結(jié)果和顯示效果。例如,觀察圖1我們發(fā)現(xiàn),“葉修”一詞最大,說(shuō)明其出現(xiàn)頻率最高,是該小說(shuō)的核心人物。但是,“他們”“但是”“已經(jīng)”“這樣”等詞盡管使用也很頻繁,卻缺乏指向性。因此,最好作為停用詞予以排除。Wordcloud的停用詞應(yīng)設(shè)為set(集合)類型,并在調(diào)用該庫(kù)時(shí)將其作為“Stopwords”屬性傳遞給Wordcloud(例10-12)。如果停用詞較多,我們還可以將其統(tǒng)一設(shè)為數(shù)組,并用for循環(huán),逐一添加進(jìn)Stopwords(篇幅關(guān)系,代碼省略)。在排除“他們”“但是”“這樣”“自己”“就是”“沒(méi)有”等16個(gè)停用詞后,獲得了新的詞云(圖2)。在該圖中,除“葉修”外,“君莫笑”“陳果”等人物也凸顯出來(lái)。同時(shí),“現(xiàn)在”“此時(shí)”的出現(xiàn)頻率很高,說(shuō)明作品中對(duì)故事發(fā)生時(shí)的場(chǎng)景描寫較多。“角色”“攻擊”“技能”“選手”等詞使用較多,也符合作品描寫主人公如何成長(zhǎng)成為一名游戲選手的故事情節(jié)。可見(jiàn),排除部分停用詞后,故事的出場(chǎng)人物和相關(guān)信息更加清晰了。

(10) Stopwords=set("")

(11) Stopwords.add("他們")

(12) w=wordcloud.WordCloud(stopwords=Stopwords,width=1000,height=700,background_color="white",font_path="C:\\Windows\\Fonts\\msyh.ttc")

Wordcloud默認(rèn)繪制的方形圖片盡管內(nèi)容翔實(shí),但仍不夠有趣。因此,教師可以指導(dǎo)學(xué)生通過(guò)mask屬性設(shè)置蒙板,改變輸出圖像的形狀,進(jìn)一步提高編程的趣味性。該屬性需要一個(gè)二值化的mask。為此,我們導(dǎo)入繪圖庫(kù)Matplotlib以及Numpy數(shù)學(xué)函數(shù)庫(kù),用前者提供的圖像處理功能打開(kāi)構(gòu)建蒙板所用的圖片文件(圖3),并用后者的array指令完成由彩色圖片向二值化數(shù)據(jù)的轉(zhuǎn)化(例13)。在將mask屬性傳遞給Wordcloud后(例14),高頻詞將被顯示在蒙板圖片中非白色的位置上(圖4)。于是,程序輸出更加生動(dòng)、有趣了。

(13) MaskImg=np.array(Image.open("mycf.jpg"))

(14) w=wordcloud.WordCloud(mask=MaskImg,width=1000,height=700,background_color="white",font_path="C:\\Windows\\Fonts\\msyh.ttc")

4結(jié)語(yǔ)

本文以詞云制作為例,探討了如何科學(xué)規(guī)劃教學(xué)內(nèi)容,合理設(shè)計(jì)教學(xué)過(guò)程,巧妙運(yùn)用可視化等技術(shù),提高Python編程教學(xué)的趣味性。盡管在教學(xué)過(guò)程中,涉及命令提示符環(huán)境下的指令輸入、數(shù)據(jù)類型、文件操作以及Jieba、Wordcloud、Matplotlib和Numpy等重要的庫(kù)的導(dǎo)入、功能調(diào)用和參數(shù)傳遞等眾多知識(shí)點(diǎn),但并不顯得枯燥、晦澀。由于采取了循序漸進(jìn)、不斷完善的教學(xué)方法,且輸出形式直觀、生動(dòng),因此學(xué)習(xí)過(guò)程較為輕松,富有樂(lè)趣。

綜上所述,Python語(yǔ)言具有良好的開(kāi)放性,第三方庫(kù)資源豐富、強(qiáng)大,語(yǔ)法較為簡(jiǎn)單、代碼量較少,有效地降低了程序編制的門檻,非常適合中學(xué)生學(xué)習(xí)。目前,Python語(yǔ)言已進(jìn)入中學(xué)信息技術(shù)課程。但時(shí)間尚短,教學(xué)體系有待完善,教學(xué)內(nèi)容有待豐富,急需我們結(jié)合中學(xué)生習(xí)得特點(diǎn),充分發(fā)揮其綜合優(yōu)勢(shì),科學(xué)設(shè)計(jì)教學(xué)內(nèi)容,合理規(guī)劃教學(xué)過(guò)程,引導(dǎo)學(xué)生運(yùn)用Matplotlib等繪制圖表,運(yùn)用爬蟲(chóng)技術(shù)制作單詞表或運(yùn)用Pygame等編制游戲,從而幫助他們獲得更多樂(lè)趣和成就感,消除畏難情緒,充分調(diào)動(dòng)學(xué)習(xí)積極性和主動(dòng)性,以便快速提高編程水平,有效提升教學(xué)效果。

參考文獻(xiàn):

[1] 于雁.高中信息技術(shù)python模擬程序的編寫及應(yīng)用[J].電腦知識(shí)與技術(shù),2019,15(30):224-225.

[2] 高曉明.初中Python教學(xué)的組織與實(shí)踐[J].中國(guó)信息技術(shù)教育,2019(23):26-27.

[3] 邱偉松,莊鴻鴻.融入圖形化編程的算法課程的教學(xué)效果對(duì)比分析[J].福建電腦,2019,35(7):131-132.

[4] 孫芳.以學(xué)生為中心的教學(xué)——高中信息技術(shù)項(xiàng)目學(xué)習(xí)初探[J].電腦知識(shí)與技術(shù),2019,15(34):114-115.

[5] 王世達(dá).初中信息科技實(shí)施Python編程教學(xué)的策略與思考[J].上海課程教學(xué)研究,2019(11):35-39.

[6] 楊芷若.對(duì)高中生提高計(jì)算機(jī)編程能力的體會(huì)[J].數(shù)字通信世界,2018(3):270+282

[7] 楊芷若.對(duì)高中生提高計(jì)算機(jī)編程能力的體會(huì)[J].數(shù)字通信世界,2018(3):270+282.

[8] 郭斯羽,溫和,孟志強(qiáng),等.面向教學(xué)的可視化圖像處理編程語(yǔ)言設(shè)計(jì)[J].中國(guó)教育信息化,2017(8):93-96.

【通聯(lián)編輯:王力】

猜你喜歡
詞云分詞高中信息技術(shù)
分詞在英語(yǔ)教學(xué)中的妙用
高中信息技術(shù)探究式教學(xué)的實(shí)踐與思考
圖學(xué)學(xué)報(bào)(2014年2期)2014-03-06
論英語(yǔ)不定式和-ing分詞的語(yǔ)義傳承
吕梁市| 和平县| 离岛区| 东乡族自治县| 宁夏| 壤塘县| 南雄市| 富裕县| 拉孜县| 环江| 休宁县| 万宁市| 札达县| 新竹县| 离岛区| 西藏| 甘德县| 拉萨市| 临湘市| 句容市| 和顺县| 屏东县| 潮州市| 方正县| 海原县| 阳信县| 教育| 陆川县| 祁门县| 定边县| 闸北区| 鹤庆县| 泰顺县| 泸溪县| 堆龙德庆县| 益阳市| 广南县| 杭锦后旗| 榆树市| 宝坻区| 玉门市|