python神雕侠侣角色名词频统计
时间: 2024-06-13 18:03:16 浏览: 206
基于python的成绩统计系统
5星 · 资源好评率100%
Python中进行神雕侠侣角色名词频统计,通常会涉及到文本处理和数据分析。你可以使用Python的nltk库(自然语言工具包)来分词,然后利用collections库中的Counter类来计算每个名词的出现频率。这里简单概述一下步骤:
1. **下载所需库**:首先确保已安装`nltk`和可能需要的停用词列表,可以使用`nltk.download()`命令。
```python
import nltk
from nltk.corpus import stopwords
from collections import Counter
```
2. **读取文本数据**:如果数据是文本文件,可以使用`open()`函数读取。
3. **文本预处理**:
a. 分词:使用`nltk.word_tokenize()`将文本分割成单词。
b. 去除停用词:使用停用词列表`stopwords.words('chinese')`去除常见的无意义词汇。
c. 提取名词:使用`nltk.pos_tag()`和`nltk.corpus.wordnet.synsets(word)`判断哪些是名词。
```python
nltk.download('punkt')
nltk.download('stopwords')
nltk.download('wordnet')
def is_noun(tag):
return tag.startswith('n')
with open('your_text_file.txt', 'r', encoding='utf-8') as file:
text = file.read()
words = nltk.word_tokenize(text)
stop_words = set(stopwords.words('chinese'))
filtered_words = [word for word in words if word.isalpha() and not word in stop_words]
nouns = [word.lower() for word, tag in nltk.pos_tag(filtered_words) if is_noun(tag)]
```
4. **统计频率**:
使用`Counter`对名词进行计数。
```python
noun_counts = Counter(nouns)
```
5. **输出结果**:
可以打印出出现频率最高的名词,或保存到字典或CSV文件中。
```python
most_common = noun_counts.most_common(10) # 获取最常出现的前10个名词及其频率
for word, count in most_common:
print(f'{word}: {count}')
```
阅读全文