分类目录归档:搜索排序算法

LSH 局部敏感性哈希

LSH(locality sensitivity Hashing,局部敏感性哈希)算法

  • 一种从海量数据中进行相似性搜索的算法
  • 常用于文本查重、图像识别、推荐系统和搜索引擎

以相似文档检索为例,说明 LSH 的算法过程

  1. Shingling,文档进行向量化表示

    • 统计 k 个文档中连续出现的 token(字符或单词)
    • 按照 one_hot 的形式对文档进行向量化的矩阵表示
    • 每一列表示一个文档,每一行表示文档的信息矩阵
  2. Min-Hashing,对文档信息进行降维

    • 依次对文档矩阵的每一列进行重排序
    • 选择第一个非 0 行的行号作为的最小哈希值
    • 重复多次,得到若干个最小哈希组成的文档矩阵

Read more

BM25 搜索排序算法

BM25(Best Matching 25),一种经典的信息检索方法

  • BM25 综合考虑了 TF-IDF 和文档长度等信息,计算效率高,实用性强
  • BM25 在信息检索领域使用广泛,是 Elasticsearch 的默认检索方法
  • BM25 的语义理解能力不足,无法有效捕捉词序信息和上下文关系
  • BM25 可以通过调整参数来适用不同的应用场景,但个性化能力有限

TF-IDF

词频 TF(Term Frequency),词语 $t$ 在文档 $d$ 中出现的频率

$$ \text{TF}(t, d) = \frac{\text{词t在文档d中的

Read more