Работа с объемными корпусами, такими как юридические или клинические тексты, представляет собой уникальную задачу для инженеров НЛП. Это как понимать.

Ожидается, что врачи и юристы будут в курсе ошеломляющего количества информации. Каждый год публикуется огромное количество — почти 5 миллионов — научных статей и юридических заключений[1]. Этим профессионалам может быть почти невозможно справиться с такой информационной перегрузкой. Но что, если бы существовал лучший способ использовать это богатство информации, а не ожидать, что заинтересованные лица просмотрят 2,5 миллиона или около того документов? Обработка естественного языка — часть искусственного интеллекта — фокусируется на решении этой проблемы.

Когда вы рассматриваете вариант использования НЛП, я часто обнаруживаю, что многие потенциальные новаторы стартапов склонны сосредотачиваться на заголовках и на самом деле не имеют хорошего представления о том, что может сделать НЛП. Это приводит к плохо сформулированным формулировкам проблем и отклонениям предложений. Это помогает сформулировать вашу задачу в наиболее четких терминах, которые вы можете. Вы хотите резюме, которое может взять эти 5 миллионов статей и дать вам три-четыре предложения о них? Вы хотите классификатор: что-то, что может прочитать все эти 5 миллионов статей и произвольно (на основе субъективных критериев) сказать, что эти статьи - мусор, и эти статьи законны? Вы хотите, чтобы лицо, принимающее решения, — что-то, что может читать все эти варианты — извлекать соответствующую информацию и использовать ее? Эти и другие вопросы вам следует задавать, потому что, если вы не можете сформулировать проблему как можно более явно, приложения искусственного интеллекта не помогут в вашем случае использования. Это связано с тем, что НЛП — это сверхширокая область внутри уже более широкой области искусственного интеллекта. Сумматор использует механизмы, называемые «внимание» и «генераторы указателей», которые используют линейную алгебру для векторизации информации и присваивают более релевантным примерам более высокие веса, чтобы имитировать человеческое внимание. Классификатор обычно подпадает под широкую категорию анализа настроений, когда вы даете системе достаточно примеров того, что вы хотите классифицировать, и она начинает изучать особенности данных, чтобы позволить ей различать классы. Лицо, принимающее решения, обычно использует данные для обоснования своих решений, поэтому вам следует использовать модель распознавания именованных сущностей, чтобы извлекать эти данные, и модель глубокого обучения с подкреплением, чтобы использовать их. Во всем этом задействован ограничитель неоднозначности, который позволяет определить значение слова из его контекста. Вы можете видеть, как это начинает выходить из-под контроля, что, надеюсь, иллюстрирует необходимость четкого определения проблемы с самого начала.

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

Распознавание именованных сущностей и устранение неоднозначности слов являются двумя основными проблемами при обработке естественного языка. И того, и другого трудно достичь из-за проблемы с данными «курица и яйцо», о которой я упоминал в предыдущем посте. По сути, вам нужно, чтобы модель уже работала, если вы хотите обучить модель без значительного ручного труда. Этот ручной труд тоже непрост — вы не можете просто попросить Amazon Turk сделать это за вас по дешевке, вам нужен лицензированный профессионал, который проверит и вручную аннотирует все данные для вас. Очевидно, это не очень хорошее решение. К счастью, в этой области ведется большая работа. Уже есть некоторые общедоступные наборы данных, которые охватывают именно эту проблему в рамках проекта ShARe и инициативы i2b2. Также проделана большая работа по разработке неконтролируемых моделей, способных научиться аннотировать документы самостоятельно. Именно этим неконтролируемым моделям посвящена моя работа, и вот некоторые из уникальных проблем, с которыми сталкиваются те, кто работает с клиническими текстами.

Клинические статьи включают следующие категории: выписные сводки, электрокардиограммы, эхокардиограммы, рентгенологические отчеты, официальные документы, обсуждения конкретного лечения и обзоры различных методов лечения. Ради сохранения требований HIPAA, вероятно, лучше сосредоточиться на последних трех. Одной из основных проблем при анализе клинических официальных документов является их двусмысленность. Одно понятие может быть не только представлено различными способами, но также может быть понятием с несколькими элементами (т. е. состоять из нескольких слов) или представлять собой прерывистые упоминания (т. е. для правильной категоризации требуется анализ взаимосвязей из нескольких слов или предложений). цель всех подходов НЛП состоит в том, чтобы сгруппировать каждое понятие в определенную метку или идентификатор Врач может легко различать названия лекарств, названия процедур, названия заболеваний и т. д. Компьютерная система должна уметь делать то же самое. Для этого в модели должен быть метод группировки всех этих уникальных терминов в группы. -уникальный идентификатор.