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

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

PageRank 排序算法

PageRank 是早期 Google 搜索的核心算法,决定了搜索结果中的网页展示顺序

PageRank 算法最初用于网页权重的计算,它将每个网作为一个节点,网页间的超链接作为边,而最终的网页 X 权重描述了以 X 为起点,通过超链接进行随机游走 $N$ 次后,再次返回网页 X 的概率。同时为了防止随机游走进入死循环,每次随机游走还有概率 $=\alpha$ 的情况随机跳转到任意网页,不同网页的随机跳转概率是相等的

PageRank 核心思想:

  • 根据网站的外部链接和内部链接的数量和质量衡量网站的价值
  • 如果重要性为 $PR(i)$ 的页面 $i$ 有 $l_i$ 个外链(出度),则每个

Read more