LSH(locality sensitivity Hashing,局部敏感性哈希)算法
- 一种从海量数据中进行相似性搜索的算法
- 常用于文本查重、图像识别、推荐系统和搜索引擎
以相似文档检索为例,说明 LSH 的算法过程
Shingling,文档进行向量化表示
- 统计 k 个文档中连续出现的 token(字符或单词)
- 按照 one_hot 的形式对文档进行向量化的矩阵表示
- 每一列表示一个文档,每一行表示文档的信息矩阵
Min-Hashing,对文档信息进行降维
- 依次对文档矩阵的每一列进行重排序
- 选择第一个非 0 行的行号作为的最小哈希值
- 重复多次,得到若干个最小哈希组成的文档矩阵