Чтение и интерпретация медицинских документов и объединение их с внешними источниками данных - необходимая часть открытия лекарств. Например, разработка новых клинических исследований требует понимания старых исследований, лабораторных заметок и данных FDA, чтобы процедуры не повторялись. Иногда исследователей интересуют такие вопросы, как «В какой возрастной группе изучали риталин?», «Каковы общие побочные эффекты гентамицина» и т. Д.

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

В этом сообщении в блоге я расскажу о взаимосвязи между лечением и лечением лекарств из этикеток FDA. Это типичная этикетка препарата FDA.

На большинстве этикеток лекарств есть раздел «Показания и использование». Я воспользуюсь этим разделом, чтобы извлечь отношение к лечению. Этикетки лекарств доступны в формате xml. Я буду использовать python для расшифровки xml.

После извлечения текста, который покажет отношение обработки, первым шагом является выполнение обычной очистки текста (удаление специальных символов, декодирование Unicode, уменьшение текста в нижнем регистре и т. Д.). Следующим шагом будет анализ данных. Для этого я использовал Stanford NLP parser. Полученный лемматизированный и разобранный текст я использую для дальнейшего анализа.

Следующим шагом является извлечение всех существительных и прилагательных, предшествующих существительным. Таким образом, мы улавливаем такие слова болезни, как боль и хроническая астма. Этот процесс ограничивает нас только биграммами. Можно расширить эту работу, включив триграммы и более длинные названия болезней. Более строгим путем было бы использование онтологий болезней из UMLS или SNOMED для идентификации лексиконов болезней. В противном случае у нас будут слова, не связанные с болезнью, которые могут испортить наши результаты. Другими важными шагами являются удаление стоп-слов и нормализация специфических заболеваний. Это означает, что инфекция, вызванная ВИЧ не должна совпадать с инфекцией, вызванной респираторным заболеванием, и одно и то же лекарство, безусловно, не лечит оба симптома.

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

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

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

Если внимательно присмотреться, в столбце болезней все еще есть шум. На самом деле это решение с высокой степенью отзыва. Примерно для 82% данных экстракция лекарственного средства верна. Для 7% данных экстракция лекарственного средства верна, но слишком много лишних слов. Для 11% данных экстракция препарата неверна.

Дальнейшая работа

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

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

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

Заключение

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

Ссылка

(1) Автоматическое извлечение показаний к лекарствам из этикеток лекарств FDA. Khare R 1, Wei CH, Lu Z.

(2) LabeledIn: каталогизация маркированных показаний для лекарственных препаратов для человека. Риту Кхаре, Цзяо Ли и Чжиюн Лу.

(3) Крупномасштабное извлечение точных пар лекарство-лечение из биомедицинской литературы для перепрофилирования лекарств. Сюй Р, Ван Цюй.

(4) Теория графов позволяет перепрофилировать лекарство - как математическая модель может привести к открытию скрытых механизмов действия. Руджеро Граматика1, Т. Ди Маттео, Стефано Джорджетти, Массимо Барбиани, Дориан Бевец2, Томазо Асте