NER-catala / app.py
pauurbano's picture
Update app.py
7de7e1d verified
import gradio as gr
from transformers import pipeline
# Carrega el pipeline NER per català
ner_pipeline = pipeline(model="projecte-aina/roberta-base-ca-v2-cased-ner")
# Funció per aplicar el NER
def ner(text):
output = ner_pipeline(text)
return {"text": text, "entities": output}
# Funció per netejar el formulari
def neteja():
return [gr.Textbox(value=None), gr.HighlightedText(value=None)]
# Llista d'exemples
exemples = [
"El president Pere Aragonès va visitar Barcelona el 23 d'abril.",
"La Universitat de Girona ofereix estudis en enginyeria informàtica.",
"Apple va llançar l’iPhone 15 a Califòrnia."
]
# UI amb Gradio
with gr.Blocks(theme=gr.themes.Glass()) as demo:
gr.Markdown(
"""
# Reconeixement d'entitats nomenades en català
Escriu o copia un text i troba les seves entitats
""")
with gr.Row():
with gr.Column():
inp = gr.Textbox(label="Text", placeholder="Escriu aquí...")
with gr.Row():
b1 = gr.Button(value="Neteja")
b2 = gr.Button("Troba entitats", variant="primary")
out = gr.HighlightedText(label="Sortida")
gr.Examples(examples=exemples, inputs=inp, label="Exemples:")
b1.click(neteja, outputs=[inp, out])
b2.click(ner, inputs=inp, outputs=out)
demo.launch(auth=("admin", "admin"), share=True, server_name="127.0.0.1")