behtarino / app.py
amirhosseinmoayedi's picture
Create app.py
e164e61 verified
raw
history blame
1.01 kB
import gradio as gr
from transformers import pipeline
# Initialize Hugging Face NER pipeline
ner_pipeline = pipeline("ner", model="HooshvareLab/bert-fa-base-uncased", aggregation_strategy="simple")
def split_name(full_name):
entities = ner_pipeline(full_name)
prefix = ""
first_name = ""
last_name = ""
for entity in entities:
label = entity['entity_group']
word = entity['word']
if label.lower() == 'prefix':
prefix += word + " "
elif label.lower() == 'firstname':
first_name += word + " "
elif label.lower() == 'lastname':
last_name += word + " "
return prefix.strip(), first_name.strip(), last_name.strip()
# Gradio interface
demo = gr.Interface(
fn=split_name,
inputs=gr.Textbox(label="Full Name (Persian)", placeholder="Enter your full name"),
outputs=[
gr.Textbox(label="Prefix"),
gr.Textbox(label="First Name"),
gr.Textbox(label="Last Name"),
],
)
demo.launch()