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

BM25算法记忆

公式拆解
公式1:query和document的关联性得分;
公式2:单个query中的关键词对应的权重,关键词出现在很多文档中,说明它不关键,可能是句号、的、是,等等;
公式3:document和Qi关联性,与query中的关键词在document出现频率有关,但不是线性关系;
公式4:加权的词频,权衡文章长短对词频的影响;

BM25
公式5:综合关键词在所有文档中的词频和在单个文档中的词频考虑最终得分,得分要高,需要在别的文档很少出现,在本文档高频出现;

在这里插入图片描述

它非常适合对大量文档(如数字图书馆)进行分类,而不会偏向较长的文档或过度使用的词语。
BM25 算法是一个强大、高效且在实践中表现良好的基线检索算法。它的优点在于对词频饱和度和文档长度的有效处理,以及计算效率高。然而,它的主要缺点在于缺乏对语义的理解,这使得它在面对复杂、口语化或语义相关的查询时,性能可能不如基于深度学习的语义检索方法。因此,在现代信息检索系统中,BM25 常常与向量搜索(语义搜索)结合使用,形成混合搜索,以弥补各自的不足。

OpenSearch 官方教程中的 BM25 与语义搜索基础讲解

http://www.dtcms.com/a/326132.html

相关文章:

  • 推荐中的在线学习
  • macos彻底删除vscode
  • Spring JDBC
  • 零基础AI编程开发微信小程序赚流量主广告实战
  • 6s081实验1
  • redis(2)-java客户端使用(IDEA基于springboot)
  • USB 基本描述符
  • Go 多进程编程-管道
  • C++方向知识汇总(三)
  • 面试实战 问题二十三 如何判断索引是否生效,什么样的sql会导致索引失效
  • git:分支
  • 3Ds Max的魔改利器:RailClone - 程序化建模的革命者
  • MySQL 经典练习 50 题(完美解答版,提供解题思路)
  • Spring Framework源码解析——DisposableBean
  • Oracle数据库中的Library cache lock和pin介绍
  • Java多线程并发控制:使用ReentrantLock实现生产者-消费者模型
  • js异步操作 Promise :fetch API 带来的网络请求变革—仙盟创梦IDE
  • 机器翻译:Bahdanau注意力和Luong注意力详解
  • 【浮点数存储】double类型注意点
  • 理解LangChain — Part 3:链式工作流与输出解析器
  • Notepad--:国产跨平台文本编辑器,Notepad++ 的理想替代方案
  • 写一篇Ping32和IP-Guard的对比,重点突出Ping32
  • 循环控制:break和continue用法
  • 鸿蒙flutter项目接入极光推送
  • Java项目基本流程(三)
  • Orange的运维学习日记--38.MariaDB详解与服务部署
  • linux安装和使用git
  • Elasticsearch 官方 Node.js 从零到生产
  • docker部署elasticsearch-8.11.1
  • 网络的基本概念、通信原理以及网络安全问题