MiniLM-L6-Extracción-de-Palabras-Clave

valurank
Similitud de oraciones

Este es un modelo de transformers de oraciones: Mapea oraciones y párrafos a un espacio vectorial denso de 384 dimensiones y puede ser usado para tareas como agrupamiento o búsqueda semántica.

Como usar

Uso (Sentence-Transformers):

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

model = SentenceTransformer('sentence-transformers/all-MiniLM-L6-v2')
embeddings = model.encode(sentences)
print(embeddings)

Uso (HuggingFace Transformers):

from transformers import AutoTokenizer, AutoModel
import torch
import torch.nn.functional as F

#Promediado - 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 la salida del modelo contiene todos los embeddings de los 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 oración
sentences = ['Esta es una oración de ejemplo', 'Cada oración se convierte']

# Cargar modelo desde HuggingFace Hub
tokenizer = AutoTokenizer.from_pretrained('sentence-transformers/all-MiniLM-L6-v2')
model = AutoModel.from_pretrained('sentence-transformers/all-MiniLM-L6-v2')

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

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

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

# Normalizar embeddings
sentence_embeddings = F.normalize(sentence_embeddings, p=2, dim=1)

print("Embeddings de oración:")
print(sentence_embeddings)

Funcionalidades

Mapeo de oraciones y párrafos a un espacio vectorial denso de 384 dimensiones
Capacidad para tareas de agrupamiento
Búsqueda semántica
Extracción de características
Embeddings de texto

Casos de uso

Recuperación de información
Agrupamiento
Tareas de similitud de oraciones