Token 的阿凡达们 书架

第 05 章 / 共 9 章

第五章 · 搜索引擎的切片师

你在搜索框里敲「北京 咖啡馆」,半秒后拿到一堆结果。这中间发生了什么?

搜索引擎没有读懂你的文艺情怀,它做的事机械得多:把你的查询切成 北京 和 咖啡馆 两个 token,然后翻一本提前编好的大账本——账本上记着每个 token 出现在哪些文档里——把同时沾着这两个 token 的文档捞出来,排个序,端给你。《相关性搜索》一书把这个过程概括成一句话:从文本中提取特征(token),用它撮合用户预期和文档之间的匹配。

注意定义里那个关键词:特征(feature,能代表一段文本「讲了什么」的那些抓手)。这一章的 token 不再代表权利,也不像编译器里那样代表「语法类别」——它代表的是这段文字的主题。替身还在,正主又换了:从「类别」换成了「意思」。

三把语言学的刀

切自然语言比切代码难得多,搜索引擎的刀法是一套组合拳:

大白话:搜索引擎根本不存你的文章,它存的是文章的「指纹」——一串切好、削平、认完亲的 token。查询也做同样的处理变成指纹,然后指纹对指纹。所以你搜「最好的咖啡」也能命中写「上好咖啡」的文章——不是搜索引擎懂中文,是两边的指纹被刀法归一到了同一批 token 上。

为什么敢只比指纹

只看 token、不管全文,听起来很粗暴。但这套刀法背后还是那句老话:验证替身,不验证正主。真正相关性的正主是「这篇文档合不合用户的心意」——没法直接算。token 是它便宜的替身:可以数、可以比、可以建账本,速度撑得起每秒百万次查询。

而且替身一旦可计算,就能玩出正主玩不了的花样:一个词在文档里出现得多、在全网出现得少,那它八成是这篇文档的「题眼」,权重给高些——这就是搜索圈著名的 TF-IDF(词频-逆文档频率,一套「越稀有越说明问题」的打分规则)。token 从「代表意思」进一步变成了「可以称重量的意思」。这个「可计量」的属性先记住,第八、九章它要唱大戏。

广义的 token:万物皆可切

《相关性搜索》还点了一句:token 不限于文本。图片可以切成视觉特征(颜色块、边缘、纹理的指纹),声音可以切成声学特征(一段段频率的指纹)。只要能把一个复杂对象切成一批「可比的替身」,检索的魔法就能成立。人脸识别搜图、哼唱识曲,骨子里都是同一台机器:切 token,建账本,比指纹。

本章留下的问题

搜索这把刀是语言学的:词典、词根、语法,背后站着人类几千年的语言知识。可这套刀法有两个软肋:一是每种语言都要单独打造一套(中文分词器和英文词干器完全是两套手艺);二是「词」这个单位本身未必是最佳切点——凭什么「咖啡」要算一个 token 而不是两个?

下一章的主角把这把刀整个扔了。大模型的工程师说:别管什么词不词的,让语料自己说话——统计会告诉我们该在哪里下刀。切出来的东西连「词」都不是,却撑起了 ChatGPT 的整个世界。

Token 的阿凡达们 · 竹小竹8167
费曼式写法 · 由多个 AI 代理撰写与互相审校