NLP-инженер: чем он занимается и почему будет всегда востребован в сфере обработки текстовой информации

NLP-инженер: чем он занимается и почему будет всегда востребован в сфере обработки текстовой информации

Современные профессии

NLP-инженер (от англ. natural language processing) — специалист, который обладает компетенциями в сферах прикладной математики, лингвистики и разработки программного обеспечения. 

Вместе с командой системы управления репутацией и анализа медиа «СКАН-Интерфакс» разобрались, что это за профессия, какими навыками нужно обладать для старта и что нужно изучить, чтобы претендовать на должность NLP-инженера.

NLP-инженер: чем он занимается и почему будет всегда востребован в сфере обработки текстовой информации

Команда системы «СКАН-Интерфакс»

Кто такой NLP-инженер и чем он занимается в компании

Как технический специалист NLP-инженер отвечает за расширение возможностей бизнеса при обработке информации на естественных языках. Он реализует наукоёмкие правила и алгоритмы и применяет инструменты машинного обучения (англ. ― machine learning, ML).

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

Ну и конечно же, NLP-инженер должен быть неплохим программистом. Чтобы анализировать и извлекать данные из текстов, необходимо не только отвечать на множество инженерных вызовов, но и уметь правильно готовить такие данные.

В 2017 году в области искусственного интеллекта и машинного обучения произошла революция. Появилась нейросетевая архитектура «трансформер». Она позволила добиться невероятных результатов в решении задач автоматизированной обработки текстовых данных.

NLP-инженеры получили в свои руки инструменты, которые в короткие сроки значительно повысили качество анализа неструктурированной информации.

Взаимосвязь математики и лингвистики

В профессии NLP-инженера математика и лингвистика не могут существовать друг без друга. Эти две противоположные науки связаны через необходимость создания математической модели естественного языка.

Современные компьютеры способны понимать только числа и логические операции. Для обработки текстов требуется описать лингвистические закономерности и правила на понятном машине языке. Многие задачи невозможно решить, опираясь только на знания математики и программирования. Разработчик обязан владеть предметной областью, с которой работает — лингвистикой.

Если математик-лингвист не понимает русский язык, то он не сможет написать правило, которое будет действовать на обработку падежей в тексте.

Старт в профессии: где учиться и куда пойти работать

В российских университетах много программ бакалавриата и магистратуры в различных отраслях Data Science. В МГУ имени М.В. Ломоносова на механико-математическом и филологическом факультете есть:

  • «Фундаментальная и прикладная лингвистика»;
  • «Математика»;
  • «Прикладная математика и информатика»;
  • «Фундаментальная информатика и информационные технологии»;
  • «Математика и компьютерные науки»;

В ВШЭ — «Прикладной анализ данных и искусственный интеллект», «Компьютерные науки и анализ данных», «Компьютерные системы и сети».

В МГТУ имени Н.Э. Баумана — «Информатика, искусственный интеллект и системы управления», «Системы обработки информации и управления», «Фундаментальная и компьютерная лингвистика» и другие.

Чтобы определиться с направлением обучения, необходимо определиться с областью интересов:

  • Если цель ― самостоятельно изобрести инновационные технологии в ИИ, нужна профильная математика с углублённым изучением Data Science и Deep Learning.
  • Если стремиться к решению прикладных и бизнес-задач и использовать уже существующие решения, то предпочтение стоит отдать разработке программного обеспечения и ML-инфраструктуры.

    К промышленным языкам разработки относятся C++, C# и Java. Область знаний — разработка распределённых систем. Средства MLOps — инфраструктура для автоматизации работы с машинным обучением: MLFlow и AirFlow.

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

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

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

Важно понимать, что не все компании готовы брать к себе специалистов без практического опыта. Например, «СКАН-Интерфакс» — большой и логически нагруженный проект со сложной инженерной структурой и высоким порогом входа. Поэтому при найме разработчиков в компании ориентируются как на их теоретическую базу, так и на практический бэкграунд. В более выигрышном положении оказывается тот, кто ранее был связан с обработкой текстов.

При этом в команду с радостью берут студентов вузов в отдел лингвистической обработки — они работают над качеством разметки текстов. Там студенты учатся специальности и осваивают инструменты.

Личные качества и профессиональные навыки, которые нужны NLP-инженеру

Профильные навыки, без которых специалист не сможет выполнять поставленные задачи:

  • Знание профильной математической базы.
  • Базовое понимание русского языка (морфология, семантика, падежи).
  • Знание программирования на уровне middle и выше.
  • Знание Python, в особенности для NLP-инженера.
  • Умение находить самое простое решение — оно всегда лучшее.
  • Понимание алгоритмов машинного обучения: нейронные сети, алгоритмы кластеризации, логистическая регрессия.
  • Знание промышленных языков разработки: C++, C#, Java.

Личные качества позволяют эффективно выполнять рабочие задачи и продвигаться вверх по карьерной лестнице. Самые основные из них:

  • умение работать с людьми;
  • лидерские качества;
  • внимательность;
  • желание углублять знания в разных областях IT;
  • стрессоустойчивость: работа не из простых;
  • ответственный подход к работе.

Повышение компетенции — один из ключевых моментов в работе IT-специалистов. У NLP-специалистов это происходит в процессе работы.

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

