Привет, приветствую всех! Сегодня я кратко расскажу об очень интересной и актуальной теме — обработке естественного языка. Давайте разберемся с НЛП —
Оглавление
- Что такое НЛП?
- Некоторые реальные приложения
- Общие задачи НЛП
- Подходы, используемые для решения сценариев использования НЛП
- Проблемы в НЛП
- Заключение
Что такое НЛП?
Обработка естественного языка (NLP) — это в основном то, как вы можете научить машины понимать человеческие языки и извлекать из текста соответствующий смысл. Язык как структурированное средство общения — это то, что отличает нас, людей, от животных.
Согласно определению Википедии, скажем, обработка естественного языка — это область лингвистики, компьютерных наук и искусственного интеллекта, связанная с взаимодействием между компьютерами и человеческим языком, в частности, с тем, как программировать компьютеры для обработки и анализа больших объемов данных естественного языка. Так что все дело в том, чтобы дать компьютерам возможность слушать и говорить, как люди.
Основная цель – сделать машины способными понимать естественный язык и отвечать на него.
Некоторые приложения реального мира:
- Контекстная реклама
- Почтовые клиенты — фильтрация спама, умные ответы
- Социальные сети — удаление контента для взрослых, сбор мнений
- Поисковые системы
- Чат-боты
Общие задачи НЛП:
- Классификация текстов/документов
- Анализ настроений
- Поиск информации
- Тегирование частей речи
- Определение языка и машинный перевод
- Диалоговые агенты
- Графики знаний и система контроля качества
- Обобщение текста
- Тематическое моделирование
- Генерация текста
- Проверка орфографии и грамматическая коррекция
- Анализ текста
- Преобразование речи в текст и преобразование текста в речь
Подходы к НЛП:
- Эвристические методы
- Модели на базе ML
- Модели на основе DL
1. Эвристические методы:
Эвристика или эвристический метод — это любой подход к решению проблем, который использует практический метод или различные сокращения для получения решений, которые могут быть неоптимальными, но достаточными с учетом ограниченного периода времени или крайнего срока.
Примеры такие
- Регулярное выражение → Чтобы предсказать тексты по одному шаблону.
- Word Net (лексический словарь) → В отличие от обычных словарей, Word Net похож на лексический словарь, т. е. здесь слова хранятся в организованном порядке на основе их отношений с другими словами.
- Непредвзятые вопросы о здравом смысле
Преимущества :
- Это точно, потому что в нем есть участие человека.
- Это быстрый подход.
Недостатки:
- Для эффективного применения эвристики требовались хорошие знания и опыт.
- Вам придется использовать несколько экспертов для агрегирования их результатов.
- Иногда это занимает много времени.
2. Методы машинного обучения:
Все основные проблемы, присутствующие в эвристических методах, например, когда есть некоторые открытые проблемы. Итак, основное преимущество моделей ML по сравнению с эвристическим методом заключается в том, что он решает открытые проблемы.
Алгоритмы:
- Наивная-байесовская классификация
- Логистическая регрессия
- Машина опорных векторов
- LDA (для тематического моделирования)
- Скрытые марковские модели
3. Методы глубокого обучения:
Одна из основных проблем, присутствующих в подходе машинного обучения, заключалась в том, что модели машинного обучения не могут читать тексты последовательно. Но в подходе глубокого обучения текстовые данные считываются последовательно, и, в отличие от подхода ML, он также может автоматизировать создание функций.
Алгоритмы:
- РНН
- LSTM (долговременная кратковременная память)
- ГРУ (тертая рекуррентная единица)
- Си-Эн-Эн
- Трансформеры
- Автокодеры
В 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, и то, как современные архитектуры глубокого обучения развиваются для решения и покрытия этих проблем. Есть и другие проблемы, которые вы можете решить, когда будете работать над любым вариантом использования НЛП.