symanto/sn-xlm-roberta-base-snli-mnli-anli-xnli

symanto
Similitud de oraciones

Un modelo de red siamesa entrenado para la clasificación de texto en entornos sin supervisión y con poca supervisión. El modelo base es xlm-roberta-base. Fue entrenado en SNLI, MNLI, ANLI y XNLI. Este es un modelo de sentence-transformers: mapea oraciones y párrafos a un espacio vectorial denso de 768 dimensiones.

Como usar

Uso (Sentence-Transformers):

pip install -U sentence-transformers

from sentence_transformers import SentenceTransformer
sentences = ["Esta es una oración de ejemplo", "Cada oración es convertida"]

model = SentenceTransformer('{MODEL_NAME}')
embeddings = model.encode(sentences)
print(embeddings)

Uso (Transformadores de HuggingFace):

from transformers import AutoTokenizer, AutoModel
import torch

#Mean Pooling - Tener en cuenta la máscara de atención para un promedio correcto
def mean_pooling(model_output, attention_mask):
    token_embeddings = model_output[0] #El primer elemento de model_output contiene todos los embedding de token
    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)

# Oraciones para las cuales queremos embeddings de oraciones
sentences = ['Esta es una oración de ejemplo', 'Cada oración es convertida']

# Cargar modelo desde HuggingFace Hub
tokenizer = AutoTokenizer.from_pretrained('{MODEL_NAME}')
model = AutoModel.from_pretrained('{MODEL_NAME}')

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

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

# Realizar el pooling. En este caso, pooling promedio.
sentence_embeddings = mean_pooling(model_output, encoded_input['attention_mask'])

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

Funcionalidades

sentence-transformers
PyTorch
Transformers
extracción de características
clasificación zero-shot
inferencia de embeddings de texto
endpoints de inferencia
compatible con AutoTrain

Casos de uso

Clasificación de texto sin supervisión
Clasificación de texto con poca supervisión
Extracción de características
Inferencia de embeddings de texto
Similitud de oraciones