Что такое NLP в машинном обучении
NLP (Natural Language Processing) или обработка естественного языка — это направление на стыке искусственного интеллекта, компьютерных наук и математической лингвистики, которое посвящено анализу устной и письменной человеческой речи, а также их генерации. Это подраздел машинного обучения (Machine Learning, ML), изучающий методы компьютерного анализа и синтеза естественного языка. Его не следует путать с нейролингвистическим программированием (или НЛП, от англ. Neuro-linguistic programming), которое считается псевдонаукой и относится к психологии, а не компьютерам. В статье мы расскажем, как работает и какие задачи преследует обработка живого языка.
Кто использует NLP
Мы сталкиваемся с обработкой языка постоянно: когда вводим запрос в поисковую строку, общаемся с умной колонкой, взаимодействуем с чат-ботом, читаем иностранный текст с помощью автоматического переводчика или даже когда пишем сообщения с ошибками, надеясь на автоисправление. NLP-приложения присутствуют в повседневной жизни почти любого современного человека. К ним относятся многочисленные голосовые помощники (Алиса, Siri, Cortana) и виртуальные ассистенты (боты в чатах службы поддержки), поисковые системы (Яндекс, Google), функции автокоррекции в смартфоне и проверки орфографии в программах типа Word, сервисы антиплагиата, фильтры писем в электронной почте, и т. п. Эти и другие возможности доступны нам благодаря развитию NLP.
Другими словами, обработка естественного языка применяется не только в науке для исследования ИИ, но и для решения практических задач, в том числе коммерческих. Ее используют в сфере безопасности для скрытия конфиденциальной информации, в диджитал-маркетинге, бизнес-аналитике и многих других областях.
Как устроена обработка языков
NLP реализуется при помощи методов ML, а именно — нейросетевых алгоритмов, способных самообучаться и решать проблемы даже при недостатке входных данных. Если раньше машины просто отвечали на введенный набор символов с помощью заранее прописанных реакций, а для поиска использовали сравнение, то сейчас их обучают самой логике языка, структуре построения фраз и предложений, пониманию контекста и, естественно, значений слов. Это позволяет интеллекту компьютера распознавать речь человека и генерировать грамотный ответ.
Чаще всего обучение происходит на основе больших данных, т. е. когда машине предоставляют массив определенной информации, проанализировав которую, она находит закономерности и выводит правила. Процесс строится принципиально так же, как обучение человека, с одной лишь разницей: компьютер обрабатывает гораздо больше примеров и данных за меньшее количество времени. В итоге чем «насмотреннее» он становится, тем лучше понимает устный/письменный текст, грамотнее его переводит, классифицирует, создает.
Обработка языка включает в себя синтаксический (структурный) и семантический (смысловой) анализы. К их проведению в NLP существует множество подходов:
- Токенизация. Разбиение текста на «токены» — отдельные текстовые единицы (слово, словосочетание, предложение).
- Стемминг. Приведение слова к его корню, основной форме (например, слова «хочу» к «хоч»).
- Лемматизация. Приведение слова к начальной форме — лемме. К примеру, для существительного «шагом» леммой будет «шаг» (именительный падеж, единственное число).
- Частеречное тегирование. Идентификация частей речи в предложении. Помогает машине понять разницу, например, между «столовой ложкой» и «школьной столовой».
- Лексический анализ. Изучение значений слов в разных контекстах. «Ручка двери» и «ручка для письма» — не одно и то же, алгоритм должен уметь видеть отличия.
Это лишь часть существующих методик. Решение о применении той или иной техники принимается с учетом целей обучения и ожидаемых результатов.
Задачи NLP
Данная область машинного обучения нацелена на создание естественно-языкового интерфейса, посредством которого человек сможет общаться с машиной на естественном языке, а не на языках программирования. Это в целом является одной из главных задач искусственного интеллекта. Тремя основными направлениями NLP считаются распознавание речи, понимание и генерация естественного языка. Ниже мы рассмотрим наиболее актуальные векторы развития NLP.
Машинный перевод текстов
Современные программы-переводчики работают на гибридной основе, используя не только правила и статистику, но и нейронные сети. С появлением последних перевод иностранной речи с одного естественного языка на другой стал заметно лучше, хотя по-прежнему не идеален. Качество итогового текста во многом зависит от особенностей оригинального языка и степени его отличия от того, на который требуется перевести информацию, а также — от сложности самого текста. Чем более он стандартизирован, тем качественнее машина передает его содержание. Поэтому, например, Google Translate гораздо лучше переводит инструкции и техническую документацию, чем художественную литературу.
Разработчики стремятся к тому, чтобы компьютер мог максимально точно и адекватно передавать смысл оригинала, и NLP служит главным инструментом для достижения этой цели.
Анализ текстов
Еще одна задача, которую решает NLP, — это анализ информации и ее классификация по определенным критериям. Как мы уже сказали, компьютеры способны обрабатывать куда больший объем данных, чем люди, и потому их учат анализировать текст (или устную речь) для определения его параметров: темы, стиля, жанра, эмоциональной окраски, релевантности заданным условиям и пр. Так алгоритмы социальных сетей отслеживают и блокируют запрещенный контент, а умные ассистенты в банковских приложениях понимают, в чем суть обращения и куда его направить. В маркетинге анализ текста по технологии NLP позволяет определить среднюю тональность отзывов и составить портрет клиента для показа персонализированной рекламы. По этому же принципу работают онлайн-сервисы проверки антиплагиата. В перспективе это позволит машинам отличать настоящие новости от фейковых, устанавливать авторство текстов.
Распознавание и синтез речи
Машину учат воспринимать живую человеческую речь — с акцентами, диалектами, — интерпретировать звуковой сигнал в цифровой и выражать его в виде текста, чтобы затем действовать исходя из полученной информации. Автоматическое создание субтитров для видеороликов, расшифровка голосовых сообщений в мессенджерах, управление «умным» домом и общение со смарт-колонками происходит благодаря NLP.
Иногда компьютер не просто слышит и понимает, что говорит человек, но и генерирует подходящие контексту ответы. Этим занимаются Алиса от Яндекса, Siri от Apple и прочие голосовые помощники. Многочисленные чат-боты в приложениях и на сайтах тоже синтезируют тексты — и в идеале, если они действительно реагируют на запрос пользователя. Ярким примером синтеза также является генератор «Балабоба» от Яндекса: с помощью нейросетей сервис может сгенерировать продолжение введенного текста с сохранением стиля и связности.
Разработка диалоговых систем
Диалоговыми системами считаются все те же виртуальные ассистенты: голосовые и текстовые помощники, которые следуют сценариям диалога и могут имитировать человеческое общение, а также любые вопросно-ответные (QA) системы. При их разработке используется комплекс NLP-инструментов, в том числе перечисленных выше: распознавание речи, выделение смысла и контекста, определение сути запроса и впоследствии — выстраивание диалога, желательно с генерацией логически связанного ответа, выраженного письменно или устно.
Предполагается, что это позволит полностью автоматизировать службы поддержки в компаниях. Кроме того, направление довольно перспективно для игровой индустрии.
Заключение
Natural Language Processing представляет собой один из важнейших векторов развития машинного обучения и изучения искусственного интеллекта. Глобально целью этой дисциплины является упрощение взаимодействия между компьютером и человеком. Для этого NLP применяет некоторые методы языкового анализа из фундаментальной лингвистики, способы создания математических моделей и алгоритмы вычислительных систем.
Оцените статью