Lajavaness/sentence-camembert-large
Este modelo Sentence-CamemBERT-Large es un modelo de incrustación para el idioma francés desarrollado por La Javaness. El propósito de este modelo de incrustación es representar el contenido y la semántica de una oración en francés como un vector matemático, lo que le permite comprender el significado del texto más allá de las palabras individuales en consultas y documentos. Ofrece potentes capacidades de búsqueda semántica. Los modelos de incrustación de oraciones preentrenados son el estado del arte de las incrustaciones de oraciones para el francés. Este modelo es una mejora sobre el dangvantuan/sentence-camembert-base, ofreciendo una mayor robustez y mejor rendimiento en todos los conjuntos de datos de referencia STS. Ha sido afinado usando el preentrenado facebook/camembert-large y Redes Siamés BERT con 'sentences-transformers' en el conjunto de datos stsb. Además, se ha combinado con SBERT Aumentado en el conjunto de datos stsb. El modelo se beneficia de Estrategias de Muestreo por Pares utilizando dos modelos: CrossEncoder-camembert-large y dangvantuan/sentence-camembert-large.
Como usar
El modelo puede usarse directamente (sin un modelo de lenguaje) de la siguiente forma:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("Lajavaness/sentence-camembert-large")
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 puede evaluarse de la siguiente manera en los datos de prueba en francés del stsb.
from sentence_transformers import SentenceTransformer
from sentence_transformers.readers import InputExample
from datasets import load_dataset
def convert_dataset(dataset):
dataset_samples=[]
for df in dataset:
score = float(df['similarity_score'])/5.0 # Normalizar el puntaje a rango 0 ... 1
inp_example = InputExample(texts=[df['sentence1'],
df['sentence2']], label=score)
dataset_samples.append(inp_example)
return dataset_samples
Cargando 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
# Para el conjunto de desarrollo:
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 prueba:
test_samples = convert_dataset(df_test)
test_evaluator = EmbeddingSimilarityEvaluator.from_input_examples(test_samples, name='sts-test')
test_evaluator(model, output_path="./")
Funcionalidades
- Capacidades de búsqueda semántica potente
- Mejora en la robustez y rendimiento en todos los conjuntos de datos de referencia STS
- Afinado utilizando modelos preentrenados y estrategias de sampling avanzadas
Casos de uso
- Búsqueda semántica en francés
- Comparación de similitud semántica entre oraciones
- Representación de texto en lenguaje natural como vectores matemáticos