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

MTEB评估基准使用指北

文章目录

    • 介绍
    • 评估数据

介绍

  文本嵌入通常是在单一任务的少量数据集上进行评估,这些数据集未涵盖其可能应用于其他任务的情况,不清楚在语义文本相似性(semantic textual similarity, STS)等任务上的最先进嵌入是否同样适用于聚类或重排序等其他任务。这使得该领域的进展难以跟踪,因为不断有各种模型被提出,而没有进行适当的评估。
  为了解决这个问题,Hugging Face团队推出了大规模文本嵌入基准(Massive Text Embedding Benchmark, MTEB)。MTEB涵盖了8个嵌入任务,共58个数据集和112种语言,是目前迄今为止最全面的文本嵌入基准。
  MTEB源码:https://github.com/embeddings-benchmark/mteb
  MTEB论文:https://arxiv.org/abs/2210.07316
  MTEB排行榜:https://huggingface.co/spaces/mteb/leaderboard

评估数据

  由于众所周知的原因,Hugging Face官网访问无法直接,所以这篇文章提供了一个比较友好的代理方案来下载数据集。

  由于mteb1.12.4的版本中使用了ISO编码,导致task_langs参数不太好使了,这里暂时使用1.1.1版本。
  pip install mteb==1.1.1
  pip install C_MTEB

# -*- coding: utf-8 -*-
# Author  : liyanpeng
# Email   : yanpeng.li@cumt.edu.cn
# Datetime: 2024/5/28 18:23
# Filename: download_data.py
from mteb import MTEBimport os
import subprocessos.environ['HF_ENDPOINT'] = 'https://hf-mirror.com'
data_path = '/root/data3/liyanpeng/hf_data'def show_dataset():evaluation = MTEB(task_langs=["zh", "zh-CN"])dataset_list = []for task in evaluation.tasks:if task.description.get('name') not in dataset_list:dataset_list.append(task.description.get('name'))desc = 'name: {}\t\thf_name: {}\t\ttype: {}\t\tcategory: {}'.format(task.description.get('name'), task.description.get('hf_hub_name'),task.description.get('type'), task.description.get('category'),)print(desc)print(len(dataset_list))def download_dataset():evaluation = MTEB(task_langs=["zh", "zh-CN"])err_list = []for task in evaluation.tasks:# task.load_data()# https://huggingface.co/datasets/task_name = task.description.get('hf_hub_name')print(task_name)cmd = ['huggingface-cli', 'download', '--repo-type', 'dataset', '--resume-download','--local-dir-use-symlinks', 'False', task_name, '--local-dir', os.path.join(data_path, task_name)]try:result = subprocess.run(cmd, check=True)except subprocess.CalledProcessError as e:err_list.append(task_name)print("{} is error".format(task_name))if err_list:print('download failed: \n', '\n'.join(err_list))else:print('download success.')if __name__ == '__main__':download_dataset()show_dataset()

  一共是31个数据集:

在这里插入图片描述

相关文章:

MTEB评估基准使用指北

文章目录 介绍评估数据 介绍 文本嵌入通常是在单一任务的少量数据集上进行评估,这些数据集未涵盖其可能应用于其他任务的情况,不清楚在语义文本相似性(semantic textual similarity, STS)等任务上的最先进嵌入是否同样适用于聚类或…...

31. 1049. 最后一块石头的重量 II, 494.目标和,474.一和零

