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