Lajavaness/sentence-flaubert-base

Lajavaness
Similitud de oraciones

Los modelos de incrustación de oraciones preentrenados son el estado del arte de las incrustaciones de oraciones para el francés. Modelo ajustado usando flaubert/flaubert_base_uncased preentrenado y Redes BERT Siamesas con 'sentences-transformers' combinadas con SBERT Aumentado en el conjunto de datos stsb junto con Estrategias de Muestra de Pares a través de 2 modelos CrossEncoder-camembert-large y dangvantuan/sentence-camembert-large.

Como usar

El modelo se puede utilizar directamente (sin un modelo de lenguaje) de la siguiente manera:

from sentence_transformers import SentenceTransformer
model = SentenceTransformer("Lajavaness/sentence-flaubert-base")

sentences = ["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.",
"Une personne est en train de plier un morceau de papier.",]

embeddings = model.encode(sentences)

Evaluación

El modelo se puede evaluar de la siguiente manera en los datos de prueba en francés de stsb.

from sentence_transformers import SentenceTransformer
from sentence_transformers.readers import InputExample
from sentence_transformers.evaluation import EmbeddingSimilarityEvaluator
from datasets import load_dataset

def convert_dataset(dataset):
    dataset_samples = []
    for df in dataset:
        score = float(df['similarity_score']) / 5.0  # Normalizar puntuación a rango 0 ... 1
        inp_example = InputExample(texts=[df['sentence1'], df['sentence2']], label=score)
        dataset_samples.append(inp_example)
    return dataset_samples

# Carga del 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

# Para el conjunto de Dev:
dev_samples = convert_dataset(df_dev)
val_evaluator = EmbeddingSimilarityEvaluator.from_input_examples(dev_samples, name='sts-dev')
val_evaluator(model, output_path="./")

# Para el conjunto de Test:
test_samples = convert_dataset(df_test)
test_evaluator = EmbeddingSimilarityEvaluator.from_input_examples(test_samples, name='sts-test')
test_evaluator(model, output_path="./")

Funcionalidades

Uso de flaubert/flaubert_base_uncased preentrenado
Redes BERT Siamesas
Transformadores de oraciones
Ajustado con SBERT Aumentado
Compatible con PyTorch

Casos de uso

Calcular la similitud de oraciones en francés
Generar incrustaciones de oraciones
Evaluar tareas de incrustaciones de oraciones utilizando el conjunto de datos stsb
Investigación en el estado del arte en incrustaciones de oraciones en francés