Для выбора контролируемых задач с моделями самоконтролируемого обучения (SSL), удовлетворяющими определенным свойствам
TL;DR
Обучение с самоконтролем (SSL) можно использовать, чтобы избежать обучения с учителем для некоторых задач, использующих модели с самоконтролем, такие как BERT, как есть, без тонкой настройки (контроля). Например, в этом посте описывается подход к распознаванию именованных объектов без тонкой настройки модели на предложениях. Вместо этого небольшое подмножество изученного словаря BERT помечается вручную, а сила помеченного подмножества увеличивается в 1–30 000 раз за счет кластеризации в векторном пространстве словаря. Этот увеличенный набор используется для выполнения NER с использованием возможности маски заполнения BERT. Подход используется для маркировки 69 типов сущностей, которые попадают в 17 широких групп сущностей, охватывающих две области — биомедицинскую (болезнь, лекарство, гены и т. д.) и информацию о пациенте (лицо, местонахождение, организация и т. д.).
Введение
Самоконтролируемое обучение (SSL) все чаще используется для решения языковых и зрительных задач, которые традиционно решаются при обучении с учителем.
На сегодняшний день SSL был преобладающим подходом в современных подходах к присвоению меток либо целому, либо частям ввода. Метки во многих случаях являются синтетическими по своей природе, то есть они являются внешними по отношению к входным данным, и это требует обучения модели на парах (входные данные, метки) для изучения сопоставления входных данных с синтетической меткой. Примерами этого в обработке естественного языка (NLP) являются присвоение меток, таких как существительное, глагол и т. д., словам в предложении (тэги POS), присвоение метки, описывающей тип отношения между двумя фразами в предложении (извлечение отношения) или присвоение метки предложению (например, анализ настроений — положительный, отрицательный, нейтральный и т. д.).
SSL можно использовать, чтобы избежать контролируемого обучения для определенных задач маркировки, если модель SSL имеет следующие свойства.
- задача предлога предсказывает отсутствующие/поврежденные части ввода
- любые входные данные для модели представлены фиксированным набором изученных представлений, которые мы будем называть пространством входных векторов.
- векторное пространство выходных данных модели, выходное векторное пространство, совпадает с входным векторным пространством. Это свойство является естественным следствием предтекстовой задачи, предсказывающей (представления) отсутствующих/испорченных частей входных данных.
При такой модели SSL любая задача, включающая маркировку отдельных частей входных данных (например, распознавание именованных объектов), является потенциальным кандидатом на решение с использованием только модели SSL.
В этом посте используются модели SSL, удовлетворяющие вышеуказанным свойствам, для выполнения распознавания именованных объектов (NER) без необходимости обучения с учителем.
NER — задача определения типа объекта для слова или фразы в предложении обычно выполняется на сегодняшний день путем обучения модели на предложениях, вручную помеченных типами объектов для слов/фраз, встречающихся в предложении.
Например, в приведенном ниже предложении мы хотим, чтобы обученная модель пометила Лу Герига как Person, XCorp как Oорганизацию, Нью-Йорк как Местоположение и Болезнь Паркинсона как Болезнь.
Lou Gehrig [PERSON] who works for XCorp [ORGANIZATION] and lives in New York [LOCATION] suffers from Parkinson’s [DISEASE]
Подход на основе SSL, описанный в этом посте, помимо решения NER без необходимости обучения с учителем, имеет следующие преимущества.
- вывод модели интерпретируем
- она более устойчива, чем модели с учителем, к состязательным примерам ввода
- это помогает решить основную проблему, с которой сталкиваются модели NER (описанные в следующем разделе).
Ограничения этого подхода также рассматриваются ниже.
Описанное здесь решение, хотя и похоже по духу на решение NER, опубликованное еще в феврале 2020 года, отличается важными деталями решения, которые позволяют выполнять мелкозернистый NER в масштабе — оно используется для маркировки 69 объектов, которые попадают в 17 более широкие группы сущностей в двух областях — биомедицинском пространстве, а также пространстве информации о пациентах/медицинской информации (PHI). Более того, подход предлагает общее решение, которое может быть применимо к некоторым другим языковым и зрительным задачам.
Производительность тестировалась на 11 наборах данных. Он работал лучше, чем текущий уровень техники, на 3 из них, близко к уровню техники на 4, плохо на 3 наборах данных (одиннадцатый — это пользовательский набор данных, который создается для тестирования всех 69 объектов). . Эти результаты рассматриваются в разделе производительности модели ниже. Кроме того, ниже также обсуждается устойчивость модели к враждебному вводу.
Код для этого подхода доступен здесь, на Github
Приложение Hugging Face Spaces демонстрирует этот подход
Приложение Hugging Face Spaces для изучения предварительно обученных моделей BERT, используемых для NER
Основная проблема для любой модели NER
Современные показатели производительности контролируемых моделей в бенчмарках NER могут свидетельствовать о том, что NER является решенной задачей. Производительность NER в реальных приложениях раскрывает другую точку зрения. Некоторые из проблем, с которыми сталкиваются модели NER в реальных приложениях, показаны на рис. 1. Среди всех этих проблем есть одна проблема, с которой потенциально могут бороться даже люди, и у нее есть решение. прямое влияние на производительность модели. Модели борются с этим, независимо от того, находятся ли они под присмотром или без присмотра/самоконтроля. Это становится очевидным для нас, когда нам нужно предсказать тип объекта в домене, в котором мы не имеем опыта, например. юридический язык, включающий юридические фразы.
Учитывая предложение и слово/фразу (термины "слово" и "фраза" взаимозаменяемы ниже)например, XCorp в приведенном ниже предложении, чей тип объекта должен определяется,
Lou Gehrig who works for XCorp and lives in New York suffers from Parkinson’s
у нас есть две подсказки для предсказания типа сущности.
- Подсказка структуры предложения — структура предложения указывает на тип сущности фразы. Например, даже если слово XCorp опущено, как показано ниже, мы можем предположить, что тип объекта — Organization.
Lou Gehrig who works for _______ and lives in New York suffers from Parkinson’s
- Подсказка структуры фразы — само слово или фраза дает подсказку к типу сущности. Например, суффикс Corp в слове XCorpобозначает тип его сущности — нам даже не нужен контекст предложения для определения типа сущности.
Тип объекта, который мы можем вывести из обоих этих сигналов, может совпадать, как в случае с XCorp в приведенном выше предложении. Однако так должно быть не всегда. Одной метки структуры предложения может быть достаточно (независимо от того, согласуется ли метка структуры фразы с меткой структуры предложения) в случаях, когда только один тип объекта имеет смысл для пустой позиции, как в случае Лу Герига или Паркинсона в предложениях ниже. Мы можем поменять местами слова в двух пустых позициях, и их типы сущностей также будут заменены местами, управляемыми подсказкой структуры предложения (независимо от того, что подсказка структуры фразы согласуется с подсказкой структуры предложения)
________ who works for XCorp [ORGANIZATION] and lives in New York [LOCATION] suffers from ________ Lou Gehrig [PERSON] who works for XCorp [ORGANIZATION] and lives in New York [LOCATION] suffers from Parkinson’s [DISEASE] Parkinson [PERSON] who works for XCorp [ORGANIZATION] and lives in New York [LOCATION] suffers from Lou Gehrig's [DISEASE]
Когда мы прогнозируем тип сущности фразы в предложении, где возможны несколько типов сущности для позиции этой фразы в предложении, признак структуры фразы является единственным признаком, который мы может пройти, чтобы определить правильный тип объекта. Например, в предложении ниже
I met my ____ friends at the pub.
пустая фраза может быть человеком, местоположением, организацией или просто мерой, как показано ниже.
I met my girl [PERSON] friends at the pub. I met my New York [LOCATION] friends at the pub. I met my XCorp [ORGANIZATION] friends at the pub. I met my two [MEASURE] friends at the pub.
В этом случае только ключ структуры фразы помогает нам определить тип объекта, а не структуру предложения. Кроме того, в некоторых случаях признак структуры фразы может не согласовываться с признаком структуры предложения, потому что признак структуры предложения может быть искажен из-за предвзятости корпуса в сторону одного из многих возможных типов сущностей, которые могут не соответствовать основной истине. тип объекта. Еще больше усугубляя эту проблему, даже если оба признака согласуются, это может не обязательно совпадать с типом объекта истинной истины. Например, в приведенном ниже предложении основным типом сущности может быть Местоположение, но обе подсказки могут указывать на Организацию (подсказка структуры фразы Кольт может также указать на животное [лошадь] в зависимости от лежащего в основе корпуса).
I met my Colt friends at the pub.
Таким образом, прогнозы, которые мы можем сделать, или обученная модель может сделать для фразы в предложении, используя ключ структуры предложения и ключ структуры фразы, попадают в один из конечных узлов дерева ниже.
В нашем случае прогноз зависит от нашего опыта в области, из которой взято предложение. В случае обученной модели прогноз зависит от корпуса, на котором обучается модель.
Контролируемые модели, как правило, борются с этой проблемой, несмотря на использование маркированных вручную предложений — выходные данные модели в значительной степени зависят от баланса представления предложений с этими различными типами сущностей в наборе поездов, а также от знаний о структуре слов, переданных из предустановленного набора. обученная модель для этапа контролируемого обучения(тонкая настройка).
В недавней статье исследуется надежность моделей NER путем создания двух состязательных атак — (1) изменение реплики структуры фразы (в статье это называется атакой на уровне объекта) и (2) изменение реплики структуры предложения. (в статье это называется атакой на уровне контекста)путем выборочной замены определенных слов в предложении, которые отражают контекст больше, чем другие слова. За исключением незначительных различий в духе, эти две состязательные атаки проверяют производительность модели для нескольких случаев в задаче, описанной выше.
Описанный здесь подход на основе SSL предлагает надежное и интерпретируемое решение этой проблемы.
Суть подхода
Модель BERT при обучении с самоконтролем с помощью модели маскированного языка (MLM) и целей прогнозирования следующего предложения дает (1) векторы изученного словарного запаса и (2) модель.
- Словарные векторы (~30 тыс.) представляют собой фиксированный набор векторов, которые фиксируют семантическое сходство между словарными словами. То есть соседство каждого термина в словаре отражает различные значения этого слова в различных контекстах предложения, в которых оно может встречаться в предложении. Различные значения, зафиксированные рядом с термином, определяются как корпусом, на котором была предварительно обучена модель, так и в некоторой степени словарным запасом.
- Модель может преобразовывать векторы выше (когда они используются для представления слов в предложении) в их контекстно-зависимое значение, где контекстно-зависимое значение захватывается через окрестности в том же векторе. пространство словарных векторов (входное и выходное векторные пространства совпадают). Как упоминалось ранее, прогнозирование выходных векторов происходит в том же векторном пространстве, которое используется для представления входных данных, просто потому, что модель обучается, прогнозируя замаскированные/искаженные векторы, используемые для представления входных данных.
Эти две характеристики предварительно обученной модели BERT используются для выполнения NER без контролируемого обучения, как описано ниже.
- Подмножество терминов в словаре модели BERT вручную помечается интересующими нас типами сущностей. Эта ручная маркировка служит начальной загрузкой для сбора интерпретируемых векторов. Примером этого является шаг 1 на рисунке 3 выше — пометка термина, например egfr без учета регистра.
- Ручная маркировка может быть в какой-то степени шумной и неполной, потому что она не используется напрямую для маркировки сущностей во входном предложении. Вместо этого термины, помеченные вручную, используются для алгоритмического создания интерпретируемого вектора сущностей для каждого слова в изученном словаре модели. Вектор сущности – это просто совокупность всех меток тех словарных терминов, помеченных вручную, которые отображаются в окрестности вектора словарного термина. Мы можем собирать информативные векторы сущностей для словарных терминов в 3 раза больше, чем количество словарных терминов, которые были вручную заполнены метками. Кроме того, даже для тех терминов, которые были заполнены вручную, вектора сущностей, собранные алгоритмически, содержат больше информации об объектах, чем начальное число. Этому способствует векторное соседство. Два шага, описанные до сих пор, являются автономными шагами. Собранные векторы объектов используются на следующем этапе. Примером этого является шаг 2 на рисунке 3 выше — алгоритмическая маркировка таких терминов, как eGFR и EGFR с использованием одного и того же начального числа egfr. Обратите внимание, что различные значения этих терминов разделены алгоритмической маркировкой — рСКФ почти полностью утрачивает тип сущности Ген (даже если Мера не доминирует в рСКФ, поскольку в идеале он должен, но он по-прежнему вносит вклад в тип объекта Measure в контексте предложения для примера с креатинином), тогда как EGFR преимущественно становится геном.
- Затем выполняется NER, беря входное предложение, маскируя фразы, сущность которых необходимо определить, и суммируя векторы сущностей лучших прогнозов для этой замаскированной позиции. Эта совокупность векторов сущностей фиксирует тип сущности термина в конкретном контексте предложения. По сути, это подсказка о структуре предложения. Кроме того, агрегированный вектор сущностей каждой из замаскированных фраз также собирается с использованием пользовательского предложения-подсказки, включающего каждую фразу. При сборе совокупного вектора сущности фразы вектор [CLS] этого пользовательского приглашения также используется, если его можно использовать, как подробно описано ниже. Вектор сущностей пользовательского предложения подсказки аппроксимирует все различные типы сущностей термина независимо от контекста конкретного предложения. По сути, это подсказка структуры фразы. Затем оба этих вектора сущностей объединяются, чтобы предсказать тип сущности фразы в предложении. Прогноз представляет собой распределение вероятностей по сущностям, присутствующим в консолидированном векторе сущностей, путем его нормализации. Примером этого является шаг 3 на рисунке 3 выше — два предложения, которые используют разные значения egfr, захваченные алгоритмической маркировкой, для вывода соответствующих прогнозов объектов.
В протестированном случае обнаружения объектов биомедицинской/PHI использовались две предварительно обученные модели BERT. Одной из них была модель, предварительно обученная с нуля в Pubmed, Clinical Trials и Bookcorpus, с пользовательским словарем, богатым биомедицинскими типами сущностей, такими как Drugs, Diseases и Genes. Другой была оригинальная модель Google на основе BERT, словарь которой богат на Person, Location и Organization. Модели использовались в ансамблевом режиме, как описано ниже.
Детали реализации
Шаг 1. Выбор предварительно обученной модели (моделей)
Выбор предварительно обученной модели или моделей определяется (1) наличием моделей, обученных в интересующей нас области, и/или (2) нашей способностью предварительно обучать модель с нуля в интересующей нас области для нас. Например, если нам нужно пометить только такие типы сущностей, как Лицо, Местоположение, Организация, мы можем просто использовать базовые/большие модели BERT (модели с корпусом являются ключевыми для определенных случаев использования, когда один и тот же термин может иметь разные значения в зависимости от регистра — например, рСКФ — это показатель, а EGFR — это ген.). Однако, если нам нужно пометить биомедицинские объекты, такие как лекарство, болезнь, ген, вид и т. д., правильным выбором будет модель, обученная на биокорпусе. Для случаев использования, когда нам нужно пометить как человека, местонахождение, организацию, так и типы биомедицинских объектов, тогда ансамбль базового/большого корпуса Берта с моделью, обученной на биомедицинском корпусе (с пользовательские словари, состоящие преимущественно из терминов «лекарства/болезни/гены/виды») могут быть лучшим выбором.
Для других областей, таких как теги для юридических лиц и т. д., предобучение модели на таком предметно-ориентированном корпусе со словарем, богатым предметно-ориентированными терминами, было бы правильным подходом, хотя, возможно, стоит проверить, существует ли предварительно обученная модель в публичные репозитории моделей, учитывая стоимость предварительного обучения с нуля.
В общем, если у нас есть модель, которая предварительно обучена на интересующем нас предметно-ориентированном корпусе со словарем, представляющим все релевантные для нас типы сущностей, то это идеальный случай — мы можем просто использовать один модели без необходимости объединения нескольких моделей. Другая альтернатива состоит в том, чтобы выбрать две или более моделей, каждая из которых сильна в подмножестве интересующих нас сущностей, и объединить их.
Шаг 2. Пометьте подмножество словаря каждой модели
Производительность этого подхода зависит от того, насколько хорошо вектор сущностей синтетических меток охватывает все различные контексты словарного термина. В то время как большая часть работы по созданию вектора сущностей выполняется алгоритмическим присвоением меток терминам, качество/богатство алгоритмического назначения зависит от широты охвата помеченного вручную начального числа.
Ярлыки можно разделить на три категории, из которых только часть первой категории помечается вручную людьми (приблизительно 4000 терминов). Маркировка двух других автоматизирована.
- Ручная маркировка имен собственных. Хотя это может быть относительно легко, нам нужно убедиться, что мы помечаем слово всеми возможными типами сущностей, которые могут потенциально представлять для нас интерес. Например, на рисунке 3 элемент egfr был помечен и как ген, и как показатель. Хотя мы можем пропустить некоторые типы сущностей для термина во время начального обозначения и позволить алгоритмической маркировке или подсказке структуры предложения зафиксировать пропущенный тип объекта в предложении, насколько это возможно, это может иметь смысл при начальном обозначении для подмножества. словаря, выбранного для ручной маркировки, чтобы он был как можно более исчерпывающим при маркировке всех типов сущностей термина.
- Маркировка прилагательных и наречий. Маркировка прилагательных и наречий, которые предшествуют именным словосочетаниям, требуется для получения подсказки структуры фразы для слова. Например, чтобы собрать подсказку структуры фразы для болезни Паркинсона в предложении «Лу Гериг, который работает в XCorpи живет в Нью-Йорке страдает болезнью Паркинсона», мы используем прогнозы модели для пустой позиции в предложении «Паркинсон — это ___». Прогнозы для пустой позиции будут включать прилагательные из словаря, такие как «нейродегенеративный», «прогрессивный», «неврологический» и т. д. Ручная маркировка этих прилагательных может быть чрезвычайно трудной, если не почти невозможной, в основном потому, что для определения типа сущности нам нужен просмотр на 2 слова вперед. То есть нам нужен не только первый прогноз, но и второй прогноз, который следует за первым прогнозом в предложении, включающем первый прогноз (например, нам нужны прогнозы для болезни Паркинсона — нейродегенеративного ____, а болезни Паркинсона — прогрессирующего ____, и т. д., чтобы четко определить, какое существительное модель считает этими прилагательными/наречиями для определения.Для этих прогнозов может не всегда потребоваться двухчленный просмотр вперед — одного просмотра вперед может быть достаточно, но если термин «известный» был предсказанием, то мы также требуется следующий прогноз, чтобы определить, считает ли модель «известное лекарство», «известное заболевание» и т. д.). Описанный ниже подход к маркировке предлагает решение этой проблемы.
- Разметка подслов. Вручную маркировать типы сущностей префиксных подслов и инфиксных/суффиксных подслов в большинстве случаев также почти невозможно, поэтому мы просто предоставляем автоматизированный метод, описанный ниже, для их маркировки. Примеры префиксных подслов: 'cur', 'soci', 'lik' и т. д., а инфикс/суффикс: ##ighb, ##iod, ##Ds и т. д. Даже такой термин, как "Автомобиль", почти невозможно вручную полностью обозначить в масштабе — это может быть полное слово, обозначающее автомобиль, или префикс имени человека "Кармайкл", химическое вещество «Карбонат», тип клетки«CAR-T клетка»,название болезни«Синдром запястного канала»,ген /proteinname«белок, передающий сигнал хемотаксиса» и т. д.. Кроме того, тип сущности такого префиксного слова также зависит от корпуса, на котором обучается модель. Слова с инфиксом/суффиксом так же сложны, если не сложнее.
Процесс обозначения всех трех категорий слов, указанных выше, выглядит следующим образом. Он состоит в основном из алгоритмических (автоматизированных шагов), в которых участвуют люди, которые задают, выбирают и проверяют процесс.
- Сначала мы определяемся с различными типами сущностей, которые хотим предсказать. У нас также могут быть подтипы для каждого типа сущности. Например, ГЕН может быть типом сущности с такими подтипами, как РЕЦЕПТОРЫ, ФЕРМЕНТЫ. Важным подтипом для любого типа сущности X является подтип, называемый X_ADJECTIVE, который используется для обозначения прилагательных/наречий. Ключевым ограничением здесь является разделение типов сущностей (вместе с их подтипами) на непересекающиеся наборы, насколько это возможно — выбор типов меток сущностей должен удовлетворять этому ограничению.
- Затем мы начинаем с создания кластеров, исследуя окрестности словарных векторов, где определяется центр каждого кластера. Ключевой характеристикой этого процесса кластеризации является то, что эти кластеры перекрываются. Кластеризация дает примерно 4000 перекрывающихся кластеров для словаря размером ~ 30 000. Это автоматический шаг. Центры кластеров используются для следующего шага.
- Мы помечаем только все имена собственные в этом наборе кластерных центров. Это этап маркировки семян, выполняемый людьми. Это единственный шаг, на котором люди вручную маркируют термины.
- Затем мы создаем векторы сущностей для всех терминов в словаре, используя эти начальные метки. Это делается путем алгоритмической маркировки всех терминов, которые появляются по соседству с термином, и объединения этих меток. Сущностный вектор для каждого слова, по сути, представляет собой совокупность всех окрестностей, в которых оно появляется. Это автоматический шаг. Результатом этого шага является первая итерация векторов сущностей для всех словарных терминов. Даже векторы сущностей для имен собственных, которые уже были помечены людьми как начальные числа, на этом шаге расширяются за счет большего количества типов сущностей, чем то, что люди вручную пометили для этих терминов. Сущностные векторы прилагательных обогащаются на следующем шаге. Векторы сущностей подслов косвенно обогащаются за счет обогащения как имен собственных, так и прилагательных.
- Мы создаем пользовательские подсказки, используя только имена собственные (те, которые были помечены вручную), пропускаем их через модель и собираем все прогнозы для пользовательской подсказки, а затем создаем новые пользовательские подсказки, добавляя каждое из предсказания первого просмотра вперед. Из этого мы выбираем преимущественно используемые прилагательные и помечаем их как тип сущности прилагательного соответствующего существительного (слово прилагательное здесь используется для охвата как прилагательных, так и наречий). Это полуавтоматический шаг. Результатом этого шага являются метки сущностей для прилагательных/наречий имен собственных/глаголов.
- Мы снова повторяем шаг создания вектора сущностей, чтобы получить векторы сущностей для всех терминов в словаре. Это дает метки для всех трех категорий меток, упомянутых ранее — имена собственные/глаголы, прилагательные/наречия в качестве подслов. Это автоматический шаг.
Возможно, нам придется повторить всю последовательность шагов или ее часть, чтобы продолжить улучшать векторы сущностей, особенно подтипов (чтобы получить правильный порядок подтипов внутри типа). Кроме того, если мы планируем использовать несколько моделей в ансамбле, нам придется повторять типы сущностей, в которых сильна каждая модель, чтобы создать векторы сущностей для терминов-прилагательных. Эта итерация выполняется на уровне отдельной модели. Однако эти итерации маркировки словарного запаса являются более целенаправленными итерациями по сравнению с маркировкой предложений для контролируемой модели для повышения производительности. Кроме того, влияние дополнительной маркировки словарного слова на производительность модели, возможно, выше, поскольку добавление усиливается влиянием этой маркировки во всех районах, к которым она принадлежит, даже если не в центре кластера. Один из подходов, который следует рассмотреть для расширения набора помеченных словарей, заключается в извлечении помеченных объектов из наборов данных для обучения и разработки. Даже если в словаре может присутствовать только подмножество, это все равно поможет. Кроме того, это, возможно, один из способов использовать обучающие наборы данных — хотя предложения полезны, помеченные термины могут помочь.
На рис. 3 показано создание вектора сущностей слова типа egfr, которое было введено людьми вручную. Пример автоматического создания вектора сущностей для слова типа «Car», которое также может быть префиксным словом, как объяснялось выше, показан ниже.
PRODUCT/DISEASE/PROTEIN/DEVICE/GENE/RECEPTOR/CELL_COMPONENT/CELL_LINE/DRUG/ENZYME/MOUSE_GENE/PROTEIN_FAMILY/CELL_OR_MOLECULAR_DYSFUNCTION/UNTAGGED_ENTITY 7/7/7/6/6/6/5/5/5/5/5/5/2/1 - word Car - Entity vector in Biomedical Corpus
Пример автоматического создания вектора сущностей для того же слова Car с использованием регистра по Берту
PRODUCT/GENE/PERSON/DRUG/DISEASE/UNTAGGED_ENTITY/LOCATION/PROTEIN/CELL_LINE/MOUSE_GENE/ENZYME/DEVICE/PROTEIN_FAMILY/METABOLITE/RECEPTOR/CELL_COMPONENT/ORGANIZATION/CHEMICAL_SUBSTANCE/SPECIES/BIO/HAZARDOUS_OR_POISONOUS_SUBSTANCE/LA B_PROCEDURE/THERAPEUTIC_OR_PREVENTIVE_PROCEDURE/CELL/MEASURE/OBJECT/TIME/MEDICAL_DEVICE/DRUG_ADJECTIVE/ORGAN_OR_TISSUE_FUNCTION/DIAGNOSTIC_PROCEDURE/ESTABLISHED_PHARMACOLOGIC_CLASS/LAB_TEST_COMPONENT/ORGANISM_FUNCTION/CELL_OR_MOLE CULAR_DYSFUNCTION/VIRUS/NUMBER/HORMONE/CONGENITAL_ABNORMALITY/VIRAL_PROTEIN/SURGICAL_AND_MEDICAL_PROCEDURES/BODY_LOCATION_OR_REGION/NUCLEOTIDE_SEQUENCE/BODY_PART_OR_ORGAN_COMPONENT/EDU/CELL_FUNCTION/SPORT/ENT/MOUSE_PROTEIN_FAMILY/ SOCIAL_CIRCUMSTANCES/RELIGION/MENTAL_OR_BEHAVIORAL_DYSFUNCTION/PHYSIOLOGIC_FUNCTION/BODY_SUBSTANCE/STUDY/BACTERIUM 128/83/81/68/64/62/61/53/46/42/40/36/36/36/34/27/25/22/20/20/19/16/10/10/8/7/7/7/5/5/5/5/4/4/4/3/3/3/3/3/3/3/2/2/2/ 2/2/2/2/2/1/1/1/1/1/1 - word Car - Entity vector created from Bert-base-cased
Пример создания вектора сущностей для термина-суффикса #imatinib. Как и следовало ожидать, преобладающим типом сущности является наркотик.
DRUG/GENE/DISEASE/UNTAGGED_ENTITY/THERAPEUTIC_OR_PREVENTIVE_PROCEDURE/METABOLITE/HAZARDOUS_OR_POISONOUS_SUBSTANCE/SURGICAL_AND_MEDICAL_PROCEDURES/ENZYME/PROTEIN/ESTABLISHED_PHARMACOLOGIC_CLASS/LAB_PROCEDURE/VIRUS/CHEMICAL_SUBSTANC E/PROTEIN_FAMILY/CELL/MOUSE_GENE/DRUG_ADJECTIVE/MEASURE/CHEMICAL_CLASS/HORMONE/DISEASE_ADJECTIVE/CELL_LINE/ORGANIZATION/PHYSIOLOGIC_FUNCTION/RECEPTOR/PERSON/VIRAL_PROTEIN/BIO_MOLECULE/BIO/DIAGNOSTIC_PROCEDURE/BODY_PART_OR_ORGAN_CO MPONENT/LOCATION/VITAMIN/BACTERIUM/MOUSE_PROTEIN_FAMILY/CELL_FUNCTION/MENTAL_OR_BEHAVIORAL_DYSFUNCTION/GENE_EXPRESSION_ADJECTIVE/CELL_COMPONENT/CELL_OR_MOLECULAR_DYSFUNCTION/SPECIES/BODY_LOCATION_OR_REGION/ORGAN_OR_TISSUE_FUNCTION /CONGENITAL_ABNORMALITY/MEDICAL_DEVICE/LAB_TEST_COMPONENT/SOCIAL_CIRCUMSTANCES/STUDY/POLITICS/BODY_SUBSTANCE/PRODUCT_ADJECTIVE/SPORT/ORGANISM_FUNCTION/LEGAL/EDU/PRODUCT 1138/197/174/152/112/104/68/67/58/58/48/39/35/34/31/31/30/29/ 28/25/24/21/20/17/17/17/16/16/15/14/13/13/11/10/9/9/9/9/8/8/7/7/7/7/6/5/4/3/3/2/2/1/1/1/1/1/1 - suffix ##atinib - Entity vector in Biomedical Corpus
Некоторые характеристики вектора сущности могут быть очевидны из приведенных выше примеров.
- вектор сущностей для слова, по сути, является факторной формой распределения вероятностей по типам сущностей с отчетливым хвостом.
- Существует некоторый уровень шума в одном векторе объекта. Однако, поскольку признаки структуры фразы и предложения представляют собой совокупность этих векторов сущностей, эффект шума, как правило, в значительной степени приглушается (подробнее см. следующий раздел).
Шаг 3а. Прогнозирование NER на уровне отдельной модели
Имея входное предложение, для каждого слова/фразы в предложении, тип объекта которого необходимо определить, соберите предсказания модели (векторные слова словаря) для этого слова. Прогнозы модели для вычисления метки структуры предложения и метки структуры фразы собираются при одном вызове модели. Например, если мы хотим предсказать тип сущности Лу Герига и болезни Паркинсона в предложении
Lou Gehrig who works for XCorp and lives in New York suffers from Parkinson’s
мы строим 4 предложения, по два для каждого слова — одно для сбора прогнозов для построения подсказки структуры фразы, а другое — для подсказки структуры предложения.
1. [MASK] who works for XCorp and lives in New York suffers from Parkinson’s 2. Lou Gehrig is a [MASK] 3. Lou Gehrig who works for XCorp and lives in New York suffers from [MASK] 4. Parkinson’s is a [MASK]
Как правило, чтобы определить типы сущностей для n слов в предложении, мы строим 2*nпредложений.
Мы создаем один пакет, состоящий из 2*n предложений (следя за тем, чтобы включить заполнение, чтобы все предложения в пакете были одинаковой длины), и вызываем модель. В некоторых случаях мы можем захотеть найти тип объекта только для определенной фразы, в то время как в других нам может потребоваться автоматическое обнаружение фраз. Если это последний вариант использования, мы используем тег POS для идентификации фраз.
Несколько деталей, которые помогут улучшить производительность
- Модели с регистром, как правило, работают лучше, чем модели без регистра, для биомедицинской области, поскольку они могут использовать признак регистра, который разделяет слова, которые имеют разные значения в зависимости от регистра, например. eGFR и EGFR, если они присутствуют в тексте.
- При использовании моделей с обработкой для прогнозирования выборочное изменение регистра входных данных улучшает прогнозирование модели. Например, если мезотелиома — это слово в словаре, а не мезотелиома, то изменение регистра слова мезотелиома во входном предложении в соответствии с регистром в словарном запасе избегает разбиения слова на подслова. Это улучшает предсказания дескриптора(особенно когда слово в противном случае было бы разбито на несколько подслов).
- Когда мы собираем предсказания модели (дескрипторы) для подсказки структуры фразы с помощью пользовательского предложения-подсказки, скажем, "Болезнь Паркинсона — это [МАСКА]", если вектор [CLS] модели был обучен прогнозированию следующего предложения и имеет прогнозы качества при проверке случайной выборки фраз, тогда мы можем использовать дескрипторы для прогнозирования вектора [CLS] вместе с прогнозом для замаскированной позиции. Например, лучшие прогнозы для позиции [CLS] для предложения из модели, обученной на биомедицинском корпусе, таковы: «Болезнь Паркинсона — это [МАСКА]»: «Прогрессирующее», «Болезнь», «Деменция», «Общее», «Инфекция» и т. д. Эти дескрипторы используется вместе с основными прогнозами для положения [MASK] — нейродегенеративное, хроническое, распространенное, прогрессирующее, клиническое и т. д.
Вычисление метки структуры фразы и метки структуры предложения идентично и показано на рисунке 5 ниже. Вектор объекта для каждого дескриптора проходит через softmax до взвешенной суммы ниже (не показано на рисунке ниже). Это служит для уменьшения эффекта дисбаланса маркировки — в частности, абсолютных значений в подписи дескриптора от доминирования, несмотря на то, что победитель получает все характеристики (естественный эффект softmax), уже присутствующие в уровень отдельного дескриптора (подписи сущностей имеют отчетливый конец).
Каждая модель, используемая в ансамбле, выводит ключ структуры фразы и ключ структуры предложения для каждого прогнозируемого слова.
Шаг 3б. Предсказания модели ансамбля
Объедините результаты моделей, расставив приоритеты прогнозов на основе силы модели для определенного типа сущности в предложении. Ансамбль, по сути, выбирает выходные данные этих моделей на основе объектов, которые они исключительно или не исключительно хорошо предсказывают. При выборе предсказания модели фактор, определяющий важность ее выходных данных, заключается в том, предсказывает ли модель объекты, которые попадают в ее конкретную область силы, или она предсказывает сущности за пределами области ее силы. Этот сигнал полезен для случаев, когда модель явно ошибочна (второй конечный узел на рис. 2) или вообще не уверена в своих выходных данных (пятый конечный узел на рис. 2). . Процент двойных прогнозов в 11 наборах тестов варьируется от 6% до 26%. Для сравнения, результаты контролируемых моделей для этих случаев будут в значительной степени зависеть от баланса набора поездов между предложениями, поддерживающими любой из этих прогнозов, при этом выбор одного из них будет равновероятным, когда оба одинаково представлены.
Ансамблевое выступление
Оценка самоконтролируемой модели на тестовом наборе, разработанном для контролируемой модели
Два варианта использования NER в приложениях (рис. 5а выше) рассматриваются ниже, поскольку они влияют на то, как производительность модели ансамбля оценивается в популярных тестах, разработанных для контролируемых моделей.
- По заданному предложению и конкретным фразам в предложении определите типы их сущностей. Конкретная фраза может быть правильным подмножеством фрагментов фраз или полными фрагментами фраз. Примером этого варианта использования является извлечение отношения — когда у нас есть фраза с определенным типом сущности, и мы хотим собрать все отношения, включающие ее и другие термины определенного типа сущности. Например, рассмотрим термин ACD на рисунке 1, который имеет разные типы объектов. Допустим, мы хотим найти все предложения, в которых ACD используется для обозначения наркотика и присутствует в предложении вместе с болезнью. Цель состоит в том, чтобы определить, лечит ли ACD заболевание или болезнь является побочным эффектом, вызванным ACD. Контролируемые модели, как правило, не подходят для этого варианта использования, если диапазоны фраз, необходимые для задачи, не соответствуют диапазонам фраз, на которых была обучена модель.
- Поскольку у нас нет шага обучения в наборе поездов, чтобы выучить определение отрезков фразы, неявное в наборе поездов. Если определение фрагментов фраз непоследовательно, что действительно имеет место в популярных эталонных тестах, последовательная идентификация фрагментов фраз (например, использование прилагательных, предшествующих словосочетаниям с существительными, как в «он страдает от колоректального рака», или просто выбирая непрерывные последовательности словосочетаний в качестве фрагментов фраз, он летел из холодного Нью-Йорка в солнечную Алабаму ) с помощью тега POS, который мы можем контролировать с помощью фрагментации, может по-прежнему давать промежутки фраз, не соответствующие промежуткам фраз тестового набора. В тех случаях, когда тип сущности фразы охватывает изменения в зависимости от того, что включено (Друзья XCorp против Друзья XCorp на рисунке 1), прогнозы будут считаться неверным, даже если в действительности предсказание ансамблевой модели было правильным.
Подход NER с самоконтролем, описанный в этом посте, отделяет задачу идентификации фрагментов фраз от задачи распознавания сущностей. Это позволяет использовать его в обоих случаях использования, описанных выше. В первом случае мы используем теггер POS для определения интервалов фраз. Во втором случае мы определяем типы сущностей явно указанных словосочетаний в предложении. Однако оценка этого подхода на стандартных наборах эталонных тестов, предназначенных для обучения с учителем, создает проблему, уже упомянутую выше.
- Чтобы обойти эту проблему, оценка ансамбля на эталонных тестовых наборах выполнялась путем обработки тестового набора, как если бы это был второй вариант использования. То есть даны предложение и фрагменты фраз — модель должна определить типы сущностей. Это позволяет нам не обращать внимания на различия в определении интервалов фраз в наборах данных и несоответствия в определениях интервалов фраз, неявно зафиксированные в наборе поездов. Однако это означает, что мы теряем возможность находить ложные срабатывания, поскольку диапазоны фраз уже заданы. То есть все остальные термины в предложении тривиально помечаются как «ДРУГИЕ» — мы теряем способность идентифицировать случаи ошибок, когда модель помечала бы термин или фразу, не входящую в диапазон фраз, как сущность, которая не является «ДРУГОЙ» — ложные срабатывания. Другой способ взглянуть на это так: нам говорят, какие термины являются «ДРУГИМ», и нас просто просят пометить объекты в предложении, которые не являются «ДРУГИМ». По этой причине производительность модели на «ДРУГОЕ» не учитывается в выходных данных, поскольку прогноз модели всегда верен. Производительность модели — это среднее значение всех объектов, которые должны быть помечены, кроме «ДРУГОЕ».
- Интересно, что у нас есть возможность оценить уровень ложных срабатываний модели во всех тестах, кроме одного. В 10 эталонных наборах данных, используемых для оценки производительности модели, количество предложений только с тегом «ДРУГОЕ» варьировалось от 24% до 85%, как показано на рисунке 7 ниже. Эти предложения рассматривались как предложения варианта использования 1 (Для любого предложения определите типы сущностей всех существительных/глаголных фраз)и ложноположительные результаты пометки OTHER как других типов сущностей (проходит тестирование в этом наборе тестов). Показатели производительности на рисунке 6 учитывают снижение точности для типа объекта из-за этих предложений. Суть в том, что эти предложения с тегами «ДРУГИЕ» на самом деле включают предложения с типами сущностей, которые можно квалифицировать как допустимые подтипы сущностей, учитывая детализированные типы сущностей, которые обнаруживает этот подход(примеры в разделе «Дополнительные сведения» ниже) . Таким образом, большая часть ложных срабатываний — это не ложные срабатывания, а истинные срабатывания, если тип объекта был настолько широким, как он определен в текущем подходе. Чтобы проиллюстрировать это, производительность модели без учета ложных срабатываний только в предложениях «ДРУГОЕ» указана на рисунке 7 ниже. Производительность выше уровня техники в 5 из 10 эталонных тестов с этой упрощенной оценкой, не учитывающей ложные срабатывания модели, помечающей объект как другой (обратите внимание, что ЧЕЛОВЕК помечается неправильно, поскольку МЕСТОПОЛОЖЕНИЕ попадает в ловушку и учитывается в балле F1). вычисление) — который, само собой разумеется, указан исключительно для иллюстрации упомянутого выше момента.
- производительность ансамбля превышает современные в случаях, (3 набора данных)где тестируемые метки имеют богатые векторы сущностей. Кроме того, предложения в этих наборах тестов, в которых модель работала хорошо, иметь достаточный контекст. Наконец, для тестовых предложений с двусмысленностью типов сущностей комбинации признаков фразы и структуры предложения достаточно, чтобы соответствовать типу сущности наземной истины.
Общие замечания о производительности модели
Это общее наблюдение за производительностью модели в различных тестах с типами сущностей, которые были в достаточной степени заполнены ручной маркировкой, а также с типами сущностей, которые были недостаточно заполнены ручной маркировкой (постоянная маркировка для выбранных типов сущностей — это непрерывный процесс для улучшить производительность модели так же, как и в случае с контролируемой моделью, использующей помеченные предложения).
- производительность ансамбля близка к(4 набора данных) или значительно ниже (3 набора данных) уровня техники в случаях, когда тестируемые этикетки имеют среднее/низкое качество векторы сущностей. Кроме того, в предложениях недостаточно контекста, чтобы модель работала правильно(например, короткие предложения). Наконец, для тестовых предложений с двусмысленностью типов сущностей подсказки структуры фразы и предложения недостаточны для соответствия типу сущности наземной истины без искажения вывода модели в сторону определенного типа сущности. Обучение с учителем решает эту проблему, заставляя модель выбирать конкретную метку в случаях неоднозначности во время обучения, тем самым искажая модель для выбора определенного типа объекта в наборах тестов — в основном это были предложения, к которым могли применяться как прогнозы, так и выбор в наборе тестов. был вторым выбором в этом подходе (что приводило к падению производительности модели при выборе только первого — по этой причине оценка с двойным прогнозированием работает лучше). При таком подходе не делалось никакой дополнительной маркировки даже на уровне слов с использованием набора поездов. Наборы для обучения и разработки вообще не используются, как упоминалось ранее — ансамбль тестировался непосредственно на тестовом наборе. В то время как контролируемые модели могут быть настроены на набор поездов, они лучше работают на тестовых наборах в случаях, когда они были подготовлены для выбора одного типа объекта в случаях неоднозначности, неясно, более высокая производительность, полученная таким образом, переносится на производственное использование, для случаев, когда вывод модели был снят с показа. Кроме того, обучение на поезде с помощью моделей с учителем не всегда помогает в производственной эксплуатации, «особенно для нераспространяемых слов или предложений». Вражеская атака на контролируемую модель в некоторой степени раскрывает эту слабость контролируемых моделей. Описанный здесь подход NER является более надежным отчасти из-за количества предложений, на которых обучается модель, которое на практике почти всегда на несколько порядков больше, чем набор поездов. Это уменьшает дисбаланс в структурах предложений, даже если они присутствуют. Наконец, даже в тех случаях, когда выход ансамбля не соответствует ожидаемому результату, интерпретируемые векторы сущностей дают представление. Это особенно помогает в тех случаях, когда определенные типы сущностей помечены неправильно.
- Хотя мы можем в некоторой степени влиять на вывод модели с помощью маркировки словарных слов, прогнозы модели по своей сути зависят от структуры предложения и слова, которая, в свою очередь, зависит от корпуса, на котором она обучается. Таким образом, трудно, если вообще возможно, отделить определенные типы сущностей друг от друга, если эти типы сущностей имеют один и тот же контекст предложения и структуры слов также одинаковы. Напротив, в контролируемых моделях мы можем исказить выходные данные модели для определенного типа объекта, добавив больше предложений с определенной меткой. Кто-то может возразить, что мы могли бы сделать несбалансированную маркировку начальных значений и подделать прогнозы, точно так же, как несбалансированные маркировки предложений. В этом подходе сложнее даже сфальсифицировать, учитывая, что вывод зависит как от маркировки имен собственных, так и от маркировки прилагательных, а выборочная маркировка прилагательных для искажения результатов модели непроста, учитывая, что маркировка прилагательных с самого начала автоматизирована.
Приведенные выше оценки F1 вычисляются путем подсчета прогнозов модели на уровне токенов, а не на уровне объекта. Кроме того, оценка F1 — это среднее значение всех объектов (кроме ДРУГИХ), как упоминалось ранее.
Производительность на состязательных примерах
Надежная производительность для примеров предложений на рисунке ниже, продемонстрированная в недавней статье, посвященной изучению надежности моделей NER, является естественным следствием использования предварительно обученных моделей как есть, без дальнейшего обучения с учителем на помеченном наборе данных. Состязательная атака строится на основе предложения Я благодарю мой Пекин… и сначала преобразуется путем простой замены выбранных сущностей, которые выбраны вне распределения по отношению к обучающему набору для контролируемой модели. . При следующей состязательной атаке предложение подвергается второму преобразованию — некоторые слова в предложении, фиксирующем контекст предложения, заменяются, чтобы проверить, насколько устойчивы модели к изменениям слов на уровне контекста.
Приведенные ниже результаты демонстрируют, что производительность ансамбля не только устойчива к обоим изменениям в том, что верхний прогноз не меняется, но даже прогнозируемое распределение для термина также остается почти одинаковым для всех трех вариантов предложения.
Кроме того, в отличие от контролируемых моделей, где единственное понимание того, что делает модель, в значительной степени ограничено распределением вероятностей по типам сущностей, мы можем четко проследить, как было получено распределение вероятностей с помощью описанного здесь подхода. Это одно из ключевых преимуществ этого подхода — вывод становится прозрачным благодаря использованию интерпретируемых векторов сущностей. Например, в приведенном выше примерном предложении показаны предсказания модели, составляющие структуру фразы и подсказки структуры предложения. Они остаются почти одинаковыми во всех трех предложениях, ясно демонстрируя, что предсказания неизменны во всех трех предложениях. Кроме того, подсказка структуры предложения предсказывает позицию «Я встретил своих ___ друзей…» ясно показывает неоднозначность типов сущностей — это смешанный набор значений (два/три), прилагательные для лиц (лучший, ближайший, любимый , бывший), организации/местоположения (колледж, школа). Неоднородность сигналов структуры предложения является полезным индикатором, который можно использовать, чтобы решить, когда мы должны полагаться на сигналы структуры фразы для получения ответа.
Мы могли бы расширить ввод злоумышленника за пределы двух атак, описанных в документе, чтобы увидеть, правильно ли выходные данные модели помечают фразу, если фраза расширена. Например, в примере «Я благодарю своих пекинских друзей…» мы можем проверить, переключается ли предсказание модели на Person, когда мы просим его пометить фразу «Я благодарю своих пекинских друзья…». Ансамблевый подход делает правильный прогноз для всех трех предложений, как показано ниже.
Кроме того, слова уровня контекста для построения атаки на уровне контекста выбираются из прогнозов модели для позиции — тот же подход используется для построения подсказки структуры предложения. Поэтому неудивительно, что этот подход устойчив к таким изменениям в структуре предложения.
Каковы ограничения этого подхода?
- С точки зрения эффективности вычислений для предсказания одного предложения с n фразами требуется 2*n предсказаний предложений. , даже если это делается с одним вызовом модели в виде пакета. Напротив, модель с учителем выдает только одно предложение. Похоже, что для этого нет обходного пути. Попытайтесь предсказать с помощью всего лишь n + 1 предложений, где nпредложений относятся к признакам структуры фразы, а +1содержит все признаки структуры контекста, собранные с помощью подслов качество предсказания значительно ухудшается. Во многом это связано с тем, что метки подслов разбавляют предсказание объекта, потому что подслово может появляться во многих контекстах, особенно в тех, которые содержат менее 3–4 символов.
- Логика модельного ансамбля неадекватна и нуждается в улучшении. Текущий ансамблевый подход иногда борется между следующими вариантами, когда обе модели не согласуются друг с другом (1) использовать только одну модель, основанную на силе модели для этого типа объекта. В этом случае, если это имеет смысл, выберите два лучших прогноза для этой модели. (2) использовать обе модели и выбрать лучший прогноз обеих моделей. Этот случай дает два верхних прогноза, где в некоторых случаях второй прогноз, в частности, может вообще не иметь смысла, если на этот прогноз чрезмерно повлияла структура фразы cue (правые пути ответвления на рисунке 2 выше). ) и доминантная структура предложения. Подсказка структуры предложения редко бывает плохой, за исключением случаев, когда длина предложения слишком мала с недостаточным контекстом или если прогноз находится в области, в которой модель не сильна (в этом случае она, скорее всего, будет отсеяна ансамблем).
- Улучшение помеченного человеком набора данных словарных слов — это непрерывный процесс, такой же, как улучшение помеченного набора данных предложений для контролируемого обучения. Однако это может быть не так много, как усилия, необходимые для сбора предложений. Мы добавляем дополнительные метки для конкретных слов, представляющих типы сущностей, в которых модель слабо работает. Например, текущий набор бутстрап-маркировок для людей может быть улучшен для широких категорий, таких как язык, продукт, развлечения, и для подкатегорий, таких как опасные вещества и т. д. Это рассмотрены далее в следующем ограничении на выбор категорий
- выбор широких категорий типов сущностей в идеале не должен пересекаться. Это может быть сложно в определенных ситуациях, когда сигналы, представляющие «идеально разделенные типы сущностей», перекрываются. Например, широкая категория химических веществ включает наркотики и опасные вещества. Таким образом, если наше приложение требует маркировки наркотиков, поскольку структура предложений о наркотиках по сути такая же, как структура предложений об опасных веществах (предложения, в которых наркотики вызывают неблагоприятные действия, по сути, такие же, как структура предложения о проглатывании асбеста, вызывающем заболевания), у нас не будет выбор, а только идти по реплике структуры фразы для отделения асбеста как опасного вещества от наркотика. Это потребовало бы, чтобы прогнозы сигналов структуры фразы для асбеста были достаточно сильными, чтобы он мог переопределить сигналы структуры предложений. Таким образом, когда у нас есть случаи, когда категория сущностей «химическое вещество» включает две подкатегории, которые отличаются (асбест и наркотики), но имеют один и тот же контекст предложения, мы должны сосредоточиться на этих подтипах сущностей и убедиться, что они хорошо представлены в лежащей в их основе подкатегории. словарь с метками, чтобы можно было разделить эти подтипы.
- предыдущая реализация остановилась только на маркировке центров кластеров. Алгоритмического создания/расширения векторов сущностей не было. Это серьезно ограничивало производительность модели по нескольким причинам (1) прилагательные и префиксные/инфиксные слова не были помечены из-за сложности маркировки их вручную, как объяснялось ранее. (2) производительность модели была чувствительна как к шуму при маркировке человеком, так и к неполноте маркировки. (3) Грубость ручной маркировки не позволяла выполнять мелкозернистый NER.
Чем это отличается от предыдущей итерации?
Одна реализация основной идеи этого подхода уже реализована в решении NER, опубликованном еще в феврале 2020 года.
Разница заключается в некоторых важных деталях реализации. Конкретно,
- Даже если это незначительная деталь, предыдущая реализация не группировала входные данные в модель для всех замаскированных позиций предложения, что серьезно влияло на время прогнозирования модели.
- Кроме того, объединение моделей, как описано выше, было ключом к решению NER в биомедицинском пространстве.
- структуры предложений в этом наборе данных различны. Это короткие твиты, часто с очень небольшим контекстом в дополнение к словам, которые имеют уникальную структуру. Производительность потенциально может улучшиться, если предварительное обучение будет включать эти уникальные структуры предложений и слов.
Последние мысли
Архитектура-трансформер стала многообещающим кандидатом в поиске общей архитектуры, которая работает внутри модальностей ввода и между ними без необходимости разработки конкретных модальностей. Для некоторых задач любой вход в модель на основе преобразователя представлен фиксированным набором изученных представлений во время обучения с самоконтролем.
Эти фиксированные наборы изученных представлений служат статическими эталонными ориентирами для ориентации выходных данных модели, где выходные данные модели представляют собой не что иное, как те изученные представления, преобразованные моделью на основе контекста, в котором они появляются при представлении входных данных. Этот факт можно использовать, как показано в этом посте, для решения определенного класса задач без необходимости обучения с учителем.
Приложение Hugging Face Spaces демонстрирует этот подход
Приложение Hugging Face Spaces для изучения предварительно обученных моделей BERT, используемых для NER. Можно проверить прогнозы моделей для сигналов структуры предложений и фраз, а также прогнозы [CLS]
Код для этого подхода доступен здесь, на Github
Эта статья была вручную импортирована с Github
Производительность модели — дополнительные подробности
1. BC2GM набор данных
Этот набор данных исключительно тестирует гены. Ген довольно хорошо представлен в векторах сущностей, учитывая, что он был засеян достаточным количеством меток GENE (2 156 человеческих меток, 25 167 векторов сущностей с GENE в них для биомедицинского корпуса, 11 369 векторов сущностей с GENE в них для bert-base-case. [BBC] корпус). Современная производительность модели в значительной степени обусловлена этим, в дополнение к тому факту, что есть несколько случаев перекрытия Gene с другими сущностями, когда он встречается в предложении, а когда это происходит, это в основном ограничивается двумя типами сущностей. Например, в предложении Gene ADIPOQ встречается в предложении, где также может встречаться DRUG. Однако этот подход фиксирует его во втором прогнозе, даже если не в первом (это отражается в более высоких показателях производительности при выполнении прогона «выбор совпадения двух лучших прогнозов» по сравнению с прогоном «выбор только топ-прогноза модели»). на рисунке ниже).
ADIPOQ has beneficial functions in normalizing glucose and lipid metabolism in many peripheral tissues Prediction for ADIPOQ: DRUG (52%), GENE (23%), DISEASE (.07%),...
Порядок подтипов GENE не проверяется ни одним из наборов тестов. Несмотря на то, что детальное обнаружение подтипов еще требует значительного улучшения даже для Gene, некоторое обнаружение подтипов, таких как ген мыши, возможно, очень сложно, учитывая перекрытие структур предложений, содержащих гены мыши и гены человека. Например, приведенное выше предложение может относиться к ADIPOQ как у людей, так и у мышей. Если бы это было взято из контекста абзаца, относящегося к мышам, это предсказание не уловило бы тот факт, что подтип относится к гену мыши, учитывая распределение подтипов, как показано ниже для приведенного выше предложения.
"GENE" : 0.4495, "PROTEIN": 0.1667, "MOUSE_GENE": 0.0997, "ENZYME": 0.0985, "PROTEIN_FAMILY": 0.0909, "RECEPTOR": 0.0429, "MOUSE_PROTEIN_FAMILY": 0.0202, "VIRAL_PROTEIN": 0.0152, "NUCLEOTIDE_SEQUENCE": 0.0114, "GENE_EXPRESSION_ADJECTIVE": 0.0051
2. BC4 набор данных
Этот набор данных предназначен исключительно для испытаний химических веществ. Химические вещества довольно хорошо представлены в векторах сущностей, учитывая, что они были снабжены достаточным количеством меток, охватывающих 12 подтипов (6 265 человеческих меток, 167 908 векторов сущностей с типами/подтипами лекарств в них для биомедицинского корпуса, 71 020 векторы сущностей с типом/подтипом препарата в корпусе bert-base-case[BBC])
ПРЕПАРАТ, ХИМИЧЕСКОЕ_ВЕЩЕСТВО, ОПАСНОЕ_ИЛИ_ЯДОВОЕ_ВЕЩЕСТВО, УСТАНОВЛЕННЫЙ_ФАРМАКОЛОГИЧЕСКИЙ_КЛАСС, ХИМИЧЕСКИЙ_КЛАСС, ВИТАМИН, ЛАБОРАТОРНАЯ_ПРОЦЕДУРА, ХИРУРГИЧЕСКАЯ_И_МЕДИЦИНСКАЯ_ПРОЦЕДУРА, ДИАГНОСТИЧЕСКАЯ_ПРОЦЕДУРА, ЛАБОРАТОРНЫЙ_ТЕСТ_КОМПОНЕНТ, ИССЛЕДОВАНИЕ, ЛЕКАРСТВО_ПРИЛОЖЕНИЕ
Этот широкий класс подтипов имеет прямое отношение к наблюдаемой (рисунок 6) производительности 76 (одно предсказание) 79 (два предсказания) по сравнению с текущим состоянием техники (93). Основной причиной снижения производительности являются ложные срабатывания предложений в тестовом наборе без какого-либо термина, помеченного как химический, но модель помечает одну или несколько фраз как принадлежащие к одному из указанных выше подтипов. Это видно из оценки производительности модели на тестовом наборе, пропуская выходные данные модели для предложений, только что помеченных как «другие». Производительность (рис. 7) приближается (90) к современному уровню техники при оценке одного прогноза и немного превышает (94) для двух лучших оценок прогнозирования. Вот несколько примеров, в которых модель маркируется предложениями только с тегом OTHER. Термины, выделенные жирным шрифтом, считаются ложноположительными — это кандидаты, подпадающие под широкую категорию химических веществ, которые этот подход способен обнаружить.
Importantly , the health effects caused by these two substances can be evaluated in one common end point , intelligence quotient ( IQ ) , providing a more transparent analysis . The mechanisms responsible for garlic - drug interactions and their in vivo relevance . Garlic phytochemicals and garlic supplements influence the pharmacokinetic and pharmacodynamic behavior of concomitantly ingested drugs .
Полный набор помеченных ложных срабатываний, которые на самом деле не являются ложными срабатываниями, если категория меток химических веществ столь широка, как то, что ищет эта модель, присутствует в каталоге результатов этого набора данных ( failed_sentences.txt )
3. BC5CDR-chem набор данных
Этот набор данных тестирует химические вещества точно так же, как и набор данных BC4. Те же наблюдения о BC4 применимы и к этому набору данных, включая падение модели при предполагаемых ложных срабатываниях в предложениях только с тегом «ДРУГОЕ». Как и прежде, если пропустить эти предложения, производительность модели (рис. 7) близка к уровню техники (94) и превосходит его для одиночного прогноза (93) и 95 (два прогноза). Без пропуска он на несколько пунктов ниже уровня техники 87 (один прогноз) 89 (два прогноза). Образцы предложений из ДРУГОГО только предложения с фразами, отмеченными моделью как ХИМИЧЕСКИЕ. В первом примере модель классифицирует химиотерапию как THERAPEUTIC_OR_PREVENTIVE_PROCEDURE.
Onset of hyperammonemic encephalopathy varied from 0 . 5 to 5 days ( mean : 2 . 6 + / - 1 . 3 days ) after the initiation of chemotherapy . Cells were treated for 0 - 24 h with each compound ( 0 - 200 microM ) .
4. BC5CDR-Болезнь набор данных
Этот набор данных предназначен исключительно для тестирования заболеваний. Болезнь также хорошо представлена в векторах сущностей, учитывая, что она была засеяна достаточным количеством меток, охватывающих 4 подтипа (3 206 человеческих меток, 56 732 векторов сущностей с типом/подтипом болезни для биомедицинского корпуса, 29 300 векторов сущностей с типом/подтипом заболевания в корпусе bert-base-case[BBC])
БОЛЕЗНЬ, ПСИХИЧЕСКАЯ_ИЛИ_ПОВЕДЕНЧЕСКАЯ_ДИСФУНКЦИЯ, ВРОЖДЕННАЯ_АНОМАЛИЯ, КЛЕТОЧНАЯ_ИЛИ_МОЛЕКУЛЯРНАЯ_ДИСФУНКЦИЯ БОЛЕЗНЬ_ПРИЛОЖЕНИЕ
Хотя эта модель уже работает близко к современному уровню техники и превосходит его, 87/89 против 88,5, она значительно превосходит современный уровень, если не учитывать прогнозы модели только в предложениях «ДРУГИЕ». Производительность модели увеличивается до 97 (один прогноз и 99 (два прогноза).
5. JNLPBA набор данных
Этот набор данных тестирует типы GENE и RNA, DNA, Cell, Cell, которые сгруппированы в категорию объектов BODY_PART_OR_ORGAN_COMPONENT со следующими подтипами.
BODY_LOCATION_OR_REGION, BODY_SUBSTANCE/CELL, CELL_LINE, CELL_COMPONENT, BIO_MOLECULE, METABOLITE, HORMONE, BODY_ADJECTIVE.
Как и в случае с ГЕН, НАРКОТИКОМ и БОЛЕЗНЬЮ, эта категория также имеет базовую помеченную поддержку (3 224 метки человека, 89 817 векторов объектов с типом/подтипами болезни для биомедицинского корпуса, 28 365 векторов объектов с типом болезни /подтипы в них для корпуса bert-base-cased[BBC])
Хотя эта модель уже и так почти превосходит уровень техники, 84/90 против 82, она превосходит уровень техники еще больше, если не учитывать прогнозы модели только в «ДРУГИХ» предложениях. Производительность модели увеличивается до 88 (один прогноз и 94 (два прогноза).
6. NCBI-болезнь набор данных
Этот набор данных предназначен исключительно для тестирования таких заболеваний, как набор данных BC5CDR-Disease. Те же наблюдения применимы и к этому набору данных.
Как и в случае болезни BC5CDR, хотя эта модель уже работает близко к современному уровню техники и превосходит его, 84/87 против 89,71, она значительно превосходит современный уровень, если не учитывать прогнозы модели только в предложениях «ДРУГИЕ». Производительность модели увеличивается до 94 (один прогноз и 96 (два прогноза).
7. CoNLL++ набор данных
Этот набор данных тестирует типы сущностей, соответствующие варианту использования PHI — Person, Location, Organization. Организация имеет дополнительные подтипы EDU, GOV, UNIV.
Поддержка меток для этих типов сущностей
PERSON — (3 628 меток человека, 21 741 вектор объектов с типом/подтипом болезни для биомедицинского корпуса, 25 815 векторов объектов с типом/подтипом заболевания в них для bert-base-case[BBC] корпус)
РАСПОЛОЖЕНИЕ — (2 600 человеческих меток, 23 370 векторов объектов с типом/подтипом заболевания для биомедицинского корпуса, 23 652 вектора объектов с типом/подтипом заболевания для bert-base-case[BBC] корпус)
ОРГАНИЗАЦИЯ — (2 664 метки человека, 46 090 векторов объектов с типом/подтипом заболевания для биомедицинского корпуса, 34 911 векторов объектов с типом/подтипом заболевания в них для bert-base-case[BBC] корпус)
Плохая производительность по всем типам сущностей по сравнению с уровнем техники и ужасная производительность ОРГАНИЗАЦИИ обусловлена следующими факторами. Предложения в корпусе преимущественно относятся к спортивным командам и счетам, где организация и местоположение могут в равной степени относиться к спортивной команде, учитывая разреженный контекст предложения. То же самое с Человеком и местоположением. Контролируемые модели работают очень хорошо, учитывая, что обучение искажает их для выбора определенного типа объекта, что является причиной высоких результатов в тестовом наборе. Вывод из этого заключается в том, что этот подход не может работать так же хорошо, как контролируемая модель на тестовом наборе, где обучающий набор искажает результаты в сторону определенного типа в случаях неоднозначности.
8. Набор данных Линней
Этот набор данных тестирует виды. Этот тип сущности имеет 4 подтипа SPECIES, BACTERIUM, VIRUS, BIO_ADJECTIVE. Эта категория имеет относительно более низкую человеческую маркировку по сравнению с типами сущностей, указанными выше. Однако эти см. метки увеличиваются с помощью векторов сущностей, чтобы получить векторы наравне с указанными выше типами.
(959 человеческих меток, 33 665 векторов объектов с типами/подтипами заболеваний для биомедицинского корпуса, 18 612 векторов объектов с типами/подтипами заболеваний для корпуса [BBC] с основанием bert)
В то время как производительность модели уже превышает уровень техники, 92/96 против 87, она получает дальнейшее повышение, когда предсказания модели только в предложениях «ДРУГИЕ» не учитываются. Производительность модели увеличивается до 94 (один прогноз и 97 (два прогноза).
9. S800 набор данных
Этот набор данных также тестирует такие виды, как набор данных Linnaeus, и применимы те же наблюдения.
10. Набор данных WNUT16
Производительность модели на этом наборе данных является самой низкой 35/59, несмотря на то, что она превосходит уровень техники (58) с двумя оценками прогнозирования. Некоторые наблюдения о причинах плохой работы модели.
- Модель крайне плохо работает с типом Object. Эта категория имеет почти такое же количество поддержки начальных меток (752), как виды (959), и адекватную поддержку векторов сущностей в обеих моделях — (33 276) биомедицинского корпуса и (18 416) в корпусе bert-base-case[BBC]. Одной из причин такой низкой производительности, несмотря на поддержку маркировки, являются уникальные фразы и структуры предложений этого корпуса. Минимальная оценка модели на наборе поездов корпуса и заполнение пробелов в маркировке может помочь улучшить производительность модели.
- Одно замечание: производительность модели остается неизменной, даже если игнорировать предложения только с тегами «OTHER».
- Для любого предложения определите типы сущностей всех существительных/глаголных словосочетаний. Это преобладающий вариант использования, предназначенный для обучения контролируемой модели. Задача определения фрагментов фраз встроена в модель в процессе контролируемого обучения вместе с возможностью определения типов сущностей. Определение диапазона фраз в этом случае неявно фиксируется в маркировке диапазонов фраз в наборе train/dev. Затем тестовый набор в основном содержит предложения с интервалами фраз, соответствующими определению, подразумеваемому в наборе поездов. Однако проблема обучения модели "что такое диапазон фраз?", неявно из помеченных фрагментов фраз набора поездов, заключается в том, что их маркировка в наборе поездов должна быть согласованной (что на практике это не всегда так, как видно из несогласованных спецификаций интервалов фраз в наборе поездов. См. рис. 5b ниже). Кроме того, неявное определение интервала фраз, управляемое набором поездов, ограничивает возможности контролируемой модели во время тестирования. обозначать фразы. Например, рассмотрим пример на рисунке 1 «у него был диагностирован немелкоклеточный рак легкого». Если при обучении модели использовался только термин рак, мы теряем важную информацию о типе рака. Кроме того, сложности добавляет тот факт, что протяженность фрагмента фразы может изменить тип объекта. В примере рака на рис. 1 тип объекта остается тем же, независимо от того, выбираем ли мы рак или немелкоклеточный рак легкого в качестве фразы span. . Однако в предложениях, опять же с рис. 1, «Я встретил своих друзей из Нью-Йорка в пабе», «Я встретил своих друзей из XCorp в пабе». , если мы просто выберем фразы, выделенные жирным шрифтом, NER даст Местоположение и Организация. Однако, если мы рассмотрим фразу, охватывающую «Я встретил своих нью-йоркских друзей в пабе», «Я встретил свою XCorp друзья в пабе”, модель NER должна пометить их обоих как Person. Таким образом, эталонные наборы данных (предназначенные для оценки контролируемых моделей), неявно определяющие диапазоны фраз в обучающих данных, создают проблему, когда определение может быть несогласованным. Что еще более важно, любое определение того, что такое диапазон фраз, запеченное в обучающем наборе и, следовательно, в контролируемой модели, недоступно для самоконтролируемой модели, поскольку она не изучает эти неявно запеченные правила из обучающего набора (Еще примеры ниже).
11. Пользовательский набор данных (в процессе создания)
Это набор данных, который создается для создания всех типов и подтипов сущностей, показанных на рисунке ниже.