NerRoB-czech / app.py
AlzbetaStrompova
add additional gazetteers
92a6f43
raw
history blame
1.74 kB
import json
import gradio as gr
from website_script import load, run
tokenizer, model, gazetteers_for_matching = load()
examples = [
["Masarykova univerzita se nachází v Brně .", None],
["Barack Obama navštívil Prahu minulý týden .", None],
["Angela Merkelová se setkala s francouzským prezidentem v Paříži .", None],
["Nobelova cena za fyziku byla udělena týmu vědců z MIT .", None]
]
def ner(text, file_names):
result = run(tokenizer, model, gazetteers_for_matching, text, file_names)
return {"text": text, "entities": result}
with gr.Blocks(css="footer{display:none !important}", theme=gr.themes.Default(primary_hue="blue", secondary_hue="sky")) as demo:
# with gr.Blocks(theme=gr.themes.Soft()) as demo:
gr.Interface(ner,
gr.Textbox(lines=10, placeholder="Enter sentence here..."),
gr.HighlightedText(show_legend=True, color_map={"PER": "red", "ORG": "green", "LOC": "blue"}),
examples=examples,
title="NerROB-czech",
description="This is an implementation of a Named Entity Recognition model for the Czech language using gazetteers.",
allow_flagging="never",
additional_inputs=gr.File(label="Upload a JSON file", file_count="multiple", file_types=[".json"]),
additional_inputs_accordion=gr.Accordion(label="Additional Gazetters", open=False)
)
# gr.Interface(load_gazetters,
# gr.File(label="Upload a JSON file", file_count="multiple", file_types=[".json"]),
# None,
# allow_flagging="never",
# description="Here you can upload your own gazetteers.", )
# btn = gr.Button(value="Change Language")
# btn.click(reload)
if __name__ == "__main__":
demo.launch()