Как устроены медицинские чат-боты — разбираемся на примере бота DOC+

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

Обычно сбор анамнеза занимает до 60% времени консультации и длится порядка 15 минут. Поэтому на Западе в связи с дороговизной рабочего времени врача существует практика, в рамках которой первичный доврачебный осмотр пациента проводят медсестры. Они заполняют специальные анкеты, на которые в дальнейшем опирается врач. Однако такой подход лишь перекладывает процесс сбора анамнеза с одного человека на другого.

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

О том, какие чат-бот решения уже существуют сегодня, что они умеют, и как устроен чат-бот DOC+, расскажем далее.

onbmflm1pdhv4md1sf42mu0ky1s.png
«Пишите врачу круглосуточно в приложении DOC+»

Кто разрабатывает чат-ботов


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

С развитием технологий и накоплением объёмов медицинских данных, появилась возможность реализовать более умные опросники. Они подстраиваются под ситуацию, меняя «линию поведения» в зависимости от ответов пользователей.

Из подобных чат-ботов можно выделить приложение немецких разработчиков — ADA. Система формулирует персонализированные вопросы на основании информации, которую сообщает ей пациент. После чего просит уточнить несколько моментов, в частности, связанных с локализацией источника боли (например, «возникают ли болевые ощущения позади глазного яблока при движении глаз»). На основании полученных данных система предлагает 4–5 возможных диагнозов. В случае необходимости приложение соединит пациента с реальным доктором в чате для консультации.

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

Чат-бот приложение даже тестируется Национальной службой здравоохранения Англии (NHS) в качестве первой линии для пациентов, которым требуется медицинская помощь или консультация. Более миллиона жителей Северного Лондона получили возможность обращаться к AI-системе Babylon вместо оператора колл-центра NHS. Операторы, хоть и курируются терапевтами и медсестрами, могут не обладать знаниями в определённой медицинской сфере. За шесть месяцев эксперимента Babylon показал более высокую точность и скорость при постановке диагноза — в среднем на одного пациента «уходила» минута (для сравнения, медсестры и врачи тратили на это от 2 до 3 минут).

Еще одна интеллектуальная система на рынке — Your.MD. Она работает в мессенджерах и позволяет пациенту вводить симптомы сплошным текстом. Your.MD задает дополнительные вопросы о возможных сопутствующих симптомах. В результате бот выдает один диагноз с описанием и вариантами лечения или предупреждение о необходимости вызвать скорую.

На российском рынке тоже внедряются такие решения — одним из них является чат-бот DOC+. Интеллектуальные алгоритмы нашего приложения собирают симптомы, историю болезни и подготавливают данные для врача. Чат-бот может поинтересоваться, давно ли человек болеет, уточнить, принимал ли он какие-либо препараты и др.

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

Однако существующие алгоритмы позволяют обучить систему задавать правильные вопросы и собирать более полную информацию о болезни, по сравнению с тем, что описывает пациент. Именно поэтому мы решили для начала заложить в нашего бота только этот функционал.

Как работает чат-бот DOC+


В рамках Data Science направления мы в DOC+ разрабатываем инфраструктуру алгоритмов машинного обучения. Бот — самый близкий к конечному пользователю продукт, но технологии, лежание в его основе, используются и в других наших решениях (о некоторых из них мы писали в предыдущих статьях).

Основа бота — алгоритмы, обученные на данных обезличенных электронных карт пациентов DOC+, а также информации из открытых справочников и баз данных по медицине. При этом, так как речь идет не о простых рекомендательных алгоритмах, а о сложной медицинской системе, работа которой связана со здоровьем людей, для её разработки мы привлекли практикующих врачей.

Всего в проекте приняли участие более 30 докторов: они помогали вырабатывать правила для NLP-системы (ведь пациенты могут описать один и тот же симптом десятками разных способов), разрабатывали перечни уточняющих вопросов для самых популярных симптомов, тестировали самого бота и давали (и продолжают давать) обратную связь о его работе.

Почему мы создали бота


Ключевая цель бота — сократить время, которое пациент и доктор тратят на консультацию. Приложение собирает анамнез за 1–3 минуты, что намного быстрее, чем отвечать на аналогичные вопросы врачу.

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

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

Третья цель — более структурированный сбор данных о жалобах и симптомах. Если раньше они собирались в текстовом виде в свободной форме, то благодаря боту они собираются структурированно и имеют контекст, так как по большинству симптомов пациент отвечает на дополнительные вопросы. Структурированные данные позволяют улучшать качество всех наших алгоритмов машинного обучения.

Компоненты бота


«Мозги» бота состоят из 4 ключевых частей: системы обработки естественного языка (NLP), рекомендательной системы, модуля определения группы диагнозов и модуля, формирующего дополнительные вопросы по анамнезу жизни и заболевания.

Обработка естественного языка. В основе этого блока лежит NLP-система DOC+, о которой мы подробнее писали ранее. В первом вопросе бот просит пациента описать текстом, что его беспокоит. Алгоритм анализирует полученную информацию, структурирует данные о симптомах и задает уточняющие вопросы. Например, если пользователь упомянул повышенную температуру, но не указал конкретное значение, бот попросит ее ввести. Если пациент сказал о кашле, то бот уточнит, сухой он был или влажный. После этого собранные данные передаются на вход рекомендательной системе.

zozpo2vnokba13jyf1ct6dghgha.png


/ Бот просит пациента указать температуру

Отметим, что простым текстом вводятся только первичные жалобы. Практически все остальные вопросы для ускорения процесса реализованы в специальном интерфейсе — кнопки, барабаны, списки с множественными выбором и т. п.

Рекомендательная система. В её основе лежит нейронная сеть. Сам процесс опроса и определения симптомов заболевания напоминает системы, используемые, например, в e-commerce или оценочных сервисах.

Обученный на 100 тыс. реальных жалоб из ЭМК DOC+, наш модуль рекомендательной системы умеет находить симптомы, которые часто встречаются вместе. Например, если пациент сказал про кашель и насморк, бот уточнит у него про боль в горле и повышенную температуру, а также задаст уточняющие вопросы по этим симптомам.

Определение группы диагнозов. Когда вопросы про все наиболее вероятные симптомы уже заданы, включается третий этап опроса. Как было отмечено, поставить диагноз по одним только жалобам проблематично. Но во многих случаях этого достаточно, чтобы с большой точностью установить группу заболеваний — например, заболевания дыхательной системы или заболевания ЖКТ. Именно это и делает классификатор, основанный на алгоритмах Gradient Boosting и Random Forest.

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

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

t4zhygsjylq7lhsjoi2itxwppha.png


/ Пример работы бота при сборе анамнеза жизни

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

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

Планы на будущее


Мы будем расширять функционал и область применения чат-бота. В наших планах создать систему, которая будет полезна и на консультациях с узкоспециализированными специалистами, и в работе контакт-центра.

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


Дополнительное чтение: несколько полезных статей из нашего блога «Только спросить»:

© Geektimes