常见文档向量表示方法

参考:https://www.slidestalk.com/Milvus/doc2vecmilvus85394

相似文章召回,通常是指在信息检索、自然语言处理等领域中的一种技术手段。它的主要功能是根据用户提供的某篇文章或一段文本,通过算法模型快速、准确地从海量文本库中找出与之主题内容相似的其他文章。

具体实现过程常常包括以下几个步骤:

  1. 文本预处理:对输入的文章进行分词、去除停用词、词干提取等操作,将其转化为可以被计算机理解的形式。

  2. 特征提取:将预处理后的文本转换为特征向量,常见的方法有TF-IDF、词嵌入(如Word2Vec、GloVe、BERT等)。

  3. 相似度计算:利用余弦相似度、Jaccard相似度、欧氏距离等方法计算目标文章与文本库中每篇文章的相似程度。

  4. 文章召回:根据相似度排序,选取相似度最高的若干篇文章作为召回结果返回给用户。

这种技术在搜索引擎、推荐系统、新闻聚合、知识图谱构建等多种应用场景中都有着广泛的应用。

当前相似文章召回,较为流行的有 bag of words,average word vectors,tfidf-weighting word vectors,这些方法能都实现文章向量的训练,但是对文章在语义空间中的表达仍有一定的欠缺,主要原因是不能够学习到单词的顺序或者句子的语义。Doc2vec又叫Paragraph Vector是Tomas Mikolov基于word2vec模型提出的,doc2vec 相较于传统的 word2vec 的方法,考虑了文章中单词的顺序,能更好更准确的在向量空间中表示一篇文章的语义,而相比于神经网络语言模型,Doc2vec 的省时省力更适合工业落地。

文章语义向量化后,利用 Milvus 对特征向量做相似度检索。能极大的提高相似文章的召回速度,做到实时相似文章召回。最后获取召回的相似文章相似度,根据业务场景通过策略加权,最终排序输出符合当前业务的相似文章结果。

可以将Word2Vec生成的1536维词向量和BERT生成的1536维词向量进行相似度查询,但需要注意的是:

  • 向量空间差异:虽然两者维度相同,但它们是通过不同的模型训练得到的,因此它们所代表的语义空间可能不完全一致。Word2Vec(如CBOW或Skip-Gram)基于统计共现信息学习单词的分布式表示,而BERT(Bidirectional Encoder Representations from Transformers)则通过多层Transformer网络对上下文敏感的表示进行建模。

  • 相似度计算的含义:在NLP中,使用余弦相似度、欧氏距离等方法计算两个词向量之间的相似度时,理想情况下希望向量间的距离能够反映词语在语义上的接近程度。然而,由于Word2Vec和BERT模型背后的原理不同,直接比较二者生成的词向量可能无法获得完全一致的结果。

  • 应用场景:如果在特定任务上(比如词汇相似性判断或者检索任务),两种模型生成的向量都能较好地捕捉到所需的语义信息,并且目标是利用这些向量进行通用的相似度比较,则可以在技术上进行这样的操作。

实践中,通常我们会针对具体任务来选择合适的词向量模型,并在同一模型内部比较词向量的相似度,以确保语义空间的一致性。如果确实需要跨模型比较,那么这可能是为了探索不同模型在表示能力上的异同,而不是作为标准的相似度查询手段。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/401876.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第二证券:权重板块引领市场走高 20只绩优大盘股仍超跌

2月21日,A股商场再现普涨行情,上证指数盘中一度逼近3000点关口。权重股扎堆的沪深300指数上涨1.35%,领涨其他指数。北上资金也大举加仓,全天净流入近136亿元,其间沪股通净流入96.41亿元,深股通净流入39.54亿…

源聚达电商:现在的抖音小店卖啥赚钱

在数字浪潮中,抖音小店如同一叶扁舟,乘风破浪于电商海洋。何为赚钱之本?答案藏匿在消费者的喜好与市场的缝隙之中。今日,让我们一同探索抖音小店盈利的秘诀。 个性化商品是小店的灵魂。消费者渴望独一无二,定制化产品如手工艺品、…

代码随想录算法训练营第二十四天 | 回溯算法理论基础,77. 组合 [回溯篇]

代码随想录算法训练营第二十四天 回溯算法理论基础什么是回溯法回溯法的理解回溯法模板 LeetCode 77.组合题目描述思路参考代码总结优化版本 回溯算法理论基础 文章讲解:代码随想录#回溯算法理论基础 视频讲解:带你学透回溯算法(理论篇&#…

Springboot整合定时任务quartz(非集群)

文章目录 前言一、Springboot 整合1.1 Springboot 初步整合quartz1.1 jar 引入:1.2 添加任务:1.2.1 方式1 PostConstruct 注入任务:1.2.2 方式2 Bean 注入任务: 二、quartz持久化:2.1 mysql 引入:2.2 业务共…

flutter 文件上传组件和大文件分片上传

文件分片上传 资料 https://www.cnblogs.com/caijinglong/p/11558389.html 使用分段上传来上传和复制对象 - Amazon Simple Storage Service 因为公司使用的是亚马逊的s3桶 下面是查阅资料获得的 亚马逊s3桶的文件上传分片 分段上分为三个步骤:开始上传、上传对…

