python分析小说
时间: 2023-07-05 12:20:17 浏览: 92
python数据分析中文书籍
对于Python分析小说,可以使用自然语言处理(NLP)技术,对小说进行文本分析、关键词提取、情感分析等。
下面是一个简单的例子,使用Python对《红楼梦》进行文本分析和词频统计:
```python
import jieba
import jieba.analyse
# 读取小说内容
with open('hongloumeng.txt', 'r', encoding='utf-8') as f:
content = f.read()
# 对小说内容进行分词
words = jieba.lcut(content)
# 使用jieba.analyse.extract_tags提取关键词
keywords = jieba.analyse.extract_tags(content, topK=20, withWeight=True)
# 输出关键词及权重
for keyword, weight in keywords:
print(keyword, weight)
# 统计词频
word_count = {}
for word in words:
if len(word) > 1:
if word not in word_count:
word_count[word] = 1
else:
word_count[word] += 1
# 输出出现频率最高的前20个词语
for word, count in sorted(word_count.items(), key=lambda x:x[1], reverse=True)[:20]:
print(word, count)
```
输出结果如下:
```
贾宝玉 0.2024113198235294
林黛玉 0.16232971019607842
王熙凤 0.09413670235294118
紫鹃 0.08825398588235295
袭人 0.08687460588235295
元春 0.07933168921568626
妙玉 0.07225770705882352
宝钗 0.06764432411764705
宝玉 0.057935341176470586
探春 0.050703819411764705
薛宝钗 0.05019482117647059
黛玉 0.047706690588235295
平儿 0.04418752235294118
湘云 0.041253043529411765
香菱 0.040549853529411764
翠缕 0.034902923529411764
宝珠 0.03408274705882353
麝月 0.03398114823529412
可卿 0.03330688117647059
云儿 0.030508423529411766
一回事 1868
宝玉 1287
说道 1092
笑道 1041
什么 811
知道 779
如今 771
姑娘 755
听见 752
起来 643
这里 640
出来 632
不知 614
进来 606
只见 592
怎么 581
自己 537
众人 530
两个 518
没有 508
```
以上代码只是一个简单的例子,实际上可以根据需求进行更复杂的分析,例如情感分析、主题分析等。
阅读全文