课时4 文本数据处理 教案 浙教版(2019)必修1

资源下载
  1. 二一教育资源

课时4 文本数据处理 教案 浙教版(2019)必修1

资源简介

课时4 文本数据处理
课时目标
1.了解文本数据处理的一般过程和方法。2.掌握分词的方法和技巧。
1.文本数据处理主要应用在搜索引擎、情报分析、自动摘要、自动校对、论文查重、文本分类、垃圾邮件过滤、机器翻译、自动应答等方面。
2.文本内容是非结构化的数据,需将文本从无结构的原始状态转化为结构化。
3.典型的文本处理过程主要包括:分词、特征提取、数据分析、结果呈现等。
(1)分词
中文分词是中文文本信息处理的基础,机器翻译、全文检索等涉及中文的相关应用中都离不开中文分词。
分词是将连续的字序列按照一定的规范重新组合成词序列的过程,也就是将一个汉字序列切分成一个一个单独的词。
常见的分词方法有:①基于词典;②基于统计;③基于规则。
常见的分词系统有
分词系统 简介
jieba分词 Python开源项目,基于词典
IKAnalyzer Java 开源分词工具包
NLPIR 北京理工大学大数据搜索与挖掘实验室,非商业应用免费
语言云哈工大社会计算与信息检索研究中心 在线API接口调用
BosonNLP玻森中文语义开放平台提供 在线API接口或库调用
(2)特征提取
一般采用的方式为根据专家的知识挑选有价值的特征,或者用数学建模的方法构造评估函数自动选取特征等。目前大多采用评估函数进行特征提取的方式,评估函数大多是基于概率统计设计的,这就需要用庞大的训练数据集才能获得对分类起关键作用的特征。随着深度学习、大数据分析等技术的发展,文本特征提取将更加准确、科学。
4.文本数据分析与应用
在取得特征词后,对文本的分析就需要根据项目的需求,确定解决问题的路径,选取合适的工具、设计算法抽取出文本中隐含的价值。
(1)标签云
标签云用词频表现文本特征,将关键词按照一定的顺序和规律排列,如频度递减、字母顺序等,并以文字大小的形式代表词语的重要性。广泛应用于报纸、杂志等传统媒体和互联网。
(2)文本情感分析
文本情感分析是指通过计算机技术对文本的主观性、观点、情绪、极性的挖掘和分析,对文本的情感倾向做出分类判断。文本情感分析主要应用于网络舆情监控、用户评论、分析与决策、信息预测等众多领域。
                
例1 Python中文分词模块jieba采用的分词方法属于 (  )
A.基于词典 B.基于统计
C.基于规则 D.以上都有可能
答案 A
解析 教材中有介绍中文分词模块jieba分词模块中的词典。
变式训练1 依据上下文中相邻字出现的频率,同时出现的次数越高就越可能组成一个词,这种分词方法属于 (  )
A.基于词典 B.基于统计
C.基于规则 D.以上都有可能
答案 B
解析 频率是要经过统计的。
例2 下列关于文本数据处理的说法,正确的是 (  )
A.处理的文本信息通常是结构化数据
B.特征提取是中文文本信息处理的基础
C.目前的分词算法能实现完全准确的进行分词
D.处理的目的是从大规模的文本数据中提取出符合需要的有用模式和隐藏的
信息
答案 D
解析 处理的文本信息是非结构化数据;中文分词是中文文本信息处理的基础。
变式训练2 文本数据处理的主要应用有 (  )
①搜索引擎 ②自动摘要 ③论文查重 ④列车查询 ⑤微博评论典型意见
A.①④⑤ B.①②③⑤
C.②③④ D.②③④⑤
答案 B
解析 “列车查询”中主要应用了结构化数据,①②③⑤中主要应用了非结构化的文本数据。
例3 2022年10月16日,习近平总书记在中国共产党第二十次全国代表大会上作了《高举中国特色社会主义伟大旗帜为全面建设社会主义现代化国家而团结奋斗》的报告,大会后全文发表。现将该报告内容存储在“new.txt”文件中,经程序处理后的数据保存为“newfc.txt”文件。分别如图a、图b所示。
图a
图b
(1)处理文件“new.txt”中的数据生成“newfc.txt”文件的过程,一般称为      。
(2)编写如下Python程序,读取“newfc.txt”文件的数据,并统计其中各词语(2个及以上汉字构成)出现的次数,在画线位置填写合适的代码,完善程序。
import pandas as pd
f=open('newfc.txt','r',encoding='utf-8').read () #读取文件
words = f.split()
#利用空格、换行符将字符串f分割成列表
counts = {}
#建立空字典,用于存放词语及其出现的次数
for word in words: #统计其中各词语(2个及以上汉字构成)出现的次数
  if ①    :
    if word not in counts:
      counts[word] = 0
    ②   
