请给出代码,用python对该文件进行词频统计,计算出词频最高的10个词
时间: 2024-10-08 12:07:21 浏览: 35
可以使用Python的collections库中的Counter对象来帮助我们完成词频统计的任务。这里先提供一个基础版本的实现方法,这个脚本将读取文本文件,并计算单词出现频率然后返回最常见的十个单词:
```python
from collections import Counter
import re
def count_words(filename):
with open(filename, 'r', encoding='utf-8') as file:
text = file.read().lower() # 转换所有文字为小写以避免大小写的重复记录
# 移除非字母字符,并分割字符串获得单词列表
words = re.findall(r'\b\w+\b', text)
counter = Counter(words)
# 返回出现次数最多的10个单词及其次数
return counter.most_common(10)
filename = "pku_training.txt"
top_10_words = count_words(filename)
for word, freq in top_10_words:
print(f"{word}: {freq}")
```
请注意,在实际应用中可能需要进一步清理数据,例如去除停用词(常见的诸如"a", "the", "and"这样的功能词),或者针对特定语言或领域调整正则表达式以更准确地匹配词汇单元。此外,考虑到提供的文档内容包含很多数字和特殊格式(比如日期、百分比等),这些如果也被认为是独立的'词语'的话,则上述代码无需修改即可直接运行。但如果需要排除这类情况,还需适当调整正则表达式。
阅读全文