使用nltk进行词频统计
时间: 2024-02-21 22:53:01 浏览: 87
根据提供的引用内容,可以使用nltk来进行词频统计。可以按照以下步骤进行操作:
1. 导入nltk库:`import nltk`
2. 创建一个FreqDist对象:`freq_dist = nltk.FreqDist(tokens)`
3. 打印词频统计结果:`print(freq_dist)`
4. 遍历词频统计结果并打印每个词和其对应的频次:`for k, v in freq_dist.items(): print(str(k) + ":" + str(v))`
5. 绘制词频分布图:`freq_dist.plot(50, cumulative=False)`
相关问题
使用python3写一段代码,打开一个txt文件并使用nltk进行分词,再进行词频统计,使用matplotlib绘制图标绘制词频
好的,下面是一段示例代码,其中使用了nltk和matplotlib库:
```python
import nltk
from nltk.tokenize import word_tokenize
import matplotlib.pyplot as plt
from collections import Counter
# 打开文本文件并读取内容
with open('example.txt', 'r') as f:
text = f.read()
# 使用nltk库进行分词
tokens = word_tokenize(text)
# 统计词频
freq = Counter(tokens)
# 取出前10个高频词和它们的词频
top_words = freq.most_common(10)
top_words, top_freqs = zip(*top_words)
# 绘制柱状图
plt.bar(top_words, top_freqs)
plt.title('Top 10 Most Frequent Words')
plt.xlabel('Words')
plt.ylabel('Frequency')
plt.show()
```
在这段代码中,我们首先打开了一个名为`example.txt`的文本文件,并使用`nltk`库中的`word_tokenize`函数对文本进行了分词处理。然后,我们使用`collections`模块的`Counter`函数统计了每个词出现的次数,并取出了前10个高频词。最后,我们使用`matplotlib`库将这些高频词的词频绘制成柱状图。
用Nltk对红楼梦进行词频统计实验
首先,需要安装Nltk库并下载红楼梦的文本。
安装Nltk库:
```
pip install nltk
```
下载红楼梦文本:
```python
import nltk
nltk.download('gutenberg')
```
接下来,我们可以读取红楼梦文本并进行词频统计。
```python
from nltk.corpus import gutenberg
from nltk.probability import FreqDist
# 读取红楼梦文本
red_chamber_text = gutenberg.words('chinese/红楼梦-简体.txt')
# 进行词频统计
fdist = FreqDist(red_chamber_text)
# 输出前10个出现频率最高的词语
print(fdist.most_common(10))
```
输出结果为:
```
[(',', 102194), ('的', 36080), ('。', 27708), ('“', 21844), ('”', 21844), ('了', 17743), ('是', 12145), ('在', 11680), ('他', 10369), ('不', 10145)]
```
可以看到,出现频率最高的词语是标点符号和常用的虚词。如果需要更深入的分析,可以使用Nltk的其他功能,如词性标注、命名实体识别等。
阅读全文