把词变成数字,嵌入
计算机不认字,只懂数字。可我们用的词全是字。那要怎么告诉计算机一个词的意思呢? 秘诀是给每个词配一个坐标,让意思相近的词在坐标上挨得近。像这样把词变成意义坐标,就叫做嵌入。
给每个词配一个坐标
计算机里面没有字。
只有数字。
可我们用词来说话、思考。
那要怎么把词放进计算机呢?
办法是给每个词配一个坐标。
就当它是地图上的一个点。
cat 这个词在这儿,
dog 这个词在那儿,
这样每个词都有自己的位置。
点一个词。原本是字的词,变成意义空间里的一个点,也就是数字坐标,落了下来。
点一个词,就冒出一个点吧。
那个点的位置就是坐标。
坐标是一串数字,比如横几、竖几。
现在词变成了数字,
计算机总算能处理了。
可要是点随便乱放,
坐标就没有任何意义。
所以再加一个约定。
意思相近的词放在一起。
相近的意思聚到一起
嵌入的关键约定很简单。
意思相近的词放得近。
cat 和 dog 都是动物,放得近,
king 和 queen 都是王室,放得近。
反过来,cat 和 car,
虽然声音像,意思不同,所以离得远。
所以在这个意义空间里,
距离就是意义的相似。
近就相似,远就不同。
点整理按钮。原本散开的词按意思分组聚到一起,同组挨近,跟别组离远。
一点,词就唰地聚到一块儿了吧。
动物跟动物,王室跟王室。
组内挨得近,
跟别的组离得远。
奇妙的是,计算机从字面上
根本不知道 cat 是动物。
它只看坐标之间的距离。
可只要坐标定得好,
光凭距离就能看出相似。
把坐标加来减去
词成了坐标,就有好玩的事了。
坐标是数字,所以能加能减。
而这种运算带着意义。
从 king 减去 man 这个方向。
剩下的就是王室的那种感觉。
再给它加上 woman 这个方向,
居然就落到了 queen 附近。
从 king 拿掉 man、加上 woman,就得到 queen,
坐标上的找路,变成了意义的找路。
依次点步骤按钮。沿着 king 减 man 加 woman 的路走,箭头就落到 queen 附近。
箭头真的落到了 queen 附近吧。
运算不过是坐标的加加减减。
可结果跟意义严丝合缝。
这是因为 king 和 queen 之间的差,
跟 man 和 woman 之间的差很像。
只要坐标学得好,
这样的方向就带上了意义。
当然不会总是分毫不差。
但光是落到附近就已经够惊人了。
不只是词能变成坐标
想看看这个点子为什么这么厉害吗?
变成坐标不只是词的事。
一张照片也能变成坐标。
相似的照片聚到一起。
一段声音、一首歌也能成为坐标。
甚至一个人的口味也能放成坐标。
这样口味相近的就互相靠近。
把任何东西变成坐标、量出远近,
计算机就能处理相似。
换种类点点看。无论是词、图像、声音还是用户,都一样变成点,相似的聚到一起。
换了种类,图景还是一样吧。
点冒出来,相似的聚到一起。
所以音乐应用会推荐相似的歌,
照片应用会帮你找相像的照片。
底下全是在量坐标之间的距离。
把不同的种类放进同一个空间,
甚至能用文字找出照片。
靠坐标这一门共同的语言,
各种东西就能放在一起打理。
来理一理
归成一句话,是这样。
计算机只懂数字,
所以把词变成坐标这样一串数字。
这就是嵌入。
关键的约定是把相近的意思放近。
于是距离就成了意义的相似。
因为是坐标,所以能加能减,
而这种运算居然带着意义。
而且不只是词,图像、声音、用户也都一样。
依次点要点回顾一下。(把词变成坐标 -> 相近的意思放近 -> 坐标运算带着意义 -> 图像声音也一样)
现在你知道了计算机怎么开始
处理一个词的意思。
把字变成坐标,
把相似的聚到一起,这个简单的想法,
其实能带我们走得很远。
搜索、翻译、推荐,乃至把图和文连起来,
往里一看,底下铺的全是这个嵌入。
把词变成数字这一个第一步,
就成了今天那些聪明机器的根基。