Linux常见的指令

目录 01. ls 指令02. pwd命令03. cd 指令04. touch指令05.mkdir指令(重要):06.rmdir指令 && rm 指令(重要):07.man指令(重要):08.cp指令(重要&#x…

人工智能讲师AI讲师大模型讲师叶梓介绍及大语言模型技术原理与实践提纲

叶梓,上海交通大学计算机专业博士毕业,高级工程师。主研方向:数据挖掘、机器学习、人工智能。历任国内知名上市IT企业的AI技术总监、资深技术专家,市级行业大数据平台技术负责人。 长期负责城市信息化智能平台的建设工作&#xff…

JUC并发编程学习与实践

文章目录 学习资料创建和运行线程方法一:直接使用Thread方法二:使用Runnable配合Thread方法三:FutureTask配合Thread 线程的常见方法start与runsleep与yield线程的优先级 join方法详解interrupt线程打断interrupt线程打断后,线程不…

4.7 Verilog 循环语句

关键词:while, for, repeat, forever Verilog 循环语句有 4 种类型,分别是 while,for,repeat,和 forever 循环。循环语句只能在 always 或 initial 块中使用,但可以包含延迟表达式。 while 循环 while 循…

科普|什么是数据脱敏

在当今数字化的时代,数据已经成为企业的重要资产和核心竞争力。然而,随着数据量的不断增加,数据安全和隐私保护问题也日益突出。 什么是数据脱敏呢? 数据脱敏,也称为数据去隐私化或数据匿名化,是一种将敏感…

electron学习和新建窗口

首先我们要先下载electron npm install --save-dev electron 建立入口文件main.js 新建一个入口文件 main.js,然后导入eletron新建一个窗口。 const { app, BrowserWindow, ipcMain } require("electron"); const path require("path");func…

JavaWeb——002JS Vue快速入门

目录 一、JS快速入门​编辑 1、什么是JavaScript?​编辑 2、JS引入方式​编辑 2.1、示例代码 3、JS基础语法 3.1、书写语法 3.2、变量​编辑 3.3、数据类型 3.4、运算符​编辑 3.5、流程控制语句​编辑 4、JS函数 4.1、第一种函数定义方式 function funcName(参数…

C#知识点-15(匿名函数、使用委托进行窗体传值、反射)

匿名函数 概念:没有名字的函数,一般情况下只调用一次。它的本质就是一个方法,虽然我们没有定义这个方法,但是编译器会把匿名函数编译成一个方法 public delegate void Del1();//无参数无返回值的委托public delegate void Del2(s…

Linux 安装RocketMQ

官网: https://rocketmq.apache.org/zh/安装RocketMQ 5.2.0 wget https://dist.apache.org/repos/dist/release/rocketmq/5.2.0/rocketmq-all-5.2.0-bin-release.zip unzip rocketmq-all-5.2.0-bin-release.zip#启动之前修改jvm启动内存 cd bin #修改:…

车辆管理系统设计与实践

车辆管理系统是针对车辆信息、行驶记录、维护保养等进行全面管理的系统。本文将介绍车辆管理系统的设计原则、技术架构以及实践经验,帮助读者了解如何构建一个高效、稳定的车辆管理系统。 1. 系统设计原则 在设计车辆管理系统时,需要遵循以下设计原则&…

顺序表经典算法及其相关思考

27. 移除元素 - 力扣(LeetCode) 思路一 利用顺序表中的SLDestroy函数的思想,遇到等于val值的就挪动 思路二 双指针法:不停的将和val不相等的数字往前放。此时的des更像一个空数组,里面存放的都是和val不相等、能够存…

【Rust敲门砖】 Windows环境下配置及安装环境

一、安装C环境 rust底层是依赖C环境的连接器,所以需要先安装C/C编译环境, 有两种选择:安装微软的msvc或者安装mingw/cygwin。 如果使用msvc的Visual Studio,只需要安装好C/C编译环境,然后一路默认就行了,缺点是体积比较大,下载安…

YOLO v9 思路复现 + 全流程优化

YOLO v9 思路复现 全流程优化 提出背景:深层网络的 信息丢失、梯度流偏差YOLO v9 设计逻辑可编程梯度信息(PGI):使用PGI改善训练过程广义高效层聚合网络(GELAN):使用GELAN改进架构 对比其他解法…

day16_map课后练习 - 参考答案

文章目录 day16_课后练习第1题第2题第3题第4题第5题第6题 day16_课后练习 第1题 开发提示:可以使用Map,key是字母,value是该字母的次数 效果演示:例如:String str “Your future depends on your dreams, so go to …

KafKa3.x基础

来源:B站 目录 定义消息队列传统消息队列的应用场景消息队列的两种模式 Kafka 基础架构Kafka 命令行操作主题命令行操作生产者命令行操作消费者命令行操作 Kafka 生产者生产者消息发送流程发送原理生产者重要参数列表 异步发送 API普通异步发送带回调函数的异步发送…