上篇咱们聊了Embedding是什么,以及Word2Vec这个开山鼻祖是怎么工作的。说白了,就是把词变成坐标,让意思相近的词在空间里也靠得近。
但Word2Vec有个硬伤------它太"死板"了。
四、静态Embedding的尴尬:一个词只有一个"脸"
在Word2Vec的世界里,每个词只有一个固定的向量。这导致了一个问题:一词多义怎么办?
比如"苹果"这个词,在"我吃了一个苹果"和"我买了一部苹果手机"这两句话里,意思完全不一样。但在Word2Vec里,它就是同一个向量,AI根本分不清你是在说水果还是在说品牌。再比如" bank"。在"river bank"(河岸)和"savings bank"(银行)里,这俩"bank"风马牛不相及,但静态Embedding给它们的向量是一样的。
这就尴尬了------AI明明读懂了每个词,却没读懂整个句子。
五、动态Embedding的出现:让词义"随波逐流"
为了解决这个问题,科学家们搞出了动态Embedding,也叫上下文相关的Embedding。代表作就是2018年横空出世的 BERT。BERT的核心突破是:同一个词,在不同句子里,给它不同的向量。它怎么做到的?简单说,BERT在看一个词的时候,会同时看它左边和右边的所有词,然后把整个句子的语境考虑进去,再决定这个词"此时此刻"应该是什么意思。
比如"苹果"这个词:在"我吃了一个苹果"里,周围有"吃",BERT就知道这应该是水果那个苹果,给一个偏向水果的向量。在"苹果发布了新手机"里,周围有"发布"、"手机",BERT就知道这应该是公司那个苹果,给一个偏向科技的向量。
这就厉害了。AI终于能分清楚什么时候的"苹果"是吃的,什么时候的"苹果"是用的。
BERT之后,又出了各种变种,比如RoBERTa、ALBERT等等,但核心思想都一样:让词的表示跟着上下文走,不再一成不变。
六、Embedding有哪些类型?不只是"词"的事儿
说到这儿,你可能觉得Embedding就是给词用的。其实不然,啥都能Embedding。
- 词级别(Word Embedding)
就是上面聊的这些,Word2Vec、GloVe、BERT里的词向量都属于这一类。
- 句子级别(Sentence Embedding)
有时候我们需要把一整句话表示成一个向量。比如做语义搜索,用户问一句"怎么重置密码",系统得去库里找语义相近的标准问题"忘记密码怎么办"。这就得把整句话都转成向量,然后算相似度。Sentence-BERT就是专门干这个的。
- 段落/文档级别(Document Embedding)
比句子更大的单位,整篇文章也能embed成向量。比如论文检索、法律文书比对,都需要这种。
- 用户/物品级别(User/Item Embedding)
推荐系统里,每个用户、每个商品都可以有一个向量。用户喜欢什么,就给他推向量离得近的商品。
- 图级别(Graph Embedding)
社交网络、知识图谱里的节点也能embed。比如两个人有共同好友,他们的向量就会比较近。
- 多模态Embedding
更高级的玩法------把文本、图像、音频都映射到同一个向量空间。这样你就可以用文字搜图片,或者用图片搜文字。
七、Embedding到底有啥用?从语义搜索到推荐系统
说了这么多,Embedding到底能干些啥?它的作用可以归结为几点:
- 让搜索更聪明(语义搜索)
传统搜索靠关键词匹配,你搜"怎么登录",它只认包含"登录"二字的文章。但用Embedding,你搜"我登不上账号了",它能匹配到"忘记密码怎么办"、"账号被锁定如何解锁"这些语义相关的问答。
- 让推荐更懂你(个性化推荐)
把你喜欢的内容embed成向量,把库里的内容也embed成向量,然后算相似度,离你最近的推给你。
- 让分类更准确(文本分类)
把邮件embed成向量,然后训练一个分类器,就能区分这是正常邮件还是垃圾邮件。
- 让聚类更直观(主题聚类)
把一堆新闻embed成向量,然后聚类,你会发现体育新闻聚一堆、娱乐新闻聚一堆、科技新闻聚一堆------完全不需要人工打标签。
- 让RAG更靠谱(检索增强生成)
现在大火的RAG技术,核心就是Embedding。先把文档库里的内容都embed好存起来,用户提问的时候,把问题也embed一下,去库里找最相关的几个段落,然后喂给大模型生成答案。
从Word2Vec到BERT,从静态到动态,从纯文本到多模态,Embedding技术一直在进化。但它的核心始终没变:把人类能理解的东西,翻译成机器能算的东西,而且在翻译的过程中,尽量保留原来的语义关系。
下次你用搜索引擎找到一篇好文章,或者刷短视频刷到一个刚好对胃口的推荐,背后很可能就是Embedding在默默工作。它就像AI世界里的翻译官,把人类的语言、喜好、行为,都转成那一串串数字,然后在数字的世界里,帮你找到最合适的那一个。
那个"语义地图"越画越精细,AI也就越来越懂你。