import spacy import gradio as gr from spacy import displacy # Load your trained spaCy model nlp = spacy.load("sr_Spacy_Serbian_Model_SrpKor4Tagging_BERTICOVO") # Define a function to display the tags and lemmas def display_tags_and_lemmas(text): doc = nlp(text) html = displacy.render(doc, style="ent", page=True, minify=True) # We'll also create a custom HTML to display lemmas nicely lemma_html = "
" lemma_html += "" for token in doc: lemma_html += f"" lemma_html += "
TokenLemmaPOS Tag
{token.text}{token.lemma_}{token.pos_}
" # Return both the displaCy HTML and our custom lemma table return html, lemma_html # Define Gradio interface iface = gr.Interface( fn=display_tags_and_lemmas, inputs=gr.inputs.Textbox(lines=5, placeholder="Unesite rečenicu ovde..."), outputs=[ gr.outputs.HTML(label="Leme i POS oznake") ], title="spaCy Tagger i Lemmatizer", description="Unesite rečenicu da biste videli njene imenovane entitete, POS oznake i leme.", examples=["Lep dan, danas."] ) # Include CSS styling for nicer outputs css = """ """ iface.launch(inline=False, enable_queue=True, share=True, css=css)