import gradio as gr from transformers import AutoTokenizer, AutoModelForTokenClassification from transformers import pipeline import re description = "Named Entity Recognition Using BERT" title = "NERBERT" examples = [["Hey, Alex here from London!"], ["My name is Wolfgang and I live in Berlin"]] def findNER(example): tokenizer = AutoTokenizer.from_pretrained("dslim/bert-base-NER") model = AutoModelForTokenClassification.from_pretrained("dslim/bert-base-NER") ner_pipeline = pipeline("ner", model=model, tokenizer=tokenizer) pipeline_output = ner_pipeline(example) final_output = [] # all_words = re.split(r'[^a-zA-Z0-9\s]', example) for _ in pipeline_output: final_output.extend([(_['word'], _['entity'])]) return final_output interface = gr.Interface(fn=findNER, inputs='text', outputs=['highlight'], examples=examples, description=description, title=title, interpretation='default') interface.launch()