首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏NLP/KG

    语义检索-BAAI Embedding语义向量模型深度解析:微调Cross-Encoder以提升语义检索精度

    语义检索-BAAI Embedding语义向量模型深度解析:微调Cross-Encoder以提升语义检索精度 语义向量模型(Embedding Model)已经被广泛应用于搜索、推荐、数据挖掘等重要领域 然而,当前中文世界的高质量语义向量模型仍比较稀缺,且很少开源 BGE 出色的语义表征能力源于两方面要素:1)针对表征的预训练,2)大规模文本对训练。 BGE 在悟道 、Pile 两个大规模语料集上采取了针对表征的预训练算法 RetroMAE :将低掩码率的输入编码为语义向量(Embed),再将高掩码率的输入与语义向量拼接以重建原始输入。 BGE 针对中文、英文分别构建了多达120M、232M的样本对数据,从而帮助模型掌握实际场景中各种不同的语义匹配任务,并借助负采样扩增 [1] 与难负样例挖掘 [2] 进一步提升对比学习的难度,实现了多达 65K的负样本规模,增强了语义向量的判别能力。

    1.3K10编辑于 2024-07-09
  • 来自专栏架构进阶

    Postgresql中的检索:中文分词及语义检索

    一 前言     在上一篇文章中提到,在postgresql中,使用pgvector可以实现向量存储和检索,使用pg_trgm基于三元组文本模糊匹配和相似度计算,结合GIN 索引和GiST索引实现全文检索 但pg_trgm并不是一个专业的中文分词工具,它是基于字符层面的处理,不理解语义。 zhparser等分词插件的情况下,执行SELECT show_trgm('中文测试');时会发现结果为空,因此需要结合zhparser、jiebaR,或使用ElasticSearch等插件或工具实现中文分词/全文检索 tar xvjf scws-1.2.3.tar.bz2 cd scws-1.2.3 # 编译安装 . 测试 SELECT to_tsvector('chinese_zh', '上海自来水来自海上'); -- 分词结果:'上海':1 '来自':3 '自来水':2 -- 4.

    1.6K00编辑于 2025-06-23
  • 来自专栏Reinvent Data Science

    Milvus x Lucidworks 快速构建语义检索

    语义检索 [1](Semantic Search) 是能帮助你的客户或员工找到正确的产品或信息的绝佳工具,它甚至可以检索到一些难以被索引的信息,从而获得更好的结果。 如果低效的语义检索难以胜任,那么如何进行高速的语义检索呢? 幸运的是,Lucidworks 热衷于解决此类问题。 执行语义检索 为了让机器学习达到闪电般快的速度,Lucidworks 通过向量搜索的方法执行语义检索,由两个关键部分组成。 第一部分:机器学习模型 首先,你需要将文本编码为特征向量。 为了解决这些难题,我们在 Fusion 5.3 版本[2]中添加了向量搜索引擎 Milvus[3]。Milvus 是一款开源软件,拥有极高的搜索速度。 使用语义检索 在了解了 Milvus 如此重要的原因后,让我们回到语义检索的工作流程。

    1.2K40发布于 2021-06-25
  • 来自专栏AI SPPECH

    Search Engine:全库搜索与语义检索

    本文讲解Search Engine的实现:全文索引、语义向量检索、查询解析器、搜索结果ranking、以及如何将传统搜索与AI搜索融合,提供更精准的检索结果。 语义搜索:向量嵌入与近似最近邻检索 3.1 从关键词到语义的跨越 3.2 代码嵌入的特殊性 3.3 向量检索的工程实现 3.4 混合检索架构 4. 它将文本映射到高维向量空间,使语义相似的代码片段在向量空间中彼此接近。即使变量名完全不同,只要功能语义相同,就能被检索到。 语义搜索:向量嵌入与近似最近邻检索 3.1 从关键词到语义的跨越 语义搜索的核心思想是将查询和文档都映射到高维向量空间,通过向量距离衡量语义相似度。 现代搜索系统通常将语义搜索与传统搜索结合,形成混合检索架构: 分数融合策略是混合检索的核心。

    37211编辑于 2026-06-02
  • 来自专栏NLP/KG

    语义检索系统:基于无监督预训练语义索引召回:SimCSE、Diffcse

    Supervised 1.正例:标注数据 2.负例:同Batch内的其他样本 语义索引预训练模型下载链接: 以下模型结构参数为: TrasformerLayer:12, Hidden:768, Heads 获取Query的Embedding并查询相似结果 基于语义索引模型抽取出评估集 Source Text 的文本向量,在第 2 步中建立的索引库中进行 ANN 查询,召回 Top50 最相似的 Target 2.4.1 功能一:抽取文本的语义向量 修改 inference.py 文件里面输入文本 id2corpus 和模型路径 params_path: params_path='checkpoints/model DiffCSE 模型同样适合缺乏监督数据,但是又有大量无监督数据的匹配和检索场景。 DiffCSE 模型同样适合缺乏监督数据,但是又有大量无监督数据的匹配和检索场景。

    1.7K00编辑于 2023-08-02
  • 来自专栏NewBeeNLP

    语义信息检索中的预训练模型

    由于待训练的模型参数很多(增加model capacity),而专门针对检索任务的有标注数据集较难获取,所以要使用预训练模型。 2. 检索模型的分类 检索的核心,在于计算query和document的 相似度 。 依此可以把信息检索模型分为如下三类: 基于统计的检索模型 使用exact-match来衡量<query,document>相似度,考虑的因素有query中的词语在document中出现的词频TF、document 基于exact-match的检索模型是召回中必不可少的一路。 其实,在现在常用的深度检索模型中也经常增加这种人工构造的特征。

    2.5K10编辑于 2022-11-11
  • 来自专栏大猪的笔记

    信息检索:布尔检索-建立倒排索引(2)

    假定我们有3个文档: doc1 = ["1", "hello", "word", "i", "love", "dazhu"] doc2 = ["2", "hi", "i", "can", "speak" 合并单词表并排序(代码 give_index) 同理,处理doc2和doc3,合并所有结果并排序,可得一个如下的列表: ['can', '2'] ['can', '3'] ['dazhu', '1'] 最终得到结果如下: ['can', ['2', '3']] ['dazhu', ['1', '3']] ['hello', ['1', '3']] ['hi', ['2', '3']] ['i', [' 1', '2', '3']] ...... 取出 i 的倒排记录表:['1', '2', '3'] 2. 取出 can 的倒排记录表:['2', '3'] 3. 对这两个集合求交集 4.

    1.8K20发布于 2019-11-21
  • 来自专栏网络收集

    html语义2

    对于标题h1 ~ h6的语义化,我们需要注意以下四个方面。 (1)一个页面只能有一个h1标签。 (2)hl ~ h6之间不要断层。 (3)不要用h1 ~ h6来定义样式。 2.h1~h6之间不要出现断层 搜索引擎对hl ~ h6标签比较敏感,尤其是hl和h2。一个语义良好的页面,hl ~ h6 应该是完整有序而没有出现断层的。 也就是说,要按照“hl、h2、h3、h4”这样的顺序依次 排列下来,不要出现“hl、h3、h4”而漏掉h2的情况。 3.不要用h1~h6来定义样式 我们都知道h1 ~ h6是有默认样式的,如图所示。 表格标签如表2-1所示。 表头(语义划分) tbody 表身(语义划分) tfoot 表尾(语义划分) t 行 th

    1.1K10编辑于 2022-05-18
  • 来自专栏NewBeeNLP

    语义信息检索中的预训练模型(下)

    语义信息检索中的预训练模型 这一篇将介绍预训练模型在深度召回和精排中的应用。 4. 所以,应该设计专门针对检索任务的预训练任务。 ,端到端训练的深度检索模型有时效果甚至不如基于exact-match的稀疏检索模型,这是因为过多的使用简单负例(random或者in-batch负采样)没有提供很多信息量,其 梯度范数较小、收敛速度慢 2)DuoBERT (https://arxiv.org/pdf/1910.14424.pdf[4]) 把query和正负document同时输入模型( \left([\mathrm{CLS}]+Q+ 2)段落表示聚合 将一个长文本拆分成若干<512token的段落之后,对每一段都求其[CLS]表征。那么,长文本的整体表征就是每一段[CLS]表征的聚合。

    2.6K30编辑于 2022-11-11
  • 来自专栏NewBeeNLP

    BM25 比语义向量检索效果好?

    NewBeeNLP公众号原创出品 公众号专栏作者 @Maple小七 北京邮电大学·模式识别与智能系统 TL;DR 虽然以SentenceBERT为代表的语义向量检索展现出了超越传统的以 然而现实世界并不会这么理想,稀疏向量查询通常会存在棘手的词汇空缺或语义鸿沟问题(lexical/semantic gap)。 「语义鸿沟」可以理解为是自然语言词汇的稀疏性和语法的多样性,这些现象可以通过同义词典、句式变换等方式来改善。 这正是稠密向量查询想要达到的效果,也就是将查询和文档映射到同一个低维向量空间,通过计算余弦相似度来检索相关文档,关于稠密向量表示的探索可以追溯到经典的潜在语义分析(LSA),2013年的DSSM首次将深度学习方法引入了稠密向量检索 ,目前,以SentenceBERT为代表的语义检索模型在很多数据集上超越了基于稀疏向量的检索方法。

    3.2K20发布于 2021-06-25
  • 来自专栏网罗开发

    大模型如何提升信息检索效率:语义检索与向量数据库的结合

    通过引入大模型的语义理解能力,检索系统能够更好地理解用户意图,而向量数据库则能够高效地存储和检索高维向量数据。本文还提供了一个可运行的示例 Demo 代码模块,展示了如何在实际应用中实现语义检索。 这些模型能够理解文本的语义,从而提升信息检索的效率和准确性。本文将介绍如何利用大模型实现语义检索,并结合向量数据库优化检索效率。 语义检索的实现大模型的语义理解能力大模型(如BERT、GPT等)通过预训练和微调,能够理解文本的语义语义检索的流程语义检索的流程通常包括以下几个步骤:查询理解:利用大模型对用户查询进行语义理解,生成查询向量。文档编码:利用大模型对文档库中的文档进行编码,生成文档向量。 Q2: 向量数据库如何提升检索效率?A2: 向量数据库通过构建高效的索引结构(如IVF、HNSW等),支持快速的相似度搜索。

    1.9K10编辑于 2025-03-04
  • 来自专栏NLP/KG

    语义检索系统:基于Milvus 搭建召回系统抽取向量进行检索,加速索引

    语义检索系统:基于Milvus 搭建召回系统抽取向量进行检索,加速索引 目标:使用 Milvus 搭建召回系统,然后使用训练好的语义索引模型,抽取向量,插入到 Milvus 中,然后进行检索。 1.Milvus简介(2019) 1.1 什么是向量检索 向量是具有一定大小和方向的量,可以简单理解为一串数字的集合,就像一行多列的矩阵,比如:2,0,1,9,0,6,3,0。 向量检索 5.1 基于Milvus的向量检索系统搭建 数据准备结束以后,开始搭建 Milvus 的语义检索引擎,用于语义向量的快速检索,使用Milvus开源工具进行召回,Milvus 的搭建教程请参考官方教程 参考项目,导出自己的静态图模型:语义检索系统:基于in-batch Negatives策略的有监督训练语义召回 数据量 显卡 时间 1000万条 V100 32GB 3h41min 1000万条 A100 针对第三个问题:Milvus只起到加速的效果,这个跟模型相关,并且关键字匹配不推荐使用语义检索,如果是句子级别的匹配,使用语义检索更合适;推荐进行双路召回【语义+关键字】 进入重点如何启动milvus向量库以及涉及到

    3.8K00编辑于 2023-08-02
  • 来自专栏desperate633

    2-3课 检索数据检索检索排序数据

    这两课主要介绍sql中利用select语句对数据的简单检索。 下面分别讨论不同类型的检索 检索列 单个列 select prod_id from Products; 多个列 select prod_id, prod_name, prod_price from Products ; 所有列 select * from Products; 检索不同值 的列 select distinct vend_id from products; 检索前几列或者后几列 select prod_name from products limit 5; select prod_name from products limit 5 offset 5; 检索排序数据 单个列排序 select prod_name

    1.3K20发布于 2018-08-22
  • 来自专栏AI算法之心

    京东电商搜索中的语义检索与商品排序

    文章作者:王松林、唐国瑜 京东算法工程师 编辑整理:Hoh 内容来源:作者授权 出品平台:DataFunTalk 导读:本文将介绍京东搜索场景中的两块技术,语义检索与商品排序。 倒排通过字面匹配方式召回商品,这种方式存在一种缺陷,不能召回字面不匹配但语义层面相近的商品, 如 query='2-3周岁宝宝玩具'是无法召回 sku='托马斯小火车'的。 ? 2. 语义检索效果展示 语义检索上线后获得了很好的体验效果,不仅提升了转化,长尾流量降低了近10%的 query 改写率,也就是说用户不需要多次改写 query,就能获得想要的商品结果。 ? 2.

    1.8K20发布于 2020-06-09
  • 来自专栏机器学习、深度学习

    语义分割DeepLab v2

    and Fully Connected CRFs PAMI Code : http://liangchiehchen.com/projects/DeepLab.html 本文针对深度卷积模型用于语义分割存在的三个问题分别提出对应的解决方法 问题1: reduced feature resolution 特征图分辨率降低 问题2 :目标的尺度多样性 问题3: 分割的精确性差 对于问题1,特征图分辨率降低的原因是 一系列的 max-pooling downsampling,我们的解决方法:去除了网络后面的一些降采样,使用了 atrous convolution 来提高分辨率(就是 dilated convolution) 对于老大难多尺度问题2

    75020发布于 2019-05-26
  • 来自专栏初见Linux

    2.语义化-HTML进阶

    有些人可能会因为对标签语义的不熟悉,常常用某一个标签代替另一个标签来实现某些效果,这是不可取的。 2.HTML精髓 HTML精髓就在于标签的语义2.h1~h6之间不要出现断层 搜索引擎对h1~h6标签比较敏感,尤其是h1和h2语义良好的页面,h1~h6应是完整有序且未出现断层的。 三、图片语义化 在HTML中,需要使用img标签来表示图片。 关于图片的语义化,需从以下 2 方面来介绍: alt 属性和 title 属性。 --第2种方法,缺乏语义化,且不利于维护--> 可以看到,每一个列表项前都有数字,那应该用有序列表实现啊!那为什么我用无序列表呢? 一般情况下,我们会去掉strong和em的默认样式,然后使用CSS重新定义新的样式,但这并不影响这 2 个标签的语义。也就是说,样式只会改变标签的外观,而不会改变标签的语义

    2K30发布于 2020-09-28
  • 来自专栏DeepHub IMBA

    Prompt 缓存的四种策略:从精确匹配到语义检索

    // Step 1: Cache lookup if (cache.has(key)) { return cache.get(key); } // Step 2: 策略 2:规范化缓存 精确匹配有一个很容易遇到的问题:Prompt 里多一个空格、少一个换行、大小写不同,就被当成不同的 key 了。实际上这些差异对语义毫无影响。 解决办法是在缓存前先做规范化处理。 语义缓存的核心风险在于阈值设定。 典型的三层架构长这样: L1 Cache (In-memory, per instance) | L2 Cache (Redis / Shared Cache) | L1 是进程内存缓存,速度最快但作用域最小;L2 一般用 Redis,多个实例可以共享同一份缓存;L3 是语义缓存层,处理那些文本不同但意思相近的 Prompt。

    87910编辑于 2026-02-27
  • 来自专栏WeOps

    RAG 强化之选:OpsPilot Rerank 重排序弥补语义检索短板

    嘉为蓝鲸OpsPilot依托RAG技术打造高效知识处理体系,提取与分块拆分语义单元,为后续流程筑牢根基;Embedding及检索将问题与知识库中内容匹配定位。 Rerank(重排序)的具体实现是通过机器学习模型,捕捉复杂语义(如一词多义、隐含意图),对初步检索结果进行二次语义评估。 具体步骤如下:从而实现以下作用,优化检索结果:弥补语义短板:突破传统检索的表面匹配,找到“关键词不同但意思相近”的优质内容。精准筛选排序:通过多维度打分剔除低质信息,让检索结果更聚焦用户真实需求。 内置了bce-Reranker-base模型提供Rerank功能,对比其他Rerank模型,本模型的核心优势可总结为以下三点:排序精准性更强:通过大量对比“好内容”和“差内容”训练模型,让模型更会判断语义匹配度 04.嘉为蓝鲸OpsPilot——更懂运维的AI平台嘉为蓝鲸OpsPilot是集知识库管理、技能配置、机器人管理及工具管理于一体的智能运维支撑平台,深度融合LLM大模型的语义理解、知识增强与多模态处理能力

    70910编辑于 2025-04-28
  • 来自专栏大数据生态

    「最佳实践」腾讯云 ES 8 向量化语义混合检索测试指南

    部署客户端环境 点击购买客户端机器 2. 2023.12.2 gitdb==4.0.11 GitPython==3.1.41 huggingface-hub==0.20.2 idna==3.6 importlib-metadata==7.0.1 Jinja2= 语义检索 所有准备工作就绪,下面将演示向量检索,我们分别用向量检索和分词检索测试两者的检索效果: cd /root/tencent-es_vector/ vim vector_search.py 修改配置信息 {json_output}") counter += 1 counter = 1 with col2: st.write("### 混合检索结果 总结 从检索效果可以直观看出,使用纯向量检索,往往是达不到业务需求的。如果想提升召回率,则需要配合混合检索,不仅可以提前过滤一些不相关的内容,对性能有一定提升。

    1.5K4039编辑于 2024-04-11
  • 来自专栏为了不折腾而去折腾的那些事

    向量数据库入坑:传统文本检索方式的降维打击,使用 Faiss 实现向量语义检索

    ”,初步接触到了“语义检索”这种对于传统文本检索方式具备“降维打击”的新兴技术手段。 (word2vec、doc2vec),最后搭建一套推理服务,就能够解决基于语义的文本匹配啦。 至于关于如何实现语义检索,我们等会聊。先来看看如何使用传统检索技术来解决“一对多”、“多对多”这种场景下的内容查找问题吧。 使用 Faiss 来进行语义检索 接下来,我们来聊聊对传统技术具备降维打击的“向量语义检索”技术。依旧是先来准备 faiss 的运行环境,完成 faiss 和相关软件的安装。 当模型构建完毕之后,我们就可以来体验和使用基于“向量相似度检索”的语义检索啦。

    4.1K50编辑于 2022-09-10
领券