分享好友 最新动态首页 最新动态分类 切换频道
大型语言模型的语义搜索(一):关键词搜索
2024-12-26 11:31

关键词搜索(Keyword Search)是文本搜索种一种常用的技术,很多知名的应用app比如Spotify、YouTube 或 Google map等都会使用关键词搜索的算法来实现用户的搜索任务,关键词搜索是构建搜索系统最常用的方法,最常用的搜索算法是,简称BM25。在信息检索中,Okapi BM25(BM是最佳匹配的缩写)是搜索引擎用来估计文档与给定搜索查询的相关性的排名函数。它基于Stephen E. Robertson、Karen Spärck Jones等人 在 20 世纪 70 年代和 80 年代开发的概率检索框架。今天我们会教大家使用的API来调用BM25算法搜索维基百科的数据库。

我们需要安装如下的python包

 

这里简单介绍一下是一家从事大模型应用开发的公司,而是一个开源的向量数据库,本次实验我们会用到weaviate-client这个包。接下来我们需要导入一些基础配置,这些基础配置主要包含cohere和weaviate的相关的api_key

 

接下来我们来创建一个weaviate的client,它将会允许我们连接一个在线数据库。

 

这里需要说明的是Weaviate 是一个开源的向量数据库。 它具有关键字搜索功能,同时还具有基于大语言模型(LLM)的向量搜索功能。 我们在这里使用的 API key是公共的,它是公共Demo的一部分,因此它是公开的,您可以使用它通过一个url地址来访问在线Demo数据库。 另外需要说明的是这个在线数据库是一个公共数据库,包含1000万条自维基百科的数据记录。数据库中的每一行记录表示维基百科文章的一个段落。这 1000 万条记录来自 10 种不同的语言。 因此,其中一百万是英语,另外九百万对应其他9种不同语言。 我们在执行查询时可以设置不同的语言。这种语言包括en, de, fr, es, it, ja, ar, zh, ko, hi

这里我们会用到3个配置参数:COHERE_API_KEY、 WEAVIATE_API_KEY、WEAVIATE_API_URL。其中COHERE_API_KEY我们需要去自己注册一个cohere账号然后自己创建一个自己的api_key, 而WEAVIATE_API_KEY和WEAVIATE_API_URL我们使用的是对外公开的api_key和url"

  • weaviate_api_key: "76320a90-53d8-42bc-b41d-678647c6672e"
  • weaviate_api_url: "https://cohere-demo.weaviate.network/"

Keyword Search在基本原理是它会比较问题和文档中的相同词汇的数量,从而找出和问题最相关的文档,如下图所示

在上图中Query表示用户的问题,而Responses表示根据问题检索到的结果,Number of words in common表示query和responses中出现重复单词的数量,在这个例子中我们的问题是:“what color is the grass?” 与结果中第二个结果 “The grass is green” 重复的单词数量最多,因此第二个结果是最优的结果。

下面我们来定义一个关键词搜索函数

 

这里在定义keyword_search函数时设置了如下四个参数

  • query: 用户的问题
  • results_lang:使用的语言,默认使用英语。
  • properties :结果的组成结构。
  • num_results:结果的数量,默认3个结果。

由于该在在线数据库中的数据由10种不同的语言组成,其中包括:en, de, fr, es, it, ja, ar, zh, ko, hi。因此我们可以在查询时设置不同的语言来进行查询。另外在该函数中我们还指定了BM25算法(“with_bm25”)来实现关键词搜索,下面我们就来使用默认的英文来进行关键词搜索

 

 由于上面的多条结果混在一起看上去比较乱,因此我们可以定义一个整理结果的函数

 

 这里我们看到了关键词搜索函数返回了3条包含“Donald Trump”的文档。接下来我们使用中文来进行搜索

 

这里我们需要解释一下该关键词搜索系统的基本原理,这里主要包含了查询(query)和搜索系统(Search System)两个主要的组件,搜索系统可以访问它预先处理过的文档数据,然后响应查询,系统最后为我们提供一个按与问题最相关的文档排序结果列表,如下图所示:

搜索系统(Search System)的内部结构

然而在搜索系统内部包含了2个主要的工作阶段, 第一个阶段通常是检索或搜索阶段,之后还有另一个阶段,称为重新排名即所谓的re-ranking。第一阶段通常使用 BM25 算法对文档集中的文档与问题进行评分,第一阶段检索的实现通常包含倒排索引的思想(inverted index)。第二阶段(re-ranking)则对评分结果进行排序后输出结果,如下图所示

从上图种我们看到了在倒排序表中包含了2列,第一列时关键词,第二列是该关键词所在的文档的Id. 设计这样的倒排序表主要是为了优化搜索速度。 当您在搜索引擎中输入查询的问题时,系统便能在几毫秒内得到结果。另外在执行搜索任务时关键词对应的文档id出现的频率是评分的重要依据,在上图中的例子中“Color” 在804文档中出现,而“Sky”也在804文档中出现,因此804文档被命中的次数较多,所以会有较高的评分,最后它在检索结果中出现的位置会比较靠前。

