有一段英文:text,请统计出该段英文有多少个单词,如果不算of,a,the三个单词,给出出现频率最高的三个单词,并给出她们出现的次数,python语言
时间: 2024-11-27 16:12:24 浏览: 3
在Python中,你可以使用`nltk`库来进行文本处理,包括单词计数和排除特定单词。首先需要安装这个库,可以使用`pip install nltk`命令。以下是一个简单的步骤来完成你的需求:
1. 导入必要的库和模块:
```python
import re
from collections import Counter
from nltk.corpus import stopwords
nltk.download('stopwords') # 首次运行这行下载停用词列表
```
2. 定义函数来统计单词数量和频率(去除指定单词):
```python
def count_words(text, exclude_stopwords=['of', 'a', 'the']):
stop_words = set(stopwords.words('english')) | set(exclude_stopwords)
words = re.findall(r'\b\w+\b', text.lower()) # 正则表达式匹配单词,忽略标点和大小写
word_counts = Counter(word for word in words if word not in stop_words)
top_three = word_counts.most_common(3) # 获取出现频率最高的三个单词及其次数
return len(words), top_three
```
3. 调用函数并打印结果:
```python
text = "Your English text goes here..."
word_count, most_common = count_words(text)
print(f"Total words (excluding {exclude_stopwords}): {word_count}")
print("Top three words by frequency:")
for word, freq in most_common:
print(f"{word}: {freq} times")
```
将文本内容替换到`text`变量中,然后程序会计算并输出你需要的信息。
阅读全文