sentence-transformers/msmarco-bm25
收藏Hugging Face2024-05-15 更新2024-06-12 收录
下载链接:
https://hf-mirror.com/datasets/sentence-transformers/msmarco-bm25
下载链接
链接失效反馈官方服务:
资源简介:
MS MARCO数据集的一个变体,包含了通过BM25算法生成的困难负样本。该数据集基于真实的用户搜索查询,使用Bing搜索引擎生成,并包含了查询、正样本和负样本的对应关系。数据集主要用于训练句子转换模型(Sentence Transformer models),并提供了多种配置,包括三元组(triplet)、50个负样本的三元组(triplet-50)、所有三元组(triplet-all)、困难三元组(triplet-hard)等。每种配置都有字符串和ID两种形式。
MS MARCO数据集的一个变体,包含了通过BM25算法生成的困难负样本。该数据集基于真实的用户搜索查询,使用Bing搜索引擎生成,并包含了查询、正样本和负样本的对应关系。数据集主要用于训练句子转换模型(Sentence Transformer models),并提供了多种配置,包括三元组(triplet)、50个负样本的三元组(triplet-50)、所有三元组(triplet-all)、困难三元组(triplet-hard)等。每种配置都有字符串和ID两种形式。
原始信息汇总
数据集概述
基本信息
- 语言: 英语
- 多语言性: 单语
- 大小: 10M<n<100M
- 任务类别: 特征提取, 句子相似度
- 美观名称: MS MARCO with hard negatives from bm25
- 标签: sentence-transformers
数据集配置
-
triplet配置- 特征:
query: 字符串positive: 字符串negative: 字符串
- 分割:
train: 502931个示例, 368888522字节
- 下载大小: 231262240字节
- 数据集大小: 368888522字节
- 特征:
-
triplet-50配置- 特征:
query: 字符串positive: 字符串negative_1至negative_50: 字符串
- 分割:
train: 502907个示例, 8997811416字节
- 下载大小: 5508159555字节
- 数据集大小: 8997811416字节
- 特征:
-
triplet-50-ids配置- 特征:
query: 整数positive: 整数negative_1至negative_50: 整数
- 分割:
train: 502907个示例, 209209312字节
- 下载大小: 177770563字节
- 数据集大小: 209209312字节
- 特征:
-
triplet-all配置- 特征:
query: 字符串positive: 字符串negative: 字符串
- 分割:
train: 26636407个示例, 19800668061字节
- 下载大小: 4238247508字节
- 数据集大小: 19800668061字节
- 特征:
-
triplet-all-ids配置- 特征:
query: 整数positive: 整数negative: 整数
- 分割:
train: 26636407个示例, 639273768字节
- 下载大小: 192940657字节
- 数据集大小: 639273768字节
- 特征:
-
triplet-hard配置- 特征:
query: 字符串positive: 字符串negative: 字符串
- 分割:
train: 19139199个示例, 14020046995字节
- 下载大小: 3183621062字节
- 数据集大小: 14020046995字节
- 特征:
-
triplet-hard-ids配置- 特征:
query: 整数positive: 整数negative: 整数
- 分割:
train: 19139199个示例, 459340776字节
- 下载大小: 143128324字节
- 数据集大小: 459340776字节
- 特征:
-
triplet-ids配置- 特征:
query: 整数positive: 整数negative: 整数
- 分割:
train: 502931个示例, 12070344字节
- 下载大小: 10128682字节
- 数据集大小: 12070344字节
- 特征:
数据集子集
-
triplet子集:- 列: "query", "positive", "negative"
- 列类型: 字符串, 字符串, 字符串
- 去重: 否
-
triplet-ids子集:- 列: "query", "positive", "negative"
- 列类型: 整数, 整数, 整数
- 去重: 否
-
triplet-all子集:- 列: "query", "positive", "negative"
- 列类型: 字符串, 字符串, 字符串
- 去重: 否
-
triplet-all-ids子集:- 列: "query", "positive", "negative"
- 列类型: 整数, 整数, 整数
- 去重: 否
-
triplet-hard子集:- 列: "query", "positive", "negative"
- 列类型: 字符串, 字符串, 字符串
- 去重: 否
-
triplet-hard-ids子集:- 列: "query", "positive", "negative"
- 列类型: 整数, 整数, 整数
- 去重: 否
-
triplet-50子集:- 列: "query", "positive", negative_1 至 negative_50
- 列类型: 字符串, 字符串, 字符串
- 去重: 否
-
triplet-50-ids子集:- 列: "query", "positive", negative_1 至 negative_50
- 列类型: 整数, 整数, 整数
- 去重: 否
搜集汇总
数据集介绍

