AI 是怎么学会说话的 书架

第 03 章 / 共 10 章

第三章 · 词语的地图

门牌号有了,但「意思」还没着落

上回说到,一句话切完 token 之后,在机器眼里就是一串门牌号:[1024, 3857, 66, 29013]。门牌号有个致命问题:它不带意思。「我」是 1024 号、「你」是 1025 号,纯属发牌时的巧合——从号码本身,机器看不出「我」和「你」关系很近,也看不出「我」和「航空母舰」关系很远。

可语言的核心恰恰就是关系。如果机器连「猫」和「狗」比「猫」和「扳手」更像都感受不到,那它永远不可能学会说话。这一章要解决的,就是这个问题:怎么让数字自己长出「意思」来?

一个老语言学家的土办法

答案的思路,早在上世纪中叶就被语言学家想到了。有句名言,大意是:「想知道一个词是什么意思,就看它平时都跟哪些词混在一起。」

想想你是怎么学外语的。碰到一个生词「醍醐」,你不查字典,但你发现它老出现在这样的句子里:「醍醐灌顶」「如饮醍醐」……你再想想「灌顶」「如饮」这些词搭配的往往是智慧、美酒、顿悟之类的好东西,你大概就能猜到:醍醐是个好东西,跟精华、妙处有关。你从没见过定义,但光靠「它出没的场合」,就把意思猜了个八九不离十。

大白话:词的意思不在字典里,在它的朋友圈里。看一个人常跟谁来往,就知道他是什么人;看一个词常跟什么词做邻居,就知道它是什么意思。

这个思路妙就妙在:「数邻居」是一件纯统计的事,机器最擅长。不需要人告诉它任何规则,只要把海量文本倒进去,数清楚每个词周围都出现些什么词,「意思」就能从统计里自己浮出来。

把每个词放进一张巨大的地图

具体怎么做?思想实验是这样的:想象一张无限大的地图,我们要给每个词在地图上安排一个家。安排的原则只有一条——

用法相近的词,住得近;用法八竿子打不着的词,住得远。

机器的操作是:先随机发房子(每个词随便站个位置),然后拿海量文本当考卷,反复做一件事——「根据邻居猜中间这个词是什么」。猜错了就挪房子:把搭配对的词拉近一点,把瞎凑对的词推远一点。几十亿次调整之后,整张地图就稳定下来了。每个词最终的位置,用一组坐标记下来——比如 768 个或 4096 个数字——这串坐标就叫这个词的词嵌入(embedding),大白话说,就是这个词在「意义地图」上的家庭住址

注意:没有任何人规定哪个坐标代表什么。地图是机器自己数出来的。但等它数完,人们去参观这张地图,发现里面的布局惊人地有道理。

这张地图上发生了什么

学成之后的词嵌入地图,有几个让人起鸡皮疙瘩的性质:

第一,意思近的词真的住得近。「猫」和「狗」是邻居,「猫」和「老虎」也不远,而「猫」和「扳手」隔着十万八千里。机器从来没人教过它什么是动物,但「都在类似的句子里出没」这一条,就足以让它们聚成一团。

第二,方向也是有意义的。最著名的例子:拿「国王」的坐标,减去「男人」的坐标,再加上「女人」的坐标,结果落点最近的词是——「女王」。换句话说,地图上从「男人」指向「女人」的那个方向和距离,跟从「国王」指向「女王」的几乎一模一样。性别、单复数、国家与首都(「中国−北京」约等于「法国−巴黎」),这些关系全都变成了地图上的方向和距离。

大白话:词的意思变成了「住址」,词和词的关系变成了「怎么走」。语义这件看不见摸不着的事,第一次变成了可以做加减乘除的几何。

第三,这一切完全是自学的。没有语言学家参与,没有词典被录入,就是「数邻居+挪房子」这一个朴素机制,在足够大的文本上跑了足够多次之后,自己长出来的结构。

为什么「意思变成地址」这么关键

你可能会问:折腾这么一圈,图什么?图的是一个根本性的转变——

从此,「理解语言」被翻译成了「算数」。

门牌号时代,「猫和狗像不像」这种问题机器没法答,因为 1024 和 3857 之间无话可说。地址时代,这个问题变成了「两个坐标离多远」——这是芯片最拿手的活。两句话像不像、这句话该接哪句话、这个词在这个语境里偏哪个意思,全部可以化成坐标之间的运算。

到这一步,机器手里的料就齐了:它不再面对一堆干巴巴的编号,而是面对一张所有词都各就各位的意义地图。每个 token 进门,先查表换成坐标,然后——真正的表演才开始:机器要拿着这些坐标,去做那件听起来简单、实际上撑起整个 AI 时代的事:猜下一个词。下一章见。

AI 是怎么学会说话的 · 百姓AI
费曼式写法 · 由多个 AI 代理撰写与互相审校