Lajavaness/CrossEncoder-camembert-large
Lajavaness
Similitud de oraciones
Modelo de Cross-Encoder para la similitud de oraciones. Este modelo es una mejora sobre el dangvantuan/CrossEncoder-camembert-large que ofrece mayor robustez y mejor desempeño. Se entrenó en el conjunto de datos de referencia STS y se combinó con Augmented SBERT. El modelo se beneficia de las estrategias de muestreo de pares utilizando dos modelos: CrossEncoder-camembert-large y dangvantuan/sentence-camembert-large. El modelo predice un puntaje entre 0 y 1 para la similitud semántica de dos oraciones.
Como usar
Usar este modelo es fácil cuando tienes instalado sentence-transformers:
pip install -U sentence-transformers
Luego puedes usar el modelo así:
from sentence_transformers import CrossEncoder
model = CrossEncoder('Lajavaness/CrossEncoder-camembert-large', max_length=512)
scores = model.predict([('Un avión está despegando.', 'Un hombre toca una gran flauta.'), ('Un hombre extiende queso rallado sobre una pizza.', 'Una persona lanza un gato al techo')])
Evaluación:
El modelo puede ser evaluado de la siguiente manera en los datos de prueba en francés de stsb:
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 # Normalizar puntaje al rango de 0 ... 1
inp_example = InputExample(texts=[df['sentence1'], df['sentence2']], label=score)
dataset_samples.append(inp_example)
return dataset_samples
# Cargar el conjunto de datos para evaluación
df_dev = load_dataset('stsb_multi_mt', name='fr', split='dev')
df_test = load_dataset('stsb_multi_mt', name='fr', split='test')
# Convertir el conjunto de datos para evaluación
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='./')
Funcionalidades
- Similitud de oraciones
- Entrenado en el conjunto de datos STS benchmark
- Combinado con Augmented SBERT
- Estrategias de muestreo de pares
- Predicción de similitud semántica
Casos de uso
- Evaluar la similitud semántica entre dos oraciones
- Crear embeddings de texto para tareas de clasificación de texto
- Mejorar la robustez y desempeño en tareas de IA basadas en similitud de oraciones