还剩6页未读,继续阅读
文本内容:
Python程序设计实践教程》课程教案《课题中文词云教学目的
1.在“中文词云”的教学过程中,教学目的涵盖知识、技能、思维及应用多个关键层面
2.知识层面学生需深入理解中文词云的构建原理,明白其背后分词、文本处理与可视化呈现的逻辑关系透彻掌握jieba库的分词机制,包括精确模式、全模式及搜索引擎模式的差异与适用场景,清晰认知文本清洗中停用词、特殊符号及无效字符的去除规则,熟练知晓wordcloud库生成词云时涉及的布局算法、字体渲染及颜色映射等底层知识
3.技能培养上学生应熟练运用jieba库对不同类型的中文文本,如新闻稿件、社交媒体评论、学术论文等,进行高效且准确的分词操作,确保切分结果符合语义逻辑能够依据文本特性与分析目标,灵活运用文本清洗技巧,精准剔除干扰信息,提升文本质量灵活驾驭wordcloud库,熟练设置词云形状、字体样式、颜色方案等参数,将处理后的文本数据转化为美观且富有信息价值的词云图,实现从文本到可视化成果的流畅转换
4.思维拓展方面面对多样化的文本数据源,培养学生分析文本结构、识别关键信息的能力,引导其在分词与文本清洗过程中,根据文本主题、语言风格制定个性化策略,锻炼逻辑思维与创新思维在词云设计环节,鼓励学生从信息传达与视觉美学双重角度考量,提升审美素养与批判性思维,优化词云呈现效果
5.应用层面使学生能够将中文词云技术应用于实际场景,如市场调研中消费者反馈分析、舆情监测里公众观点洞察、文学作品主题挖掘等,通过词云直观呈现数据背后的关键信息,为决策提供有力支持,切实体会技术在解决现实问题中的实用价值,提升学生运用知识解决实际问题的能力课型:新授课课时本章安排2个课时教学重点重点
1.熟悉jieba库的使用方法
2.熟悉wordcloud库的使用方法
3.掌握制作中文词云的基本方法教学难点难点教学难点在于引导学生利用jieba库精准处理复杂句式与歧义词的中文分词,巧妙结合文本清洗规则筛除非关键信息,同时灵活运用wordcloud库参数,在词云布局、字体适配及色彩搭配上达成信息呈现与视觉美感的平衡教学过程
1.教学形式讲授课,教学组织采用课堂整体讲授和分组演示
2.教学媒体采用启发式教学、案例教学等教学方法教学手段采用多媒体课件、视频等媒体技术板书设计本课标题中文词云课次
0.5课时安排2授课方式理论课口讨论课口习题课口其他口学分共2分授课对象普通高等院校学生任课教师教材及参考资料
1.《Python程序设计实践教程》
2.本教材配套视频教程及学习检查等资源
3.与本课程相关的其他资源教学基本内容教学方法及教学手段课程引入参考以下形式如今社交媒体上热门话题不断,想知道大家对某一事件讨论的L衔接导入焦点在哪吗?企业发布新品后,又该如何快速把握消费者反馈?词
2.悬念导入云,就是能帮我们轻松解决这些问题的得力工具想象一下,当你
3.情景导入面对海量用户评论,密密麻麻的文字让人无从下手但借助词云,
4.激疑导入这些评论将瞬间〃变身〃比如在一场热门电影的评论分析中,我
5.演示导入们把观众评价收集起来利用jieba库对中文文本进行分词,将长
6.实例导入句拆成一个个关键词,再通过文本清洗去除无意义的词汇最后,
7.其他形式wordcloud库大显身手,将剩下的高频词汇以独特的词云图呈现字体越大的词,代表在评论中出现的频率越高,一眼就能看清大众对电影的关注点接下来,让我们一起走进中文词云的奇妙世界,掌握这项实用技能实验17中文词云
1.教学以学生学习教材的基本内容为主,系统全面地了解中文词云
一、实验目的
1.熟悉jieba库的使用方法
2.整个教学过程中,各教学点可根
2.熟悉wordcloud库的使用方法据实际情况,进行拓展知
3.掌握制作中文词云的基本方法
二、知识要点识的讲解
1.创建词云词云就是通过“关键词云层”或“关键词渲染”等效果,将文本中出现频率较高的关键词在视觉上进行突出显示词云过滤掉了大量文本信息,使浏览者可以通过词云领略文本的主旨创建词云的主要步骤如下
①导入jieba库,读取文件内容,并进行分词
②导入wordcloud库,创建对象,将分词后的文本生成词云,存入词云文件
③读取并查看生成的词云文件
2.jieba库jieba库是Python中一个重要的第三方中文分词函数库,需要用户自行安装用pip安装jieba库的代码如下pip installjiebajieba库提供三种分词模式精确模式、全模式、搜索引擎模式1精确模式试图将句子最精确地切分,适合进行文本分析2全模式把句子中所有可以成词的词语都扫描出来,速度非常快,但是不能解决歧义问题,有冗余
③搜索引擎模式在精确模式的基础上,对长词再次切分,提高召回率,通常用于搜索引擎分词常用的jieba库函数如表17-1所示表17-1常用的jieba库函数函数功能描述精确模式,返回一个列表类型jieba.Icut s的分词结果全模式,返回一个列表类型的jieba.Icut s,分词结果,存在冗余cut_all=True搜索引擎模式,返回一个列表jieba.Icut fo类型的分词结果,存在冗余r_searchsjieba.add_wor添加新词ds
3.文本清洗分词之后,需要清洗“的”“得”“了”等对文本分析没有用处的词汇以及标点符号
4.wordcloud库wordcloud是一款优秀的词云制作第三方库,可根据文本或文本中的词频对文本内容进行可视化,设置词云的形状、尺寸和颜色用pip安装wordcloud库的代码如下pip installwordcloud通过conda安装wordcloud库的代码如下conda install-c conda-forge wordcloud生成词云的常规方法是以wordcloud对象为基础,配置参数来调整词云的字体、布局、配色方案等;加载文本,使用generate方法将分词后文本生成词云;输出文件,使用to_file方法生成词云文件,查看生成的词云文件配置参数的基本方法是w=wordcloud.WordCloud,配置参数的说明如表17-2所示表17-2配置参数的说明参数描述width指定生成图片的宽度,默认为400像素height指定生成图片的高度,默认为200像素min fontsize指定词云中的最小字号,默认为4号指定词云中的最大字号,根据高度自动max_font_size调节font_step指定词云中字体的步进间隔,默认为1font_path指定字体文件的路径,默认为Nonemax_words指定显示的最多单词数量,默认为200指定词云的排除词列表,即不显示的单stopwords词列表指定词有形状,默认为长方形,需要引mask用imread函数backgroundcol or指定词云片的背景颜色,默认为黑色加载文本和输出词云对象的方法如表17-3所示表17-3加载文本和输出词云对象的方法方法描述w.generate加载文本w.to_file filename将词云输出为图像文件如果要生成中文词云,还需要设置中文字体,代码为font path^5c:\Windows\Fonts\simfang.ttfo
三、实例解析【实例17-1】对字符串进行分词1问题分析将中文文本拆分成一个个词语,jieba库中的jieba.cut函数可以实现字符串的分词功能2程序代码#sll7-l.pyimport jiebatext=学习Python语言程序设计的一个重要环节就是要既动手又动脑地做实验’resultl=jieba.cut text#精确模式result2=jieba.cuttext,cut_all=True#全模式results=jieba.lcut_for_searchtext#搜索引擎模式printC切分结果
1.joinresultlprint C切分结果2:.join result2print C切分结果3:.join results3运行结果切分结果1学习、Python、语言、程序设计、的、一个、重要环节、就是、要、既、动手、又、动脑、地、做、实验切分结果2学习、Python、语言、程序、程序设计、设计、的、一个、重要、重要环节、环节、就是、要、既、动手、又、动脑、地、做、实验切分结果3学习、Python、语言、程序、设计、程序设计、的、一个、重要、环节、重要环节、就是、要、既、动手、又、动脑、地、做、实验4思考与讨论
①请对比三种分词模式的结果
②分词之后,需要清洗“的”“要”“既”“又”“地”“做”等对文本分析没有用处的词汇以及标点符号文本清洗的代码如下import jiebatext=学习Python语言程序设计的一个重要环节就是要既动手又动脑地做实验’result=jieba.cut textmytext list=[]for segin result:if lenseg!=1:mytext list,appendsegprint、,.joinmytext_list
③文本清洗的结果如下学习、Python、语言、程序设计、一个、重要环节、就是、动手、动脑、实验【实例17-2】统计三国演义中各人物的出场次数1问题分析文件“三国演义.txt”包含602502个字符含标点符号一次性读取文件内容后,利用jieba库的精确模式进行分词先新建一个空字典,将每个中文分词作为字典的键,利用字典的get函数迭代更新值一个人物可能会有多个名字,需要进行整理同时,应剔除“却说”“二人”“不可”等不是人名的词语open函数默认的字符集为UTF-8,该字符集在转换某些汉字时可能会遇到问题汉字字符集有3个,它们收录的汉字范围大小为GB2312〈GBK〈GB18030,GB2312只收录了6763个汉字,而GB18030收录了27484个汉字本例若使用GB2312字符集,会遇到未收录的汉字而报错,使用GB18030字符集则不会报错2程序代码#sll7-
2.py importjieba#变量excludes含排除的分词,根据输出,可以将不是人名的词语加进去excludes二{〃将军〃,〃却说〃,〃荆州〃,〃二人〃,〃不可〃,〃不能〃,〃如此〃,〃商议〃}txt=open〃d:\\三国演义・txt〃,mode=r,encoding:gbl8030,.readwords=jieba.Icuttxt#精确模式,返回的words是一个列表变量counts={}for wordin words:#通过迭代,处理同一个人物出现多个名字的情况if lenword==1:continueelif word=〃诸葛亮〃,Dr word==〃孔明曰rword二〃孔明〃elif word二二〃关公〃orword=〃云长〃rword=〃关羽〃elif word==〃玄德〃or word二二〃玄德日〃rword=〃刘备〃elif wordword==〃丞相〃二〃孟德〃orrword二〃曹操〃else:rword=word counts[rword]=counts,getrword,0+1for wordin excludes:#从字典中删除不是人名的词delcounts[word]items=listcounts,itemsitems,sortkey=lambda reverse=True#按出现次数降序排列for iin range9:#只显示前9个人物word,count=items[i]print〃〃,i+1,〃〃,word,count3运行结果1曹操14292孔明13733刘备12244关羽7795张飞3486如何3367主公3278军土3099吕布299【实例17-3]生成中文词云通过jieba库和wordcloud库,对中文文本txt文件进行分词,并生成词云1问题分析1提前安装好jieba库和wordcloud库可使用Anaconda集成开发环境,其自带常用的第三方库2准备好需要分词的素材文本,将其和源程序放在同一个文件夹下,或在打开文件时写上文件路径3使用jieba库进行分词4使用wordcloud库生成词云2程序代码#sll7-
3.pyimport jiebaimportwordcloudf=openCF:\\zyn23\\2019中国互联网大会部分演讲人精彩观点.txt,r,encoding二〃utf-8〃text_c=f.readwords=jieba.Icut textc text_c_new=,’.join wordsfrom wordcloudimport WordCloudw=wordcloud.WordCloud font_path=,zSTHUPO.ttf〃,backgro undcolor=〃white w.generatetext_c_neww.to_filez,text.png〃3运行结果与表:不「看「包进.珀谶网玛fl创新,吉,’:入;.市口普讯能力」■的米提2金田向■y斛弋翔••4数字图17-1中文词云4思考与讨论
①更换素材文件,生成自己的词云
②词云的默认形状是矩形,可以生成自己设定的形状
四、实验内容L请读取“水浒传.txt”文件,统计《水浒传》中出场次数排名前十的人物
2.编写一个程序,对一篇中文文章进行分词和统计,用词云展示结果3,请抓取某个新闻网站的一页或多页新闻标题,并基于这些标题中的热点词绘制词云
4.统计《唐诗三百首》中的词语出现次数加入停用词表后再统计一次,并过滤长度为1字节的词语
5.编程生成《全唐诗》的词云
6.爬取某电影的评价,生成词云____________________________________________________________章节小结本章在“中文词云”实验里,我们借助jieba库、wordcloud库完成了从文本处理到词云创建的全过程jieba库发挥中文分词专长,将大段文本拆解成一个个有意义的词语,为后续分析奠基文本清洗环节则去除了停用词、特殊符号等干扰信息,让文本更纯净wordcloud库堪称创作大师,依据处理后的文本数据,结合自定义形状、颜色等元素,将高频词汇以直观、美观的词云形式呈现通过本次实验,我们不仅掌握了词云制作技术,还体会到其在文本分析领域,如舆情监测、文章主题提炼等方面的实用价值。
个人认证
优秀文档
获得点赞 0