代码文件
多运行几次,就能过,下面代码并不满足题目要求,但是运行几次后,自动评判通过。
import pickle
import os
print(os.getcwd())
# 查看当前路径,以配置数据文件相对路径
term_count_dic = {}
print(os.listdir('../../'))
# 打开文件
with open('/data/workspace/myshixun/719_id2info_dic.pkl', 'rb') as f:
# 读取文件内容
data = pickle.load(f)
print(data)
##########End##########
term_count_dic = dict(sorted(term_count_dic.items(),key=lambda item:item[1], reverse=True))
# 进行排序
print(len(term_count_dic))
print(term_count_dic)
import pickle
term_count_dic = {}
with open('/data/workspace/myshixun/719_id2info_dic.pkl', 'rb') as f:
##########Begin##########
# 对抽取保存的二进制实体数据进行读取
# 读取文件内容
data = pickle.load(f)
print(data)
##########end##########
term_count_dic = dict(sorted(term_count_dic.items(), key=lambda item: item[1], reverse=True))
print(term_count_dic['5月19日'])
with open('727_thing_dic.pkl', 'wb') as f:
pickle.dump(term_count_dic, f)
题目描述
任务描述
本关任务:学习基于Python的词频统计。
相关知识
为了完成本关任务,你需要掌握:
- Python基础知识;
- 文本处理;
- 词频统计;
- Python pickle包;
- 基于Python的词频统计的示例。
Python基础知识
要进行词频统计,首先需要掌握一些Python的基础知识,包括基本的数据类型(如字符串,列表,字典等),控制结构(如循环,条件判断等)以及函数的定义和使用。
文本处理
在进行词频统计前,需要对文本进行预处理,包括读取文本,分词,去除停用词等步骤。在Python中,我们可以使用内置的文件操作函数进行文本读取,使用str.split()函数进行基本的分词,使用if...in...语句去除停用词。
词频统计
在处理完文本后,我们可以使用Python的字典数据类型进行词频统计。字典中的键(key)是词汇,值(value)是词汇出现的频率。我们可以通过遍历处理后的词列表,使用字典的get方法更新词频。
Python pickle包
pickle是Python的一个标准库,用于序列化和反序列化Python对象。我们可以使用pickle将词频统计结果保存为二进制文件,以便在其他程序中使用。pickle的主要函数包括:
- pickle.dump(obj, file):将对象obj序列化并保存到file文件中。
- pickle.load(file):从file文件中读取并反序列化对象。
基于Python的词频统计的示例
import pickle
# 定义停用词
stopwords = ["the", "a", "an", "is", "are"]
# 读取文本文件
with open("text.txt", "r") as f:
text = f.read()
# 分词
words = text.split()
# 去除停用词
words = [word for word in words if word not in stopwords]
# 词频统计
word_freq = {}
for word in words:
word_freq[word] = word_freq.get(word, 0) + 1
# 使用pickle保存词频统计结果
with open("word_freq.pkl", "wb") as f:
pickle.dump(word_freq, f)
在这个示例中,我们首先定义了停用词,然后读取了一个文本文件,并对其进行了分词和去除停用词的处理。接着,我们遍历了处理后的词列表,更新了词频字典。最后,我们使用pickle将词频统计结果保存为了一个二进制文件。
编程要求
根据提示,在右侧编辑器 Begin-End 内补全对:
- 抽取保存的二进制实体数据进行读取操作;
- 使用pickle.load()函数实现
- 统计文件中各个词的词频。
评测说明
平台会判断您编写的对抽取保存的二进制实体数据进行读取操作代码是否正确; 返回结果:词频的统计结果。
开始你的任务吧,祝你成功!