停用词表全解析:从中文分词到文本预处理,筛掉噪声词提升NLP效果

发布时间:2026/10/25 1:17:44
停用词表全解析:从中文分词到文本预处理,筛掉噪声词提升NLP效果 简介哈工大停用词表是自然语言处理中文分词任务中常用的基础资源适合从事文本挖掘、信息检索、情感分析等工作的开发者与研究人员使用。该表整理了一批在中文文本中出现频繁但语义贡献较低的词汇如语气词、助词、标点符号及常见虚词等在分词前进行停用词过滤可减少噪声干扰、提升后续处理效率。资源包内含1个doc文档约39KB文档内以词条列表形式呈现可直接打开查阅或复制到项目中应用。目前已有3261人学习下载是中文NLP入门和工程实践中的实用工具。配合哈工大LTP等分词工具使用时能更充分发挥其在词法分析、句法分析等任务中的基础支撑作用。1. 停用词表是什么先把它想成淘米时的筛子煮饭之前很少有人直接抓一把带糠带壳的米下锅总要先淘一淘、筛一筛把沙粒和瘪谷挑出去。停用词表干的就是这个活儿在让计算机读懂中文之前先把那些出现频率极高、却不携带多少实际含义的词和符号筛掉。“的、了、是、在”、逗号句号、圆圈数字都属于这类“沙粒”。它本质上就是一份名单每行一个词或符号分词之后对照名单删一遍剩下的才是值得分析的关键内容。搞懂它你就明白了为什么搜索引擎可以跳过“的”去匹配关键词为什么文本分类之前要清洗语料也就能看懂别人代码里那一行load_stopwords()到底在干什么。2. 为什么分词要先“扔词”噪声如何拖垮统计和模型2.1 分词是中文NLP的第一道闸门但闸门后全是沙中文不像英文单词之间有天然空格。写“今天天气不错”人和机器都明白这是一串字但机器需要先把这串字切成“今天 / 天气 / 不错”这样的词汇单元这一步就是分词。某个高校团队研发的语言技术平台圈子里常简称为 LTP把中文分词、词性标注、命名实体识别这些能力打包成一套工具链而分词排在所有任务最前面原因很简单后面的句法分析、语义角色标注全都得踩着分词的结果往前走。可分词切出来的东西并不都是有用的。拿一句再普通不过的话举例“今天的天气真的很不错啊。”分词后大概是“今天 / 的 / 天气 / 真的 / 不错 / 啊”。“的”和“啊”是什么它们语法功能很强但单独看几乎没有语义。更麻烦的是这类词在文本里密度极高——一篇几百字的短文“的”出现几十次毫不稀奇。如果不管它们直接做词频统计排在最前面的永远是“的、了、是、在”这一串语气词和助词真正的关键词反而被淹没。这就是为什么分词之后通常还跟着一道工序对照停用词表把这类词删掉。2.2 停用词的三重干扰检索、统计、模型都会遭殃停用词造成的麻烦不止“看着乱”它是实打实拖累效率的。第一重干扰体现在信息检索上。搜索引擎建索引时如果每个文档都混进大量“的、了、是”那么搜“今天的天气”和搜“天气”得到的匹配结果几乎没区别用户想找的关键词被稀释了。第二重干扰体现在词频统计和词云上一篇讲“苹果”的文章词云里最大的字却是“的”这画像画出来谁都不认识。第三重干扰最隐蔽发生在机器学习的文本向量化环节。把文本转成向量时每个词是一个特征维度停用词对应的维度在所有样本里几乎没什么差异模型很难从“的”身上学到任何分类信息白白增加了参数和计算量。打个比方两个人描述同一个场景A说“我今天吃了苹果”B说“他昨天吃了香蕉”。完整的句子各有各的主语和时间词但如果把注意力放在“苹果”和“香蕉”上把“我、他、今天、昨天”这些低频信息或者“了”这种功能词放一边两个句子的差异就立刻清晰了。停用词过滤要做的正是这件事让“苹果”和“香蕉”浮出水面。2.3 停用词表是“停止信号”不是“黑名单”“停用词”这个译名容易让人误会好像这些词被判定为“坏词”从此不许出现。英文原词 stop words 的意思更准确处理到这个单词时“停下别继续分析它”。它不是一个价值观判断而是一个效率决定——这个词太低频、太大路货参与分析只会制造噪声。所以翻开任何一份中文停用词表你都会发现里面不只收“的、了、是”标点符号、数字序号、单位甚至乱码字符都可能在名单上。这些条目唯一的共同点就是在文本里频繁出现但对“这段话到底在讲什么”几乎没有贡献。某高校团队在研发语言技术平台时把多年积累的语料里这类高频无义项收拢成一张表于是就有了那份几乎成了中文NLP默认配置的停用词表。它不是法律而是一份经验清单告诉你“这些位置可以刹车”。3. 某高校停用词表里到底装了什么一份乱码级词表的分类学3.1 符号区一眼看去像乱码的“硬噪声”如果你把那份停用词表从头打开第一眼大概会懵——开头一大串不是汉字而是“———》、÷”、:→℃ ”这种看起来像乱码的东西。别急着关这正是词表最有意思的地方。它说明停用词不只是“的、了、是”这类词还包括所有在文本清洗中应该被扔掉但经常被分词器当成独立单元切出来的符号。全角半角混用的括号、百分号、摄氏度符号、人民币符号、箭头这些字符在网页抓取、OCR识别、PDF转文本的过程中到处残留。分词器面对它们时往往会当作一个“词”切出来比如左括号单独成一个词。如果不过滤后续的词频统计里就会混入一堆“”“”“——”这种条目。某高校词表把它们全部收编等于事先告诉下游这些符号出现就跳过。这也是很多初学者自己动手写到一半发现分词结果里一堆符号、不得不回去补一份符号过滤清单的原因。3.2 高频虚词与代词中文语法的“胶水”再往下翻就是真正像停用词的部分了的、地、得、了、着、过、呢、吗你、我、他、它、这、那、哪按、按照、从、当、除了虽然、但是、如果、因为还有“是、有、说、来、去”这种高频动词。这些词在中文里承担着语法功能助词连接修饰关系介词引出时间地点连词连接分句代词指代前面出现过的东西。单拿出来每一句都离不开它们可放到整个语料里看它们的信息量低得惊人。英文停用词表里有 the、a、of中文对应的就是“的、一、是”。某高校停用词表把这些词收进去背后是一条通用规则一个词如果出现频率极高但在不同主题的文档里分布几乎一样那它对区分文档主题就没什么用。这类词在文本分类、关键词抽取、主题建模里都是“胶水”一样的存在黏合句子结构却撑不起语义骨架。3.3 让人意外的条目数字序号、单位、甚至日文假名真正让初学者看懵的是词表里夹杂着“①②③④⑤⑥⑦⑧⑨⑩”这样的带圈数字还有“元/吨”“”“±”这类单位符号甚至个别日文假名。这些是怎么混进来的其实它们是词表在真实语料上“长”出来的结果。合同文本、论文文本、新闻报道里带圈数字多用于列举条款“元/吨”在物价报道中反复出现日文假名则常出现在排版装饰里。这些条目对语义分析都没有贡献反而会让模型去学“①”和“②”的区别——这显然没意义。很多人误以为停用词表是人工逐条写的其实它更像一个经验沉淀物先把高频词筛一遍再把跑任务时反复惹麻烦的符号和格式收进来。所以词表里出现“一.”、“数”、“元/吨”这种碎片恰恰说明它不是纸面理论而是在真实文本的泥里滚过一遍的工具。理解了这一点你就知道以后自己整理停用词表时也该从自己的语料里挖而不是只抄别人的名单。类别典型条目为什么收入停用词表标点符号。、——分词时被切为独立单元不携带语义数字序号①②③⑩㈧多用于列举对主题判断无贡献单位与百分号元/吨、、℃高频出现且与领域语义无关虚词与助词的、了、着、吗、吧语法功能强语义载荷低高频动词代词是、有、说、你、我、他在不同文档中分布均匀无区分度格式残留全角括号、乱码字符、日文假名文本清洗不彻底时的常见垃圾4. 停用词表怎么配合分词用从加载到过滤的最短路径4.1 一次标准的分词预处理流程在真实项目里停用词表很少单独工作它总是紧紧跟在分词后面。标准流程是四步拿到原始文本先做基本清洗再用分词工具切分最后对照停用词表过滤。某高校语言技术平台这类工具通常把分词作为第一步输出你拿到的是一个一个切好的词然后自己决定哪些词要扔。也有人图省事让分词环节直接忽略停用词但更多时候大家选择先切完再过滤因为有些词只有在完整句子里才能判断它该不该留。这里有个很容易忽略的细节停用词表是按“词形”匹配的。“的了”在表里分词器把“了”切出来一查表命中丢掉。但如果分词器把“吃了”切成一个整体而词表里只有“了”那这个“了”就漏网了。所以分词粒度会直接影响停用词过滤的效果。这也是为什么专业的NLP流程里分词和停用词过滤的配置是放在一起调的而不是随便哪个词表都能配哪套分词器。4.2 一个最小可用的过滤代码下面是用 Python 加载一份停用词表并对分词结果做过滤的最小示例逻辑在真实项目里几乎原样可用# 读取停用词表假设每行一个词或符号 stop_words set() with open(stopwords.txt, encodingutf-8) as f: for line in f: word line.strip() # 去掉换行符和首尾空格 if word: # 跳过空行 stop_words.add(word) # 模拟某分词工具返回的切分结果 tokens [今天, 的, 天气, 真, 不错, 啊, ] # 过滤只保留不在停用词表里的词 filtered [t for t in tokens if t not in stop_words] print(filtered) # 输出[今天, 天气, 真, 不错]代码的逻辑很直白先把停用词表里的每个词装进一个 set 集合因为集合的查找速度是 O(1)只需要一次遍历就能过滤整个词列表。注意strip()这一步不能省词表文件每行末尾都有换行符不去掉的话“的\n”和分词结果里的“的”永远匹配不上过滤会静默失效。if word这个判断则是为了跳过文件里可能出现的空行。如果你用的是某高校语言技术平台这类带词性标注的工具过滤还能更进一步不只按词形删还可以按词性删。比如拿到每个词的词性标注后把语气词、叹词、拟声词整体丢弃比一个一个往词表里填要省事得多。4.3 改词表的血泪经验不是往里加而是往里“试”直接把某高校停用词表原封不动搬进自己的项目通常已经能解决八成问题。但剩下两成恰恰是区分“会用”和“用得好”的地方。不同领域的最佳停用词表差别极大做新闻分类的人可能想过滤掉“记者、报道、本报讯”做电商评论分析的人则无论如何不能删“不、没、太”做古文研究的人甚至根本不该用现代汉语的停用词表。我一向的做法是先拿完整词表跑一遍把过滤后的结果打印出来肉眼扫一遍看有没有重要的词被误删了有没有垃圾还赖着没走。有人觉得词表越大越好往里拼命塞词结果把“不错”这种关键情感词也塞了进去模型直接瞎掉。词表建设更像修剪盆栽每次只加一个词跑一遍数据确认删掉它真的让结果更干净再决定留不留。这个过程很琐碎但踩过一次坑之后你就会老老实实做这一步。5. 常见误区与易混概念停用、黑名单和常用词表不是一回事5.1 误区一停用词表等于“我不想要的词”易混点有人把停用词表当成个人黑名单凡是自己不喜欢的词、被平台屏蔽过的词一股脑塞进去。为什么混名字里有个“停用”又是用来删词的自然容易当成过滤器。怎么区分停用词表的标准是“出现频率高 语义贡献低”它删的是对大多数任务都没用的词而不是“对某个任务有害”的词。敏感词、辱骂词、广告词该用专门的敏感词表或黑名单机制来管混进停用词表里只会让词表越来越臃肿还容易误删正常内容。5.2 误区二一份通用停用词表能走遍天下易混点下载一份某高校停用词表所有语料、所有任务都套用。为什么混很多教程为了省事直接拿通用词表示范看起来效果还不错。怎么区分通用词表处理新闻、百科这类中规中矩的文本还行一旦切到某个垂直领域就开始露馅。医疗文本里“患者、医生”出现频率极高但它们恰恰是分类的重要依据法律文本里“原告、被告”同理。通用词表只该是起点正确做法是在自己的语料上统计词频把那些频率高但跟主题八竿子打不着的词加进去。5.3 误区三情感分析里也照删否定词易混点某高校停用词表里有“不、没、无”于是做情感分析时也一刀切。为什么混词表白纸黑字写着这些词大家默认它们是噪声。怎么区分在大部分任务里否定词确实可以算噪声但情感分析的核心就是判断褒贬“不怎么样”“不太好”的情感极性全靠这个“不”字撑住。把“不”删了模型看到的就是“怎么样”“太好”情感极性直接反转这是最常见的翻车现场。专门做情感分析时要么保留否定词要么把否定词和后续词打包成“不_好”这种复合特征。5.4 误区四停用词表等于高频词表易混点以为把词频统计里排前面的词抄下来就是停用词表。为什么混两者都涉及词频外形也像。怎么区分高频词表是统计结果停用词表是经过判断后的“不参与分析清单”。一个词频率高但信息量大比如在某领域语料里反复出现的核心术语它再高也不该进停用词表反之“啊、吧、呀”这类频率不低但毫无区分度的词才该进。制作停用词表要做的不是抄高频词而是看哪些词“高频且无用”。5.5 误区五词表越长过滤越彻底易混点默认词表越长删掉的东西越多结果越干净。为什么混过滤的目的确实是把有用信息摘出来容易让人觉得“删得多摘得净”。怎么区分每多塞一个词就多一分误删风险。比如把“一”加进去句子里“一个苹果”就变成了“个苹果”语义信息残缺“元/吨”这种单位在某高校词表里收着换了财经语料它反而可能是关键特征。好词表的特征是“克制”而不是“庞大”。每次往词表里加词之前先问一句删掉它对当前任务一定有益吗6. 什么时候该用、什么时候别硬用一份停用词表的边界停用词表最该登场的地方是需要从一大片文本里提炼主题的场景。做信息检索的倒排索引时过滤掉“的、了、是”这类词索引体积变小检索匹配更准做文本分类时去掉均匀分布的高频虚词模型的特征空间更干净做关键词提取和主题建模时过滤后浮现出来的词才真正跟话题相关。此外在大规模语料预处理阶段提前删掉停用词能省下不少存储和计算成本。这些场景的共同特点是任务关心的是“文本在讲什么”而不是“这句话怎么讲”。反过来有些场景硬用停用词表会坏事。情感分析是头号禁区否定词和程度副词不能乱删古诗词和文学风格分析也不该用现代汉语的停用词表因为“之乎者也”这类虚词恰恰承载着文风差异处理代码、日志、商品标题这种没有完整句子结构的文本时词表里那些“的、了”根本不会出现用了等于白用做新词发现或短语挖掘时停用词往往和其他词组合成新表达提前删掉反而会切断上下文线索。我吃过一次大亏做某图像处理Demo 的情感分析模块时图省事直接套了通用停用词表“不”和“没”全被过滤掉结果“效果不是很好”被模型读成了正面评价整个评测分直接崩掉。那以后我每次跑文本预处理都会先打开词表问一句这一轮任务里哪些词删了会误伤否定词保留吗标点换成别的格式了吗然后把答案写进实验记录。停用词表是一把很好用的筛子但筛眼多大、哪些豆子不能筛掉永远由你手里的具体任务说了算。希望这份梳理能帮你少踩一次坑。本文还有配套的精品资源点击获取

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询