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.