
E5-base突出文本嵌入的创新性
探索无监督文本嵌入的新领域,E5-base-unsupervised模型通过弱监督对比预训练实现文本表示学习。模型由12层组成,嵌入尺寸为768,支持句子相似度评估等多种任务。模型专为高效的查询和段落编码设计,适合开放问答和广告信息检索等场景使用。其使用便捷,支持与Sentence Transformers结合应用,以便在不同任务中灵活调整。同时,该模型仅支持英文文本,最大支持512个令牌。访问相关文档和基准测试可进一步了解性能和训练细节。
e5-base-unsupervised 是一个基于预训练的文本嵌入模型,与 e5-base 类似,只是没有经过有监督的微调。该模型由12层神经网络组成,嵌入大小为768。它是在弱监督对比预训练的基础上,开发出的用于文本嵌入和句子相似度计算的强大工具。
使用 e5-base-unsupervised 模型可以对来自 MS-MARCO 段落排名数据集的查询和段落进行编码。用户可以使用 Hugging Face 的 transformers 库来进行 token 化和编码。输入的文本以“query: ”或“passage: ”为前缀,这在执行检索等非对称任务时非常重要。而对于对称任务,如语义相似度计算和短语检索,使用“query: ”前缀即可。
使用示例代码如下:
import torch.nn.functional as F from torch import Tensor from transformers import AutoTokenizer, AutoModel def average_pool(last_hidden_states: Tensor, attention_mask: Tensor) -> Tensor: last_hidden = last_hidden_states.masked_fill(~attention_mask[..., None].bool(), 0.0) return last_hidden.sum(dim=1) / attention_mask.sum(dim=1)[..., None] input_texts = [ 'query: how much protein should a female eat', 'query: summit define', "passage: As a general guideline...", "passage: Definition of summit for English Language Learners..." ] tokenizer = AutoTokenizer.from_pretrained('intfloat/e5-base-unsupervised') model = AutoModel.from_pretrained('intfloat/e5-base-unsupervised') batch_dict = tokenizer(input_texts, max_length=512, padding=True, truncation=True, return_tensors='pt') outputs = model(**batch_dict) embeddings = average_pool(outputs.last_hidden_state, batch_dict['attention_mask']) embeddings = F.normalize(embeddings, p=2, dim=1) scores = (embeddings[:2] @ embeddings[2:].T) * 100 print(scores.tolist())
该模型的训练细节参见原论文 Text Embeddings by Weakly-Supervised Contrastive Pre-training。该论文详细描述了模型的训练过程和使用的技术。
用户可以参考 unilm/e5 来复现模型在 BEIR 和 MTEB benchmark 基准上的评价结果。
e5-base-unsupervised 模型也可以与sentence_transformers库配合使用,用于编码文本的一致性和简便性。使用示例代码如下:
from sentence_transformers import SentenceTransformer model = SentenceTransformer('intfloat/e5-base-unsupervised') input_texts = [ 'query: how much protein should a female eat', 'query: summit define', "passage: As a general guideline...", "passage: Definition of summit for English Language Learners..." ] embeddings = model.encode(input_texts, normalize_embeddings=True)
安装所需包:
pip install sentence_transformers~=2.2.2
1. 是否需要在输入文本前加上“query: ”和“passage: ”前缀?
是的,添加这些前缀是模型训练方式决定的,否则性能会下降。对于非对称任务,如开放性问答过程中的段落检索,使用“query: ”和“passage: ”;对于对称任务,如语义相似度或短语检索,仅使用“query: ”即可。
2. 为什么重现结果与模型卡中报告的结果略有不同?
这可能是因为使用了不同版本的 transformers 和 pytorch 库,造成了微小但不为零的性能差异。
该模型仅支持英文文本,长文本将被截断至最多512个标记。
如果您发现本文或模型有帮助,请引用如下:
@article{wang2022text,
title={Text Embeddings by Weakly-Supervised Contrastive Pre-training},
author={Wang, Liang and Yang, Nan and Huang, Xiaolong and Jiao, Binxing and Yang, Linjun and Jiang, Daxin and Majumder, Rangan and Wei, Furu},
journal={arXiv preprint arXiv:2212.03533},
year={2022}
}
通过以上信息,相信大家对e5-base-unsupervised 项目有了更为深入的了解。这是一款强大的文本嵌入工具,为自然语言处理的不同任务提供了有力的支持。


免费创建高清无水印Sora视频
Vora是一个免费创建高清无水印Sora视频的AI工具


最适合小白的AI自动化工作流平台
无需编码,轻松生成可复用、可变现的AI自动化工作流

大模型驱动的Excel数据处理工具
基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。


AI论文写作指导平台
AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。


AI一键生成PPT,就用博思AIPPT!
博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。


AI赋能电商视觉革命,一站式智能商拍平台
潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。


企业专属的AI法律顾问
iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

