利用nltk统计文档中各单词出现的次数
时间: 2023-11-17 15:04:21 浏览: 95
以下是一个使用nltk统计文档中各单词出现次数的示例代码:
```python
import nltk
from nltk.tokenize import word_tokenize
from collections import Counter
# 读取文本文件
with open('example.txt', 'r') as file:
text = file.read()
# 分词
words = word_tokenize(text)
# 统计单词出现次数
word_counts = Counter(words)
# 输出前10个出现次数最多的单词
for word, count in word_counts.most_common(10):
print(word, count)
```
在代码中,首先使用 `open()` 函数读取文本文件,然后使用 `word_tokenize()` 函数将文本分词为单词列表。接着,使用 `Counter()` 函数统计每个单词出现的次数,并将结果存储在 `word_counts` 变量中。最后,使用 `most_common()` 方法输出出现次数最多的前10个单词及其出现次数。
相关问题
利用jieba进行英文文档词频统计
虽然jieba是一个中文分词工具,但是它也可以用来进行英文文档的词频统计。具体步骤如下:
1. 安装jieba库
```python
!pip install jieba
```
2. 导入库并读取文本文件
```python
import jieba
with open('test.txt', 'r', encoding='utf-8') as f:
text = f.read()
```
3. 对文本进行分词
```python
words = jieba.lcut(text)
```
4. 去除停用词
英文文本的停用词可以通过nltk库进行下载和使用。
```python
import nltk
from nltk.corpus import stopwords
nltk.download('stopwords')
stop_words = set(stopwords.words('english'))
filtered_words = []
for word in words:
if word not in stop_words:
filtered_words.append(word)
```
5. 统计词频
```python
from collections import Counter
word_count = Counter(filtered_words)
```
6. 输出结果
```python
print(word_count)
```
结果会输出每个单词出现的次数。
利用Python分析英文文本文档词汇筛选
分析英文文本文档词汇可以利用 Python 中的自然语言处理库,例如 NLTK。以下是一个简单的示例代码,可以对文本进行词汇筛选:
```python
import nltk
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
# 读取文本文件
with open('english_text.txt', 'r') as f:
text = f.read()
# 分词
words = word_tokenize(text)
# 去除停用词
stop_words = stopwords.words('english')
filtered_words = [word for word in words if word.lower() not in stop_words]
# 统计词频
word_count = nltk.FreqDist(filtered_words)
# 输出出现频率最高的前10个单词
for word, count in word_count.most_common(10):
print(word, count)
```
这段代码首先使用 NLTK 的 `word_tokenize()` 函数将文本分词,然后使用 NLTK 提供的英文停用词列表去除停用词,最后统计单词出现的次数。你可以根据实际情况修改停用词列表、输出数量等参数。
需要注意的是,英语的词汇和语法比较复杂,因此在进行词汇筛选时需要考虑很多细节,例如大小写转换、标点符号处理、动词变形等。此外,还需要注意词汇的上下文关系,例如同一个单词在不同上下文中可能具有不同的含义。
阅读全文