xlm-roberta-base-language-detection
papluca
Clasificación de texto
Este modelo es una versión ajustada de xlm-roberta-base en el conjunto de datos de Identificación de Lenguaje. Es un modelo transformador XLM-RoBERTa con una cabeza de clasificación en la parte superior (es decir, una capa lineal sobre la salida agrupada). Para obtener información adicional, consulte la tarjeta del modelo xlm-roberta-base o el artículo Aprendizaje de Representación Multilingüe No Supervisado a Escala por Conneau et al.
Como usar
La forma más fácil de usar el modelo es a través de la API de alto nivel pipeline:
from transformers import pipeline
text = [
"Brevity is the soul of wit.",
"Amor, ch'a nullo amato amar perdona."
]
model_ckpt = "papluca/xlm-roberta-base-language-detection"
pipe = pipeline("text-classification", model=model_ckpt)
pipe(text, top_k=1, truncation=True)
O puede proceder con el tokenizador y el modelo por separado:
import torch
from transformers import AutoModelForSequenceClassification, AutoTokenizer
text = [
"Brevity is the soul of wit.",
"Amor, ch'a nullo amato amar perdona."
]
model_ckpt = "papluca/xlm-roberta-base-language-detection"
tokenizer = AutoTokenizer.from_pretrained(model_ckpt)
model = AutoModelForSequenceClassification.from_pretrained(model_ckpt)
inputs = tokenizer(text, padding=True, truncation=True, return_tensors="pt")
with torch.no_grad():
logits = model(**inputs).logits
preds = torch.softmax(logits, dim=-1)
# Mapear predicciones crudas a idiomas
id2lang = model.config.id2label
vals, idxs = torch.max(preds, dim=1)
{id2lang[k.item()]: v.item() for k, v in zip(idxs, vals)}
Funcionalidades
- Detección de lenguaje
- Clasificación de secuencias
- Soporte para 20 idiomas
- Modelo fine-tunado
- Alta precisión y F1-score
Casos de uso
- Detección automática de idioma en textos
- Clasificación de secuencias de texto
- Aplicaciones de procesamiento de lenguaje natural multilingüe