词频统计实战:从关键词密度到中英文分词的完整词频分析指南
讲清楚词频统计到底有什么用,SEO 关键词密度怎么读,停用词为什么要过滤,中英文分词差在哪里,大小写归一为何重要,配一个真实排名例子。
词频统计实战:从关键词密度到中英文分词的完整词频分析指南
字数统计告诉你一段文字有多长,词频统计告诉你它在讲什么。这两件事经常被混为一谈,但用途完全不同。当我想知道一篇稿子真正在围绕哪些词转,哪个短语被我说滥了,某个目标关键词在全文里占多大比例,字数统计帮不上忙,需要的是把每个词按出现次数排行、再算出占比的词频分析。
词频统计到底有什么用
最常见的三个场景,我自己天天碰到。
第一是 SEO 关键词密度。写完一篇要冲排名的文章,SEO 插件常提示"密度过高",却不给具体数字。这时候用词频工具把目标关键词单独查一下密度,看它占全文的百分比,就知道是不是堆砌了。多数从业者把主关键词控制在全页面 0.5% 到 2.5% 之间,超过约 3% 在读者和搜索引擎眼里都像在凑词。
第二是揪文章里的高频词,也就是自己的口头禅。每个写作者都有几个用过头的词。把一章文稿粘进去,扫一眼前 30 名,哪个词反常地靠前一目了然。
第三是语言学习。统计一篇外语材料里的高频词,优先背最常出现的那批,投入产出比最高。课文里出现 40 次的词,显然比只出现 1 次的更值得先记。
一个真实的输入输出例子
拿这么一段中文文本做演示:
我喜欢编程,编程让我快乐。学习编程需要练习,练习编程的最好方式就是写程序。程序写得越多,编程越熟练。
打开词频统计器,关掉区分大小写、打开停用词过滤,统计单词频率,排名是这样:
| 排名 | 词 | 次数 | 密度 | | --- | --- | --- | --- | | 1 | 编程 | 5 | 约 17.9% | | 2 | 练习 | 2 | 约 7.1% | | 3 | 程序 | 2 | 约 7.1% | | 4 | 写 | 2 | 约 7.1% |
注意"我""了""的""就是"这些词没进榜,因为停用词过滤把它们挡掉了。一眼就能看出这段文字的主题是"编程",而"快乐""学习"这类只出现一次的词没有进入高频区。如果不过滤停用词,榜首很可能是"的"或"我",那张表给你看的就只是语法,不是主题了。
停用词:为什么必须过滤掉
停用词是出现频率极高、却几乎不带主题含义的语法词。英文里是 the、and、of,中文里是"的""了""是""在"。它们在任何一段文字里都霸榜,把你真正关心的词死死压在下面。
所以默认就该打开停用词过滤,让真关键词浮上来。但有一种情况要反过来:如果你正在研究功能词本身的用法,比如改稿时想检查连接词是不是用得太密,那就把过滤关掉,专门去看这些语法词的分布。停用词过滤是个开关,不是非黑即白的规则。
中英文分词的差异
英文天然用空格分词,word frequency counter 拆成三个词毫无悬念,顶多要处理一下缩写(don't 不该被拆成 don 和 t)和连字符词(state-of-the-art 该不该当一个词)。
中文是另一回事,词与词之间没有空格。"编程语言"如果逐字拆,会变成五个孤立的字,统计出来一堆单字,毫无意义。正确做法是先分词,把"编程语言"切成"编程"和"语言"两个真正的词。我用的这个工具靠浏览器内置的 Intl.Segmenter 按词粒度切分,中英混排还会按语言段分别处理。极少数不支持 Segmenter 的老浏览器会退回逐字计数,虽然只能给出字频视图,但仍然有参考价值。这一步是中文词频统计和英文最本质的区别,做不好,后面所有的排名和密度都是错的。
大小写归一这件小事
英文里 The、the、THE 是同一个词,只是出现在句首、句中或标题里。如果不做大小写归一,它们会被算成三个不同的词,各自的次数被拆散,排名失真。所以默认应该把大小写统一(通常归一成小写)再统计。
但有时候你恰恰需要区分,比如想分别统计专有名词 Apple(公司)和普通名词 apple(水果)。这时候把"区分大小写"打开就行。归一是默认,区分是选项,关键是你得知道当前用的是哪一种,否则排名为什么是那样你会看不懂。
几个容易踩的坑
把关键词密度当成"要达到的目标"而不是"要守住的上限",是最常见的误区。密度是堆砌警报,不是配额。为了凑到正好 2% 硬塞关键词,写出来的东西比自然落在 1.3% 还糟。
另一个坑是在长度不同的文档之间直接比原始次数。一个词在 10000 字的文章里出现 50 次(0.5%),远不如在 1000 字短文里出现 50 次(5%)突出。对比两份文本时,看密度那一列,别看次数那一列。
跑完词频之后,常常还要做下一步处理。比如把高频词导出后想去掉重复行,可以用文本去重再整理一遍;想给词表排序也有现成工具配合。词频统计是分析的起点,不是终点。
Made by Toolora · Updated 2026-06-13