- PVSM.RU - https://www.pvsm.ru -

Зачем нужна обработка естественного языка в медицине: современные задачи и вызовы

Как пишут в The Huffington Post, 80% данных электронных медицинских карт хранится [1] в неструктурированном виде — так называемом «текстовом пузыре». В текстовом виде хранятся не только данные ЭМК, но и большое количество другой медицинской информации — это научные статьи, клинические рекомендации, описание болезней и жалоб. И даже если данные в них частично структурированы, общепринятых форматов их хранения нет.

Извлечь полезные знания из «текстового пузыря» проблематично — простейшие алгоритмы способны проверить документ на вхождение тех или иных слов или словосочетаний, однако этого оказывается недостаточно: врачу всегда важны подробности. Ему нужно не только знать о том, что у больного температура, но и понимать динамику: к примеру, «температура поднимается по вечерам до 39 и держится уже четвертый день».

Помочь извлечь ценную информацию из медицинских текстов и электронных медкарт способны [2] технологии обработки естественного языка (Natural Language Processing [3], NLP). Далее мы расскажем, как NLP-технологии упрощают работу врачей: поговорим про распознавание речи и текстов, наполненных медицинскими терминами, и помощь в принятии клинических решений.

Зачем нужна обработка естественного языка в медицине: современные задачи и вызовы - 1 [4]
«Врачи DOC+ вежливо разберутся [5] с вашей болячкой»

Что такое NLP

Фактически, история NLP началась с первых дней существования современной науки об искусственном интеллекте. Еще Алан Тьюринг в своей работе «Вычислительные машины и разум [6]» в качестве критерия «разумности» машины называет ее умение общаться с человеком — сейчас это важная, но не единственная задача, которую решают разработчики NLP-систем.

NLP объединяет в себе ряд технологий (в том числе очень далеких друг от друга с точки зрения математики), которые позволяют решать алгоритмические задачи, связанные с обработкой естественного человеческого языка:

  • Извлечение фактов из текста (от простого поиска стоп-слов до полного синтаксического разбора литературы);
  • Распознавание голоса и преобразование голоса в текст;
  • Классификация текстов;
  • Генерация текста или речи;
  • Машинный перевод;
  • Анализ тональности текста (в т.ч. Opinion mining);
  • И др.

В научной фантастике суперкомпьютер зачастую умеет делать все вышеперечисленное. В культовом фильме «Космическая одиссея 2001 года [7]», HAL 9000 распознавал [8] человеческую речь и зрительные образы, общался на обычном языке. На практике же все эти задачи являются узкоспециализированными, и их решают отдельные алгоритмы.

И эти алгоритмы (и лежащие в их основе технологии) постоянно прогрессируют. Например, самое «близкое» обычным пользователям направление NLP — распознавание голоса — еще несколько лет назад базировалось на скрытых марковских моделях [9]. Они разбивали сказанное человеком на небольшие компоненты, вычленяли фонемы, проводили статистический анализ и выдавали наиболее вероятный результат сказанного в текстовом формате. Сейчас разработчики намного чаще используют нейронные сети — в частности, рекуррентные нейронные сети [10] и их разновидности, например long short-term memory [11] (LSTM).

Сегодня NLP системы используются все чаще и чаще – мы разговариваем с Siri, общаемся с помощником Google (в ОС Android как раз применяется [10] LSTM с CTC) и инфотейнмент-системами автомобилей, нашу почту защищают от спама умные алгоритмы, новостные агрегаторы подбирают статьи, которые будут нам интересны, а поисковики позволяют находить нужную нам информацию по любым запросам.

Какие задачи решает NLP в медицине

Однако NLP-системы полезны не только в работе современных гаджетов и онлайн-приложений. Они внедряются [12] в отдельных госпиталях и медицинских университетах еще с начала 90-х годов.

Первым NLP-приложением, разработанным в Университете Юты в то время, стала система SPRUS (Special Purpose Radiology Understanding System) для клиники Солт-Лейк-Сити. Этот инструмент использовал информацию из экспертной системы [13], сопоставляющей симптомы с соответствующими диагнозами, и парсил [14] текстовые радиологические отчеты (врачебные протоколы, интерпретирующие рентгеновские снимки).

Программа применяла [15] технику семантического парсинга, основанную [16] на поиске слов в тезаурусе. Тезаурус автоматически пополнялся из базы знаний для решения задач диагностики с помощью специально разработанного компилятора.

С тех пор возможности NLP и машинного обучения в медицине шагнули вперед: сегодня технологиия упрощает работу с электронными медицинскими картами для докторов и снижает частоту клинических ошибок, «ассистируя» в принятии врачебных решений.

Упрощение работы с электронными картами (ЭМК)

