信息检索 (IR) 中的**稠密向量**是一种数据(例如文本、图像或其他实体)的数值表示,编码为一个固定长度的浮点数数组。与稀疏向量(使用高维空间且大部分值为零,例如独热编码或 TF-IDF)不同,稠密向量紧凑,并在较低维空间中捕获语义关系。稠密向量中的每个维度代表一个学习到的特征,使模型能够编码诸如上下文含义或项目之间的相似性等细微模式。例如,在 300 维空间中,“car”这个词可能表示为 [0.24, -0.53, 0.82, ...],其中每个值反映交通、速度或机械部件等属性。
稠密向量通常使用机器学习模型(如神经网络)生成。在基于文本的 IR 中,BERT、Word2Vec 或句子变换器等模型将词语、短语或整个文档转换为稠密嵌入。这些模型学习在向量空间中将语义相似的项目放置得更近。例如,“dog”和“puppy”的向量将具有较小的余弦距离,而“dog”和“airplane”则相距较远。在检索过程中,系统使用相似度度量(例如余弦相似度)比较查询向量和文档向量,以对结果进行排序。这种方法通过理解上下文,改进了基于关键词的方法:搜索“cold weather clothing”(寒冷天气服装)可以检索到提及“parkas”(派克大衣)或“insulated jackets”(保暖夹克)的文档,即使查询中没有包含这些确切术语。
稠密向量在 IR 中的一个实际应用是现代搜索引擎或推荐系统。Spotify 等平台使用稠密向量表示基于音频特征和用户交互的歌曲,从而可以推荐具有相似模式的曲目。在电子商务中,产品描述可以被编码为稠密向量,以呈现与用户搜索相关的商品,即使使用了不同的措辞。开发者经常使用 FAISS 或 Annoy 等库来实现高效的向量相似性搜索。例如,使用 Sentence-BERT 的 Python 脚本可以将查询“best action movies”(最佳动作片)嵌入为向量,并根据向量接近度检索标记为“thriller”(惊悚片)或“adventure”(冒险片)的电影,从而绕过严格的关键词依赖。这种灵活性使得稠密向量成为现代 IR 系统的核心组成部分。