聊天 AI 文字接龙的下一个字,靠抓阄吗?
语言模型中的概率:下一个字的机会与选择
假如世界上的文字,只有一本讲投资的书。用它训练一个最简单的语言模型,它会怎样接话?把书里 21 万多个汉字数一遍就知道了:“价值”出现 317 次,后面跟着“投”的有 194 次;说“恐龙”,它一个字也接不下去。聊天 AI 挑下一个字,也是这样抓阄吗?
上一篇《翻书接词的小游戏,离聊天 AI 有多远?》讲到,1948 年,香农用一本书玩接词:翻到一个词,再翻到别处找到它,记下紧跟在后面的那个词,一直接下去。聊天 AI 背后的大语言模型做的也是接龙,每一步算出下一个字的各种可能,再挑一个接上。
翻书接词,翻到哪个算哪个,看起来全凭运气。聊天 AI 挑下一个字,也是碰运气、抓阄吗?我们用一本书训练了一个最简单的语言模型,看它到底怎样挑字。
假如世界上只有一本书
假设世界上所有的文字,就只有一本书:投资人李录写的《文明、现代化、价值投资与中国》,2020 年出版,讲文明、经济和投资。我们只用这本书来训练这个语言模型。它的本事全部来自这本书,书里没有的字,训练时一次也没碰到过。
它接龙时,只看最后一个词(有时就是一个字),再按书里的情况挑下一个字。它的训练,就是把书从头到尾数一遍,记下每个词后面都跟过什么字。
比如接“恐龙”:这本书里,“恐龙”一次也没出现过,“奥特曼”“足球”也没有。这个语言模型接不下去了:训练时没碰到过的词,它后面一个字也挑不出来。
先把整本书数一遍
训练的第一步,是把这本书从头到尾数一遍。先只数汉字,不算标点和数字:
- 全书大约 21.6 万个汉字,却只有 2483 种不同的字;其中 438 种字,全书只出现过 1 次。
- 出现最多的是“的”,11183 次,差不多每 19 个字就有 1 个“的”。
- 最常见的 100 种字加起来,占了全书的一半。
再数两个字以上的词,最多的是:“中国”878 次,“一个”782 次,“投资”575 次,“我们”548 次,“经济”479 次,“文明”473 次。只看这几个词,也能看出这本书最常讲什么。
如果不管前面是什么,从书里随便取一个字,取到“的”的机会最大,大约 19 个字里有 1 个;取到“投”,大约 225 个字里才有 1 个。
“价值”后面,最常跟着谁?
接龙时不是随便取。语言模型要看最后一个词是什么。
在书里搜“价值”,一共 317 处。把每一处后面紧跟的那个字记下来,分成一堆一堆:
“投”一个字就占了 194 处,排第二的“观”和“的”各只有 16 处。逗号、句号也各占了一些,它们不是字,却也会跟在后面,接龙时同样会被接上。其余 30 多种字,每种只有几处。
一个字被接上的机会有多大,有个名字,叫作概率。317 处里有 194 处是“投”,“价值”后面接“投”的概率,就是 317 里的 194,差不多 10 次里有 6 次。
和随便取一个字比:取到“投”,大约 225 个字里才有 1 个;可只要前面是“价值”,接上“投”就变成了 10 次里约 6 次。前面是什么字,后面每个字的概率就跟着变。 这本书讲投资,“价值”后面最常是“投资”的“投”,用它训练出来的语言模型,接出来的话常常绕到投资上。
有的词一边倒,有的五花八门
不是每个词都这么好猜。“我们”在书里一共 548 处,后面跟过的字有 160 多种。最多的“看”,也只有 35 次,连 10 次里 1 次都不到。
“价值”后面几乎总是同一个字,“我们”后面什么都有。接龙接到“价值”,下一个字很好猜;接到“我们”,下一个字最难猜。
随手翻一处,就是抓一次阄
回到开头的问题。像香农那样随手翻到一处“价值”,记下后面那个字,其实就是抓阄:把 317 处“价值”想成 317 张阄,每张阄上写着那一处后面跟的字。写着“投”的有 194 张,写着“观”的只有 16 张。随手翻到一处,就是从这一堆里抓一张。
让电脑在这 317 张阄里随机抓 10 次,结果是:
投 投 投 观 投 投 , 就 投 底
“投”来了 6 次,最多,正好对上写着它的阄最多。可中间也冒出了“观”、逗号,还有“就”“底”这种只有几张阄的字。
香农自己也是这么看的。他在 1948 年的论文里交代:要接出这些句子,本来可以先把每个字母、每个词出现多少次统计成表,这种表叫频率表,再照着频率表去抽;可他用了一个更简单、效果相同的办法,就是随手翻书。翻书,就是不用先数,直接按次数抓阄。
所以,翻书接词确实是抓阄,但不是乱抓:每个字的阄不一样多。 阄多的字常来;阄少的字也有机会,只是来得少。“投”的概率最大,抓一次也不保证就是它。
数次数,用在语音识别上
香农之后,真有人把“数次数”用到了机器上。1972 年,美国 IBM 公司的研究者弗雷德里克·贾里尼克带着一个小组,研究语音识别,就是让电脑把人说的话转成文字。他们要做的是英语听写系统:人对着话筒口述,电脑把字打出来,办公室里的人就不用自己打字。到 1980 年代,这个系统能识别约 2 万个英语词。今天手机上的语音输入,做的也是语音识别。难处在于,很多话听起来差不多,电脑分不清说的到底是哪几个词。
他们的办法正是数次数:先从大量文字里数出,前面两个词后面最常跟着哪个词;电脑听到一串声音,列出几种听起来都像的说法,再挑概率最大的那一种。他们的语言规律不靠人一条条写,而是从文字里数出来。这种靠统计次数得到概率的语言模型,叫统计语言模型。
用我们这本书试一下:电脑听清了“价值”,后面那个音是 tóu,可“投”和“头”都念 tóu。书里“价值”后面跟“投”194 次,跟“头”一次也没有,挑“投”就对了。这是借我们这本书做的示意,不是 IBM 当年的真实记录。
没见过的话,概率就是 0 吗?
数次数有个老难题,前面的恐龙就是:书里一次也没有,数出来是 0,语言模型就接不下去。换成海量文字也躲不开:人每天说出的话里,很多句子从来没有人原样写过,一查频率表,还是 0。
2003 年,加拿大蒙特利尔大学的约书亚·本吉奥和几位研究者,在论文里正面说出了这个难题:拿来检验的句子,多半和训练时见过的每一句都不一样。他们换了一个办法:不再查频率表,而是用神经网络来计算概率。神经网络是一种计算方法,它从大量句子里反复练习,一点点调整自己,还能学到哪些词的用法相近。这样做出来的,叫神经网络语言模型。
论文里举的例子是这样的:训练时见过“猫在卧室里走”,程序就应该给“一只狗在房间里跑”算出差不多高的概率,因为“猫”和“狗”、“卧室”和“房间”、“走”和“跑”,用法都很像。这样,一句从没见过的话,也能算出不低的概率。
从统计语言模型到神经网络语言模型,是走向今天大语言模型的一步。
回到真的聊天 AI
现在把假设拿掉。真正的聊天 AI,训练用的文字比一本书多得多,里面有恐龙;就算碰到训练时没见过的说法,它也能算出概率,接得下去。
它每接一步,也是先算出下一个字各种接法的概率,再挑一个接上。它可以按概率抓阄,这一步专业上叫采样,不一定每次挑概率最大的那个,所以同一个问题问两次,回答可能不一样;也可以设置成更常挑最大的那个,回答就不太变。
它和我们这个语言模型还有两处大不同。第一,它不只看最后一个词,而是带着前面一整段话一起算。第二,它的概率不是一处一处数出来的,而是像本吉奥那样用神经网络算:训练时反复猜下一个字、对照原文、一点点调整。
总结与回顾
聊天 AI 文字接龙的下一个字,靠抓阄吗?是抓阄,但每个字的阄不一样多。
| 只用一本书训练的语言模型 | 真的聊天 AI | |
|---|---|---|
| 训练用的文字 | 一本书,21 万多个汉字 | 多得数不清 |
| 每一步看多少前文 | 最后 1 个词 | 前面一整段话 |
| 概率从哪里来 | 书里数出来:“价值”后面 317 处,“投”占 194 处 | 训练时调整出来 |
| 怎么挑下一个字 | 按阄的多少抓 | 可以按概率采样,也可以设置成更常挑最大的 |
下一个字的概率从哪里来,一路上换过三种办法:
- 香农:随手翻书,不用先数,直接按次数抓阄。
- 贾里尼克的小组:把次数统计成频率表,挑概率最大的那句,这是统计语言模型。
- 本吉奥:用神经网络来算,没见过的话也有概率,这是神经网络语言模型。
今天的大语言模型,走的是第三条路。
一个字被接上的机会有多大,叫作概率。在一本书训练的语言模型里,概率是从书里数出来的:哪个字常跟在后面,它的阄就多;真的聊天 AI 的概率,是训练时调整出来的。阄多的常来,阄少的偶尔也来;抓一次,不保证是最多的那个。
拿一本你喜欢的书,翻开一页,找出这一页里所有的“我”,把每个“我”后面那个字记下来。哪个字最多?用你这本书训练出来的语言模型,接在“我”后面最常是什么?
课堂纪要
| 时间 | 2026 年 10 月 31 日(周六)晚上八点,线上,约 60 分钟 |
| 参加 | 王叔叔;王笑鱼、王笑蚺、孔蓝蜥、谢啄麟、毕糯蚺、王笑猿、杰米、王笑啄、禾蛱、陈咿蚺(10 人) |
| 主题 | 聊天 AI 文字接龙的下一个字,靠抓阄吗? |
大致过程
- 开场(约 5 分钟):那天是万圣节。复习上一期的香农,聊“无用的知识”有什么用。
- 大模型、产品、公司(约 24 分钟):千问、DeepSeek 是模型,飞书、豆包、ChatGPT 是产品,阿里巴巴、字节跳动、腾讯是公司;再认识中国和美国的几家大模型公司。
- 只用一本书训练的语言模型(约 6 分钟):全书 21.6 万个汉字;搜“中”,1878 处里有 933 处后面是“国”,差不多一半,这就是概率。
- 越接越长(约 4 分钟):带着前面的字一路往下接,“中国”“中国的”“中国的文”……处数越来越少,接到“中国的文化是人情文化。”,书里只剩这一句。
- 同一个问题问两遍(约 4 分钟):聊天 AI 按概率挑下一个字,不一定每次挑最大的,所以回答可能不一样。
- 语音识别(约 6 分钟):读音相同时,靠概率分出“价值投资”;这种数次数得到概率的办法,叫统计语言模型。
- 没见过的话(约 6 分钟):统计语言模型碰到没见过的组合接不下去,神经网络语言模型靠“哪些词用法相近”接上。
- 收尾(约 5 分钟):以后每节课开头,讲十分钟这一周的科技新闻。
课上的好问题
- 孔蓝蜥:“手机上有千问的 app?”王叔叔刚说完千问没有手机 App,被问住了,当场改口。确实有,阿里巴巴 2025 年 11 月推出了千问 App。
- 王笑蚺:“那岂不是地球就被狗占领了?”这是在讲“世界上狗很多”的时候。
这节课的数
| 本节(第 20 期) | 上节(第 19 期) | |
|---|---|---|
| 到课 | 10 人 | 10 人 |
| 开过口 | 9 人 | 9 人 |
| 提问后 5 秒内有人接话 | 约八成 | 约五成 |
| 孩子说话占全课时间 | 不到一成 | 约一成 |
数字是用录音自动估算的,每节课的数法不完全一样,只看大概。
下次要改:王叔叔说得太多了。科技新闻控制在十分钟以内;讲正题时,至少让大家自己动一次手,比如报一个数来抓阄,或者决定下一个字接什么。