词频分析是文本分析技术基础,请写出一段算法,统计给定的英文文本中出现了多少个词,并以降序形式输出。
时间: 2024-11-09 17:19:23 浏览: 25
Python实例-毕业项目设计:文本分析与词频统计工具
词频分析通常是通过将文本拆分成单词,然后创建一个计数器来跟踪每个单词的出现次数。以下是一个简单的Python算法示例,使用`collections.Counter`类:
```python
from collections import Counter
import re
def word_frequency_analysis(text):
# 清洗文本,移除标点符号并转换为小写
cleaned_text = re.sub(r'[^\w\s]', '', text).lower()
# 拆分文本成单词列表
words_list = cleaned_text.split()
# 使用Counter计算词频
word_counts = Counter(words_list)
# 将结果按频率降序排序
sorted_word_counts = word_counts.most_common()
return sorted_word_counts
# 测试函数
example_text = "This is a sample text for word frequency analysis. It contains several words that will be counted."
result = word_frequency_analysis(example_text)
print("单词及其出现次数(降序):")
for word, count in result:
print(f"{word}: {count}")
```
这个函数首先去除文本中的标点符号并将所有字母转为小写,然后按照空格分割得到单词列表,接着使用`Counter`对单词进行计数,最后返回一个元组列表,其中元素按词频降序排列。
阅读全文