使用jieba,文档中有5篇文档,对文档进行读取,分词,去除文档中标点,符号,字母等,并建立分词表,统计词出现的概率,列出top100的高频词
时间: 2024-09-08 14:01:35 浏览: 53
txt、word文档词频分析源码(可直接运行)
5星 · 资源好评率100%
jieba是一个优秀的中文分词库,它支持三种分词模式:精确模式、全模式和搜索引擎模式,适合不同的文本处理需求。下面是一个使用Python和jieba库对五篇文档进行分词、去除非中文字符、统计词频并输出前100个高频词的步骤:
1. 首先,需要安装jieba库,可以通过pip命令安装:
```bash
pip install jieba
```
2. 接下来,编写Python脚本来处理文档。首先读取文档内容,然后使用jieba进行分词。
3. 对分词结果进行清洗,去除标点、符号和字母。
4. 建立一个字典来统计每个词的出现次数。
5. 对字典按照词频进行排序,并提取出现频率最高的前100个词汇。
下面是一个简单的代码示例:
```python
import jieba
from collections import Counter
import re
# 假设文档内容以列表形式提供,实际使用时可以通过读取文件来获取
documents = [
"这里是第一篇文档的内容...",
"这里是第二篇文档的内容...",
"这里是第三篇文档的内容...",
"这里是第四篇文档的内容...",
"这里是第五篇文档的内容..."
]
# 初始化一个Counter对象用于统计词频
word_counter = Counter()
# 定义一个函数,用于去除分词结果中的非中文字符
def remove_non_chinese(text):
return re.sub(r'[^\u4e00-\u9fa5]', '', text)
# 对每篇文档进行分词处理
for doc in documents:
# 使用jieba进行分词
words = jieba.lcut(doc)
# 清洗分词结果,移除非中文字符
clean_words = [remove_non_chinese(word) for word in words if re.match(r'^[\u4e00-\u9fa5]+$', word)]
# 更新词频统计
word_counter.update(clean_words)
# 获取出现频率最高的100个词汇
top_100_words = word_counter.most_common(100)
# 打印结果
for word, freq in top_100_words:
print(f"{word}: {freq}")
阅读全文