Электронные медицинские карты, или ЭМК, — это аналоги привычных нам бумажных карт. Задача электронной карты — упростить документооборот и снизить объемы бумажной работы. Подробнее о том, что такое ЭМК и как они помогают контролировать качество медицинского обслуживания, мы рассказывали в одном из наших прошлых материалов [17].

Несмотря на то что с внедрением ЭМК врачам стало проще работать с документами, на заполнение карт все равно уходит некоторое время. Согласно исследованию [18], опубликованному в журнале Computers Informatics Nursing в 2012 году, медсестры в госпиталях США все равно тратят порядка 19% рабочего времени на заполнение электронных карт.

Да, это лишь пятая часть рабочего дня, однако даже эту цифру можно уменьшить и направить освободившиеся ресурсы на заботу о больных. По словам [18] президента Nuance Communications Джо Петро, сделать это позволят технологии NLP.

В 2009 году Nuance узнали [19] мнение тысячи терапевтов США о технологиях обработки естественного языка. По результатам исследования, 94% опрошенных докторов назвали внедрение ЭМК с NLP важным драйвером качества медицинского обслуживания.

Пример реализации этого подхода — сервис, который использует [18] медперсонал Hudson Valley Heart Center в городе Поукипзи. Медсестры больницы с помощью решения от Nuance Communications надиктовывают выписки из истории болезни пациентов, оформляют результаты физического осмотра и фиксируют данные о течении заболевания. Приложение автоматически обновляет [20] записи в системе ЭМК, внедренной в госпитале.

Подобные решения внедряются и в России. Например, в 2016 году «Центр речевых технологий» начал разрабатывать [21] систему Voice2Med для распознавания медицинской речи и сокращения времени на заполнение отчетов и медкарт. Как заявляют в Министерстве труда и социальной защиты РФ, сейчас на это уходит [22] половина рабочего времени доктора.

Наши решения в области NLP

Ключевая задача NLP в медицине — это извлечение данных из текста. Мы в DOC+ фокусируемся именно на ней. В нашей команде, занимающейся разработкой алгоритмов машинного обучения, трудится шесть человек. Из них двое работают исключительно над NLP-технологиями. В DOC+ технология NLP используется для разметки карт, на которых обучается система проверки качества ЭМК (о ней мы писали в предыдущем материале [23]).

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

Особенности разработки NLP-систем

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

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

Из текста: «18 февраля у меня заболела голова с левой стороны, к вечеру поднялась температура до 39. На следующий день область головной боли увеличилась, головокружения не было» система должна выделить структурированную информацию о трех симптомах:

  1. Головная боль — появилась 18.02; локализация: слева; динамика: 19.02 — увеличение области.
  2. Температура — 18.02; значение: 39 градусов.
  3. Головокружение — симптом отсутствовал.

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

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

Что умеет наша NLP-система

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

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

Помощь в принятии клинических решений (CDS)

Системы поддержки принятия клинических решений (clinical decision support, CDS) предоставляют [24] автоматизированную помощь врачам при постановке диагноза, назначении лечения, определении дозировки препаратов и так далее. Получить необходимую для этого медицинскую информацию позволяют NLP-системы — они черпают [2] её из научных работ, результатов анализов, медицинских справочников и даже слов самого больного.

Одно из таких решений разработали в компании IBM. Речь идет о вопросно-ответной системе DeepQA, с которой работает [25] суперкомпьютер IBM Watson. Watson в этом случае выступает в качестве «NLP-поисковика» по большим базам данных: он обрабатывает вопросы докторов и дает на них конкретный ответ, а не просто выдает результаты поиска в интернете. Заложенные в Watson технологии позволили ему выиграть в Jeopardy! [26] (американский прародитель «Своей игры»).

Еще пример применения подобных технологий — NLP-система, созданная [27] командой ученых под руководством доктора Харви Мурффа (Harvey J. Murff) из медицинского центра Университета Вандербильта. Разработчики научили алгоритм анализировать электронные карты пациентов и выявлять заболевания, которые могли бы вызвать осложнения после операции.

NLP-процессор индексировал записи в медкартах с помощью схемы, основанной на систематизированной машинно-обрабатываемой медицинской номенклатуре SNOMED-CT [28]. На выходе система генерировала XML-файл с «размеченной» картой пациента. Проведённые эксперименты показали, что программа верно категоризировала большую часть осложнений, например, почечная недостаточность была корректно отмечена в 82% случаев, а послеоперационный инфаркт миокарда — в 91% случаев.

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

Дальнейшее развитие NLP-систем

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

