Время, которое лица, осуществляющие уход, могут проводить со своими пациентами, как сообщается, сокращается, тогда как объем доступной информации увеличивается, что усложняет их работу с каждым днем ​​(несмотря на пандемию). В Posos мы хотим, чтобы врачи подкрепляли свои терапевтические решения последними медицинскими данными, чтобы обеспечить наилучший уход для каждого пациента. Это то, что побуждает нас создавать поисковую систему, дополненную инструментами НЛП для медицины, основанными на авторитетных данных.

Эта статья - третья из серии, показывающей, как можно создавать инструменты НЛП для медицины и использовать их для построения медицинской поисковой системы.

  • В первой статье объясняется, почему необходимо обучать встраиванию слов в предметную область и как мы это делаем в Posos.
  • Во второй статье описываются построенные нами модели распознавания именованных сущностей (NER) и связывания именованных сущностей (NEL).

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

BM25: популярный алгоритм поиска документов

В Posos наша поисковая система по тексту полагается в основном на алгоритм Okapi BM25 [1] через Elasticsearch. Это не последняя современная модель поиска документов в НЛП, но это очень популярный компромисс между точностью и масштабируемостью.

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

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

Например, в запросе «Каковы побочные эффекты парацетамола?» Слово «the» должно присутствовать во всех документах (при условии, что все они на английском языке), тогда как «побочные эффекты» или «парацетамол» должен быть более конкретным для небольшого подмножества документов. Следовательно, эти последние слова будут иметь больший вес в рейтинге BM25 каждого документа.

Этот алгоритм довольно популярен, потому что он относительно быстр, точен и реализован в популярных поисковых системах, таких как Elasticsearch, сам по себе построенный на широко распространенной поисковой библиотеке под названием Lucene.

Недостатки BM25

Несмотря на свою популярность, BM25 имеет два основных недостатка:

  • Это модель набора слов, т. Е. Не имеет отношения к порядку слов. Контекстуализация слова невозможна без некоторой предварительной обработки: «а» в «витамине А» нельзя трактовать иначе, чем в «гепатите А» или «лекарстве».
  • Он не может использовать семантическое сходство между разными словами, например синонимами. Это точный алгоритм сопоставления терминов. Если запрос содержит «побочные эффекты», но в документе используется термин «побочные эффекты», он не получит точной оценки.

Альтернативы BM25

Зная об этих недостатках BM25, может возникнуть соблазн заменить его новейшими моделями, основанными на глубоком обучении. Эти модели изучают плотные представления слов, что означает, что мы можем использовать какое-то семантическое сходство между словами. И некоторые из этих моделей, такие как BERT [2], способны изучать контекстуализированные представления слов.

Однако у моделей глубокого обучения также есть свои недостатки. У них миллионы параметров (110 миллионов для базы BERT), что означает, что сложно построить масштабируемую поисковую систему с такими моделями. Огромный объем обучающих данных также необходим для адаптации этих моделей к конкретной предметной проблеме.

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

Следовательно, BM25 нельзя сразу отбросить и заменить тяжелой нейронной сетью, такой как BERT. В Posos мы решили использовать более легкие модели для более простых вспомогательных задач, которые позволяют улучшить результат BM25. Наши NER, NEL и встраивание слов - три из этих моделей.

Как улучшить результаты с помощью NER, NEL и встраивания слов

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

Фильтрация документов с аннотациями.

Документы в нашем корпусе, ориентированные на лекарства, были помечены правильным лекарством и, при необходимости, дозами (например, 500 мг / л) и объектами дозированных форм (например, капсула или жидкий раствор). Например, Сводные данные о характеристиках продуктов (SmPC, своего рода подробная брошюра, предназначенная для специалистов в области здравоохранения) разбиты по заголовкам и помечены соответствующими сущностями.

Следовательно, когда пользовательский запрос содержит название лекарства, даже с некоторыми орфографическими ошибками или с использованием синонимов (таких как «ацетаминофен» вместо «парацетамол»), NER (Named Entity Recognition) извлечет лекарство из запроса и NEL (Named Entity Linking) свяжет его с нормализованным именем. Это нормализованное название препарата позволяет BM25 работать исключительно на той части корпуса, которая помечена правильным препаратом.

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

Изменение запроса (для слов с ошибками или нетрадиционных слов)

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

Расширение запроса за счет встраивания слов

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

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

  • «Патчи» с подобием 0,84 (лучше всего 1,0), что является множественным числом от «патч».
  • «Dispositif transdermique» (трансдермальное устройство) с подобием 0,84, которое является синонимом «пластыря» и может быть более часто используемым в обоих медицинских нормативных документах. Обратите внимание, что мы использовали так называемый «фразер» на этапах предварительной обработки при обучении встраиванию, что позволяет иметь выражение двух слов, часто одновременно встречающихся в нашем встраивании.
  • «Transderm» (0,80), что является основой слова «transdermique».
  • «Emlapatch» (0,80) - название лекарства, которое представляет собой пластырь.

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

Заключение

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

Эти инструменты находят в нашем продукте несколько вариантов использования, чтобы обеспечить беспрепятственный поиск для специалистов в области здравоохранения:

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

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

использованная литература

[1] Стивен Э. Робертсон и Карен Спарк Джонс. Взвешивание релевантности поисковых запросов, стр. 143–160. Публикация Тейлора Грэма, Великобритания, 1988. ISBN 0947568212.2

[2] Джейкоб Девлин, Мин-Вэй Чанг, Кентон Ли и Кристина Тутанова. BERT: предварительная подготовка глубинно-двунаправленных преобразователей для понимания языка. CoRR, abs / 1810.04805, 2018. URL http://arxiv.org/abs/1810.04805.