Содержание
В первую очередь требуется подгтотовить датасет для обучения моделей. Исходный датасет содержит очень мало данных, поэтому нужно применить методы аугментации текста, чтобы получить подходящее количество данных. Ноутбук Preprocessing_datasets.ipynb содержит код преобразования исходного датасета в требуемый.
Страховые письма глобально бывают двух видов - содержащие услуги и не содержащие услуг. Первые, в свою очередь, классифицируются на конкретный перечень услуг, указанный в справочнике из 75 элементов. Чтобы максимально точно поддержать требуемую иерархию, было принято решение обучить 2 модели - бинарную и мультиклассовую.
Код для обучения бинарной модели представлен в ноутбуке train_binary_model.ipynb. Для обучения использовался аугментированный датасет final_aug_df.csv.
Код для обучения мультиклассовой модели можно посмотреть в ноутбуке train_multiclass_model.ipynb. Для обучения использовался аугментированный датасет multiclass_df.csv.
Предобученные сохраненные модели можно найти в каталоге models.
Для удобства использования бинарной модели был написан класс BertBinaryClassifier, который загружает предобученную модель и имеет метод predict, получающий на вход текстовую строку и возвращающий метку класса - 0 или 1:
from bert_binary_classifier import BertBinaryClassifier
binary_classifier = BertBinaryClassifier()
prediction = binary_classifier.predict('Some text')Для работы с мультиклассовой моделью требуется 2 класса: DistilBERTClass (базовый класс, наследуется из PyTorch) и BertMulticlassClassifier, который имеет метод predict, возвращающий массив из 75 элементов, в которых позиция числа 1 соответствует коду (от 0 до 74) оказываемой услуги:
from distilbert_class import DistilBERTClass
from bert_multiclass_classifier import BertMulticlassClassifier
multiclass_classifier = BertMulticlassClassifier()
predictions = multiclass_classifier.predict('Some text')BioMind Bot - это чат-бот для Telegram, разработанный для больничной сети "Медси" с целью автоматизации процесса обработки гарантийных писем от страховых компаний. Применяемая нейросеть способна анализировать текстовые документы, выявлять ключевую информацию о медицинских услугах.
Чатбот позволяет вести беседы примерно такого вида:
По ссылке можно получить доступ к чатботу : @biomind_bot
Введите команду /hello, чтобы начать диалог с ботом.
- /help - описание проекта, ссылка на github, выход в главное меню;
- /reset - удаляет все записи в базе данных пользователя и завершает работу;
- /start - выводит кнопки для пользователя (TXT, PDF, DOCX), чтобы пользователь выбрал формат файла, который он хочет обработать.
- /output - выводит всю информацию по обработанным письмам для пользователя. (максимум 3 записи, самая старая запись удаляется)
