信息检索

信息检索

向量路(看"意思像不像"):稠密检索

三步:

  1. 把查询变成一串数字(512 维向量)
  2. 库里每一块早就是同样长度的向量(入库时就编好了)
  3. 逐个算余弦相似度——两个向量夹角的余弦,越接近 1 表示越像
  4. 按分数从高到低排,取前 N 名

它匹配的是整体感觉。查询和块哪怕一个字都不重合,只要"说的是一回事",分数也可能很高。

BM25 路(看"词对不对得上"):稀疏检索

四步:

  1. 分词——把查询和块都切成词(这里是单字 + 相邻两字的组合)
  2. 对每个查询词,在这块里算三个东西:
 
因子在算什么直觉
词频 tf 这个词在这块里出现几次 出现越多越相关,但收益递减(出现 10 次 ≠ 10 倍)
IDF 这个词在整个库里稀不稀罕 "的"到处都是 → 几乎不加分;"令牌桶"很稀有 → 加很多分
长度归一化 这块比平均块长还是短 长块天然更容易撞到词,要惩罚,否则长块霸榜
  1. 把每个词的分数加起来
  2. 从高到低排,取前 N

它匹配的是字面重合。查询里没有的词,它一个都匹配不上。

posted @ 2026-10-16 10:57  aaronthon  阅读(14)  评论(0)    收藏  举报