在传统计算机系统中,处理文本信息的方式就像是一个只会查字典的机器人。当用户输入"我想买水果",系统会机械地查找包含"水果"这个精确词汇的记录,而完全无法理解"苹果"、"香蕉"都属于水果这个类别。这种基于关键词匹配的方法存在明显的局限性:
向量技术的出现彻底改变了这一局面。2013年,Google发布的Word2Vec算法首次展示了如何将词语转化为数值向量,并保持语义关系。随后的GloVe、FastText等模型进一步提升了这一能力。如今,像BERT这样的Transformer模型能够生成考虑上下文的高质量向量表示。
关键突破:向量技术让计算机首次能够"理解"词语之间的概念关系,而不仅仅是匹配字符组合。
在数学上,向量是同时具有大小和方向的量。在N维空间中,一个向量可以表示为:
code复制v = [v₁, v₂, ..., vₙ]
其中每个vᵢ都是一个实数,表示该向量在第i个维度上的投影值。
语义向量的神奇之处在于,经过适当训练的模型能够将语义关系编码到这些数值中。例如:
目前常用的文本嵌入模型主要有三类:
| 模型类型 | 代表算法 | 特点 | 典型维度 |
|---|---|---|---|
| 词级别 | Word2Vec, GloVe | 每个词固定向量,不考虑上下文 | 50-300 |
| 上下文敏感 | ELMo, BERT | 同一词在不同语境有不同向量 | 768-1024 |
| 句子级别 | USE, Sentence-BERT | 直接生成句子/段落向量 | 384-1024 |
在实际应用中,选择哪种模型取决于具体需求:
以教育平台的教材搜索为例,传统SQL方案需要精确匹配字段:
sql复制SELECT * FROM textbooks
WHERE author LIKE '%李华%'
OR title LIKE '%管理%';
而基于向量的解决方案则完全不同:
python复制# 使用sentence-transformers生成文档向量
from sentence_transformers import SentenceTransformer
model = SentenceTransformer('paraphrase-multilingual-MiniLM-L12-v2')
textbook_vectors = model.encode(textbook_descriptions)
python复制query_vector = model.encode(["教材负责人是谁?"])
similarities = util.cos_sim(query_vector, textbook_vectors)
top_result = textbook_descriptions[similarities.argmax()]
这种方案能有效处理:
电商平台的商品推荐传统上依赖协同过滤,存在冷启动问题。向量技术提供了新的解决方案:
商品表征:
多模态融合:
python复制# 简单加权融合示例
final_vector = 0.6*text_vector + 0.3*image_vector + 0.1*behavior_vector
python复制# 使用FAISS进行高效相似搜索
import faiss
index = faiss.IndexFlatIP(768)
index.add(item_vectors)
D, I = index.search(user_vector, k=5) # 返回最相似的5个商品
| 数据库 | 开发公司 | 核心特点 | 适用场景 |
|---|---|---|---|
| Pinecone | 专有 | 全托管服务,简单易用 | 快速原型开发 |
| Weaviate | 开源 | 支持混合搜索,内置ML | 复杂搜索需求 |
| Milvus | LF AI | 高性能,可扩展 | 大规模生产环境 |
| Qdrant | 开源 | Rust编写,内存高效 | 资源受限环境 |
| Chroma | 开源 | 轻量级,Python优先 | 小型项目 |
对于生产级系统,推荐以下架构:
code复制用户请求 → API网关 → 应用服务器 → 缓存层 → 向量数据库集群
↘ 传统数据库
关键配置参数:
低召回率:
性能瓶颈:
概念漂移:
python复制# 批量编码更高效
batch_vectors = model.encode(queries, batch_size=32)
python复制# 使用8-bit量化减少存储
vectors = vectors.astype('float16')
python复制# 先粗筛再精筛
coarse_index.search(query, k=100) → fine_index.search(candidates, k=10)
多模态向量技术正在快速发展,最新的CLIP等模型能够将图像和文本映射到同一向量空间。这意味着我们可以实现:
另一个重要趋势是向量检索与LLM的结合。典型工作流:
这种RAG(Retrieval-Augmented Generation)架构大幅提升了AI系统的可靠性和可解释性。