应用场景

Embedding技术在语义搜索、文本聚类和推荐系统等领域有着广泛应用。

共 3 篇文章·阅读时间:约30分钟

01语义搜索

语义搜索通过理解查询意图而非简单的关键词匹配,提供更精准的搜索结果。

搜索原理

传统搜索 vs 语义搜索

传统搜索(BM25等)

  • 基于关键词匹配
  • 无法理解同义词
  • 无法理解语义关联

语义搜索(Embedding)

  • 基于向量相似度
  • 理解语义关系
  • 支持自然语言查询

实现方法

步骤1:文档向量化

将所有文档通过Embedding模型转换为向量,存储在向量数据库中。

步骤2:查询向量化

将用户查询转换为向量表示。
注意:需要使用与文档相同的Embedding模型。

步骤3:向量检索

计算查询向量与所有文档向量的相似度,
返回Top-K个最相似的文档。

步骤4:重排序(可选)

使用Cross-Encoder对初始检索结果进行精细排序, 进一步提升相关性。

常用向量数据库

  • Milvus:开源,分布式支持
  • Pinecone:云服务,易用性好
  • Qdrant:Rust实现,性能优秀
  • Chroma:轻量级,适合实验

02文本聚类

将语义相似的文本自动归为一类,用于主题发现、用户分群等场景。

聚类方法

K-Means

最经典的聚类算法,将数据划分为K个簇。
优点:简单高效;缺点:需要预先指定K值。

层次聚类(Hierarchical)

构建聚类树,支持发现任意形状的簇。
优点:无需预设K值;缺点:计算复杂度高。

DBSCAN

基于密度的聚类算法,能够发现任意形状的簇。
优点:自动发现簇数;缺点:对参数敏感。

聚类流程

  1. 文本向量化:使用Sentence Embedding将文本转为向量
  2. 降维处理:如需可视化,可使用UMAP/t-SNE降维
  3. 确定K值:使用肘部法则或轮廓系数
  4. 执行聚类:调用聚类算法
  5. 结果分析:提取每个簇的关键词,理解簇的主题

应用示例

  • 新闻分类:自动将新闻归类到财经、体育、科技等类别
  • 用户反馈分析:识别用户反馈的主要问题类型
  • 文档组织:自动为大量文档生成分类目录

03推荐系统

基于Embedding的推荐系统通过计算用户和物品的向量相似度实现个性化推荐。

推荐原理

核心思想是将用户和物品都表示为同一向量空间中的向量, 然后通过计算用户向量与物品向量的相似度来进行推荐。

协同过滤的Embedding视角

  • 用户向量:由用户历史行为(如点击、购买的物品)聚合得到
  • 物品向量:由物品的内容特征(如文本描述)编码得到
  • 相似度计算:推荐与用户兴趣最相似的物品

实现方案

内容推荐

仅使用物品的内容特征(如标题、描述)生成Embedding。
适合物品冷启动场景。

协同过滤推荐

通过用户-物品交互矩阵学习Embedding。
能够发现内容相似但表面特征不同的物品。

混合推荐

结合内容特征和协同信号。
同时考虑物品相似性和用户行为模式。

推荐流程

  1. 离线:为所有物品生成Embedding并索引
  2. 在线:根据用户历史行为计算用户Embedding
  3. 在线:计算用户Embedding与物品Embedding的相似度
  4. 返回Top-K物品,混入业务规则(如多样性)后展示
上一篇
← 句嵌入
下一篇
RAG入门 →
----