🚀 句子相似度跨编码器模型
这是一个用于句子相似度任务的跨编码器模型,基于sentence-transformers
训练,可对两个句子的语义相似度进行打分。
🚀 快速开始
本模型是用于句子相似度任务的跨编码器,它基于sentence-transformers
库的跨编码器类进行训练。
✨ 主要特性
- 基于
camembert-base
架构,适用于法语句子相似度任务。
- 可预测两个句子语义相似度的得分,范围在 0 到 1 之间。
📦 安装指南
若要使用此模型,需先安装sentence-transformers
库:
pip install -U sentence-transformers
💻 使用示例
基础用法
from sentence_transformers import CrossEncoder
model = CrossEncoder('dangvantuan/CrossEncoder-camembert-large', max_length=128)
scores = model.predict([('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") ])
高级用法
from sentence_transformers.readers import InputExample
from sentence_transformers.cross_encoder.evaluation import CECorrelationEvaluator
from datasets import load_dataset
def convert_dataset(dataset):
dataset_samples=[]
for df in dataset:
score = float(df['similarity_score'])/5.0
inp_example = InputExample(texts=[df['sentence1'],
df['sentence2']], label=score)
dataset_samples.append(inp_example)
return dataset_samples
df_dev = load_dataset("stsb_multi_mt", name="fr", split="dev")
df_test = load_dataset("stsb_multi_mt", name="fr", split="test")
dev_samples = convert_dataset(df_dev)
val_evaluator = CECorrelationEvaluator.from_input_examples(dev_samples, name='sts-dev')
val_evaluator(model, output_path="./")
test_samples = convert_dataset(df_test)
test_evaluator = CECorrelationEvaluator.from_input_examples(test_samples, name='sts-test')
test_evaluator(models, output_path="./")
📚 详细文档
模型信息
属性 |
详情 |
模型类型 |
用于句子相似度的跨编码器 |
训练数据 |
该模型在 STS 基准数据集 上进行训练。 |
评估结果
模型在 stsb 的法语测试数据上的评估结果如下:
开发集
测试集
📄 许可证
本模型使用的许可证为 Apache-2.0。