You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Google Colab实现文本清洗与Top10高频词统计

功能实现代码

你现有代码是按单字符维度做的统计,要完成文本清洗、词频Top10统计,直接用下面的可运行代码替换原有内容即可,适配Google Colab环境:

!pip install wikipedia
import re
import nltk
from nltk.probability import FreqDist
from nltk.corpus import stopwords
nltk.download('punkt')
nltk.download('stopwords')
import wikipedia

# 获取维基百科词条内容
wikipedia.set_lang("en")
page = wikipedia.page("bitcoin")
raw_content = page.content

# --------------------------
# 1. 文本预处理清洗
# --------------------------
# 去除所有非英文字母、非空格的特殊符号、标点、数字
cleaned_content = re.sub(r'[^a-zA-Z\s]', '', raw_content)
# 将连续空白(换行、多空格、制表符)统一替换为单个空格,去除首尾冗余空白
cleaned_content = re.sub(r'\s+', ' ', cleaned_content).strip()
# 统一转小写,避免同单词因大小写差异被拆分统计
cleaned_content = cleaned_content.lower()

# --------------------------
# 2. 词维度频率统计
# --------------------------
# 分词:将整段文本拆分为独立词列表
word_list = nltk.word_tokenize(cleaned_content)
# 加载英文停用词,过滤the/of/and这类无实际语义的高频功能词,不需要可注释以下两行
stop_words = set(stopwords.words('english'))
word_list = [word for word in word_list if word not in stop_words and len(word) > 1]

# 统计词频
word_freq = FreqDist(word_list)
# 按词频降序取前10位高频词
top10_high_freq_words = word_freq.most_common(10)

# 输出结果
print("=== 文本基础统计 ===")
print(f"清洗后总字符数:{len(cleaned_content)}")
print(f"去重字符数:{len(set(cleaned_content))}")
print(f"总词数(过滤停用词后):{len(word_list)}")
print(f"独立词数:{len(set(word_list))}")
print("\n=== 词频Top10(降序) ===")
for rank, (word, count) in enumerate(top10_high_freq_words, start=1):
    print(f"第{rank}名:{word},出现次数:{count}")
关键逻辑说明
  • 文本清洗分三步完成:先过滤无意义特殊符号,再统一处理多余空白字符,最后做大小写归一,从源头避免统计误差。
  • 代码补全了NLTK所需的停用词资源自动下载逻辑,第一次在Colab运行时会自动拉取对应资源,不需要手动额外配置。
  • 默认开启停用词过滤,避免无实际分析价值的功能词占据高频榜前列,如果统计场景需要包含这类词,直接注释掉停用词过滤对应的两行代码即可。
  • 词频排序直接调用FreqDist内置的most_common()方法,传入参数10即可自动按词频降序返回结果,不需要手动编写排序逻辑。
  • 修正了原代码中的拼写笔误(原变量名content_frqunce为拼写错误),同时移除了原代码中重复打印原始词条内容的冗余语句。

内容的提问来源于stack exchange,提问作者UwU Tails UwU

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 20:57:22