1. 简介
Python小程序—文本词频统计是一个简单的程序,用于统计给定文本中各个单词出现的频率。通过对输入文本进行分词和计数操作,可以得到每个单词在文本中出现的次数,并按照频率进行排序。
2. 程序实现
2.1 准备工作
在开始编写程序之前,需要确保已经安装了Python的开发环境和相应的库。本程序使用了NLTK(Natural Language Toolkit)库来实现分词功能。
首先,安装NLTK库。可以使用以下命令在命令行中安装:
pip install nltk
然后,导入所需的库:
import nltk
from nltk.tokenize import word_tokenize
from nltk.probability import FreqDist
2.2 文本分词
程序的第一步是将输入的文本进行分词,即将文本拆分成一个个单词。可以使用NLTK库的word_tokenize
函数来实现:
text = input("请输入待统计的文本:")
tokens = word_tokenize(text)
通过上述代码,可以将输入的文本text
拆分成一个个单词,并存储在tokens
变量中。
2.3 单词计数
接下来,需要对分词后的结果进行计数。可以使用NLTK库的FreqDist
类来实现:
freq_dist = FreqDist(tokens)
上述代码会统计tokens
中每个单词出现的次数,并将结果保存在freq_dist
变量中。
2.4 频率排序
最后一步是对单词的频率进行排序,从高到低排列。可以使用freq_dist
对象的most_common
方法来实现:
sorted_freq = freq_dist.most_common()
上述代码将返回一个按照频率从高到低排序的列表sorted_freq
。
3. 运行程序
在完成程序的编写之后,可以通过命令行运行程序,并输入待统计的文本。程序将输出每个单词及其出现的次数。
print("单词\t\t频率")
for word, freq in sorted_freq:
print(f"{word}\t\t{freq}")
4. 示例运行
假设输入的待统计文本为:
This is a test. This is only a test.
运行程序后,将得到以下输出:
单词 频率
this 2
is 2
a 2
test 2
. 1
only 1
5. 总结
通过本文介绍的Python小程序—文本词频统计,可以方便地统计给定文本中各个单词的频率。通过NLTK库的分词和计数功能,可以实现快速且准确的统计结果。该程序可以应用于文本分析、自然语言处理等领域,为后续的文本处理工作提供基础支持。