| import spacy | |
| import gradio as gr | |
| def make_ent_dict(list): | |
| ent_dict = { | |
| 'ORG': '', | |
| 'PERSON': '', | |
| 'GPE': '', | |
| 'DATE': '', | |
| 'TIME': '', | |
| 'MONEY': '', | |
| 'PERCENT': '', | |
| 'QUANTITY': '', | |
| 'PRODUCT': '', | |
| } | |
| for item in list: | |
| if item[0] in ent_dict.keys(): | |
| ent_dict[item[0]] = item[1] | |
| return ent_dict | |
| def get_named_entity(text): | |
| nlp = spacy.load("en_core_web_sm") | |
| doc = nlp(text) | |
| ent_list = [(ent.label_, ent.text) for ent in doc.ents] | |
| return make_ent_dict(ent_list) | |
| iface = gr.Interface(fn=get_named_entity, inputs="text", outputs="text") | |
| iface.launch(inline=False) | |