Sentence Camembert Large
基于CamemBERT-large的法语句子嵌入模型,提供强大的语义搜索能力
下载量 3,729
发布时间 : 10/25/2023
模型简介
该模型旨在将法语句子的内容和语义表示为数学向量,使其能够理解查询和文档中文本的含义,而不仅仅是单个单词。
模型特点
强大的语义理解能力
能够理解法语句子的深层语义,而不仅仅是表面词汇
改进的鲁棒性
相比基础版本,在所有STS基准数据集上表现更优
结合Augmented SBERT训练
使用配对采样策略增强模型性能
模型能力
法语句子嵌入
语义相似度计算
语义搜索
使用案例
信息检索
语义搜索
基于语义而非关键词匹配的文档检索
提高搜索相关性和准确性
文本分析
句子相似度计算
计算两个法语句子之间的语义相似度
皮尔逊相关系数达88.63
🚀 句子CamemBERT大模型
句子CamemBERT大模型是由La Javaness开发的法语嵌入模型。该模型旨在将法语句子的内容和语义表示为数学向量,使模型在查询和文档中理解文本含义时,能够超越单个单词的层面,具备强大的语义搜索能力。
🚀 快速开始
本模型可直接使用(无需语言模型),以下是使用示例:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("Lajavaness/sentence-camembert-large")
sentences = ["Un avion est en train de décoller.",
"Un homme joue d'une grande flûte.",
"Un homme étale du fromage râpé sur une pizza.",
"Une personne jette un chat au plafond.",
"Une personne est en train de plier un morceau de papier.",
]
embeddings = model.encode(sentences)
✨ 主要特性
- 该Lajavaness/sentence-camembert-large模型是对dangvantuan/sentence-camembert-base的改进,在所有STS基准数据集上具有更强的鲁棒性和更好的性能。
- 它使用预训练的facebook/camembert-large和Siamese BERT-Networks with 'sentences-transformers'在stsb数据集上进行微调。
- 此外,它还在stsb数据集上结合了Augmented SBERT。
- 该模型受益于使用两个模型的配对采样策略:CrossEncoder-camembert-large和dangvantuan/sentence-camembert-large。
💻 使用示例
基础用法
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("Lajavaness/sentence-camembert-large")
sentences = ["Un avion est en train de décoller.",
"Un homme joue d'une grande flûte.",
"Un homme étale du fromage râpé sur une pizza.",
"Une personne jette un chat au plafond.",
"Une personne est en train de plier un morceau de papier.",
]
embeddings = model.encode(sentences)
高级用法
from sentence_transformers import SentenceTransformer
from sentence_transformers.readers import InputExample
from datasets import load_dataset
def convert_dataset(dataset):
dataset_samples=[]
for df in dataset:
score = float(df['similarity_score'])/5.0 # Normalize score to range 0 ... 1
inp_example = InputExample(texts=[df['sentence1'],
df['sentence2']], label=score)
dataset_samples.append(inp_example)
return dataset_samples
# Loading the dataset for evaluation
df_dev = load_dataset("stsb_multi_mt", name="fr", split="dev")
df_test = load_dataset("stsb_multi_mt", name="fr", split="test")
# Convert the dataset for evaluation
# For Dev set:
dev_samples = convert_dataset(df_dev)
val_evaluator = EmbeddingSimilarityEvaluator.from_input_examples(dev_samples, name='sts-dev')
val_evaluator(model, output_path="./")
# For Test set:
test_samples = convert_dataset(df_test)
test_evaluator = EmbeddingSimilarityEvaluator.from_input_examples(test_samples, name='sts-test')
test_evaluator(model, output_path="./")
📚 详细文档
评估
该模型可以在stsb的法语测试数据上进行如下评估:
from sentence_transformers import SentenceTransformer
from sentence_transformers.readers import InputExample
from datasets import load_dataset
def convert_dataset(dataset):
dataset_samples=[]
for df in dataset:
score = float(df['similarity_score'])/5.0 # Normalize score to range 0 ... 1
inp_example = InputExample(texts=[df['sentence1'],
df['sentence2']], label=score)
dataset_samples.append(inp_example)
return dataset_samples
# Loading the dataset for evaluation
df_dev = load_dataset("stsb_multi_mt", name="fr", split="dev")
df_test = load_dataset("stsb_multi_mt", name="fr", split="test")
# Convert the dataset for evaluation
# For Dev set:
dev_samples = convert_dataset(df_dev)
val_evaluator = EmbeddingSimilarityEvaluator.from_input_examples(dev_samples, name='sts-dev')
val_evaluator(model, output_path="./")
# For Test set:
test_samples = convert_dataset(df_test)
test_evaluator = EmbeddingSimilarityEvaluator.from_input_examples(test_samples, name='sts-test')
test_evaluator(model, output_path="./")
测试结果
性能使用皮尔逊和斯皮尔曼相关性进行衡量:
开发集
模型 | 皮尔逊相关系数 | 斯皮尔曼相关系数 | 参数数量 |
---|---|---|---|
Lajavaness/sentence-camembert-large | 88.63 | 88.46 | 336M |
dangvantuan/sentence-camembert-large | 88.2 | 88.02 | 336M |
Sahajtomar/french_semanti | 87.44 | 87.30 | 336M |
Lajavaness/sentence-flaubert-base | 87.14 | 87.10 | 137M |
GPT-3 (text-davinci-003) | 85 | 无 | 175B |
GPT-(text-embedding-ada-002) | 79.75 | 80.44 | 无 |
测试集
在许多不同的基准数据集上评估皮尔逊和斯皮尔曼相关性:
皮尔逊得分
模型 | STS-B | STS12-fr | STS13-fr | STS14-fr | STS15-fr | STS16-fr | SICK-fr | 参数数量 |
---|---|---|---|---|---|---|---|---|
Lajavaness/sentence-camembert-large | 86.26 | 87.42 | 89.34 | 88.05 | 88.91 | 77.15 | 83.13 | 336M |
dangvantuan/sentence-camembert-large | 85.88 | 87.28 | 89.25 | 87.91 | 88.54 | 76.90 | 83.26 | 336M |
Sahajtomar/french_semantic | 85.80 | 86.05 | 88.50 | 86.57 | 87.49 | 77.85 | 83.27 | 336M |
Lajavaness/sentence-flaubert-base | 85.39 | 86.64 | 87.24 | 85.68 | 87.99 | 75.78 | 82.84 | 137M |
GPT3 (text-embedding-ada-002) | 79.03 | 66.16 | 75.48 | 70.69 | 77.88 | 65.18 | - | - |
斯皮尔曼得分
模型 | STS-B | STS12-fr | STS13-fr | STS14-fr | STS15-fr | STS16-fr | SICK-fr | 参数数量 |
---|---|---|---|---|---|---|---|---|
Lajavaness/sentence-camembert-large | 86.14 | 81.22 | 88.61 | 86.28 | 89.01 | 78.65 | 77.71 | 336M |
dangvantuan/sentence-camembert-large | 85.78 | 81.09 | 88.68 | 85.81 | 88.56 | 78.49 | 77.70 | 336M |
Sahajtomar/french_semantic | 85.55 | 77.92 | 87.85 | 83.96 | 87.63 | 79.07 | 77.14 | 336M |
Lajavaness/sentence-flaubert-base | 85.67 | 79.97 | 86.91 | 84.57 | 88.10 | 77.84 | 77.55 | 137M |
GPT3 (text-embedding-ada-002) | 77.53 | 64.27 | 76.41 | 69.63 | 78.65 | 75.30 | - | - |
📄 许可证
本模型采用Apache 2.0许可证。
📚 引用
@article{reimers2019sentence,
title={Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks},
author={Nils Reimers, Iryna Gurevych},
journal={https://arxiv.org/abs/1908.10084},
year={2019}
}
@article{martin2020camembert,
title={CamemBERT: a Tasty French Language Mode},
author={Martin, Louis and Muller, Benjamin and Suárez, Pedro Javier Ortiz and Dupont, Yoann and Romary, Laurent and de la Clergerie, Éric Villemonte and Seddah, Djamé and Sagot, Benoît},
journal={Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics},
year={2020}
}
Jina Embeddings V3
Jina Embeddings V3 是一个多语言句子嵌入模型,支持超过100种语言,专注于句子相似度和特征提取任务。
文本嵌入
Transformers 支持多种语言

J
jinaai
3.7M
911
Ms Marco MiniLM L6 V2
Apache-2.0
基于MS Marco段落排序任务训练的交叉编码器模型,用于信息检索中的查询-段落相关性评分
文本嵌入 英语
M
cross-encoder
2.5M
86
Opensearch Neural Sparse Encoding Doc V2 Distill
Apache-2.0
基于蒸馏技术的稀疏检索模型,专为OpenSearch优化,支持免推理文档编码,在搜索相关性和效率上优于V1版本
文本嵌入
Transformers 英语

O
opensearch-project
1.8M
7
Sapbert From PubMedBERT Fulltext
Apache-2.0
基于PubMedBERT的生物医学实体表征模型,通过自对齐预训练优化语义关系捕捉
文本嵌入 英语
S
cambridgeltl
1.7M
49
Gte Large
MIT
GTE-Large 是一个强大的句子转换器模型,专注于句子相似度和文本嵌入任务,在多个基准测试中表现出色。
文本嵌入 英语
G
thenlper
1.5M
278
Gte Base En V1.5
Apache-2.0
GTE-base-en-v1.5 是一个英文句子转换器模型,专注于句子相似度任务,在多个文本嵌入基准测试中表现优异。
文本嵌入
Transformers 支持多种语言

G
Alibaba-NLP
1.5M
63
Gte Multilingual Base
Apache-2.0
GTE Multilingual Base 是一个多语言的句子嵌入模型,支持超过50种语言,适用于句子相似度计算等任务。
文本嵌入
Transformers 支持多种语言

G
Alibaba-NLP
1.2M
246
Polybert
polyBERT是一个化学语言模型,旨在实现完全由机器驱动的超快聚合物信息学。它将PSMILES字符串映射为600维密集指纹,以数值形式表示聚合物化学结构。
文本嵌入
Transformers

P
kuelumbus
1.0M
5
Bert Base Turkish Cased Mean Nli Stsb Tr
Apache-2.0
基于土耳其语BERT的句子嵌入模型,专为语义相似度任务优化
文本嵌入
Transformers 其他

B
emrecan
1.0M
40
GIST Small Embedding V0
MIT
基于BAAI/bge-small-en-v1.5模型微调的文本嵌入模型,通过MEDI数据集与MTEB分类任务数据集训练,优化了检索任务的查询编码能力。
文本嵌入
Safetensors 英语
G
avsolatorio
945.68k
29
精选推荐AI模型
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers 支持多种语言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers 英语

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统 中文
R
uer
2,694
98