# 「噗噗」是如何变成「苹果」的：论人类语言概念的形成


By [Jianshuo Wang](https://paragraph.com/@jianshuo) · 2022-07-15

---

自然语言处理（NLP）领域近些年最大的突破，或许是 Word2Vec，就是把自然词汇转换成一组数字的算法。比如斯坦福的 GLOVE 模型，就把每个词用 300 个数字表示。

文字向语义空间的映射
----------

两个数字，可以表示一个二维的平面的点；3 个数字可以表示三维的立体空间的点；这 300 个数字，可以理解为在一个 300 维空间的一个点。

研究员把几亿篇网上能找到的文章，一股脑输入进 Word2Vec 模型，算法根据每个单词的上下文的单词，把上下文相似的单词，在 300 维空间里面调整得比较近，比如苹果、香蕉、桔子等就比较接近，铁、铜、铝也比较接近。而苹果、铁和文艺复兴这样的词就相对比较远。

这样产生的一个有趣的现象，就是有 300 个维度来描述的语义，可以让各个词之间进行加减运算。经典的例子就是King，Quene，Man，Woman 这四个词都变成这 300 维的数字，对这 300 个数字按照维度分别进行加减：

King - Man + Woman 

会得到一个新的 300 维的数字，这个数字附近最近能够找到的单词，居然是 Quene。（从语义上，国王之于男人，相当于女王之于女人）

用一个特别简单的程序，就可以问这个纯数学模型一些比如：北京之于中国，相当于巴黎之于\_\_\_\_\_\_\_\_。算法会找到法国。

机器翻译
----

现在的机器翻译已经早就不用字典了，而是用类似的模型。把中文一堆文字放进这个模型，「苹果」这个词会映射到一个 300 位的数字，如果把英文也灌进去，「Apple」这个词也会映射到几乎一样的位置，同理，manzana, mela 等等都会映射到同一个点附近。

我们如果发现了一个新的原始部落，世界上没有一个人认识他们的文字，但不用着急，只要把能找到的他们的文献输入进这个模型，自然会把所有的他们的词汇都对应到了这个 300 维的空间里面，最接近「苹果」这个词的那个词汇，我们断定，肯定是他们的语言中，表示苹果的意思。现在 Google 提供的上百种语言之间的相互翻译，都是使用这种方式，一气呵成地完成的。

我们有的时候看到 Google 翻译的时候，会出现翻译的啼笑皆非，却有那么点可以理解的错误，就是因为这种方式造成的。比如有人发现特朗普在有些语言中被翻译成了笨蛋。其实，仅仅是因为在日常使用中，越来越多的人用「笨蛋」这个词替代了本来应该出现特朗普的位置，机器学习会学会这种方式。

我们的大脑学习新的词汇
-----------

我们大脑也是用同样的方法学习一个新的词汇的。比如一个两岁的孩子，某一天开始说「噗噗」这个词了。如果没有上下文，我们无法知道他要表达什么意思。但是如果听得多了，我们会慢慢学会他发明的这个新词。

比如：「我最喜欢吃噗噗了」，我们就知道这应该是某种吃的，在我们大脑的神经元组成的语义空间里，把这个词挪到了表示吃的的那个区域。

「我要吃噗噗，不吃香蕉」，这样我们知道大概率是水果。

「我要吃红噗噗，不要吃绿噗噗」，大致苹果的形象已经出来了。

如果在加上手的比划等其他方式的验证，我们可以从上下文发现，他把我们用「苹果」这个词的地方都填充了「噗噗」，我们就此理解了他的「噗噗」就是苹果。

语言的进化
-----

人类的语言的进化就是这样。比如我们很多年前把「想象」这个词说成了「脑补」，估计字典还来不及跟进，机器算法已经学会了，并且把「脑补」，「想象」和「imagine」这些词都映射到了语义空间的同一个位置。就这样，脑补这个词就拥有了想象这个含义。

「内卷」vs 「竞争」，「手势」vs 「规范」，这些词不断出现，第一次看不懂，看的次数多了，不需要任何人解释，凭借上下文，我们就能理解。

同时随着语言的进化，很多词因为不方便说，不断地用新的词隐晦的替代。「同志」已经慢慢地在语义空间里面移动了位置，不再代表原来的革命同志的意思。「小姐」也不是很多年前的「小姐」，而原来的词所处的那个语义向量空间的位置空了出来，被新发明的「小姐姐」这个词填了进去。

**那些我们不懂的新词儿**

无论多新的词，只要语义相对稳定，我们都会很快学会。

怕就怕一个幼儿园小班的小朋友，都争相恐后地跟你用「噗噗」这个词。不过，有的用「噗噗」指代「苹果」，有的指代「马桶」，有的指代「凳子」，估计一周以后，这个幼儿园老师依然搞不懂「噗噗」到底是啥意思。

这就是我们大多数人搞不懂「元宇宙」是啥东西的原因。不要伤心，如果不懂，这不是你的错。

---

*Originally published on [Jianshuo Wang](https://paragraph.com/@jianshuo/civcW1w5izaej0v6fiQa)*
