字数统计工具到底是怎么数字的(以及为什么不同应用里的数字会不一样)
把同一段文字粘贴到三个不同的字数统计工具里,你可能会得到三个不同的数字。它们都没有错——它们只是在回答略有不同的问题。
· 阅读需 1 分钟
同一段文字,三个不同的数字
把完全相同的一段文字分别粘贴到 Microsoft Word、Google Docs 和第三个字数统计工具里,得到三个略有差异的总数完全是有可能的——不是因为哪一个统计错了,而是因为"字"这个概念,比乍看之下要模糊得多。一个字数统计工具,必须对一系列具体的边界情况做出小而具体的决定,而这些决定在随手一瞥一段文字时是完全被忽略的:一个带连字符的复合词算一个字还是两个字,缩写要不要拆开算,一个独立的数字算不算和字母组成的词一样,对于完全不用空格分隔单词的语言来说,究竟什么才标记着一个词的边界。不同的工具在这些问题上做出了不同的决定,你看到的总数,其实就是许多个各自站得住脚的小决定加总的结果,而不是唯一客观正确的计数。
连字符、缩写,以及那些悄悄改变总数的决定
像"well-known"这样的连字符复合词,既可以合理地算作一个字,也可以算作两个字,两种理解都有站得住脚的理由:它在功能上是一个单一的语义单元,但从视觉上看,它也确实是由两个单独的词拼接而成的。Word 和 Google Docs 都把带连字符的复合词算作一个字,这就是为什么,对任何需要与编辑者或出版方的字数预期相匹配的场景(比如有明确字数限制的作业),匹配它们的这一惯例才是正确的默认做法。缩写以另一种形式提出了完全相同的问题——"don't"从视觉上明显是由两个词挤压在一起构成的,但功能上是一个词——同样,主流文字处理软件也把它算作一个字而不是两个字,如果这个计数需要与老师、编辑或字数限制工具所报告的结果一致,匹配这一惯例同样是值得的。
一个独立的数字、被空格包围的单个标点符号,以及其他奇怪的记号,都以更小的规模提出了同样的问题,不同工具对此的处理略有不同——这正是人们注意到某个字数统计工具和另一个之间存在小差异时,那个不太起眼但真实的解释。这些微小的决定,单独看都不会让总数有太大变化,但一段几百字的普通文章里,通常包含足够多的连字符、缩写和奇怪的记号,累积起来就会让最终数字出现一个明显的、虽然通常不大的差异。
为什么按空格拆分对某些语言完全失效
一个通过简单地在遇到空格处拆分文字来构建的字数统计工具,对英语和大多数欧洲语言效果还算不错,因为这些语言习惯上确实用空格分隔单词。但它对中文、日文和泰文完全失效,这些语言根本不在单词之间插入空格——一整段中文文字可以是一整串没有任何空格的连续字符,一个按空格拆分的统计工具会把这整段文字报告为恰好一个"字",无论它实际包含多少个真正的词。要在这些语言里正确统计字数,需要真正的语言学文本分词——对字符本身进行分析,推断一个词在哪里合理地结束、下一个词从哪里开始,用的是现代浏览器内部为文本选择和换行所实现的那种同样的分词逻辑——而不是那种对空格分隔语言效果不错、但对不用空格的语言完全失效的简单空格拆分方式。
为什么"正确"的惯例是你的读者实际在用的那一种
在连字符、缩写或边界情况记号上相互竞争的惯例,没有哪一种客观上比其他更正确——它们只是对一个真正存在歧义的问题给出的、同样站得住脚的不同答案。实践中真正重要的,是这个计数需要与哪种惯例保持一致:一个提交有明确字数要求作业的学生,需要一个和自己文字处理软件统计方式一致的工具,因为那几乎肯定是实际会被拿来检查的标准;一个向某家有自己风格规范的出版社投稿的作者,需要匹配那家出版社工具所使用的惯例。匹配 Word 和 Google Docs 共同的惯例——带连字符的复合词和缩写都各算一个字——是最接近一个安全的通用默认选择的做法,正因为这两个工具加起来覆盖了绝大多数需要字数统计与某个具体外部标准相匹配的情况。