med_ner / app.py
Mykes's picture
Update app.py
d3cf57e verified
import gradio as gr
from transformers import pipeline
# Initialize the pipeline
pipe = pipeline(task="ner",
model='Mykes/rubert_ner_SDDCS',
tokenizer='Mykes/rubert_ner_SDDCS',
aggregation_strategy='first')
def process_text(text):
# Convert input to lowercase as in your example
results = pipe(text.lower())
# Format the output
output = []
for entity in results:
formatted_result = f"Type: {entity['entity_group']}\nWord: {entity['word']}\nScore: {entity['score']:.4f}\n"
output.append(formatted_result)
return "\n".join(output)
# Create Gradio interface
iface = gr.Interface(
fn=process_text,
inputs=gr.Textbox(lines=3, placeholder="Enter your text here..."),
outputs=gr.Textbox(lines=10),
title="Medical NER for Russian Text",
description="This model identifies medical entities (diseases, symptoms, drugs, etc.) in Russian text.",
examples=[
["У ребенка треога и норушения сна, потеря сознания, раньше ставили паническое расстройство. по назначению психиатра принимал атаракс без эффекта."],
["У женщины треога и норушения сна, потеря сознания, раньше ставили паническое расстройство. Подскажи хорошего психотервта в районе метро Октбрьской."],
["Моя дочка 14 лет и у нее начались месячные. Хотелось бы показать ее гиекологу женщине, живущей недалеко от мет шоссе энтузиастов?"],
["У меня болит живот, слабость, высокая температура. Что мне делать?"],
["У ребенка треога и норушения сна, потеря сознания, раньше ставили паническое расстройство. по назначению психиатра принимал атаракс без эффекта. Подскажи психиатра в районе метро Октбрьской."],
]
)
# Launch the interface
iface.launch()