🚀 句子相似度跨編碼器模型
這是一個用於句子相似度任務的跨編碼器模型,基於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。