RankCSE

前置知识复习

  • https://www.cnblogs.com/Allen-rg/p/13958508.html
  • word2vec详解:https://zhuanlan.zhihu.com/p/114538417
    Word2Vec和GloVe都是用于将词与向量相关联的流行词嵌入模型。

相同点:

  1. 目标:Word2Vec和GloVe的共同目标是将词汇映射到低维向量空间中,以便在自然语言处理任务中使用。
  2. 算法:它们都是基于神经网络和统计学习的方法。

不同点:

  1. 训练方式:Word2Vec使用了两种不同的模型,分别是Skip-gram和CBOW模型;而GloVe使用全局语料库统计信息来计算词向量。
  2. 上下文信息:Word2Vec模型侧重于局部上下文信息,即根据当前词预测其上下文单词GloVe模型将全局共现统计信息纳入考量,能够更好地反映词汇间的关系
  3. 训练速度:由于GloVe利用了全局信息,它在大规模数据集上的训练速度通常比Word2Vec更快。

word2vec

Skip-gram模型和CBOW(Continuous Bag of Words)模型是Word2Vec中两种主要的词嵌入模型,它们在训练方式和目标上有一些明显的区别。

  1. Skip-gram模型(跳字模型):

    • 目标:Skip-gram模型的目标是从中心词预测其周围的上下文单词。
    • 训练方式:给定一个中心词,Skip-gram模型会尝试预测在一定上下文窗口内可能出现的其他词,通过这种方式来学习单词的向量表示。
    • 应用:在小语料库中较为有效,尤其在罕见词上表现更好。
  2. CBOW模型(连续词袋模型):

    • 目标:CBOW模型的目标是根据上下文单词的信息来预测中心词。
    • 训练方式:给定一个上下文窗口内的词汇,CBOW模型会尝试预测这些词汇的中心词,从而学习单词的向量表示。
    • 应用:在大语料库上运行更快,尤其在频繁出现的词上表现更好。

Bert的词向量分布

在这里插入图片描述
在这里插入图片描述

如何解决?

在这里插入图片描述
[1] Representation Degeneration Problem in Training Natural Language Generation Models
[2] On the Sentence Embeddings from Pre-trained Language Models
[3] Learning to Remove: Towards Isotropic Pre-trained BERT Embedding

RankCSE

背景:
在这里插入图片描述
在这里插入图片描述

排序算法

在这里插入图片描述
推荐可分为以下四个流程,分别是召回、粗排、精排以及重排:

召回是源头,在某种意义上决定着整个推荐的天花板;
粗排是初筛,一般不会上复杂模型;
精排是整个推荐环节的重中之重,在特征和模型上都会做的比较复杂;
重排,一般是做打散或满足业务运营的特定强插需求,同样不会使用复杂模型;
召回层:召回解决的是从海量候选item中召回千级别的item问题

排序一直是信息检索的核心问题之一,Learning to Rank(简称LTR)用机器学习的思想来解决排序问题。LTR有三种主要的方法:PointWise,PairWise,ListWise。ListNet算法就是ListWise方法的一种

  • 补充:https://zhuanlan.zhihu.com/p/610333953
    在这里插入图片描述

pairwise

pointwise方法损失函数计算只与单个document有关,本质上是训练一个分类模型或者回归模型,判断这个document与当前的这个query相关程度,最后的排序结果就是从模型对这些document的预测的分值进行一个排序。对于pointwise方法,给定一个query的document list,对于每个document的预测与其它document是独立的。所以模型输入和对应的标签label形式如下:

输入: 单个document
label: document所属类型或者分值 pointwise方法将排序任务看做对单个文本的回归或者分类任务来做。若文档document的相关性等级有K种,则我们可以建模为一个有K个类别的 0 , 1 , 2 , . . . , K − 1 {0,1,2,..., K-1} 0,1,2,...,K1的Multi-class分类任务,则 y i ∈ R k y_i \in \R^k yiRk 一个k维度的one-hot表示, 我们可以用交叉熵loss作为目标损失函数:

