A2803's picture
Update app.py
3577afb verified
import gradio as gr
from transformers import pipeline
ner_pipe = pipeline(
'ner',
model='Gherman/bert-base-NER-Russian',
aggregation_strategy="simple"
)
def perform_ner(text: str) -> str:
text = text.strip()
text = tezt.translate()
if not text:
return 'Введите текст для анализа NER...'
results = ner_pipe(text)
if not results:
return 'Именованные сущности не найдены.'
output_lines = []
for result in results:
line = (
f"Слово: {result['word']}, "
f"Сущность: {result['entity_group']}, "
f"Вероятность: {result['score']:.2%}"
)
output_lines.append(line)
return '\n'.join(output_lines)
demo = gr.Interface(
fn=perform_ner,
inputs=gr.Textbox(
lines=5,
label='Введите текст для анализа NER...',
placeholder='Например, "Меня зовут Сергей Иванович, я работаю в компании Google в Москве."'
),
outputs=gr.Textbox(
lines = 5,
label='Результат анализа NER'),
title='Анализ именованных сущностей (NER) RuBERT',
description=(
'Приложение для извлечения именованных сущностей (Named Entity Recognition) из русского текста. '
'Используется модель: Gherman/bert-base-NER-Russian.'
),
)
if __name__ == '__main__':
demo.launch()