《射雕英雄传》中文词频统计
时间: 2023-12-31 22:07:00 浏览: 155
中文词频统计.py
以下是《射雕英雄传》中文词频统计的步骤:
1. 首先,需要将小说文本进行处理,去除特殊符号和无意义词。可以使用Python中的pandas库读取小说文本,并使用正则表达式去除特殊符号和无意义词。代码如下:
```python
import pandas as pd
import re
# 读取小说文本
raw = pd.read_csv('work/金庸-射雕英雄传txt精校版.txt', names=['txt'], sep="aaa", encoding="GBK")
# 去除特殊符号和无意义词
punc = pd.read_csv('work/punctuation.txt', header=None, names=['txt'], sep="aaa", encoding="GBK")
meaningless = pd.read_csv('work/meaningless.txt', header=None, names=['txt'], sep="aaa", encoding="GBK")
pattern = '|'.join(list(punc['txt']) + list(meaningless['txt']))
raw['txt'] = raw['txt'].apply(lambda x: re.sub(pattern, '', x))
```
2. 接下来,需要对小说文本进行分词。可以使用Python中的jieba库进行中文分词。代码如下:
```python
import jieba
# 对小说文本进行分词
raw['txt'] = raw['txt'].apply(lambda x: ' '.join(jieba.cut(x)))
```
3. 最后,统计每个词出现的次数,并按照词频从高到低排序。代码如下:
```python
from collections import Counter
# 统计每个词出现的次数
words = []
for line in raw['txt']:
words += line.split()
word_count = Counter(words)
# 按照词频从高到低排序
result = sorted(word_count.items(), key=lambda x: x[1], reverse=True)
print(result)
```
运行以上代码,即可得到《射雕英雄传》中文词频统计的结果。
阅读全文