sergeyzh/rubert-tiny-sts

sergeyzh
Similitud de oraciones

Modelo BERT rápido para cálculos de incrustaciones compactas de oraciones en ruso. El modelo está basado en cointegrated/rubert-tiny2, tiene tamaños de contexto (2048), incrustaciones (312) y rendimiento similares.

Como usar

Uso con la biblioteca transformers:

# pip install transformers sentencepiece
import torch
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("sergeyzh/rubert-tiny-sts")
model = AutoModel.from_pretrained("sergeyzh/rubert-tiny-sts")
# model.cuda()  # descomenta esto 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)
# (312,)

Uso con sentence_transformers:

from sentence_transformers import SentenceTransformer, util

model = SentenceTransformer('sergeyzh/rubert-tiny-sts')

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

Funcionalidades

Similaridad de oraciones (STS)
Safetensors
Transformers
Ruso
Preentrenamiento en ruso
Incrustaciones compactas
Extracción de características
Incrustaciones de texto para inferencia
Infrerencia en puntos finales

Casos de uso

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