当前位置: 首页 > news >正文

深圳网站设计公司排名前十重庆平台网站建设设计

深圳网站设计公司排名前十,重庆平台网站建设设计,专做外贸的网站有哪些资料,wordpress 编辑器关键词搜索(Keyword Search)是文本搜索种一种常用的技术#xff0c;很多知名的应用app比如Spotify、YouTube 或 Google map等都会使用关键词搜索的算法来实现用户的搜索任务#xff0c;关键词搜索是构建搜索系统最常用的方法#xff0c;最常用的搜索算法是Okapi BM25#x… 关键词搜索(Keyword Search)是文本搜索种一种常用的技术很多知名的应用app比如Spotify、YouTube 或 Google map等都会使用关键词搜索的算法来实现用户的搜索任务关键词搜索是构建搜索系统最常用的方法最常用的搜索算法是Okapi BM25简称BM25。在信息检索中Okapi BM25BM是最佳匹配的缩写是搜索引擎用来估计文档与给定搜索查询的相关性的排名函数。它基于Stephen E. Robertson、Karen Spärck Jones等人 在 20 世纪 70 年代和 80 年代开发的概率检索框架。今天我们会教大家使用Cohere的API来调用BM25算法搜索维基百科的数据库。 一、环境配置 我们需要安装如下的python包 pip install cohere pip install weaviate-client 这里简单介绍一下cohere是一家从事大模型应用开发的公司而weaviate是一个开源的向量数据库本次实验我们会用到weaviate-client这个包。接下来我们需要导入一些基础配置这些基础配置主要包含cohere和weaviate的相关的api_key import os from dotenv import load_dotenv, find_dotenv _ load_dotenv(find_dotenv()) # read local .env file 接下来我们来创建一个weaviate的client它将会允许我们连接一个在线数据库。 import weaviate#创weaviate建验证配置 auth_config weaviate.auth.AuthApiKey(api_keyos.environ[WEAVIATE_API_KEY])#创建weaviate client client weaviate.Client(urlos.environ[WEAVIATE_API_URL],auth_client_secretauth_config,additional_headers{X-Cohere-Api-Key: os.environ[COHERE_API_KEY],} )#测试client连接 client.is_ready() 这里需要说明的是Weaviate 是一个开源的向量数据库。 它具有关键字搜索功能同时还具有基于大语言模型(LLM)的向量搜索功能。 我们在这里使用的 API key是公共的它是公共Demo的一部分因此它是公开的您可以使用它通过一个url地址来访问在线Demo数据库。 另外需要说明的是这个在线数据库是一个公共数据库包含1000万条自维基百科的数据记录。数据库中的每一行记录表示维基百科文章的一个段落。这 1000 万条记录来自 10 种不同的语言。 因此其中一百万是英语另外九百万对应其他9种不同语言。 我们在执行查询时可以设置不同的语言。这种语言包括en, de, fr, es, it, ja, ar, zh, ko, hi 二、关于API KEY 这里我们会用到3个配置参数:COHERE_API_KEY、 WEAVIATE_API_KEY、WEAVIATE_API_URL。其中COHERE_API_KEY我们需要去cohere的网站自己注册一个cohere账号然后自己创建一个自己的api_key, 而WEAVIATE_API_KEY和WEAVIATE_API_URL我们使用的是对外公开的api_key和url weaviate_api_key: 76320a90-53d8-42bc-b41d-678647c6672eweaviate_api_url: https://cohere-demo.weaviate.network/ 三、关键词搜索(keyword Search Keyword Search在基本原理是它会比较问题和文档中的相同词汇的数量,从而找出和问题最相关的文档如下图所示 ​ 在上图中Query表示用户的问题而Responses表示根据问题检索到的结果Number of words in common表示query和responses中出现重复单词的数量在这个例子中我们的问题是“what color is the grass?” 与结果中第二个结果 “The grass is green” 重复的单词数量最多因此第二个结果是最优的结果。 下面我们来定义一个关键词搜索函数 def keyword_search(query,results_langen,properties [title,url,text],num_results3):where_filter {path: [lang],operator: Equal,valueString: results_lang}response (client.query.get(Articles, properties).with_bm25(queryquery).with_where(where_filter).with_limit(num_results).do())result response[data][Get][Articles]return result 这里在定义keyword_search函数时设置了如下四个参数 query: 用户的问题results_lang使用的语言默认使用英语。properties 结果的组成结构。num_results结果的数量默认3个结果。 由于该在在线数据库中的数据由10种不同的语言组成其中包括en, de, fr, es, it, ja, ar, zh, ko, hi。因此我们可以在查询时设置不同的语言来进行查询。另外在该函数中我们还指定了BM25算法(“with_bm25”)来实现关键词搜索下面我们就来使用默认的英文来进行关键词搜索 query Who is Donald Trump keyword_search_results keyword_search(query) print(keyword_search_results) ​ 由于上面的多条结果混在一起看上去比较乱因此我们可以定义一个整理结果的函数 def print_result(result): Print results with colorful formatting for i,item in enumerate(result):print(fitem {i})for key in item.keys():print(f{key}:{item.get(key)})print()print()print_result(keyword_search_results) ​ 这里我们看到了关键词搜索函数返回了3条包含“Donald Trump”的文档。接下来我们使用中文来进行搜索 query 安史之乱 keyword_search_results keyword_search(query, results_langzh) print_result(keyword_search_results) ​ 四、关键词搜索基本原理 这里我们需要解释一下该关键词搜索系统的基本原理这里主要包含了查询(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 https://en.wikipedia.org/wiki/Okapi_BM25
http://www.hkea.cn/news/14413297/

相关文章:

  • node.js可以做网站么如何做网站在售产品分析
  • 免费企业网站程序asp江门网站建设电话
  • 网站优化方式做网站不会P图怎么办
  • 做调查问卷换赏金的网站wordpress建站指南
  • 网页设计与网站建设郑州大学公司门户网站是什么
  • 深圳建设官方网站做网站主要学什么
  • 企业微网站怎么做windows live writer wordpress
  • 怎么做万网网站吗教师做课题可以参考什么网站
  • 网站建设 图书c#网站开发需要的技术
  • 怎么自己创造网站沈阳网站建设开发维护
  • 网站开发备案需要什么某财政局网站建设方案
  • 网站开发近期市场天然气集团有限公司原副总经理
  • 嘉兴电子商务网站建设wordpress页内跳转链接
  • 谷歌怎么做公司网站寻找电子商务网站建设
  • 建设网站需要的技术烟台网站seo外包
  • win8导航网站源码惠州企业网站设计
  • 关键词搜索引擎工具爱站佛山定制网页设计
  • 帝国cms能建设视频网站吗wordpress author template
  • 网站建设 排名下拉社交网站实名备案
  • 长沙公司做网站找哪个公司好品牌网站建设最佳大蝌蚪
  • dedecms5.7环保科技公司网站模板软件项目管理是做什么的
  • 禄劝彝族苗族网站建设网站建设怎么更换图片
  • html5 电商网站模板wordpress如何网站顶部右侧广告
  • 江苏海宏建设工程有限公司网站农村小工厂暴利
  • 做能支付的网站贵吗大连小程序制作开发
  • 网站建设先进工作者公司变更法人债务怎么处理
  • 婚庆网站搭建的流程泰安市星际网络科技有限公司
  • openwrt 网站开发门源县电子商务网站建设公司
  • wordpress 4.2 zh cn宁波网站制作优化服务
  • 网站关键词部署商城app开发要多少钱