#利用字典生成相应的Series,根据值降序排列
s=pd.Series(③    ).sort_values (ascending=False)
for i in ④    :
#从高到低输出出现次数最多的10个词语
  print(i)
答案 (1)分词 (2)①len(word)>1
②counts[word]+=1 ③counts
④s.head(10).index或者s.index[:10]
解析 本题考查文本数据处理、pandas处理数据(如字典作为Series结构数据的源数据,排序sort_values()以及head()函数等)等操作
(1)根据图b的状态,可以看出生成“newfc.txt”文件的过程是文本处理过程中的
分词。
(2)①处描述的是该词的长度是2个及以上汉字,可以填入len(word)>1或len(word)>=2;当有长度大于等于2个汉字的词第一次出现的时候,添加一个新的键值对,先设置counts[word]为0,②处该词出现的次数加1,可以填入counts[word]+=1;③处利用字典counts的数据生成相应的Series结构数据,可以填入counts;字典作Series的原始数据时,字典的键作为索引index,字典的值作为数据列,i要遍历对象s经过降序排序后的前10条数据的索引值,所以④处需要填入的是s.head(10).index或者s.index[:10]。
变式训练3 在网上搜索朱自清的《绿》文章,如图所示。
(1)搜索的信息并保存为txt文件,该过程称为        。
(2)“绿.txt”文件是文本的类型是    。(填字母:A.结构化数据/B.半结构化数据/C.非结构化数据)
(3)制作标签云的代码如下:
import collections
import jieba
import wordcloud as wc
import numpy as np
from PIL import Image
wcg=wc.WordCloud(background_color="white",font_path='assets/msyh.ttf')
text=open('data/绿.txt',encoding='utf-8').read()
seg_list=     
f=collections.Counter(seg_list)
wcg.fit_words(f)
wcg.to_file('output/b.png')
划线处语句是调用jieba对象的cut函数对变量为text文件进行分词,则该处语句为        。
(4)得到的云标签如图所示。
该图片的文件名是    ,表示该文本特征是        (至少写出3个)。
答案 (1)采集信息 (2)C (3)jieba.cut(text) (4)b.png 我的着了绿 梅雨潭
解析 获取信息的过程,称为信息的采集。从文件的内容来看,属于非结构化信息。jieba对象的cut函数对文本文件进行切割,应为jieba.cut(文件名)。标签云用词频表现文本特征,一般以文字大小的形式代表词语的重要性。
                
1.有关大数据的文本数据处理,下列说法正确的是 (  )
A.jieba模块的分词算法属于基于统计的分词方法
B.大数据文本情感分析是电脑将自己的情感表现出来
C.文本处理过程中一般先进行数据分析,再分词、提取特征,最后呈现结果
D.标签云一般根据词频表现文本特征,以文字大小代表词语的重要性
答案 D
解析 A选项jieba模块的分词算法属于基于字典。C选项文本处理的一般过程为:分词、特征提取、数据分析、结果呈现。
2.下列关于中文分词方法的描述中,属于基于词典的分词方法的是 (  )
A.在分析句子时与词典中的词语进行对比,词典中出现的就划分为词
B.依据上下文中相邻字出现的频率统计,同时出现的次数越高就越可能组成一个词
C.让计算机模拟人的理解方式,根据大量的现有资料和规则进行学习,然后分词
D.依据词语与词语之间的空格进行分词
答案 A
解析 B选项基于统计。C选项基于规则。
3.在中文文本分析中,一般不用做文本的特征项的是 (  )
A.字 B.词
C.短语 D.段落
答案 D
4.下列数据分析中可能涉及文本情感分析的是 (  )
A.博主地域分析 B.微博评论内容分析
C.微博发布设备分析 D.博主男女比例分析
答案 B
5.某研究小组对采集的省内微博数据进行了研究,用不同的颜色来表示心情,在区域地图上展示了不同地区的人在不同时间的情绪变化,该研究小组所使用的文本数据分析是 (  )
A.词频统计 B.标签云
C.文本情感分析 D.文本挖掘
答案 C
解析 根据题目描述可知,本题是通过计算机技术对文本的情绪进行挖掘和分析,并对文本的情感倾向做出分类判断,因此属于文本情感分析,答案为C。
一、基础巩固
                
