本次使用的数据为剧本《等待戈多》。详细数据见附带的文档,每一行为剧本中的一个元素。剧本经过了部分简化处理,主要有两种格式的数据。
弗拉季米尔:光一个人,是怎么也受不了的。(略停。兴高采烈地)另一方面,这会儿泄气也不管用了,这是我要说的。我们早想到这一点就好了,在世界还年轻的时候,在九十年代。
[爱斯特拉冈坐在一个低低的土墩上,想脱掉靴子。他用两手使劲拉着,直喘气。他停止拉靴子,显出精疲力竭的样子,歇了会儿,又开始拉靴子。
一种为人物+中文冒号+台词的形式。
另一种为剧本中的其他内容,转场词、场景描述等语句。
2. 学会使用jieba分词对中文句子进行分词,输入一个中文字符串,能够得到字符串分词之后的列表。
3. 读取剧本,找出和上述例子二中相似的句子(即不含中文冒号的句子)。构建一个字典类型的数据结构,用来进行词的数目的统计。使用jieba进行分词之后,使用字典统计每个词出现的次数。命名为others字典。最后格式如下:
4. 读取剧本,找出和上述例子一中相似的句子(包含中文冒汗的句子)。分词每句台词,提取出说台词的角色名称。结合步骤3中构建词语频率统计的方法,对每个角色所说的话里出现的词的数目进行统计,最后构造一个角色词频字典,命名为human对象。格式如下:
5. 结合步骤3、4中构造的两个字典对象,构造一个名称为story的字典对象,存储步骤3、步骤4中的两个字典。格式如下:
6. 使用python中的json库,将步骤5中的字典对象保存为story_no_stop.json文件名的json格式文件,并使用文本编辑器打开查看文件内容。
7. 使用python读取存储的json文件内容,恢复为字典文件story,输出恢复的对象的内容。
8. 输出每个角色对应的词频排名前5的词,输出others中排名前5的词,格式如下(图中为已经去除停用词的结果):
9. 输出排名前10的词。
可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。