File size: 933 Bytes
1d685e8
 
 
f9ddd28
1d685e8
 
 
 
 
 
 
 
 
f9ddd28
 
 
 
 
 
 
1d685e8
f9ddd28
1d685e8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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()