1.下列数据处理中,不属于文本数据处理的是 (  )
A.根据白名单和黑名单机制,进行垃圾邮件的识别
B.在线客服通过自动应答技术回答问题
C.实时监测景区的人流数据,控制过多的游客进入景区
D.分析消费者的意见数据,挖掘用户观点,辅助运营决策
答案 C
解析 C选项只是掌握游客数量,没有进行分词等文本操作。
2.下列数据处理中,不属于文本数据处理的是 (  )
A.将中文翻译成其他国家的文字
B.输入姓名、单位等信息,制作通讯录
C.检测的论文内容与对比库中的资料进行对比,检测论文可信度
D.解析大量合同文档,有效监控风险条款,节省人力和时间成本
答案 B
解析 制作通讯录的材料是结构化数据。
3.文本数据处理的主要步骤由以下部分选项组成:
①文本校对 ②特征抽取 ③数据分析
④分词 ⑤文本获取 ⑥结果呈现
正确的顺序是 (  )
A.⑤②④③⑥ B.⑤③④②⑥
C.⑤④②③⑥ D.⑤④①③②⑥
答案 C
解析 考查文本处理的4个过程,该过程中没有文本校对这个步骤。
4.下列数据分析中可能没有涉及文本情感分析的是 ( )
A.用户评论内容分析
B.用户年龄分布分析
C.预测股票走势和价格
D.用户投诉商品会话
答案 B
解析 评论内容有坏有好,预测股票走势会带来情感,用户投诉商品会有偏向。但用户年龄分布分析比较客观。
5.下列有关文本数据分析与应用的说法正确的是 (  )
A.文本的情感分析带有主观感情
B.标签云只统计各个字词出现的概率
C.标签云比较适合用户评论分析与决策
D.需要根据项目的需求,确定解决问题的路径,选取合适的工具
答案 D
解析 用户评论分析与决策往往带有主观想法。
6.分析某城市的介绍,创建的标签云如图所示。
其中用作文本的特征项的是 (  )
A.字 B.词 
C.句子 D.段落
答案 B
解析 观察标签云可知,用作文本的特征项的是词,因此答案为B。
7.某文本数据集的标签云如图所示,下列说法正确的是 (  )
A.对数据集中文本分词后可直接创建标签云,无须特征提取
B.标签云须显示该数据集包含的全部词语
C.该数据集中,词语“玩偶”比“注意力”的出现频率高
D.最能表现该数据集中文本特征的词有“车顶”“玩偶”“路口”
答案 C
解析 A选项分词后,还要统计。B选项可以包含部分词语。D选项路口并不是主要特征。
8.下列关于数据可视化的描述中,错误的是 (  )
A.标签云是基于语句的文本内容可视化
B.数据可视化将数据以图形图像等形式表示
C.数据可视化可以直观的呈现数据中蕴含的信息
D.数据可视化增强了数据的解释力与吸引力
答案 A
解析 A选项标签云用词频表现文本特征。
9.编写一个Python程序,为一篇主题关于“碳中和”的文章制作标签云,如图所示。下列说法不正确的是 (  )
A.这篇文章属于结构化数据
B.该程序可以使用jieba模块进行分词
C.基于词典和基于统计的分词方法一般是结合使用的
D.标签云用词频表现文本特征,词频越高的文字越大
答案 A
解析 本题考查对文本数据处理的理解。A选项文本内容是非结构化的数据。
10.若字符串str1="小明打死老虎",有如下Python程序:
import jieba
#1.全模式:['小','明','打死','打死老虎','死老虎','老虎']
fc1=jieba.lcut(str1,cut_all=True)
#2.精简模式:['小明','打死老虎']
fc2=jieba.lcut(str1,cut_all=False)
下列有关文本分词处理,说法正确的是 (  )
A.使用jieba分词处理的文本内容属于结构化的数据
B.文本处理过于复杂,语文作文机器自动阅卷目前无法实现
C.采用全模式分词产生的分词数量一定多于精简模式的分词数量
D.文本的处理过程主要包括:分词、特征提取、数据分析、结果呈现等
答案 D
11.制作“中国”词云Python代码如下:
import jieba
import imageio
from wordcloud import wordCloud
text=①   #读取文本文件“中国.txt”到text对象中
mask=imageio.imread('中国.jpg')
wcg=wordCloud(background_color="white",font_path='STZHONGS.TTF',mask=mask)
seg_list=②   #对文本进行分词
f=collections.Counter(seg_list)
wcg.fit_words(f)
③   #创建词云图片文件“中国.png”
运行该程序段,内置的collections库用Counter函数统计词频。
请回答下列问题︰
(1)结合代码,根据以上提示,则①②处对文本文件进行读取和分词的语句应分别填入的是①      ,②      。
(2)若要创建如下图所示的词云,则③必应填入的语句是        。
(3)图中所出现的词是根据词频统计进行显示的。结合以上代码进行分析,则统计词频的语句是        。
答案 (1)①open("中国.txt").read
②jiaba.cut(text) (2)wcg.to_file("中国.png")
(3)f=collections.Counter(seg_list)
二、能力提升
12.制作标签云的代码如下:
import collections
import jieba
import wordcloud as wc
import numpy as np
from PIL import Image
mask=np.array(Image.open("assets/heart.jpg"))
wcg=wc.WordCloud(background_color="white",font_path='assets/msyh.ttf',mask=mask)
text=open('data/浙江师范大学.txt', encoding='utf-8').read()
seg_list=jieba.cut(text)
f=collections.Counter(seg_list)
    ①    
