Style-Embedding

AnnaWegmann
Similitud de oraciones

Este es un modelo de sentence-transformers: mapea oraciones y párrafos a un espacio vectorial denso de 768 dimensiones y se puede usar para tareas como la agrupación o la búsqueda semántica.

Como usar

Uso (Sentence-Transformers)

Usar este modelo se vuelve fácil cuando tienes sentence-transformers instalado:

pip install -U sentence-transformers

Entonces, puedes usar el modelo así:

from sentence_transformers import SentenceTransformer
sentences = ["This is an example sentence", "Each sentence is converted"]

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

Uso (Transformadores de HuggingFace)

Sin sentence-transformers, puedes usar el modelo así: Primero, pasas tu entrada a través del modelo transformer, luego tienes que aplicar la operación de pooling correcta sobre las embeddings de palabras contextualizadas.

from transformers import AutoTokenizer, AutoModel
import torch

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

# Oraciones para las que queremos embeddings de oraciones
sentences = ['This is an example sentence', 'Each sentence is converted']

# Cargar el 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 las embeddings de tokens
with torch.no_grad():
    model_output = model(**encoded_input)

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

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

Funcionalidades

Agrupación de oraciones
Búsqueda semántica
Compatible con PyTorch
Compatible con Transformers de HuggingFace
Extracción de características
Embeddings de texto
Compatible con AutoTrain
Compatible con Endpoints de Inference

Casos de uso

Agrupación de documentos
Búsqueda semántica en grandes corpus de texto
Extracción de características relevantes para clasificación de texto
Generación de embeddings de sentencias para análisis de sentimientos