向量检索方法综述

向量检索库

Annoy

介绍:Annoy是高维空间求近似最近邻的一个开源库。全称:Approximate Nearest Neighbors Oh Yeah,是一种适合实际应用的快速相似查找算法。

Annoy构建一个二叉树,查询时间为O(logn)。

github:GitHub - spotify/annoy: Approximate Nearest Neighbors in C++/Python optimized for memory usage and loading/saving to disk

Faiss

介绍:Faiss库是由 Facebook 开发的适用于稠密向量匹配的开源库,支持 c++ 与 python 调用。Faiss提供了高效的索引类库。是向量化检索开山鼻祖的应用。

Faiss 支持多种向量检索方式,包括内积、欧氏距离等,同时支持精确检索与模糊搜索。

github:GitHub - facebookresearch/faiss: A library for efficient similarity search and clustering of dense vectors.

ElasticSearch

介绍:Elasticsearch 是⼀个分布式可扩展的实时搜索和分析引擎,⼀个建⽴在全⽂搜索引擎 Apache Lucene(TM)基础上的搜索引擎,当然 Elasticsearch 并不仅仅是 Lucene 那么简单,它不仅包括了全⽂搜索功能,还可以进行以下⼯作:

  • 分布式实时⽂件存储,并将每⼀个字段都编入索引,使其可以被搜索。

  • 实时分析的分布式搜索引擎。

  • 可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。

  • ES本质上是一个支持全文搜索的分布式内存数据库,特别适用于构建搜索系统,比如内容检索、文本检索、日志检索。其原因是采用了倒排索引。

    • 倒排索引是一种特别为搜索而设计的索引结构。

    • 先对需要索引的字段进行分词,然后以分词为索引组成一个查找树,这样就把一个全文匹配的查找转换成了对树的查找。

    • 倒排索引相比于一般数据库采用B树索引,其写入和更新的性能比较差,因此倒排索引只适合全文搜索,不适合更新频繁的交易类数据。

github:https://github.com/elastic/elasticsearch

BGE

向量模型BGE与M3E

北京智源人工智能研究院发布了其开源的中英文语义向量(embedding)模型BGE,此模型在多个重要指标上均超越了其他同类模型。

论文:https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/2309.07597.pdf

github:https://github.com/FlagOpen/FlagEmbedding/blob/master/README_zh.md

评估指标

Hit Rate

命中率,一般指的是预期的召回文本(真实值)在召回结果的前 k 个文本中出现。一般,Hit Rate越高,就说明召回算法效果越好。衡量返回结果的准确率。

Mean Reciprocal Rank

平均倒数排名,是一种常见的评估检索效果的指标。MRR 是衡量系统在一系列查询中返回相关文档或信息的平均排名的逆数的平均值。例如,如果一个系统对第一个查询的正确答案排在第二位,对第二个查询的正确答案排在第一位,则 MRR 为 (1/2 + 1/1) / 2。衡量返回结果的排名质量

RANK代表第i个查询文本命中的排序,Q为查询的集合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

茉莉_Molly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值