Мобильная система поддержки принятия решений в области здравоохранения
Больница — это глобальная конвенция, где любой пациент может пройти медицинское обследование, диагностировать заболевания и получить рекомендации по лечению. Этому обычаю следует большинство людей во всем мире. Это считалось наиболее подходящим и подлинным методом отслеживания состояния своего физического тела. Однако во время COVID это не лучший способ действий. Предлагаемый метод направлен на поиск альтернативы походу в больницу и записи на прием к врачу для осмотра или диагностики. Создание приложения чат-бота с использованием технологий обработки естественного языка и машинного обучения помогает людям легко взаимодействовать с чат-ботом посредством ряда вопросов и сомнений, подобно тому, как люди взаимодействуют друг с другом. Между тем, чат-бот найдет и идентифицирует симптомы человека, что позволит ему предсказать, от какого заболевания человек страдает, и предложит подходящие средства и методы лечения. Это также может помочь людям понять свое здоровье и побудить больше людей принимать необходимые меры по поддержанию здоровья. Согласно полученным данным, такая система широко не используется, и большинство людей не знают о ней. Внедрение этой структуры в действие значительно поможет людям избежать дальних поездок в больницу, просто используя это приложение, где бы они ни находились.
Для этого мы можем создать диалогового бота, интегрированного с машинным обучением, с помощью Google Dialog Flow за 4 шага.
- Модель машинного обучения (для каждого заболевания, такого как диабет, болезни сердца и т. д.)
- Чат-бот Dialog Flow собирает пользовательский ввод.
- Приложение Flask, развернутое на любом общедоступном узле и представляющее запрос и ответ.
- Чат-бот выполняет вызов веб-перехватчика в API Flask для отправки данных и получения ответа.
и, наконец, интеграция с мобильными приложениями
Как это работает?
В эту систему мы можем добавить любое количество заболеваний, но я расскажу о том, как я пытался предсказать и предоставить подробную информацию о сердечных заболеваниях. Это мобильное приложение на основе флаттера. Войдя в систему, пользователь может начать разговор с чат-ботом, который задает вопросы для получения входных данных.
- Построение модели машинного обучения
Для этой цели я использовал этот набор данных 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 очень просто. Пример, который я сделал здесь, Как я интегрировал мобильное приложение флаттера, и вы можете использовать его, внеся изменения.
Я надеюсь, что это будет полезно. Спасибо за чтение …