词频统计(Term Frequency Analysis,简称TFA)是一种文本分析方法,用于统计文本中每个单词出现的频率。在Python中,可以使用各种库来实现词频统计,如nltk、collections等。以下是一个使用Python进行词频统计的简单示例:
示例:词频统计
1. 准备文本
假设我们有以下文本:
text = "Hello world! Hello universe. This is a test text for word frequency analysis. Hello again."
2. 清洗和分词
首先,我们需要清洗文本,比如转换为小写,去除标点符号,然后进行分词(将文本分割成单词列表)。
import re
# 转换为小写并使用正则表达式去除标点符号
cleaned_text = re.sub(r'[^\w\s]', '', text.lower())
# 分词
words = cleaned_text.split()
3. 统计词频
使用collections.Counter来统计词频。
from collections import Counter
word_counts = Counter(words)
4. 输出结果
打印词频统计结果。
for word, count in word_counts.items():
print(f"{word}: {count}")
完整代码
将上述步骤合并,得到完整的词频统计代码:
import re
from collections import Counter
# 原始文本
text = "Hello world! Hello universe. This is a test text for word frequency analysis. Hello again."
# 清洗文本并分词
cleaned_text = re.sub(r'[^\w\s]', '', text.lower())
words = cleaned_text.split()
# 统计词频
word_counts = Counter(words)
# 打印词频结果
for word, count in word_counts.items():
print(f"{word}: {count}")
输出示例
hello: 3
world: 1
universe: 1
this: 1
is: 1
a: 1
test: 1
text: 1
for: 1
word: 1
frequency: 1
analysis: 1
again: 1
这个简单的词频统计示例可以帮助你了解文本中每个单词的出现次数。在实际应用中,你可能需要对文本进行更深入的清洗和处理,比如去除停用词(常见的、意义不大的词,如“the”,“is”等),使用词干提取或词形还原等技术来统一单词的不同形式。