S-Biomed-Roberta-snli-multinli-stsb

pritamdeka
Similitud de oraciones

Este es un modelo de sentence-transformers: Mapea oraciones y párrafos a un espacio vectorial denso de 768 dimensiones y puede ser utilizado para tareas como agrupamiento o búsqueda semántica. El modelo base utilizado es allenai/biomed_roberta_base que ha sido afinado para la similitud de oraciones.

Como usar

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

pip install -U sentence-transformers

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

model = SentenceTransformer('pritamdeka/S-Biomed-Roberta-snli-multinli-stsb')
embeddings = model.encode(sentences)
print(embeddings)

Sin sentence-transformers, puedes usar el modelo así:

from transformers import AutoTokenizer, AutoModel
import torch

# Promediación Media - Tomar la máscara de atención en cuenta para promediar correctamente

 def mean_pooling(model_output, attention_mask):
    token_embeddings = model_output[0] # El primer elemento de model_output contiene todas las incrustaciones 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 cuales queremos las incrustaciones de oraciones
sentences = ['This is an example sentence', 'Each sentence is converted']

# Cargar modelo del Hub de HuggingFace

 tokenizer = AutoTokenizer.from_pretrained('pritamdeka/S-Biomed-Roberta-snli-multinli-stsb')
model = AutoModel.from_pretrained('pritamdeka/S-Biomed-Roberta-snli-multinli-stsb')

# Tokenizar oraciones

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

# Calcular incrustaciones de tokens

 with torch.no_grad():
    model_output = model(**encoded_input)

# Realizar promediación. En este caso, promediación máxima.

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

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

Funcionalidades

Agrupamiento de oraciones
Búsqueda semántica
Extracción de características
Emisión de inferencias de texto

Casos de uso

Agrupamiento de textos médicos
Búsqueda semántica en contenido biomédico
Generación de inferencias textuales en artículos de salud