Spaces:
Sleeping
Sleeping
# INTERFAZ USANDO GRADIO | |
from transformers import pipeline | |
import gradio as gr | |
import pandas as pd | |
# Cargar el modelo entrenado | |
model_path = "AleMarroquin18/beto-finetuned-ner" | |
nlp_ner = pipeline("token-classification", model=model_path, tokenizer=model_path) | |
# Función para predecir y estructurar los resultados | |
def predict_entities(text): | |
results = nlp_ner(text) | |
if not results: # Si no hay entidades detectadas | |
return "No se detectaron entidades." | |
# Crear un DataFrame para estructurar los resultados | |
data = { | |
"Token": [result["word"] for result in results], | |
"Etiqueta": [result["entity"] for result in results], | |
"Confianza (%)": [f'{result["score"]*100:.2f}' for result in results], | |
"Inicio": [result["start"] for result in results], | |
"Fin": [result["end"] for result in results] | |
} | |
df = pd.DataFrame(data) | |
return df | |
# Interfaz con una tabla como salida | |
interface_beto = gr.Interface( | |
fn=predict_entities, | |
inputs=gr.Textbox(lines=2, placeholder="Escribe un texto para analizar entidades"), | |
outputs=gr.Dataframe(headers=["Token", "entity", "Confianza (%)", "Inicio", "Fin"]), | |
title="BETO NER", | |
description="Prueba el modelo fine-tuneado de BETO en BioBERT para NER." | |
) | |
# Lanzar la interfaz | |
interface_beto.launch() |