pipeline_tag: 文本排序
language: 法语
datasets:
- stsb_multi_mt
tags:
- 文本
- 句子相似度
- 句子嵌入
- camembert-base
license: apache-2.0
model-index:
- name: Van Tuan DANG开发的sentence-camembert-base模型
results:
- task:
type: 文本相似度
name: 句子嵌入
dataset:
name: 法语文本相似度
type: stsb_multi_mt
args: fr
metrics:
- type: 皮尔逊相关系数
value: xx.xx
name: 测试集皮尔逊相关系数
模型说明
用于句子相似度计算的交叉编码器
本模型使用sentence-transformers的Cross-Encoder类进行训练。
训练数据
该模型基于STS基准数据集训练,可预测两个句子之间语义相似度的0-1分值。
使用方法(Sentence-Transformers)
安装sentence-transformers后即可便捷使用:
pip install -U sentence-transformers
使用示例:
from sentence_transformers import CrossEncoder
model = CrossEncoder('dangvantuan/CrossEncoder-camembert-large', max_length=128)
scores = model.predict([('一架飞机正在起飞。', "一名男子在吹奏长笛"), ("一个男人往披萨上撒碎奶酪", "某人把猫抛向天花板")])
评估
可通过以下方式在法语STS测试数据上评估模型:
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="./")
测试结果:
采用皮尔逊和斯皮尔曼相关系数衡量性能: