Введение в обработку естественного языка с помощью TensorFlow
В этом модуле мы рассмотрим различные архитектуры нейронных сетей для работы с текстом на естественных языках. В последние годы обработка естественного языка (NLP) быстро развивалась как область благодаря как улучшениям архитектур языковых моделей, так и обучению на все более крупных корпусах текстов. В результате способность сетей «понимать» текст значительно возросла, и крупные предварительно обученные модели, такие как BERT, стали широко применяться.
Мы рассмотрим фундаментальные аспекты представления NLP в виде тензоров в TensorFlow, а также классические архитектуры NLP, такие как мешок слов, встраивания и рекуррентные нейронные сети.
Задачи естественного языка
С помощью нейронных сетей мы можем решить ряд задач NLP:
- Классификация текста используется, когда необходимо классифицировать фрагмент текста как принадлежащий к одному из нескольких предварительно определенных классов. Примерами могут служить обнаружение нежелательной почты, классификация новостей, назначение запроса на поддержку одной из категорий и т. п.
- Классификация намерений — это один из конкретных вариантов классификации текста, предполагающий сопоставление входного речевого фрагмента в разговорной системе искусственного интеллекта с одним из намерений, представляющих фактическое значение фразы или намерения пользователя.
- Анализ тональности представляет собой регрессионную задачу, которая позволяет понять степень позитивности определенного фрагмента текста. При этом может потребоваться пометить тексты в наборе данных в диапазоне от самого отрицательного (–1) до самого положительного (+1) и обучить модель, которая будет выводить число, показывающее позитивность входного текста.
- Распознавание имен сущностей (NER) — это задача по извлечению из текста сущностей, таких как даты, адреса, имена людей и т. д. NER вместе с классификацией намерения часто используется в диалоговых системах для извлечения параметров из речевого фрагмента пользователя.
- Аналогичную задачу извлечения ключевых слов можно использовать для поиска наиболее значимых слов внутри текста, которые затем можно использовать в качестве тегов.
- Текстовая сводка позволяет извлечь наиболее значимые фрагменты текста, предоставляя пользователю сжатую версию исходного текста.
- Поиск ответа на вопрос — это задача по извлечению ответа из фрагмента текста. Эта модель получает текстовый фрагмент и вопрос в качестве входных данных и должна найти точное место внутри текста, содержащее ответ. Например, для текста "Иван — это 22-летний студент, который обожает использовать Microsoft Learn" и вопроса Сколько лет Ивану? мы должны получить ответ 22.
В этом модуле мы будем, в основном, рассматривать задачу классификации текста. Однако мы будем изучать все важные понятия, необходимые для решения более сложных задач в будущем.
Цели обучения
- Понять, как обрабатывается текст для задач NLP
- Знакомство с рекуррентными нейронными сетями (RNN) и генеративными нейронными сетями (GNN)
- Узнайте о механизмах внимания
- Узнайте, как строить модели классификации текста
Предварительные требования
- Знание Python
- Основные сведения о машинном обучении