1. 从词向量到Embedding:理解语义的数学表达
第一次接触Embedding概念是在2016年处理自然语言处理项目时。当时我们需要让计算机理解"苹果"这个词在不同上下文中的含义差异——是水果还是科技公司?传统方法束手无策,直到发现Embedding技术可以将词语映射为稠密向量,语义关系突然变得可计算了。这种将离散符号转化为连续向量空间表示的技术,如今已成为AI领域的基石。
1.1 什么是Embedding?
Embedding本质上是将高维离散数据(如单词、图像、用户ID)映射到低维连续向量空间的技术。以词嵌入为例,"king"可能表示为[0.3, -0.2, 0.7],而"queen"则是[0.28, -0.25, 0.68]。这种表示的神奇之处在于:
- 语义相似性:通过向量距离(如余弦相似度)可量化词语关系
- 线性关系:经典例子是king - man + woman ≈ queen
- 维度压缩:通常将数万维的one-hot向量压缩到几百维
注意:好的Embedding应该保持原始数据的拓扑结构——语义/特征相近的对象在向量空间中距离更近
1.2 主流Embedding生成方法
1.2.1 Word2Vec系列
- CBOW(连续词袋):通过上下文预测当前词
- Skip-gram:通过当前词预测上下文
- 我的实践:在电商搜索场景中,Skip-gram对生僻词处理更好
1.2.2 Transformer-based
- BERT:双向编码器,考虑全局上下文
- BGE(BAAI General Embedding):中文社区广泛使用的开源模型
- 参数选择:通常768维足够,关键业务建议1536维
1.2.3 多模态Embedding
- CLIP:统一处理文本和图像
- 实践案例:我们曾用CLIP实现跨模态搜索,召回率提升37%
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 向量索引:如何高效检索百万级向量?
当我在2018年构建第一个推荐系统时,面临的核心挑战是:如何在毫秒级时间内从200万商品Embedding中找到最相似的100个?传统数据库的LIKE查询完全失效,这就是向量索引技术的用武之地。
2.1 近似最近邻(ANN)算法概览
精确最近邻搜索(如暴力计算)复杂度为O(N),对于海量
