Text embedding 模型总结

文章目录

目前,随着 Langchain + LLM模型 的火热,除了层出不穷的大模型外,因为检索的能力会很大程度影响最终的问答效果,文本的嵌入模型也是大家比较关注的。本文主要介绍效果较好的几种文本嵌入模型。

MTEB榜单

判断哪些文本嵌入模型效果较好,通常需要一个评估指标来进行比较,MTEB就是一个海量文本嵌入模型的评估基准。

MTEB: Massive Text Embedding Benchmark(海量文本嵌入基准)

论文摘要如下:

文本嵌入通常在单个任务的一小部分数据集上进行评估,而不包括它们在其他任务中的可能应用。目前尚不清楚最新的语义文本相似性嵌入(STS)是否可以同样很好地应用于其他任务,如聚类或重新排序。这使得该领域的进展难以跟踪,因为各种模型不断被提出而没有得到适当的评估。为了解决这个问题,我们引入了海量文本语义向量基准测试(MTEB)。MTEB包含8个语义向量任务,涵盖58个数据集和112种语言 。通过在MTEB上对33个模型进行基准测试,我们建立了迄今为止最全面的文本嵌入基准。我们发现没有特定的文本嵌入方法在所有任务中都占主导地位。这表明该领域尚未集中在一个通用的文本嵌入方法上,并将其扩展到足以在所有嵌入任务上提供最先进的结果。

榜单地址:https://huggingface.co/spaces/mteb/leaderboard

8个嵌入任务

Bitext Mining (双语文本挖掘):输入是来自两种不同语言的两组句子。对于第一组中的每个句子,需要在第二组中找到最佳匹配。匹配通常是翻译。所提供的模型用于嵌入每个句子,并通过余弦相似度找到最接近的对。
Classification (分类):训练和测试集均使用所提供的模型进行文本嵌入表示。训练集用于训练逻辑回归分类器(如最大迭代100次),在测试集中进行评分。
Clustering (聚类):给定一组句子或段落,目标是将它们分组成有意义的类。
Pair Classification (句子对分类):提供一对文本输入,并需要分配一个标签。标签通常是表示重复或释义对的二进制变量。两个文本通过模型嵌入,它们的距离用各种度量来计算(余弦相似度,点积,欧氏距离,曼哈顿距离)。
Reranking (重新排序):输入是一个查询query和文本的列表(列表中是与query相关或不相关的文本)。其目的是根据与查询的相关性对结果进行排序。文本和query通过模型进行嵌入,然后使用余弦相似度将其与查询进行比较。对每个查询进行评分,并在所有查询中取平均值。指标是平均MRR@k和MAP,后者是主要指标。
Retrieval (检索):每个数据集由语料库、查询query和每个查询到语料库中相关文档的映射组成。目的是找到这些相关文件。所提供的模型用于嵌入所有查询和所有语料库文档,并使用余弦相似度计算相似度分数。根据分数对每个查询的语料库文档进行排序后,分别计算nDCG@k, MRR@k,MAP@k、precision@k和recall@k。nDCG@10作为主要度量。
Semantic Textual Similarity(STS) (语义文本相似度):给定一对句子,目的是确定它们的相似度。标签是连续得分,数字越高表示句子越相似。所提供的模型用于嵌入句子,并使用各种距离度量来计算句子的相似度。距离的基准是使用Pearson和Spearman相关性的真实相似度。基于余弦相似度的Spearman相关作为主要度量。
Summarization (摘要):提供了一组人工编写和机器生成的摘要。目的是给机器生成的摘要进行打分。所提供的模型首先用于嵌入所有摘要。

对每个机器生成的摘要嵌入,计算与所有人类摘要嵌入的距离。

最接近的分数(例如,最高余弦相似度)被保留并用作单个机器生成摘要的模型分数。

三种数据集类别

为了进一步提高MTEB的多样性,还包括了不同文本长度的数据集。所有数据集分为三类:

  • 句子对句子(S2S):一个句子与另一个句子比较。S2S的一个例子是MTEB中所有当前的STS任务,其中评估两个句子之间的相似性。适用任务:文本相似度匹配,重复问题检测,文本分类等;
  • 段落到段落(P2P) :将一个段落与另一个段落进行比较。MTEB对输入长度没有限制,在必要时由模型截断。一些聚类任务为S2S和P2P任务。前者只比较标题,后者包括标题和内容。例如,对于ArxivClustering,在P2P设置下,摘要被连接到标题。适用任务:聚类。
    句子到段落(S2P):在S2P设置中混合了几个检索数据集。这里的查询是一个句子,而文档是由多个句子组成的长段落。适用任务:文本检索。

C_METB榜单

C_METB榜单地址:https://github.com/FlagOpen/FlagEmbedding/tree/master/C_MTEB#leaderboard

最全面的中文语义向量评测基准C-MTEB 开源,涵盖6大类评测任务(检索、排序、句子相似度、推理、分类、聚类),涉及31个相关数据集,已合并至 Hugging Face MTEB leaderboard 中。

文本向量表示模型

m3e模型

e5模型

bge模型

https://github.com/FlagOpen/FlagEmbedding/blob/master/README_zh.md

相关推荐
serve the people9 小时前
HTML Document Loaders in LangChain
chrome·langchain·html
AI大模型11 小时前
5步构建企业级RAG应用:Dify与LangChain v1.0集成实战
langchain·llm·agent
FreeCode12 小时前
LangSmith本地部署LangGraph应用
python·langchain·agent
汗流浃背了吧,老弟!18 小时前
LangChain 实现文本分类任务
分类·langchain
FreeCode1 天前
使用LangSmith评估智能体
python·langchain·agent
FreeCode1 天前
使用LangSmith追踪智能体运行
python·langchain·agent
汗流浃背了吧,老弟!1 天前
LangChain提取和输出结构化数据
langchain
王国强20092 天前
LangGraph 如何通过 Checkpoint 实现持久化
langchain
王国强20092 天前
剖析 LangGraph 的 Super-step 概念
langchain
前端小东2 天前
Langchain Template 全面指南
langchain·openai