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

Оглавление

  1. Что такое НЛП?
  2. Некоторые реальные приложения
  3. Общие задачи НЛП
  4. Подходы, используемые для решения сценариев использования НЛП
  5. Проблемы в НЛП
  6. Заключение

Что такое НЛП?

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

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

Основная цель – сделать машины способными понимать естественный язык и отвечать на него.

Некоторые приложения реального мира:

  1. Контекстная реклама
  2. Почтовые клиенты — фильтрация спама, умные ответы
  3. Социальные сети — удаление контента для взрослых, сбор мнений
  4. Поисковые системы
  5. Чат-боты

Общие задачи НЛП:

  1. Классификация текстов/документов
  2. Анализ настроений
  3. Поиск информации
  4. Тегирование частей речи
  5. Определение языка и машинный перевод
  6. Диалоговые агенты
  7. Графики знаний и система контроля качества
  8. Обобщение текста
  9. Тематическое моделирование
  10. Генерация текста
  11. Проверка орфографии и грамматическая коррекция
  12. Анализ текста
  13. Преобразование речи в текст и преобразование текста в речь

Подходы к НЛП:

  1. Эвристические методы
  2. Модели на базе ML
  3. Модели на основе DL

1. Эвристические методы:

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

Примеры такие

  1. Регулярное выражение → Чтобы предсказать тексты по одному шаблону.
  2. Word Net (лексический словарь) → В отличие от обычных словарей, Word Net похож на лексический словарь, т. е. здесь слова хранятся в организованном порядке на основе их отношений с другими словами.
  3. Непредвзятые вопросы о здравом смысле

Преимущества :

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

Недостатки:

  1. Для эффективного применения эвристики требовались хорошие знания и опыт.
  2. Вам придется использовать несколько экспертов для агрегирования их результатов.
  3. Иногда это занимает много времени.

2. Методы машинного обучения:

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

Алгоритмы:

  1. Наивная-байесовская классификация
  2. Логистическая регрессия
  3. Машина опорных векторов
  4. LDA (для тематического моделирования)
  5. Скрытые марковские модели

3. Методы глубокого обучения:

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

Алгоритмы:

  1. РНН
  2. LSTM (долговременная кратковременная память)
  3. ГРУ (тертая рекуррентная единица)
  4. Си-Эн-Эн
  5. Трансформеры
  6. Автокодеры

В RNN основная проблема заключается в том, что он не может обрабатывать длинные предложения. Эта проблема решается в алгоритме LSTM. GRU в основном используется для генерации текста. Трансформеры произвели революцию в НЛП. Трансформеры могут уделять больше внимания определенным словам. Автокодировщики в основном используются с использованием двух нейронных сетей (на основе LSTM), одна из которых действует как кодер, а другая — как декодер.

Проблемы в НЛП:

  • Двусмысленность. Человеческий язык настолько развит, что одни и те же предложения имеют совершенно разные значения в зависимости от контекста.

Например -

1) I saw the boy on the beach with my binoculars.
2) I've never tasted a cake quite like that one before!

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

  • Контекстные слова. Одни и те же слова в другом контексте имеют другое значение.

Например-

I ran to the store because we ran out of milk.
  • Разговорные выражения и сленг. Во время человеческого разговора мы говорим что-то, что означает что-то другое, но люди могут понять, что это значит, но машина не может оправдать разговоры. Например,
This task for me is like a piece of cake
playing football is not your cup of tea
  • Синонимы. Люди используют синонимы, которые машины не могут понять, потому что это создаст путаницу.
  • Ирония, сарказм и различие тонов.Сарказм, который всем известен, — это высказывание чего-то другого в двух разных тонах, которые могут означать иногда в прямом смысле, а иногда косвенно.
  • Орфографические ошибки. При написании электронных писем и текстов любой формы мы допускаем опечатки, которые не оправдываются машинами.
  • Творчество
  • Разнообразие.Существует так много языков по всему миру и в каждой стране. А также мы говорим о конкретном языке, который программное обеспечение должно глубоко понимать, чтобы понять это, поэтому эта задача все еще находится в стадии исследования в области НЛП. Мы достигли только 5% того, что может дать нам НЛП.

Заключение

НЛП — это очень обширная область, которая вращается вокруг человеческого языка и умного решения реальных проблем, что помогает системам легко общаться с людьми. В этой статье мы узнали, что сделало НЛП такой популярной и широко исследуемой темой в 20 веке. Мы также видели различные проблемы, возникающие при работе с постановкой задачи NLP, и то, как современные архитектуры глубокого обучения развиваются для решения и покрытия этих проблем. Есть и другие проблемы, которые вы можете решить, когда будете работать над любым вариантом использования НЛП.