跳到主要内容

免费词频统计器

统计文本中每个单词出现的频率。可视化高频词、导出为 CSV 并过滤停用词。

加载后可离线使用

可载入 .txt、.md、.csv、.docx 或 .pdf。文件在您的设备上读取。

最小长度:
最少次数:
显示前:
排序:

常见用途

  • 分析SEO关键词密度检查目标关键词在文章中出现的频率,并优化关键词密度。
  • 分析学术写作中的单词重复识别论文、论文和研究论文中过度使用的单词,以改进词汇多样性。
  • 分析文本语料库中的频率理解演讲、书籍、数据集和其他大型文本体中的单词分布。
  • 分析竞争对手的内容策略粘贴竞争对手的文章或登陆页面,查看他们强调的关键词和主题。
  • 检查文本可读性和词汇识别你的写作是否使用多样化的词汇或过度依赖重复短语。

工作原理

词频分析完全在你的浏览器中使用手写的分词器和 JavaScript Map 运行——没有库、没有服务器。你一输入或粘贴,文本就在本地解析、计数和排名。

  1. 1
    支持 Unicode 的分词
    工具将文本转为小写,然后用 Unicode 属性正则 \p{L}\p{M} 提取记号——能正确处理带重音的字母和非拉丁文字。对于中日韩文本,它会切换为浏览器内置的 Intl.Segmenter API(granularity: 'word'),拆分之间没有空格的字符。
  2. 2
    停用词与长度过滤
    可选过滤会使用与网站语言匹配的硬编码 Set 去除常见功能词(the、a、is 以及西班牙语、法语、德语、意大利语和葡萄牙语中的对应词)。最短长度滑块会在计数开始前去除短于所选阈值的记号。
  3. 3
    基于 Map 的频率计数与 n 元组模式
    记号在 JavaScript Map 中计数——特意选用 Map,使 'constructor' 这样的保留属性名不会与被计数的单词冲突。在二元组或三元组模式中,分词器在原始记号流上滑动窗口,在计数前将相邻单词连接成短语。
  4. 4
    排名结果与 CSV 导出
    结果按次数降序排列,并以排名条形图显示。导出会使用浏览器的 Blob API 在内存中生成纯文本 CSV blob 并触发下载——任何时候都不会向服务器发送内容。

指南

操作示例

点击空的“待分析文本”框上方的“试用示例”。它会加载一段关于狐狸和狗的 186 个字符的段落,统计显示 37 个“总词数”、18 个“不重复词数”和 186 个“字符”。在“单词”标签页上,标题为“前 18 个单词”的表格中,fox 以 4 次(16.0%)排第一,然后是 dog 3 次(12.0%),再是 quick 和 lazy 各 2 次(8.0%)。“the”和“a”之类的虚词不见了,因为“排除停用词”已勾选,所以表格下的说明写着“百分比是过滤后统计的 25 项的占比。”把“最小次数”设为 2,就只剩这四行。然后点击“2 词短语”:“最小次数”仍为 2,剩下“lazy dog”和“the fox”,各 2 次(5.6%),说明现在统计的是 36 项。

