首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【教师也创客】数据可视化之利用Python制作词云图——在信息技术课堂中渗透人文素养

“十年树木,百年树人”,教育的根本目的在于增强学生的能力,使学生成为人才。为了提高学生的信息素养,培养未来的创造性人才,学生不但要学习现代技术,也要具备人文素养,使各种复杂知识在人文精神的烛照下融会贯通。如何在教学中介入文化价值,并运用现代教育技术提高学生的文化素质呢?这里我们以《三国演义》小说为例,让学生阅读学习,然后通过Python编程进行分析。

《三国演义》是中国古典四大名著之一,亦是中国第一部长篇历史章回小说。它以人物为载体,形象地演绎了中国传统文化的基本精神,即仁、义、礼、智、信、勇等中国传统文化价值体系中的核心因素。那么,如何准确快捷地将这部长篇历史章回小说中的信息提取出来,并以生动的方式呈现给学生呢?这就需要用到词云图。

认识词云图

词云图是文本可视化的一种方式,借助相应的网站工具,对复杂的文本信息(如单词表、例句、课文)进行加工处理,词汇出现频率越高,字号越大,这样的词汇就是高频实义词,也是信息材料关注的焦点,最后以图形化的形式出现。总体来说,词云图有如下功能。

提炼:提炼呈现实义词

排序:按频率高低决定词汇显示的大小,出现次数越多,默认字号越大

突显:对高频实义词起到突显的作用

图像化:对整体外观形成特定的图像

Python代码和环境选择

Python相对其他代码,简单、易学、好上手,对语法要求不高,便于学生进行学习实践。

Python jieba第三方库选择

Python对于文章分析有众多库,其中中文库包括yaha(哑哈)、jieba(结巴)、基于HMM模型的中文分词、genius中文分词等。通过使用,我们发现,jieba库目前应用比较广,遇到问题容易找到解决方案,是优秀中文分词第三方库,于是决定应用jieba库。jieba分词有3种模式,分别为精确模式、全模式和搜索引擎模式。

精确模式:把文本精确切分开,不存在冗余单词。

全模式:把文本中所有可能的词语都扫描出来,有冗余。

搜索引擎模式:在精确模式基础上,对长词再次切分。

Python wordcloud第三方库选择

学生完成分析后需要进行展示,然后由大家讨论。为了展示更加美观,我们选择使用wordcloud。wordcloud库是Python词云展示第三方库,以词语为基本单位,更加直观和艺术地展示文本。它可以将文本中词语出现的频率作为一个参数绘制词云,而词云的大小、颜色、形状等都是可以设定的。

wordcloud有3个常见函数:

wordcloud.WordCloud()

wordcloud.ImageColorGenerator()

wordcloud.random_color_func()

wordcloud.WordClud()代表一个文本对应词云的对象,要区分大小写,全小写是库,大写+小写是对象,可以根据文本中词语出现的频率等参数绘制词云。词云的形状、字体、尺寸和颜色都可以设定,一个词云就是一个wordcloud对象。wordcloud.ImageColorGenerator()可基于彩色图像生成相应彩色,而wordcloud.random_color_func()则生成随机颜色。

JupyterHub应用环境

Jupyter是一款基于Python的web notebook服务,目前大多Python数据挖掘与机器学习爱好者都在使用这款服务。其特性其实与IPython Notebook差不多。准确说IPython Notebook是一款提供增强型交互功能的shell,而Jupyter除了IPython的功能,还加入了普通编辑器的通用功能,是一款带代码交互的动态文档web编辑器。

由于Jupyter只支持单用户的使用场景,作为教师,我们需要看到学生的应用实践结果,需要多用户场景,因此,只支持单用户的Jupyter可能不适用,于是有了JupyterHub。支持多用户的Jupyter Notebook服务器,用于创建、管理、代理多个Jupyter Notebook实例,具有扩展性和可定制性。

课程设计流程

第一步:课堂导引

提前1周让学生阅读《三国演义》,然后在课堂上让学生各抒己见,分析自己对《三国演义》的看法。也许有的学生喜欢曹操,有的学生喜欢诸葛亮,还有的学生喜欢对某个事件进行分析,对此,我们都需要鼓励。

第二步:讲解与实践

在实践之前,我们需要向学生介绍Python中jieba库及其分词原理,以及wordcloud应用方法,包括如何控制底色,如何把文字载入,如何生成指定图片类型等。在制作时,首先要引用jieba库,把《三国演义》小说导入变量,然后将导入的变量应用jieba进行分词。

接着,应用wordcloud将已经汇总的词进行分析排序,把排序结果应用图片进行展示。

学生制作完成后,我们可以收集学生的作品,以此检验学生是否完成《三国演义》分词及分析,是否掌握了相关的Python知识。

第三步:扩展思考

很多学生在分析的时候,主要是针对人物进行的。我们可以把我们认为重要的人物进行一次统计。

首先,用jieba把词进行分割。

分割完成之后,把指定人物用循环进行统计,然后改变数据类型,变为列表。

将列表进行排序,最后用print统一输出,便可得出人物的相关数据。

我们还可以让学生扩展思考:如何完成《三国演义》出场图?如何完成《三国演义》关系图?

总结

作为主要的人工智能语言,掌握Python对于学生今后的发展非常重要。在教学实践中利用Python制作词云图,既可以呈现文本的关键信息和主要内容,还可以将现代技术与人文素养相结合,提高学生的综合素质和能力。需要注意的是,利用Python制作词云图,要求学生有一定的英语基础,并且熟悉键盘操作。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210207A0AAVS00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券