-

Обработка естественного языка: что это, методы и инструменты машинного обучения NLP (Natural language processing), задачи, примеры автоматического анализа текстов, алгоритм системы

Достижения в области разработки искусственного интеллекта сегодня способны по-настоящему удивить даже тех, кто имеет непосредственное отношение к этой сфере. Одним из популярных направлений для реализации инновационных проектов стало создание цифровых приложений, совместимых с компьютерами и мобильными устройствами, способных подвергать анализу и интерпретировать входящие данные, представленные в голосовой или текстовой форме, без использования специальной лингвистики, шаблонных команд и формулировок — то есть в привычном человеческом построении фраз и словосочетаний. Как работают алгоритмы и модели системы обработки естественного языка, какие технологии, методы и инструменты применяют для машинного обучения NLP (natural language processing), и что это дает с точки зрения дальнейшего развития рассматриваемого направления? Сейчас обо всем расскажем.

Общее представление

Начнем с того, что рассматриваемый сегмент, ввиду своей специфики, относится к области пересечения, объединяющей одновременно ИИ, computer science и лингвистику. Целью, стоящей сегодня перед разработчиками, является создание алгоритмов, умеющих обрабатывать и «понимать» человеческую речь в ее обычном виде, что позволяет в дальнейшем использовать доступную опцию различными способами. Массовое распространение интерфейсов голосового управления, а также ботов, усердно трудящихся в различных чатах поддержки, обусловило важность и востребованность NLP — задачи, с которыми сегодня должен справляться искусственный интеллект, существенно разнообразнее, шире и сложнее.

Области применения

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

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

Сложности адаптации

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

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

Какие задачи позволяет решать машинное обучение NLP

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

Машинный перевод иностранных текстов

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

Анализ и классификация

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

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

Речевая интерпретация подразумевает преобразование и оцифровку сигнала в информационный код, который может быть отражен в виде текста. Синтезирование, напротив, генерирует звуковую ретрансляцию на основе печатных данных. Подобный функционал используется сегодня голосовыми помощниками, интерактивными меню IVR, а также комплексами управления «Умный дом».

Разработка диалоговых систем

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

Выделение сущностей и фактов

Идентификация ссылок на именованные объекты, принадлежащие одной из заданных категорий, а также установление семантической взаимосвязи между ними, реализуется в решении различных вопросов и успешно применяется на практике такими системами, как NELL и Snowball.

Этапы и задачи в подходах к обработке естественного языка

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

Конвейер

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

  1. Сегментация и токенизация. Актуальны в подавляющем большинстве случаев, и предусматривают деление текста на предложения, а тех — на отдельные слова.
  2. Определение контекстно-независимых признаков, характеризующих каждый из токенов, то есть не зависящих от рядом стоящих элементов.
  3. Уточнение значимости и применение фильтра к стоп-словам. Для русского и английского языков характерно наличие множества вспомогательных частиц и артиклей, которые засоряют статистический анализ ввиду своей частоты.
  4. Допуск кореференции. Местоимения, заменяющие названия или имена собственные, могут адекватно интерпретироваться человеком в процессе обычного чтения, однако система, которая рассматривает каждое предложение один раз, не отслеживает их взаимосвязь.
  5. Парсинг зависимостей. Результатом становится формирование древовидной структуры, где токенам присваивается один родитель, и устанавливается тип связи.
  6. Преобразование текстового содержания в векторное представление, позволяющее выделить слова, применяемые в схожем или идентичном контексте.
  7. Формирование модели, соответствующей заданной цели — например, классифицирующей или генерирующей новый текст.

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

Глубокое обучение

Накопление достаточного объема тренировочных данных, разработка многоядерных CPU и GPU, а также формирование обновленных моделей и алгоритмов — факторы, обуславливающие популярность применения методики deep learning в последние годы. Репрезентативное демонстрация входных критериев и признаков, в сочетании с оптимизацией весов, повышающей точность предсказываемого результата, обуславливает эффективность подхода. С функциональной точки зрения процесс сводится к автоматическому извлечению оптимальных представлений из входящего потока. Создание идентификаторов вручную зачастую приводит к избыточной специализации или недостаточной полноте, что обуславливает временные издержки, связанные с формированием и валидацией, тогда как глубокое обучение способствует выявлению легко приспосабливаемых признаков.

Векторный метод

В случае с классическим NLP система автоматической обработки текстов на естественном языке, примеры которой мы уже рассмотрели ранее, определяет слова в качестве дискретных символов, впоследствии представляемых формами one-hot. При этом возникает проблематика, связанная с отсутствующим определением схожести, что обуславливает необходимость его кодирования непосредственно в структуре векторов. Такое представление помогает обозначить каждое слово как dense vector, имеющий характерное содержание, позволяющее выделить контекстную специфику. Подобная практика считается отправной точкой для многих задач, и определяет эффективность глубокого обучения в рамках маленьких Data set.

Word2Vec

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

GloVe

Механика, ориентированная на захват конкретного значения отдельного word embedding с обозримой структурой за счет поиска глобальных числовых совпадений. Предусматривает использование объемной статистики, сводит к минимуму среднеквадратичные отклонения, и репрезентует векторное пространство с адекватной субструктурой, что способствует отождествления схожих слов и расстояний вектора.

QA-системы

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

Практическая реализация QA подразумевает формирование и оптимизацию и без того мощной архитектуры deep learning. С этой целью создана DNM — Dynamic Memory Network, представляющая собой Сеть динамической памяти, прошедшую обучение при помощи комплекса базовых входных данных. Воспоминания, возникающие у СДП, служат основой для генерации адекватных и логически связанных ответов.

К числу архитектурных компонентов относятся следующие модули:

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

Программное обеспечение

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

Конечно, этот список не является исчерпывающим — подобрать оптимальное программное обеспечение, функциональная модель которого предусматривает бесплатное или коммерческое распространение, не составит особого труда.

Резюме

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