За годы своего существования NER существенно эволюционировало, для решения его задач было выработано множество подходов. Ниже мы расскажем о распространённых методиках NER.
Методика NER, основанная на правилахПри идентификации и классификации именованных сущностей основанные на правилах методики NER применяют наборы заранее определённых правил или паттернов.
Эти правила часто выводятся из лингвистических наблюдений и кодифицируются в систему при помощи следующих техник:
Регулярные выражения. Это сопоставление паттернов для выявления сущностей на основании известных структур, например, телефонных номеров или адресов электронной почты.
Поиск в словарях. Использование заранее заданных списков или баз данных именованных сущностей для поиска совпадений в тексте. Допустим, у системы есть словарь, содержащий имена известных авторов, например, «Джейн Остин», «Эрнест Хемингуэй» и «Джордж Оруэлл». Когда она встречает предложение
«Недавно я прочитал рассказ Джорджа Оруэлла», то благодаря списку поиска быстро распознаёт в «Джордж Оруэлл» именованную сущность, относящуюся к автору.
Правила на основе паттернов. Использование для извлечения сущностей определённых лингвистических структур. Слово с заглавной буквы посередине предложения может свидетельствовать об имени собственном. Например, в предложении
«Если вы когда-нибудь поедете в Лондон, то обязательно посетите Британский музей, чтобы погрузиться в мир искусства и истории» слово «Лондон» с заглавной буквы намекает, что это имя собственное, являющееся местом.
Зачем использовать эту методику? Методика на основе правил лучше всего работает, когда дело касается конкретных предметных областей, где сущности соответствуют чётким и постоянным паттернам. Такие методики могут быть эффективны и просты, если вы точно знаете, что ищете и если паттерны меняются нечасто.
Методика NER на основе машинного обученияВ мире традиционных методик машинного обучения для NER модели обучаются на данных, в которых сущности размечены. Например, в предложении
«Париж — столица Франции» слова «Париж» и «Франции» могут быть размечены как GPE.
В такой методике активно применяется
инжиниринг признаков, при котором для повышения точности модели конкретные атрибуты и информация о данных извлекаются вручную.
Примеры распространённых признаков:
- характеристики слов — такие подробности, как регистр слов (с заглавной буквы, в нижнем или в верхнем регистре), префиксы и суффиксы;
- контекст — окружающие слова, как предыдущие, так и последующие, дающие дополнительную информацию;
- синтаксическая информация — метки частей речи, проливающие свет на функцию слова в предложении, например, существительное, глагол, прилагательное и так далее;
- паттерны слов — форма паттерна слова, особенно при распознавании конкретных форматов, например, дат или регистрационных номеров автомобилей;
- морфологические подробности — информация, извлекаемая из начальной формы слова, или его морфологические нюансы.
После подготовки признаков модель обучается на этих дополненных данных. При этом используются такие алгоритмы, как Support Vector Machines (SVM), Decision Trees и Conditional Random Fields (CRF). После обучения модель может прогнозировать или размечать сущности в сырых, неразмеченных данных.
Зачем использовать эту методику? Методику на основе машинного обучения следует применять, когда сущности имеют разные типы и не всегда следуют постоянному паттерну. Если у вас есть доступ к аннотированным данным, то вы сможете обучить модель, способную хорошо обобщать выводы на разнообразных паттернах сущностей.
Несмотря на свою эффективность, такая методика требует существенных усилий на этапе инжиниринга признаков, в отличие от методики на основе правил, в которых они вообще не требуются, или методик глубокого обучения, которые автоматически могут извлекать важные признаки из данных.
Методика NER на основе глубокого обученияГлубокое обучение — это более автоматизированный и сложный способ реализации NER. Глубокое обучение — это подраздел машинного обучения, в котором искусственные нейросети (сложные алгоритмы, работающие подобно человеческому мозгу) учатся на огромных датасетах. По сути, глубокое обучение нацелено на обучение компьютеров воспроизводить то, как люди учатся и обрабатывают информацию.
Как сказано выше, существенное преимущество глубокого обучения перед традиционным машинным обучением — возможность автоматического изучения признаков в данных. Эта способность позволяет снизить зависимость от трудозатратного ручного инжиниринга признаков, применяемого в традиционных методиках.
Для подготовки моделей глубокого обучения, как и в традиционных методиках, необходимы аннотированные данные. Однако благодаря возможностям таких моделей по обработке огромных датасетов и их сложной структуре они часто обгоняют по точности своих конкурентов, особенно при наличии достаточного объёма обучающих данных.
В сфере NER популярны различные архитектуры сетей.
- Рекурентные нейросети (Recurrent Neural Networks, RNN) и сети с долгой кратковременной памятью (Long Short-Term Memory, LSTM) усваивают последовательную информацию, делая её подходящей для обработки текстовых данных с контекстом.
- Архитектуры трансформеров, в том числе GPT и подобные ему, изменили ситуацию в мире NLP, в том числе и NER. Их способность одновременно уделять внимание различным частям входных данных позволяет глубже понимать контекст.
Что касается GPT и распознавания сущностей, хотя модели наподобие ChatGPT успешно справляются со многими задачами, они являются частью широкого спектра инструментов для NER. Однако для задач чистого распознавания сущностей в некоторых случаях могут быть предпочтительны другие специализированные модели.
Зачем использовать эту методику? Преимущества глубокого обучения проявляются в задачах, требующих высокого уровня сложности при условии наличия огромного объёма данных. В отличие от традиционного машинного обучения, оно способно автоматически выявлять в данных релевантные признаки и обучаться им, благодаря чему оно особенно эффективно в контекстах с высокой неоднозначностью или разнообразием, где сущности могут быть многогранными.