sergeyzh/LaBSE-ru-sts

sergeyzh
Similitud de oraciones

Modelo BERT de alta calidad para cálculos de embeddings de oraciones en ruso. El modelo está basado en cointegrated/LaBSE-en-ru - tiene tamaños de contexto (512), embedding (768) y rendimiento similares.

Como usar

Uso del modelo con la biblioteca transformers:

# pip install transformers sentencepiece
import torch
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("sergeyzh/LaBSE-ru-sts")
model = AutoModel.from_pretrained("sergeyzh/LaBSE-ru-sts")
# model.cuda()  # descomentar si tienes una GPU

def embed_bert_cls(text, model, tokenizer):
    t = tokenizer(text, padding=True, truncation=True, return_tensors='pt')
    with torch.no_grad():
        model_output = model(**{k: v.to(model.device) for k, v in t.items()})
    embeddings = model_output.last_hidden_state[:, 0, :]
    embeddings = torch.nn.functional.normalize(embeddings)
    return embeddings[0].cpu().numpy()

print(embed_bert_cls('привет мир', model, tokenizer).shape)
# (768,)

Uso con sentence_transformers:

from sentence_transformers import SentenceTransformer, util

model = SentenceTransformer('sergeyzh/LaBSE-ru-sts')

sentences = ["привет мир", "hello world", "здравствуй вселенная"]
embeddings = model.encode(sentences)
print(util.dot_score(embeddings, embeddings))

Funcionalidades

Transformers
Safetensors
Embeddings en ruso
Extracción de características
Inferencia de texto

Casos de uso

Similaridad semántica de textos (STS)
Identificación de paráfrasis (PI)
Inferencia en lenguaje natural (NLI)
Análisis de sentimientos (SA)
Identificación de toxicidad (TI)