wcg.fit_words(f)
wcg.to_file('output/c.png')
运行该程序段,输出如图a所示的标签云。内置的collections库用Counter函数可以统计各个字词出现的频率。请回答下列问题:
图a
(1)结合代码,根据以上提示,则对文本文件进行分词的语句是        。
(2)若要输出各个字词及出现的次数,运行过程如图b所示,则划线①处应填入的代码为      。
图b
答案 (1)seg_list=jieba.cut(text)
(2)print(f)
解析 统计各个字词出现的频率语句应为f=collections.Counter(seg_list),则seg_list就是分词的结果,因此分词的语句是seg_list=jieba.cut(text)。若要打印出这个字典信息,使用print()方法。
13.阿泽同学使用百度搜索关键字“元旦”,将采集到的结果数据存储为文本文件,如图a所示,统计其中各词语(2个及2个以上文字构成)出现的次数并以衢州地图为轮廓将其制作成标签云,如图b所示。
请回答下列问题:
(1)编写如下Python程序,读取文件,并统计各词语(2个及2个以上文字构成)出现的次数。请在划线处填写合适代码,完善程序。
import jieba
import os
txt=open(″①    ″,″r″).read()
words=jieba.cut(txt,cut_all=False)
counts={}
for word in words:
  if ②    :
    continue
  else:
    if word in counts:
      counts[word]+=1
    else:
      ③   
#生成词云代码略
(2)下列描述正确的是    (多选,填字母)。
A.文本数据处理主要应用在搜索引擎、情报分析、自动摘要、自动校对、自动应答等方面
B.基于词典的分词方法、基于统计的分词方法和基于规则的分词方法是常用的中文分词算法,其中基于规则的统计方法在实际应用中较多
C.标签云用词频表现文本特征,将关键词按照一定的顺序和规律排列,并以文字大小的形式代表词语的重要性
D.典型的中文文本处理过程主要包括:分词、特征提取、数据分析、结果呈现等
E.数据可视化增加了读者的阅读难度
答案 (1)①″元旦.txt″ ②len(word)==1或len(word)<2 ③counts[word]=1
(2)ACD
解析 (1)①以只读模式打开文本文件并且进行处理,文件名需要加上后缀:″元旦.txt″
②用jieba进行分词后,words中为词汇列表,每次遍历其中的一个词汇,2个或2个以上字构成的词汇需要统计次数置于字典counts中,因此需要coutinue即跳过当前循环继续下一次循环的条件为:len(word)==1或len(word)<2。
③此处表示当前遍历到的词汇在counts字典中没有,此时需要新增元素,并且将值变为1:counts[word]=1。
(2)B选项中基于词典的统计方法在实际应用中较多。

展开更多......

收起↑

资源预览