class Solution { public:int lastStoneWeightII(vector<int>& stones) {int sum 0;for(int stone : stones) sum stone;int bagSize sum /2;vector<int> dp(bagSize 1, 0);for(int i 0; i < stones.size(); i){ //遍历物品for(int j bagSize; j >…...

PDF 中图表的解析探究

PDF 中图表的解析探究 0. 引言1. 开源方案探究 0. 引言 一直以来&#xff0c;对文档中的图片和表格处理都非常有挑战性。这篇文章记录一下最近工作上在这块的探究。图表分为图片和表格&#xff0c;这篇文章主要记录了对表格的探究。还有&#xff0c;我个人主要做日本项目&…...

递推(C语言)

文章目录 1.斐波那契数列2.太波那契数列3.二维递推问题4.实战4.1 力扣509 斐波那契数4.2 力扣70 爬楼梯4.3 力扣119 杨辉三角|| 递推最通俗的理解就是数列&#xff0c;递推和数列的关系就好比 算法 和 数据结构 的关系&#xff0c;数列有点 像数据结构中的线性表(可以是顺序表&…...

安卓微信8.0之后如何利用缓存找回的三天之前不可见的朋友圈图片

安卓微信8.0之后如何利用缓存找回的三天之前不可见的朋友圈图片 复习了下安卓程序的知识&#xff0c;我们会了解到&#xff0c;安卓程序清楚数据的时候有两个选项 一个是清除全部数据一个是清除缓存。 清除全部数据表示清除应用数据缓存。 对于安卓微信8.0之后而言&#xff0…...

ES6 Class(类) 总结(九)

ES6 中的 class 是一种面向对象编程的语法糖&#xff0c;提供了一种简洁的方式来定义对象的结构和行为。 JavaScript 语言中&#xff0c;生成实例对象的传统方法是通过构造函数。下面是一个例子。 function Point(x, y) {this.x x;this.y y; } Point.prototype.toString fu…...

使用 Vue.js 和 Element Plus 实现自动完成搜索功能

使用 Vue.js 和 Element Plus 实现自动完成搜索功能 一、前言1.环境准备2.组件配置3.后端数据请求4.样式5.总结 一、前言 在前端开发中&#xff0c;实现自动完成&#xff08;autocomplete&#xff09;功能可以极大地提升用户体验&#xff0c;特别是在需要用户输入和选择内容的…...

SpringBoot自定义starter

SpringBoot自定义starter 1、SpringBoot之starter机制 1.1、什么是自定义starter ​ SpringBoot中的starter是一种非常重要的机制(自动化配置)&#xff0c;能够抛弃以前繁杂的配置&#xff0c;将其统一集成进starter&#xff0c;应用者只需要在maven中引入starter依赖&#…...

深入探索大语言模型

深入探索大语言模型 引言 大语言模型&#xff08;LLM&#xff09;是现代人工智能领域中最为重要的突破之一。这些模型在自然语言处理&#xff08;NLP&#xff09;任务中展示了惊人的能力&#xff0c;从文本生成到问答系统&#xff0c;无所不包。本文将从多个角度全面介绍大语…...

querylist多线程采集curlMulti时,报错Curl error(60)

前言 在使用querylist多线程采集的时候&#xff0c;报错: Curl error(60)。测试了下用http时没有问题&#xff0c;https时有问题。其原因在于多线程采集库引用的另一个库有问题。需要手动更改。 解决 找到&#xff1a;vendor/ares333/php-curl/src/Curl.php 文件&#xff0c…...

Python数据分析~~美食排行榜

目录 1.模块的导入和路径的选择 2.访问前面五行数据 3.按照条件进行筛选 4.获取店铺评分里面的最高分 5.打印对应的店铺的名字 1.模块的导入和路径的选择 # 导入pandas模块&#xff0c;简称为pd import pandas as pd # 使用read_csv()函数 # TODO 读取路径"/Users/fe…...

Linux下解压.tar.gz文件

.tar.gz 是一种常用的压缩包格式&#xff0c;尤其在Unix、Linux以及macOS系统中非常普遍。这个格式结合了两种不同的功能&#xff1a; Tar (.tar): “Tar” 是“Tape Archive”的缩写&#xff0c;最初是为了将数据备份到磁带上而设计的。Tar命令可以将多个文件和目录打包成一个…...

【电商选品干货】差异化卖点要这样打造,80%商家却做不到

今天就给大家说说&#xff0c;如何去挖掘产品的差异化卖点&#xff1f;我们要找差异化卖点&#xff0c;就是因为我们的产品转化率不足&#xff0c;通常有下面几点原因&#xff1a; 1、产品差异化卖点不足&#xff0c;商家占比30% 2、流量和产品卖点不匹配&#xff0c;商家占比…...

LabVIEW比例压力控制阀自动测试系统

开发了一套基于LabVIEW编程和PLC控制的比例控制阀自动测试系统。该系统能够实现共轨管稳定的超高压供给&#xff0c;自动完成比例压力控制阀的耐久测试、流量滞环测试及压力-流量测试。该系统操作简便&#xff0c;具有高精度和高可靠性&#xff0c;完全满足企业对自动化测试的需…...

运营商认证API在Java、Python、PHP中的使用教程

随着数字化浪潮的推进&#xff0c;实名认证已深入我们生活的方方面面&#xff0c;从线上购物到电子资金转移&#xff0c;手机号已成为注册账号的主要凭证。然而&#xff0c;这也带来了身份验证的难题和手机号被盗用注册账号的风险。在信息爆炸的时代背景下&#xff0c;确保每个…...

用虚拟机,可以在x86的电脑上虚拟出arm的电脑吗

1.用虚拟机&#xff0c;可以在x86的电脑上虚拟出arm的电脑吗 是的&#xff0c;可以在x86的电脑上使用虚拟机技术虚拟出ARM架构的电脑。以下是通过虚拟机实现x86电脑上虚拟ARM电脑的几个关键步骤&#xff1a; 选择合适的虚拟化软件&#xff1a;通常&#xff0c;你可以使用如QE…...

富格林:可信观念摆脱暗箱陷阱

富格林指出&#xff0c;投资者产生的暗箱亏损多半是由于被不可信观念的迷惑影响&#xff0c;以为真的可以毫不费力就能赚钱&#xff0c;最后发现连交易的本金都打水漂了。事实上&#xff0c;投资市场并不像大家想得那么简单。要想安全实现交易成功&#xff0c;避免暗箱陷阱&…...

WEB前端01-HTML5基础(01)

一.WEB相关概念 软件架构 C/S: Client/Server &#xff08;客户端/服务器端&#xff09;&#xff1a;在用户本地有一个客户端程序&#xff0c;在远程有一个服务器端程序 优点&#xff1a;用户体验好 缺点&#xff1a;开发、安装&#xff0c;部署&#xff0c;维护麻烦 B/S: Br…...

JUC-常见方法与线程的状态

常见方法 start()与run() 主线程直接调用某个线程t1的run()方法&#xff0c;run方法也会执行&#xff0c;但是并不会启动新的线程&#xff0c;而是有主线程调用的run方法&#xff0c;必须使用start才能启动新线程&#xff0c;但是start只能调用一次。 sleep()与yield() sle…...

如果你酿的酒是黄色,说明肯定是 “糊锅”了。

刚刚酿出的酒一般都是清澈见底的&#xff0c;如果你酿的酒是黄色&#xff0c;说明肯定是 “糊锅”了。这样的酒不仅颜色是黄的&#xff0c;而且还能闻到一股特别浓厚的 焦糊味。 这样的酒&#xff0c;米酒小哥是非常非常熟悉的&#xff0c;因为刚开始学习酿酒的那段时 间&#…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动&#xff08;如演唱会、马拉松赛事、高考中考等&#xff09;期间&#xff0c;城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例&#xff0c;暖城商圈曾因观众集中离场导致周边…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

ip子接口配置及删除

配置永久生效的子接口&#xff0c;2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

安卓基础(aar)

重新设置java21的环境&#xff0c;临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的&#xff1a; MyApp/ ├── app/ …...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral&#xff08;热门工具 Ruff 的开发者&#xff09;推出的下一代高性能 Python 包管理器和构建工具&#xff0c;用 Rust 编写。它旨在解决传统工具&#xff08;如 pip、virtualenv、pip-tools&#xff09;的性能瓶颈&#xff0c;同时…...

小木的算法日记-多叉树的递归/层序遍历

&#x1f332; 从二叉树到森林&#xff1a;一文彻底搞懂多叉树遍历的艺术 &#x1f680; 引言 你好&#xff0c;未来的算法大神&#xff01; 在数据结构的世界里&#xff0c;“树”无疑是最核心、最迷人的概念之一。我们中的大多数人都是从 二叉树 开始入门的&#xff0c;它…...

Mac flutter环境搭建

一、下载flutter sdk 制作 Android 应用 | Flutter 中文文档 - Flutter 中文开发者网站 - Flutter 1、查看mac电脑处理器选择sdk 2、解压 unzip ~/Downloads/flutter_macos_arm64_3.32.2-stable.zip \ -d ~/development/ 3、添加环境变量 命令行打开配置环境变量文件 ope…...

如何把工业通信协议转换成http websocket

1.现状 工业通信协议多数工作在边缘设备上&#xff0c;比如&#xff1a;PLC、IOT盒子等。上层业务系统需要根据不同的工业协议做对应开发&#xff0c;当设备上用的是modbus从站时&#xff0c;采集设备数据需要开发modbus主站&#xff1b;当设备上用的是西门子PN协议时&#xf…...