构建方式
该数据集基于微软构建的大规模信息检索语料库MS MARCO,该语料库源于必应搜索引擎的真实用户查询。构建过程中,针对每个查询及其对应的正例段落,采用BM25检索模型挖掘出与查询最相似的50个段落作为负例。数据集提供了多种配置,包括唯一三元组(triplet)、全部三元组(triplet-all)以及经过交叉编码器筛选的困难负例三元组(triplet-hard),并以字符串或ID形式存储,以便与配套的语料库联合使用。
特点
数据集以三元组形式组织,每个样本包含查询、正例段落和负例段落。特别地,triplet-50配置将50个负例整合为一条样本,大幅提升了数据存储和加载效率。困难负例子集通过交叉编码器进一步筛选,确保负例与查询的相似度低于正例与查询的相似度加上一个边际值,从而为模型训练提供更具挑战性的负样本。数据集规模庞大,三元组总数超过2600万,覆盖了丰富的查询和段落语义关系。
使用方法
该数据集专为训练句子变换器模型设计,可直接用于对比学习或三元组损失函数的训练流程。用户可通过Hugging Face Datasets库加载不同配置,例如使用'triplet'配置进行基础训练,或使用'triplet-hard'配置提升模型对困难样本的区分能力。对于需要ID映射的场景,可选用带'-ids'后缀的配置,结合sentence-transformers/msmarco-corpus语料库实现高效检索。
背景与挑战
背景概述
在信息检索与自然语言处理领域,如何精准地衡量查询与文档之间的语义相似度一直是核心研究问题。MS MARCO(Microsoft MAchine Reading COmprehension)数据集由微软研究院基于Bing搜索引擎的真实用户查询构建,自2016年发布以来,已成为大规模信息检索与机器阅读理解领域的基准资源。sentence-transformers/msmarco-bm25数据集由Sentence Transformers团队在MS MARCO基础上进一步衍生,通过BM25算法为每个查询-正例对挖掘最相似的段落作为难负例,旨在提升句向量模型的训练效果。该数据集提供了多种子集配置,包括唯一三元组、全部三元组及经交叉编码器筛选的难例三元组,覆盖了从字符串到ID索引的多种格式,为研究人员在特征提取与句子相似性任务中提供了丰富的训练素材,对推动稠密检索与语义匹配技术的发展产生了深远影响。
当前挑战
该数据集所解决的领域问题在于,传统基于BM25的词袋模型虽能高效检索,却难以捕捉查询与文档间的深层语义关联,导致在复杂查询场景下召回率受限。为此,数据集的构建过程面临多重挑战:首先,从MS MARCO的百万级查询-段落对中,需为每个正例挖掘50个最相似的负例,这一过程涉及对13种不同模型生成的相似度分数进行大规模计算与排序,计算开销巨大。其次,为确保负例的“难”度,需利用交叉编码器(如ms-marco-MiniLM-L-6-v2)对候选负例进行过滤,设定相似度边际(margin=3.0)来剔除与查询过于相关的样本,这一筛选策略在平衡负例质量与数据规模之间引入了额外的复杂性。此外,数据集的多版本设计(如字符串与ID格式并存)虽增强了灵活性,却要求对数据存储与加载进行精细优化,以支持超2600万条三元组的高效处理,这对资源管理与工程实现提出了严苛要求。
常用场景
经典使用场景
在信息检索与自然语言处理的交叉领域中,sentence-transformers/msmarco-bm25数据集以其大规模、高真实性的查询-文档三元组结构,成为训练和评估句子嵌入模型的核心基准。该数据集源自微软Bing搜索引擎的真实用户查询,通过BM25算法为每个查询挖掘出最相关的负样本,构建了包含查询、正例与负例的严格三元组。研究者通常利用其'triplet'子集训练基于对比学习的双编码器模型,如Sentence-BERT,以优化查询与文档间的语义相似度度量;而'triplet-hard'子集则通过交叉编码器进一步筛选高难度负样本,用于提升模型对细微语义差异的辨别能力。这种设计使得该数据集在密集检索、语义匹配和文本表征学习等经典场景中占据举足轻重的地位。
衍生相关工作
该数据集催生了一系列经典学术工作,深刻影响了句子嵌入与密集检索领域的发展轨迹。最著名的当属Sentence-BERT框架,其利用该数据集的硬负样本三元组训练出双编码器模型,在STS基准任务上取得了突破性性能。随后,基于该数据集的对比学习范式被扩展至多模态检索,如CLIP模型在图文匹配中的应用。此外,研究者还提出了多种负样本挖掘策略的改进方案,例如通过课程学习逐步增加负样本难度,或利用知识蒸馏将交叉编码器的排序能力迁移至双编码器。这些工作不仅验证了高质量负样本对模型训练的关键作用,也推动了MS MARCO系列数据集成为评估检索系统鲁棒性的行业标准。
数据集最近研究
最新研究方向
在信息检索与自然语言处理领域,MS MARCO数据集因其源自真实Bing搜索查询而成为稠密检索与语义匹配研究的基石。当前研究前沿聚焦于利用BM25算法挖掘困难负样本以提升句子嵌入模型的判别能力。该数据集通过生成查询-正例-负例三元组,特别是基于交叉编码器筛选的“hard negatives”子集,为对比学习提供了高质量训练信号。这一方向与近期稠密检索模型在开放域问答、对话系统等热点事件中的应用紧密相关,其意义在于推动模型从浅层词汇匹配向深层语义理解的跨越,显著增强了检索系统在噪声环境下的鲁棒性与准确性。
以上内容由遇见数据集搜集并总结生成



