实验要求2: 1、实现对中文文本文件的读取(水浒传.txt); 2、实现对中文文本文件的单词抽取; 3、实现对中文文本文件中出现频次最高的前10个词语的抽取,并降序输出(包含频次); 用代码表示
时间: 2024-02-19 15:57:39 浏览: 99
好的,以下是Python代码实现:
```python
import jieba
from collections import Counter
# 读取中文文本文件
with open('水浒传.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 对中文文本文件进行单词抽取
words = list(jieba.cut(text))
# 统计单词出现的频次并取前10个
word_count = Counter(words)
top_10 = word_count.most_common(10)
# 打印前10个词语及其出现的频次
for word, freq in top_10:
print(f'{word}: {freq}')
```
如果想要实现出现频次最高的前10个人物的抽取和降序输出,可以使用类似的方法,先对人物名称进行抽取,然后统计频次并取前10个。代码示例如下:
```python
# 对中文文本文件进行人物名称抽取
jieba.load_userdict('人物名称.txt')
names = []
for word in words:
if len(word) > 1 and word != '\r\n':
names.append(word)
# 统计人物名称出现的频次并取前10个
name_count = Counter(names)
top_10_names = name_count.most_common(10)
# 打印前10个人物名称及其出现的频次
for name, freq in top_10_names:
print(f'{name}: {freq}')
```
其中,'人物名称.txt'文件是一个包含水浒传中人物名称的文本文件,每个名称占一行。
阅读全文