l3cube-pune/hindi-sentence-bert-nli

l3cube-pune
Similitud de oraciones

Este es un modelo HindBERT (l3cube-pune/hindi-bert-v2) entrenado en el conjunto de datos NLI. Lanzado como parte del proyecto MahaNLP. Este modelo multilingüe admite los principales idiomas indicios y capacidades de cruce de idiomas. Un mejor modelo de similitud de oraciones (versión ajustada de este modelo) se comparte en el enlace proporcionado. Más detalles sobre el conjunto de datos, modelos y resultados base se pueden encontrar en nuestro artículo.

Como usar

Uso (Sentence-Transformers)

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

pip install -U sentence-transformers

Entonces puedes usar el modelo así:

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

model = SentenceTransformer('{MODEL_NAME}')
embeddings = model.encode(sentences)
print(embeddings)

Uso (HuggingFace Transformers)

Sin sentence-transformers, puedes usar el modelo así: Primero, pasas tu entrada a través del modelo transformer, luego tienes que aplicar la operación de pooling correcta sobre las incrustaciones de palabras contextualizadas.

from transformers import AutoTokenizer, AutoModel
import torch

def cls_pooling(model_output, attention_mask):
    return model_output[0][:,0]

# Oraciones para las que queremos incrustaciones de oraciones
sentences = ['This is an example sentence', 'Each sentence is converted']

# Cargar el modelo desde HuggingFace Hub
tokenizer = AutoTokenizer.from_pretrained('{MODEL_NAME}')
model = AutoModel.from_pretrained('{MODEL_NAME}')

# 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 pooling. En este caso, cls pooling.
sentence_embeddings = cls_pooling(model_output, encoded_input['attention_mask'])

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

Funcionalidades

Similitud de oraciones
Transformadores de oraciones
PyTorch
Transformadores
Extracción de características
Inferencia de incrustaciones de texto

Casos de uso

Búsqueda semántica
Agrupamiento de oraciones
Representaciones de oraciones