AIDA-UPM/mstsb-paraphrase-multilingual-mpnet-base-v2

AIDA-UPM
Similitud de oraciones

Esta es una versión afinada del modelo paraphrase-multilingual-mpnet-base-v2 de sentence-transformers con el Benchmark de Similitud Textual Semántica extendido a 15 idiomas: mapea frases y párrafos a un espacio vectorial denso de 768 dimensiones y puede ser utilizado para tareas como agrupamiento, búsqueda semántica y medición de la similitud entre dos frases. El dataset utilizado para esta afinación es el STSb extendido a 15 idiomas con el Traductor de Google. Para mantener la calidad de los datos, los pares de frases con un valor de confianza por debajo de 0.7 fueron descartados.

Como usar

from transformers import AutoTokenizer, AutoModel
import torch

# Definamos la función de pooling adecuada: Mean pooling
# Mean Pooling - Take attention mask into account for correct averaging
def mean_pooling(model_output, attention_mask):
    token_embeddings = model_output[0]  # Primer elemento de model_output contiene todos los embeddings de tokens
    input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).float()
    return torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9)

# Frases para las cuales queremos embeddings de frases
sentences = ["This is an example sentence", "Esta es otra frase de ejemplo", "最後の例文"]

# Cargar modelo desde HuggingFace Hub
tokenizer = AutoTokenizer.from_pretrained('AIDA-UPM/mstsb-paraphrase-multilingual-mpnet-base-v2')
model = AutoModel.from_pretrained('AIDA-UPM/mstsb-paraphrase-multilingual-mpnet-base-v2')

# Tokenizar frases
encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt')

# Calcular embeddings de tokens
with torch.no_grad():
    model_output = model(**encoded_input)

# Realizar pooling
sentence_embeddings = mean_pooling(model_output, encoded_input['attention_mask'])

print("Embeddings de frases:")
print(sentence_embeddings)

Funcionalidades

Aprovecha el modelo base paraphrase-multilingual-mpnet-base-v2.
Utiliza el Benchmark de Similitud Textual Semántica extendido a 15 idiomas.
Mapea frases y párrafos a un espacio vectorial denso de 768 dimensiones.
Idóneo para tareas de agrupamiento, búsqueda semántica y medición de similitud.
Operación de pooling utilizada: mean pooling.

Casos de uso

Agrupamiento de frases y párrafos según su similitud semántica.
Búsqueda semántica entre documentos.
Medición de la similitud entre dos frases en múltiples idiomas.

Recibe las últimas noticias y actualizaciones sobre el mundo de IA directamente en tu bandeja de entrada.