我们知道关键词检索并非是根据关键词的语义来检索,而是根据问题和文档中出现的重复单词数量来进行检索,这就会带来一个棘手的问题,那就是如果文档和问题在语义相关,但是它们之间却没有重复的单词,那么就会照成关键词检索无法检索到相关的文档,如下图所示

 当文档与问题在语义上相关,但它们之间又没有出现重复词汇,此时关键词检索将会失效,它将无法检索到相关文档,当遇到这种情况时则需要借助语言模型来通过语义识别来进行检索。后续我们将会借助语言模型来改进关键词搜索的两个阶段,如下图所示


The Cohere Platform

Home | Weaviate - Vector Database

最新文章
贵宾犬能吃香蕉吗 饮食禁忌有哪些
贵宾犬是能吃香蕉的,但如果是没有打疫苗的幼犬,建议不要给它喂食香蕉,否则容易引起狗狗腹泻。此外,也不可给狗狗食用太多,过多会导致肠道菌群失衡。贵宾犬是可以吃香蕉的,在狗狗便秘或食欲不好的时候给于适当的香蕉可以起到调节作用,
高清美女写真生成:以AI为助手,轻松实现你的梦幻场景!
DALL-E 2DALL-E 2是OpenAI推出的一款先进工具,凭借其强大的生成能力,用户只需简单输入文本描述,工具便可以生成高质量、符合描述的图像。DALL-E 2不仅能制作超逼真的美女照片,还能够根据用户需求加入背景、道具和风格等。虽然它拥有惊人
设计师必用的五个AI绘图神器?第一个太重磅!
前言       以往绘制设计图时,需要从零开始构思、草拟、搜集素材、精细调整每个元素,这一连串步骤既耗时又费力,往往需要数小时乃至数日的不懈努力。      而今,借助AI绘图工具,这一切变得截然不
退本《DeePLAPP》遭遇任务骗局,提现无门怎么办?
DeePLAPP遭遇任务骗局,提现无门怎么办?技术出嘿『溦:9836356』(一)希望阅读此文的读者能够及时采取措施以减少损失;请及时与团队联系提供解决方案(文章下面图片有咨询方式)若想追回损失资产,务必仔细阅读以下内容。【JFHHERYERY】2024年
用AI绘画工具一键生成超逼真美女写真,快来试试!
步骤二:选择模式在主界面中选择“美女写真生成”模式,准备开始你的创作之旅。步骤三:输入描述在输入框中输入您想要的主题与细节,比如“优雅的中国风美女”。步骤四:生成图像点击“生成”按钮,等待几秒钟,系统将自动为您生成相应的美
靠产品力说话,坦克300发动机表现如何
在汽车市场日益激烈的竞争中,消费者对汽车的需求逐渐转向越野性能的提升,尤其是年轻一代,他们追求个性化和与众不同的座驾。在这样的背景下,国产汽车品牌纷纷推出满足市场需求的硬派越野SUV,其中坦克300凭借其卓越的产品力脱颖而出。今
谷歌SEO时,该信赖哪个Keyword research工具?
在SEO的浩瀚宇宙中,关键词研究如同指南针,引领我们穿越信息迷雾,直击目标受众的心智。作为一名实战派SEOer,我深知选择合适的Keyword Research工具对于谷歌SEO的重要性。今天,就让我们一同探讨,哪些工具能成为我们信赖的伙伴,助力网
科大新闻 | 智能时代新文科本科教学论坛成功举办
12月8日,由中国科学技术大学人文与社会科学学院主办的智能时代新文科本科教学论坛在东校区人文楼顺利举行。专家学者共同探讨本科教学中的创新应用、课程设计优化、人才培养模式变革等核心议题,助力智能时代新文科本科教学的高质量发展。
移动硬盘删除的文件夹怎么恢复?这几招,真应该提早知道的
移动硬盘删除的文件夹怎么恢复?移动硬盘作为便携式存储设备,广泛应用于我们的工作、学习和生活中。但是,在使用过程中,不小心删除了重要文件夹的情况也时有发生。为了找回丢失误删的文件夹,接下来,我们会为你介绍一些实用的恢复方法,
盖世小鸡GameHub:手机变身PC游戏神器!
在数字娱乐飞速发展的今天,游戏行业逐渐突破了传统的设备限制,玩家的选择也愈加多样化。最近,国内知名模拟器品牌盖世小鸡宣布推出一款名为GameHub的PC模拟器应用,标志着手机游戏体验的一个重大突破。据悉,该应用预计将在2024年春节前
相关文章
推荐文章
发表评论
0评