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

Python统计文本词频时如何过滤the、is等停用词?有哪些相关可用库?

Python文本停用词过滤方案

你提到的这类无实际检索意义的高频常用词汇,在自然语言处理领域统一称为停用词(Stop Words),目前已有成熟的Python库内置了多语言的停用词表,无需手动录入所有过滤规则。

常用实现方案

方案1:NLTK库(轻量、适合快速实现)

NLTK是最常用的Python自然语言处理工具库,内置了覆盖数十种语言的停用词表,完全覆盖你提到的the/is/was/am这类基础常用词。

操作步骤

  1. 安装依赖:
    pip install nltk
  2. 示例代码:
import nltk
from nltk.corpus import stopwords
from collections import Counter

# 首次运行执行一次即可,后续运行可注释该行
nltk.download('stopwords')

# 加载对应语言的停用词表,中文场景替换为'chinese'即可
stop_words = set(stopwords.words('english'))

# 读取本地文本文件,替换为你的实际文件路径
with open('target.txt', 'r', encoding='utf-8') as f:
    # 统一转为小写后拆分词汇,可根据你的需求替换为更精准的分词逻辑
    words = f.read().lower().split()

# 过滤停用词后统计频次
filtered_words = [word for word in words if word not in stop_words]
word_frequency = Counter(filtered_words)

# 输出频次最高的20个重要词汇
print(word_frequency.most_common(20))

方案2:spaCy库(适合复杂文本处理场景)

如果你的文本需要同步做分词、词性标注等其他处理,可选择spaCy库,它的停用词表适配性更高,适合工业级场景。

操作步骤

  1. 安装依赖:
    pip install spacy
  2. 下载对应语言模型(英文场景为例):
    python -m spacy download en_core_web_sm
  3. 停用词过滤逻辑和NLTK基本一致,可直接调用模型内置的stop_words集合。

自定义扩展

如果有额外需要过滤的自定义词汇,直接添加到停用词集合即可:
stop_words.add('自定义过滤词')


内容的提问来源于stack exchange,提问作者Anirudh Dayanand

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 21:06:08