Уровень заработной платы NLP-инженера напрямую зависит от опыта работы и от специализации: чем уже профиль, тем выше востребованность сотрудника.

NLP-инженер: чем он занимается и почему будет всегда востребован в сфере обработки текстовой информации Профессия

Python-разработчик с нуля

Узнать больше

  • Освоите один из самых универсальных языков программирования
  • Добавите в портфолио три полностью работоспособных проекта
  • Получите опыт работы в команде — выполните совместный проект с одногруппниками

Работа NLP-инженера на практике

NLP-инженеры могут поделить свою работу на две сферы:

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

В «СКАН-Интерфаксе» работа специалистов делится на два блока.

Первый блок — это поддержка логического ядра системы. «СКАН» исторически построен на системе логических правил, оперирующих моделями естественных языков. Правила и языковые модели описаны на высокоуровневом промышленном языке программирования и позволяют извлекать из текстовых документов те знания, которые компания предоставляет клиентам.

Есть задача определения прямой речи. Прямая речь в «СКАНе» — не только прямая, но и косвенная, то есть всё, что может считаться «голосом компании». Для определения прямой речи на основе анализа корпуса новостных текстов описано множество паттернов. Они содержат различные части речи и конструкции, которые могут быть семантически интерпретированы как речевые маркеры: сообщил, сказал, заявил, по сообщению, по информации, согласно исследованию.

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

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

Для повышения точности связывания именованных сущностей из текста с организациями из базы данных «СПАРК» специалистам «СКАНа» необходимо было реализовать механизм классификации контекстов упоминания этих сущностей по видам экономической деятельности в соответствии с ОКВЭД.

***

Если в тексте упоминается некая компания ООО «Рога и Копыта» в следующем контексте: «За прошлый год ООО „Рога и Копыта“ закупило 200 единиц сельскохозяйственной техники, поэтому в этом году полностью готово к началу посевной кампании», — то система должна по этому предложению определить, что эта компания, скорее всего, соответствует коду 01 ОКВЭД, а именно «Растениеводство и животноводство, охота и предоставление соответствующих услуг в этих областях».

***

Это позволило бы системе в дальнейшем при решении задачи связывания сущностей — идентификации по «СПАРК» — отсеять варианты с неподходящим кодом экономической деятельности.

Что в «СКАНе» сделали для решения этой задачи:

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

NLP-инженер: чем он занимается и почему будет всегда востребован в сфере обработки текстовой информации Из этих документов собрали контексты упоминания организаций: 1–2 предложения до упоминания и 1–2 предложения — после упоминания.

NLP-инженер: чем он занимается и почему будет всегда востребован в сфере обработки текстовой информации На основе выделенных контекстов составили словари ключевых слов для каждого из видов экономической деятельности.

NLP-инженер: чем он занимается и почему будет всегда востребован в сфере обработки текстовой информации Взвесили их с помощью TF-IDF — статистической меры, которая используется для оценки важности слова для какого-либо документа относительно других документов.

NLP-инженер: чем он занимается и почему будет всегда востребован в сфере обработки текстовой информации Для каждого вида экономической деятельности обучили модель SVM-классификатора методом ONE-vs-ALL.

NLP-инженер: чем он занимается и почему будет всегда востребован в сфере обработки текстовой информации Откорректировали параметры классификаторов для достижения требуемой точности 95%.

NLP-инженер: чем он занимается и почему будет всегда востребован в сфере обработки текстовой информации Реализовали REST-сервис, использующий обученные модели для multilabel-классификации контекстов.

NLP-инженер: чем он занимается и почему будет всегда востребован в сфере обработки текстовой информации Захостили сервис в k8s и реализовали его вызов в пайплайне обработки документа.

SVM или метод опорных векторов — линейный алгоритм, который используется в задачах классификации и регрессии.

REST — архитектурный стиль взаимодействия компонентов распределённого приложения в сети.

K8S или Kubernetes — платформа с открытым исходным кодом, которая автоматизирует операции с контейнеризированными приложениями.

Для оценки качества решения задач NLP-инженеры используют множество показателей. Основные — точность и полнота. Вычисляют их на основе специально подготовленной выборки данных.

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

  • соберёт новости с упоминаниями акций, котировок, тикеров;
  • разметит эту выборку вручную: пометит документы, которые точно являются техническими, и те, что ими не являются;
  • разделит полученную выборку на две части: обучающую и тестовую в соотношении 70 на 30;
  • обучит модель на обучающей выборке, протестирует на тестовой;
  • посмотрит на показатели качества и проведёт кросс-валидацию;
  • проведёт экспертное тестирование на промышленных данных;
  • сделает выводы.

Почему за NLP-инженерами будущее сервисов информационного поиска

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


Мнение автора и редакции может не совпадать. Хотите написать колонку для Нетологии? Читайте наши условия публикации. Чтобы быть в курсе всех новостей и читать новые статьи, присоединяйтесь к Телеграм-каналу Нетологии.

NLP-инженер: чем он занимается и почему будет всегда востребован в сфере обработки текстовой информации

Команда системы «СКАН-Интерфакс»

Оцените статью

Средняя оценка 5 / 5. Всего проголосовало 3