Мобильная система поддержки принятия решений в области здравоохранения

Больница — это глобальная конвенция, где любой пациент может пройти медицинское обследование, диагностировать заболевания и получить рекомендации по лечению. Этому обычаю следует большинство людей во всем мире. Это считалось наиболее подходящим и подлинным методом отслеживания состояния своего физического тела. Однако во время COVID это не лучший способ действий. Предлагаемый метод направлен на поиск альтернативы походу в больницу и записи на прием к врачу для осмотра или диагностики. Создание приложения чат-бота с использованием технологий обработки естественного языка и машинного обучения помогает людям легко взаимодействовать с чат-ботом посредством ряда вопросов и сомнений, подобно тому, как люди взаимодействуют друг с другом. Между тем, чат-бот найдет и идентифицирует симптомы человека, что позволит ему предсказать, от какого заболевания человек страдает, и предложит подходящие средства и методы лечения. Это также может помочь людям понять свое здоровье и побудить больше людей принимать необходимые меры по поддержанию здоровья. Согласно полученным данным, такая система широко не используется, и большинство людей не знают о ней. Внедрение этой структуры в действие значительно поможет людям избежать дальних поездок в больницу, просто используя это приложение, где бы они ни находились.

Для этого мы можем создать диалогового бота, интегрированного с машинным обучением, с помощью Google Dialog Flow за 4 шага.

  1. Модель машинного обучения (для каждого заболевания, такого как диабет, болезни сердца и т. д.)
  2. Чат-бот Dialog Flow собирает пользовательский ввод.
  3. Приложение Flask, развернутое на любом общедоступном узле и представляющее запрос и ответ.
  4. Чат-бот выполняет вызов веб-перехватчика в API Flask для отправки данных и получения ответа.

и, наконец, интеграция с мобильными приложениями

Как это работает?

В эту систему мы можем добавить любое количество заболеваний, но я расскажу о том, как я пытался предсказать и предоставить подробную информацию о сердечных заболеваниях. Это мобильное приложение на основе флаттера. Войдя в систему, пользователь может начать разговор с чат-ботом, который задает вопросы для получения входных данных.

  1. Построение модели машинного обучения

Для этой цели я использовал этот набор данных Kaggle для создания модели, позволяющей предсказать, есть ли у человека болезнь сердца или нет. Мы просто импортируем данные и применяем к ним классификатор Random Forest. Если вам нравится смотреть на модель, которую я построил, вы можете посмотреть на эту. Затем просто замаринуйте модель, и эта модель, модель. pkl’ будет импортирован в наше приложение flask позже.

2. Чат-бот DialogFlow

Теперь давайте перейдем непосредственно к DialogFlow, чтобы создать нашего чат-бота. Для разработки чат-бота можно использовать другие API и фреймворки, но DialogFlow от Google — очевидный выбор, потому что он прост, бесплатен и чрезвычайно быстр в создании! Войдите в DialogFlow, используя свою учетную запись Google. Затем, чтобы создать своего чат-бота, нажмите «Создать нового агента». Здесь я уже создал агента «Доктор» для прогнозирования и запроса о сердечных заболеваниях.

Затем мы должны разработать намерение, которое будет запрашивать данные у пользователя и выполнять вызов веб-перехватчика. Перед этим вы должны создать некоторые намерения, чтобы приветствовать пользователей, и некоторые другие, чтобы отвечать на запросы пользователей. Вы можете следовать этой документации, чтобы узнать больше об этом.

Необходимо добавить сущности, которые будут содержать данные, полученные от пользователя. В моем случае, например, у меня 13 входов. Как показано на изображении ниже, создайте 13 различных параметров для 13 точек данных, требуемых от пользователя. Не забудьте включить подсказки, чтобы запросить ввод данных у пользователя индивидуально.

Для создания сущностей существуют пользовательские сущности и системные сущности. В основном я использовал пользовательские объекты для сопоставления данных, специфичных для моего агента.

Теперь вы можете протестировать чат-бот на правой панели, чтобы убедиться, что он работает правильно. После этого вы должны разрешить выполнение, выбрав «Включить вызов веб-перехватчика для этого намерения». Как показано ниже

Таким образом, это намерение отправит запрос веб-перехватчика в наше приложение, которое размещено в общедоступном облаке Heroku. Теперь мы должны создать фляжное приложение, развернуть его на Heroku, а затем ввести URL-адрес на вкладке «Выполнение» с левой стороны.

3. Приложение Flask на Heroku

Теперь мы должны создать наше фляжное приложение, которое получает запрос веб-перехватчика от нашего чат-бота, получает данные, сопоставляет их с моделью машинного обучения (model.pkl) и отправляет текст выполнения в DialogFlow с прогнозом. Код, который я использовал

После этого мы должны обработать запрос на выполнение от DialogFlow, который находится в формате JSON. После того, как мы соберем данные, мы поместим их в массив, передадим в нашу модель и получим прогноз. Вы можете посмотреть, как я это сделал по этой ссылке.

После этого нам просто нужно развернуть код на общедоступном хосте. Я выбрал Heroku, потому что, опять же, это просто, бесплатно и очень быстро! Просто добавьте следующие файлы в свой новый репозиторий Github: приложение flask, файл рассола модели, Procfile (это очень важно и помогает Heroku найти приложение flask) и текстовый файл требований, который сообщает Heroku, какие библиотеки и версии следует предварительно -install, чтобы приложение работало корректно.

Просто создайте репозиторий на Github и загрузите его в Heroku. Создайте «Новое приложение», затем «Подключите» к нему свой репозиторий Github. После подключения просто нажмите кнопку развертывания, и все готово!

4. Вызов веб-перехватчика

Теперь наступает заключительный этап. Теперь мы должны связать наше развернутое приложение с нашим чат-ботом. Просто введите URL-адрес развертывания вашего приложения и добавьте к нему «/ webhook». Помните, что приложение направлено на «/ webhook» в коде фляги. Просто перейдите на вкладку DialogFlow «Выполнение» на левой панели, включите «Веб-перехватчик» и введите «URL-адрес вашего приложения»/webhook.

И теперь мы закончили! Вы можете проверить, правильно ли работает запрос/ответ веб-перехватчика, начав разговор на правой панели. Вместе с прогнозом вы должны получить ответ об исполнении.

Мы подошли к завершающему этапу. Здесь особо нечего делать, потому что подключить мобильные приложения к DialogFlow очень просто. Пример, который я сделал здесь, Как я интегрировал мобильное приложение флаттера, и вы можете использовать его, внеся изменения.

Я надеюсь, что это будет полезно. Спасибо за чтение …