KBLab/sentence-bert-swedish-cased
Este es un modelo basado en sentence-transformers: mapea oraciones y párrafos en sueco a un espacio vectorial denso de 768 dimensiones y puede ser utilizado para tareas como agrupamiento o búsqueda semántica. Este modelo es un modelo bilingüe sueco-inglés entrenado según las instrucciones del artículo 'Making Monolingual Sentence Embeddings Multilingual using Knowledge Distillation' y la documentación que acompaña su paquete de Python. Utilizamos el Bi-Encoder en inglés preentrenado más fuerte disponible (all-mpnet-base-v2) como modelo maestro, y el KB-BERT sueco preentrenado como modelo estudiante.
Como usar
Uso (Sentence-Transformers)
pip install -U sentence-transformers
from sentence_transformers import SentenceTransformer
sentences = ["Det här är en exempelmening", "Varje exempel blir konverterad"]
model = SentenceTransformer('KBLab/sentence-bert-swedish-cased')
embeddings = model.encode(sentences)
print(embeddings)
Carga de una versión anterior del modelo (Sentence-Transformers)
git clone --depth 1 --branch v1.0 https://huggingface.co/KBLab/sentence-bert-swedish-cased
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("path_to_model_folder/sentence-bert-swedish-cased")
Uso (Transformers de HuggingFace)
from transformers import AutoTokenizer, AutoModel
import torch
def mean_pooling(model_output, attention_mask):
token_embeddings = model_output[0] # Primer elemento 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)
sentences = ['Det här är en exempelmening', 'Varje exempel blir konverterad']
tokenizer = AutoTokenizer.from_pretrained('KBLab/sentence-bert-swedish-cased')
model = AutoModel.from_pretrained('KBLab/sentence-bert-swedish-cased')
encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt')
with torch.no_grad():
model_output = model(**encoded_input)
sentence_embeddings = mean_pooling(model_output, encoded_input['attention_mask'])
print('Embeddings de las oraciones:')
print(sentence_embeddings)
Carga de una versión anterior del modelo (Transformers de HuggingFace)
AutoTokenizer.from_pretrained('KBLab/sentence-bert-swedish-cased', revision="v1.0")
AutoModel.from_pretrained('KBLab/sentence-bert-swedish-cased', revision="v1.0")
Funcionalidades
- Modelo bilingüe sueco-inglés
- Espacio vectorial denso de 768 dimensiones
- Tareas de agrupamiento y búsqueda semántica
- Entrenado con Knowledge Distillation
- Capacidad para analizar oraciones y párrafos suecos
Casos de uso
- Agrupamiento de oraciones en sueco
- Búsqueda semántica en textos suecos
- Evaluación de similitud entre oraciones
- Preguntas y respuestas en sueco