使用哪些设置,以及限制

  • 加载文档或粘贴文本。 “加载文本文件”按钮可打开 .txt、.md、.csv、.log、.docx 和 .pdf 文件,并替换框中的内容。页面写着“文件在你的设备上读取。”文件不会上传;第一次读取 PDF 或 Word 文件时,只会从本站加载一个读取组件。PDF 读取的是其文本层,最多读取前 400 页,所以没有文本的扫描 PDF 会失败。.docx 作为纯文本读取。处理期间,按钮显示“正在读取文件…”。
  • 在单词和短语之间切换。 “单词”“2 词短语”和“3 词短语”标签页会改变统计对象。短语由原始词流构成,所以“排除停用词”和“最小长度”是灰色的,不会应用,并且短语可能跨越句号或换行:示例中会出现“lazy dog the”。“最小次数”“排序”和“显示前”仍然有效。忽略列表中的词会移除所有包含它的短语。
  • 选择停用词的语言。 默认会使用“页面语言”的列表移除停用词,在此页面上显示为“页面语言(英语)”。英语列表有 99 个词。内置了十七种列表:英语、西班牙语、法语、德语、意大利语、葡萄牙语、土耳其语、俄语、乌克兰语、波斯语、阿拉伯语、日语、波兰语、荷兰语、印度尼西亚语、越南语和印地语。对于德语文本,请在“停用词语言”菜单中选择德语,否则德语的虚词会留在表格中。“(无)”会关闭过滤。在“同时忽略这些词”中添加你自己的词,用逗号、分号、空格或换行分隔。
  • 用最小长度、最小次数和显示前几项来调整表格。 “最小长度”范围为 1 到 5 个字符,默认为 2 个字符,所以单个字母会被丢弃;设为 4 个字符还会丢掉示例中的“fox”“dog”和“ran”。“最小次数”提供 1、2、3、5 和 10,“显示前”提供 10、20、50 和 100。“排序”为“按次数”或“按字母顺序”。“筛选结果…”会把行缩小到包含你所输入内容的单词。不重复词的总数和百分比是在“最小次数”和“显示前”之前计算的,所以这些设置不会改变它们。
  • 决定什么算一个单词。 单词是连续的字母、数字和连字符,所以“well-known”算一个词。“保留单词内的撇号(don't = 1 个词)”默认勾选;取消勾选后,“don't”会变成“don”和“t”。“统计数字”默认勾选;取消勾选会丢弃仅由数字构成的词元,如 2024,同时保留“3D”。“区分大小写”默认关闭,所以“Fox”和“fox”是同一个词;勾选后它们就分开了,不过停用词仍然不论大小写都会匹配。中文、日文、韩文、泰文、老挝文、高棉文和缅甸文的文本,如果浏览器有分词器,就用它来切分。
  • 导出完整列表,而不只是可见的行。 “导出 CSV”会保存 word-frequency.csv,包含“单词”“次数”和“百分比”列,涵盖通过你的筛选条件和“最小次数”的每一行,即使“显示前”把它隐藏了,并且它在 Excel 中可用正确的编码打开。以 =、+ 或 @ 开头的单词会在前面加一个撇号,以免电子表格把它当作公式运行。“复制前 18 项”和“复制全部 18 项”会复制以制表符分隔的行,可粘贴到表格中。“图表 (PNG)”保存 word-frequency.png,这是所显示行中最多 25 行的条形图。

常见问题及解决方法

提示“无法读取该文件。请选择包含可选中文字的文本、Word (.docx) 或 PDF 文件。”
一条消息涵盖四种情况:文件不含可读文本(扫描的 PDF 或空白文档)、它是二进制文件、PDF 读取器失败,或者 Word 读取器在损坏的 .docx 上失败。需要密码才能打开的 PDF 无法读取,因为没有密码输入框。较旧的手机浏览器(包括三星浏览器)会使用兼容版本的 PDF 读取器。如果 PDF 仍然失败,请复制其文本并粘贴到框中。
提示“report.doc 是 DOC 文件,此工具无法打开。”(显示你自己的文件名和格式)。
文件开头已被识别,其类型不是此工具接受的类型。旧的 Word .doc 文件、电子表格、演示文稿和图片在读取任何内容之前就会这样被拒绝。请在 Word 或其他编辑器中打开该文件,另存为 .docx、PDF 或纯文本,然后重新加载。当本站的其他工具能打开该类型时,消息旁边可能出现形如“请改用……”的链接。
“总词数”是 37,但表格下的说明写着“百分比是过滤后统计的 25 项的占比。”
“总词数”统计文本中的每一个词。百分比只使用应用“排除停用词”“最小长度”和“同时忽略这些词”之后剩下的项目(示例中 37 个里的 25 个),且在“最小次数”和“显示前”之前。在短语标签页上,基数是短语的数量,37 个词的示例为 36。若要统计全部,请取消勾选“排除停用词”,并把“最小长度”设为 1。
表格中缺少“the”这样的常用词,或“fox”这样的短词。
有三个过滤器会隐藏词。“排除停用词”默认勾选,会移除所选语言的列表,其中包括“the”“and”“with”和“not”。“最小长度”默认是 2 个字符,设得更高会隐藏短词。输入到“同时忽略这些词”中的词也会被移除。取消勾选停用词框,把“最小长度”设为 1,“最小次数”设为 1,即可看到每个词;对于非英语文本,请选择正确的停用词语言。
提示“没有符合筛选条件的结果。”
“筛选结果…”框只显示包含你所输入内容的单词,不分大小写,并且搜索的是整个列表,而不仅是可见的行。这条消息表示没有任何单词包含该文字,所以请清空输入框或检查拼写;“fox”也会找到“foxes”。如果“总词数”大于零,却完全没有表格出现,说明选项已经移除了所有词:请降低“最小次数”或取消勾选“排除停用词”。

对比分析

普通的字数统计器给出单词和字符的总数;此工具则对每个不同的单词或短词组出现的频率进行排名。它统计的是精确形式,所以“dog”和“dogs”,或“fox”和“foxes”是不同的行,因为它不会把单词还原为词干。停用词列表是 17 种语言的简短固定列表,而不是完整的词典,所以在得出结论之前,请先看看排名靠前的行。它一次处理一段文本,统计最多 3 个词的短语,屏幕上最多显示 100 行,不过导出的文件包含每一行。对于大量文本的集合,电子表格的数据透视表或文本分析程序能做更多。作为交换,无需安装任何东西,你的文件在设备上读取。

相关工具

常见问题