L = − ( y i log ⁡ ( p i ) − ( 1 − y i ) log ⁡ ( 1 − p i ) ] ) \left.\mathrm{L}=-\left(\mathrm{y}{\mathrm{i}} \log \left(\mathrm{p}{\mathrm{i}}\right)-\left(1-\mathrm{y}{\mathrm{i}}\right) \log \left(1-\mathrm{p}{\mathrm{i}}\right)\right]\right) L=(yilog(pi)(1yi)log(1pi)])

ListNet

ListNet算法定义了一种Listwise的损失函数,该损失函数表示由我们的模型计算得来的文档排序和真正的文档排序之间的差异,ListNet最小化该损失函数以达到排序的目的

RankCSE训练任务

在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows/Jerry

Jerry Enumeration nmap 扫描系统发现对外开放了 8080 端口,再次使用 nmap 扫描端口详细信息,发现运行着 Apache Tomcat ┌──(kali㉿kali)-[~/vegetable/HTB/Jerry] └─$ nmap -sV -sC -p 8080 -oA nmap 10.10.10.95 -Pn Starting Nmap 7.93 ( htt…

【QT学习】Graphics View框架(进阶篇)- 派生QGraphicsItem类创建自定义图元item

【QT学习】Graphics View框架(进阶篇)- 派生QGraphicsItem类创建自定义图元item-CSDN博客 前言 本篇,我们将通过对QGraphicsItem类进行派生,创建自定义图元item并显示在窗口中。我们将以创建一张从文件读取的图片item为例进行分…

使用Nodejs + express连接数据库mongodb

文章目录 先创建一个js文档安装 MongoDB 驱动程序:引入 MongoDB 模块:设置数据库连接:新建一个表试试执行数据库操作:关闭数据库连接: 前面需要准备的内容可看前面的文章: Express框架搭建项目 node.js 简单…

轻松上手Jackjson(珍藏版)

写在前面 虽然现在市面上有很多优秀的json解析库,但 Spring默认采用Jackson解析Json。 本文将通过一系列通俗易懂的代码示例,带你逐步掌握 Jackson 的基础用法、进阶技巧以及在实际项目中的应用场景。 一、Jackjson简介 Jackson 是当前用的比较广泛的&a…

idea开发 java web 疫情信息查询系统bootstrap框架web结构java编程计算机网页接口查询

一、源码特点 java 疫情信息查询系统是一套完善的完整信息系统,结合java web开发和bootstrap UI框架完成本系统 ,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 前段主要技术 css j…

The Closest Pair Problem

Problem Let S be a set of n points ((xi,yi), 1≤i≤n) in the plane, finding a pair of points p and q in S whose mutual distance is minimum. Algorithm 1: Θ ( n 2 ) The brute-force algorithm simply examines all the possible n(n−1)/2 distances and returns t…

CentOS部署Apache Superset大数据可视化BI分析工具并实现无公网IP远程访问

文章目录 前言1. 使用Docker部署Apache Superset1.1 第一步安装docker 、docker compose1.2 克隆superset代码到本地并使用docker compose启动 2. 安装cpolar内网穿透,实现公网访问3. 设置固定连接公网地址 前言 Superset是一款由中国知名科技公司开源的“现代化的…

模具行业项目管理系统哪家好?模具项目管理系统找企智汇!

模具行业是一个对项目管理要求非常高的领域,涉及到复杂的制造流程、精细的工艺要求以及紧密的供应链协作。因此,选择一款适合模具行业的项目管理系统至关重要。 企智汇作为一款专注于企业数字一体化项目管理的软件,为模具行业提供了全面的项…

解决Xshell连接不上虚拟机

相信有很多同学和我一样遇到这个问题,在网上看了很多教程基本上都先让在虚拟机输入ifconfig命令查看ip地址,弄来弄去最后还是解决不了😭😭,其实问题根本就不在命令上,很大概率是我们的虚拟机没有开启网卡&a…

CSS实现热门创作者排行榜(毛玻璃效果)

CSS实现热门创作者排行榜&#xff08;毛玻璃效果&#xff09; 效果展示 CSS 知识点 CSS 基础知识回顾filter 属性运用回顾 整体页面布局实现 <div class"container"><h3>Popular Creator Rank List</h3><!-- 用户列表容器 --><div cl…

【剪映专业版】02软件快捷键

视频课程&#xff1a;有知公开课【剪映电脑版教程】 快捷键 苹果电脑选择Final Cut Pro X Windows电脑选择Premiere Pro 常用快捷键 更改快捷键

刷题之动态规划-子序列

前言 大家好&#xff0c;我是jiantaoyab&#xff0c;开始刷动态规划的子序列类型相关的题目&#xff0c;子序列元素的相对位置和原序列的相对位置是一样的 动态规划5个步骤 状态表示 &#xff1a;dp数组中每一个下标对应值的含义是什么>dp[i]表示什么状态转移方程&#xf…

RuoYi-Cloud下载与运行

一、源码下载 若依官网:RuoYi 若依官方网站 鼠标放到"源码地址"上,点击"RuoYi-Cloud 微服务版"。 跳转至Gitee页面,点击"克隆/下载",复制HTTPS链接即可。 源码地址为:https://gitee.com/y_project/RuoYi-Cloud.git 点击复制 打开IDEA,选…

千万不要错过这6款能让你快速写作成长的宝藏软件…… #学习方法#AI写作

国外ChatGPT爆火&#xff0c;AI写作在国内也引起不小的瞩目&#xff0c;目前国内的AI写作工具少说也有几十上百个&#xff0c;要在这么多AI写作中找出适合自己的工具&#xff0c;一个一个尝试是不太现实的&#xff0c;所以今天就给大家推荐一些款AI写作工具。帮助你少走弯路&am…

开源AI程序员SWE-Agent的实现方法

1 引子 前几天&#xff0c;AI 编程机器人 Devin 引起了热议。传言称&#xff1a;程序员的饭碗就要丢了。这两天&#xff0c;一个类似功能的产品 SWE-Agent 开源&#xff0c;在 SWE-Bench 上实现了与 Devin 类似的效果。下面让我们来看看 AI 程序员的具体实现方法。 2 信息 地…

抖音电商罗盘品牌人群运营策略指南

【干货资料持续更新&#xff0c;以防走丢】 抖音电商罗盘品牌人群运营策略指南 部分资料预览 资料部分是网络整理&#xff0c;仅供学习参考。 抖音运营资料合集&#xff08;完整资料包含以下内容&#xff09; 目录 品牌人群运营策略&#xff0c;旨在帮助品牌通过精细化运营提…

深度学习笔记【订阅前必读】

一、同款pdf版本笔记使用情况 pytorch深度学习&#xff08;共计169页&#xff0c;基于本人听完B站小土堆PyTorch深度学习快速入门教程所写&#xff09; 发现这一份B站小土堆Pytorch深度学习笔记连985、211等高校同学都在使用(语雀在线版&#xff0c;笔记带评论) 二、笔记获取优…

vscode连接远程服务器一直需要输密码,但是连不上

问题&#xff1a;vscode连接远程服务器一直需要输密码&#xff0c;但是连不上。 解决办法&#xff1a;kill 掉该远程服务器&#xff0c;然后再重新连接 操作&#xff1a; windows: ctrlshiftp mac:cmdshiftp 调出指令&#xff0c;然后选择“Remote SSH:Kill Vscode Serve…

【代码随想录】day37:递增数字,监控二叉树

递增数字 def monotoneIncreasingDigits(self, n):""":type n: int:rtype: int"""# 找到不递增的位置i对应的数字k&#xff0c;前一个数字-1,后面都变为9&#xff0c;# 后序遍历nlist(str(n))for i in range(len(n)-1,0,-1):# 如果不递增if n[i]…

SpringMVC--概述 / 入门

目录 1. SpringMVC简介 2. 配置&入门 2.1. 开发环境 2.2. 创建maven工程 2.3. 手动创建 web.xml 2.4. 配置web.xml 2.4.1. 默认配置方式 2.4.2. 扩展配置方式 2.5. 创建请求控制器 2.6. 创建springMVC的配置文件 2.7. 测试 HelloWorld 2.7.1. 实现对首页的访问…