Плюсом подобных NLP-систем является то, что результаты их работы зачастую проще интерпретировать, то есть привязать к конкретным источникам. Вообще вопрос интерпретируемости результатов работы алгоритмов машинного обучения — далеко не тривиальный, и важен как для научного сообщества в целом (на ведущей международной конференции по машинному обучению ICML ему регулярно посвящается [29] отдельный воркшоп), так и для разработчиков, особенно если речь идет о проектах в сфере доказательной медицины. Для нас требование интерепретируемости делает задачу усовершенствования нашей NLP-системы еще сложнее (и интереснее).

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


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


Автор: Алина Тестова

Источник [34]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/obrabotka-estestvennogo-yazy-ka/276394

Ссылки в тексте:

[1] хранится: https://www.huffingtonpost.com/janet-dillione/language-understanding-in_b_951964.html

[2] способны: https://blogs.perficient.com/healthcare/blog/2013/12/03/the-value-in-voice-natural-language-processing-in-healthcare/

[3] Natural Language Processing: https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B5%D1%81%D1%82%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0

[4] Image: https://geektimes.ru/company/docplus/blog/299459/

[5] разберутся: https://changes.docplus.ru/vyipochemumnehamit

[6] Вычислительные машины и разум: http://www.csee.umbc.edu/courses/471/papers/turing.pdf

[7] Космическая одиссея 2001 года: https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D1%81%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BE%D0%B4%D0%B8%D1%81%D1%81%D0%B5%D1%8F_2001_%D0%B3%D0%BE%D0%B4%D0%B0

[8] распознавал: https://ru.wikipedia.org/wiki/HAL_9000

[9] скрытых марковских моделях: https://ru.wikipedia.org/wiki/%D0%A1%D0%BA%D1%80%D1%8B%D1%82%D0%B0%D1%8F_%D0%BC%D0%B0%D1%80%D0%BA%D0%BE%D0%B2%D1%81%D0%BA%D0%B0%D1%8F_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C

[10] рекуррентные нейронные сети: https://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%B0%D1%8F_%D0%BD%D0%B5%D0%B9%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B5%D1%82%D1%8C

[11] long short-term memory: https://ru.wikipedia.org/wiki/%D0%94%D0%BE%D0%BB%D0%B3%D0%B0%D1%8F_%D0%BA%D1%80%D0%B0%D1%82%D0%BA%D0%BE%D1%81%D1%80%D0%BE%D1%87%D0%BD%D0%B0%D1%8F_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D1%8C

[12] внедряются: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1208893/

[13] экспертной системы: https://en.wikipedia.org/wiki/Diagnosis_(artificial_intelligence)#Expert_diagnosis

[14] парсил: https://www.ncbi.nlm.nih.gov/pubmed/2404321

[15] применяла: https://www.ncbi.nlm.nih.gov/pubmed/2684493

[16] основанную: http://docplayer.ru/53978099-Semantiko-sintaksicheskiy-analiz-estestvennyh-yazykov-chast-i-obzor-metodov-sintaksicheskogo-i-semanticheskogo-analiza-tekstov-1.html

[17] материалов: https://geektimes.ru/company/docplus/blog/295917/

[18] исследованию: http://www.modernhealthcare.com/article/20151212/MAGAZINE/312129980

[19] узнали: https://www.fiercehealthcare.com/healthcare/study-shows-96-percent-doctors-concerned-about-losing-unique-patient-story-transition-to

[20] обновляет: https://goo.gl/d8kDpw

[21] разрабатывать: https://iz.ru/news/645800

[22] уходит: https://vc.ru/32237-budushchee-uzhe-nastupilo-kak-iskusstvennyy-intellekt-primenyaetsya-v-medicine

[23] предыдущем материале: https://geektimes.ru/company/docplus/blog/297521/

[24] предоставляют: http://www.findpatent.ru/patent/254/2541198.html

[25] работает: https://www.ibm.com/developerworks/library/os-ind-watson/

[26] Jeopardy!: https://ru.wikipedia.org/wiki/Jeopardy!

[27] созданная: http://jama.ama-assn.org/content/306/8/848

[28] SNOMED-CT: https://ru.wikipedia.org/wiki/SNOMED_CT

[29] посвящается: https://icml.cc/Conferences/2017/Schedule?showEvent=20

[30] Только спросить: https://tolkosprosit.docplus.ru/blog/

[31] Как пройти диспансеризацию: https://tolkosprosit.docplus.ru/blog/posts/check-yo-self

[32] Как и когда оформлять больничный: https://tolkosprosit.docplus.ru/blog/posts/trudogolikam

[33] Как победить грипп: https://tolkosprosit.docplus.ru/blog/posts/fight-against-flu

[34] Источник: https://geektimes.ru/post/299459/?utm_campaign=299459