namdp-ptit/ViRanker

namdp-ptit
Clasificación de texto

ViRanker es un modelo de clasificador de texto cruzado diseñado especialmente para la clasificación de texto en vietnamita y el rerankeo de pasajes. Utiliza el modelo transformador xlm-roberta y es compatible con AutoTrain, Inference Endpoints, y trabaja con los formatos de safetensors. Es idóneo para tareas de clasificación de texto y rerankeo, proporcionando puntuaciones de relevancia que pueden mapearse a valores flotantes en un rango de 0 a 1 mediante la función sigmoidea.

Como usar

Modo de uso

Usando FlagEmbedding

pip install -U FlagEmbedding

from FlagEmbedding import FlagReranker

reranker = FlagReranker('namdp-ptit/ViRanker', use_fp16=True) # Ajustar use_fp16 a True acelera el cálculo con una ligera degradación del rendimiento

score = reranker.compute_score(['ai là vị vua cuối cùng của việt nam', 'vua bảo đại là vị vua cuối cùng của nước ta'])
print(score) # 13.71875

# Puedes mapear las puntuaciones en un rango de 0-1 configurando 'normalize=True', lo que aplicará la función sigmoidea a la puntuación
score = reranker.compute_score(['ai là vị vua cuối cùng của việt nam', 'vua bảo đại là vị vua cuối cùng của nước ta'], normalize=True)
print(score) # 0.99999889840464

scores = reranker.compute_score([
['ai là vị vua cuối cùng của việt nam', 'vua bảo đại là vị vua cuối cùng của nước ta'],
['ai là vị vua cuối cùng của việt nam', 'lý nam đế là vị vua đầu tiên của nước ta']
])
print(scores) # [13.7265625, -8.53125]

# Puedes mapear las puntuaciones en un rango de 0-1 configurando 'normalize=True'
scores = reranker.compute_score([
['ai là vị vua cuối cùng của việt nam', 'vua bảo đại là vị vua cuối cùng của nước ta'],
['ai là vị vua cuối cùng của việt nam', 'lý nam đế là vị vua đầu tiên của nước ta']
], normalize=True)
print(scores) # [0.99999889840464, 0.00019716942196222918]

Usando Huggingface transformers

pip install -U transformers

import torch
from transformers import AutoModelForSequenceClassification, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained('namdp-ptit/ViRanker')
model = AutoModelForSequenceClassification.from_pretrained('namdp-ptit/ViRanker')
model.eval()

pairs = [
['ai là vị vua cuối cùng của việt nam', 'vua bảo đại là vị vua cuối cùng của nước ta'],
['ai là vị vua cuối cùng của việt nam', 'lý nam đế là vị vua đầu tiên của nước ta']
],
with torch.no_grad():
    inputs = tokenizer(pairs, padding=True, truncation=True, return_tensors='pt', max_length=512)
    scores = model(**inputs, return_dict=True).logits.view(-1, ).float()
print(scores)

Funcionalidades

Clasificación de texto
Rerankeo de pasajes
Compatibilidad con AutoTrain
Compatibilidad con Inference Endpoints
Utiliza xlm-roberta
Compatibilidad con safetensors
Modelo de clasificador de secuencia

Casos de uso

Clasificación de documentos de texto en vietnamita.
Rerankeo de pasajes para mejorar la relevancia en resultados de búsqueda.
Análisis de consultas y pasajes para calcular su relevancia.