File size: 2,329 Bytes
5eeab19
 
 
 
 
 
 
7c9006b
5eeab19
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d3cf57e
 
 
 
5eeab19
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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()