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