Connect with us

Искусственный интеллект

Что такое NLP (Natural Language Processing)?

mm

Natural Language Processing (NLP) – это изучение и применение техник и инструментов, которые позволяют компьютерам обрабатывать, анализировать, интерпретировать и рассуждать о человеческом языке. NLP – это междисциплинарная область, которая сочетает техники, установленные в таких областях, как лингвистика и компьютерные науки. Эти техники используются в сочетании с ИИ для создания чат-ботов и цифровых помощников, таких как Google Assistant и Amazon’s Alexa.

Давайте потратим некоторое время на изучение обоснования Natural Language Processing, некоторых техник, используемых в NLP, и некоторых общих случаев использования NLP.

Почему Natural Language Processing (NLP) имеет значение

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

Несмотря на это, есть некоторые общие рекомендации, которые можно использовать при интерпретации слов и символов, такие как использование символа “s” для обозначения того, что предмет является множественным. Эти общие рекомендации должны быть использованы в сочетании друг с другом, чтобы извлечь смысл из текста, создать функции, которые алгоритм машинного обучения может интерпретировать.

Natural Language Processing включает в себя применение различных алгоритмов, способных принимать неструктурированные данные и преобразовывать их в структурированные данные. Если эти алгоритмы применяются неправильно, компьютер часто не сможет получить правильный смысл из текста. Это можно часто увидеть в переводе текста между языками, где точный смысл предложения часто теряется. Хотя машинный перевод значительно улучшился за последние несколько лет, ошибки машинного перевода все еще происходят часто.

Техники Natural Language Processing (NLP)

Photo: Tamur via WikiMedia Commons, Public Domain (https://commons.wikimedia.org/wiki/File:ParseTree.svg)

Многие техники, используемые в обработке естественного языка, можно разделить на две категории: синтаксис или семантика. Синтаксические техники – это техники, которые связаны с порядком слов, в то время как семантические техники – это техники, которые связаны с значением слов.

Синтаксические техники NLP

Примеры синтаксиса включают:

  • Лемматизация
  • Морфологическая сегментация
  • Маркировка частей речи
  • Парсинг
  • Разделение предложений
  • Стемминг
  • Сегментация слов

Лемматизация означает уменьшение различных форм слова до одной формы. Лемматизация берет такие вещи, как времена и множественные формы, и упрощает их, например, “feet” может стать “foot”, а “stripes” может стать “stripe”. Эта упрощенная форма слова делает ее более легкой для алгоритма интерпретации слов в документе.

Морфологическая сегментация – это процесс деления слов на морфемы или базовые единицы слова. Эти единицы – это такие вещи, как свободные морфемы (которые могут стоять отдельно как слова) и префиксы или суффиксы.

Маркировка частей речи – это просто процесс определения, какая часть речи каждое слово в входном документе.

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

Разделение предложений, или сегментация границ предложений, означает определение, где начинается и заканчивается предложение.

Стемминг – это процесс уменьшения слов до основной формы слова. Например, “connected”, “connection” и “connections” все будут уменьшены до “connect”.

Сегментация слов – это процесс деления больших кусков текста на небольшие единицы, которые могут быть словами или уменьшенными/лемматизированными единицами.

Семантические техники NLP

Семантические техники NLP включают техники, такие как:

  • Распознавание именованных сущностей
  • Генерация естественного языка
  • Разрешение неоднозначности слов

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

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

Разрешение неоднозначности слов – это процесс присвоения значения словам в тексте на основе контекста, в котором они появляются.

Глубокие модели обучения для NLP

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

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

Другой тип глубокой архитектуры обучения, используемой для обработки текстовых данных, – это сеть с долгой краткосрочной памятью (LSTM). Сети LSTM подобны РНН по структуре, но благодаря некоторым различиям в их архитектуре они, как правило, работают лучше, чем РНН. Они избегают определенной проблемы, которая часто возникает при использовании РНН, называемой проблемой взрывающихся градиентов.

Эти глубокие нейронные сети могут быть либо однонаправленными, либо двунаправленными. Двунаправленные сети способны учитывать не только слова, которые предшествуют текущему слову, но и слова, которые следуют за ним. Хотя это приводит к более высокой точности, оно более вычислительно дорого.

Случаи использования Natural Language Processing (NLP)

Photo: mohammed_hassan via Pixabay, Pixabay License (https://pixabay.com/illustrations/chatbot-chat-application-artificial-3589528/)

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

Чат-боты и цифровые помощники, такие как Amazon’s Alexa и Google Assistant, – это примеры платформ распознавания и синтеза голоса, которые используют NLP для интерпретации и ответа на голосовые команды. Эти цифровые помощники помогают людям с широким спектром задач, позволяя им передать некоторые из своих когнитивных задач на другое устройство и освободить часть своего мозга для других, более важных вещей. Вместо того, чтобы искать лучший маршрут в банк в忙ое утро, мы можем просто попросить нашего цифрового помощника сделать это.

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

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

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

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

Блогер и программист с специализацией в Machine Learning и Deep Learning темах. Daniel надеется помочь другим использовать силу ИИ для социального блага.