不下载nltk库,自建停用词进行英文词频统计并输出排行前十词汇
时间: 2024-11-27 16:23:32 浏览: 20
在Python中,如果你不想下载NLTK库,你可以自定义停用词列表,并通过`collections.Counter`来进行英文文本的词频统计。这里是一个简单的步骤示例:
首先,你需要创建一个包含常用英文停用词的列表。这些词通常是常见的介词、连词和冠词等,例如"the", "is", "and"等。你可以在网上找到这样的停用词列表,也可以自行收集。
```python
import string
from collections import Counter
# 自定义停用词列表
stop_words = ["the", "be", "to", ...] # 根据需要填充停用词
def get_top_words(text, stop_words):
# 清洗文本:移除标点符号,转换为小写
text = text.translate(str.maketrans('', '', string.punctuation)).lower()
# 分割单词
words = text.split()
# 移除停用词
filtered_words = [word for word in words if word not in stop_words]
# 统计词频
word_counts = Counter(filtered_words)
# 返回前十个最频繁的单词及其频率
return word_counts.most_common(10)
# 示例用法
text = "This is a sample text with some common words and some stopwords."
top_words = get_top_words(text, stop_words)
for word, count in top_words:
print(f"{word}: {count}")
```
在这个例子中,`get_top_words`函数会返回文本中除去停用词后剩余词的前十个最常见的单词及其出现次数。注意,这个方法并不包括像NLTK那样的复杂分词处理,所以结果可能会略逊于使用预训练工具如NLTK得到的结果。
阅读全文