概念

稀疏向量是一种特殊的高维向量,其中大部分元素为零,只有少数维度具有非零值。
密集向量通常表示为连续数组,每个位置都有值(如[0.3,0.8,0.2,0.3,0.1]),而稀疏向量仅存储非零元素及其维度索引,通常表示为键值对
{index: value}(如[{2: 0.2], …, {9997: 0.5], [99: 0.7}]

使用场景

稀疏向量在信息检索和自然语言处理中是捕获表面级术语匹配的重要方法,特别适用于需要精确关键词匹配的场景。而密集向量更适合语义搜索。在实际应用中,混合搜索结合两者的优势,可以
获得更好的检索效果。

如何生成稀疏向量

1.传统统计技术
传统统计技术如TF-IDF(词频-逆文档频率)和BM25(最佳匹配25),根据词在语料库中的频率和重要性为词分配权重。这
些方法计算简单的统计数据作为每个维度的分数,每个维度代表一个token。Milvus提供内置的全文搜索功能,使用BM25方法自动将文本转换为稀疏向量,无需手动预处理。
2.神经稀疏嵌入模型
神经稀疏嵌入模型是通过在大型数据集上训练来生成稀疏表示的学习方法。它们通常是具有Transformer架构的深度学习模
型,能够基于语义上下文扩展和加权术语。

BM25与稀疏向量检索的关系

BM25是传统统计技术的一种,它根据词在语料库中的频率和重要性为词分配权重。这些方法计算简单的统计数据作为每个维度的分数,每个维度代表一个token。
BM25关键字搜索就是稀疏向量搜索的一种实现方式。


愿你我都能在各自的领域里不断成长,勇敢追求梦想,同时也保持对世界的好奇与善意!

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