Овладение NLP Глубокое кодирование на Python для моделей глубокого обучения
Освоение NLP Глубокое кодирование на Python для моделей глубокого обучения
Пошаговое руководство с подробными объяснениями кода для классификации текста с использованием глубокого обучения на Python
Эта статья стала результатом чтения множества документационных материалов и просмотра видео на YouTube о текстовых данных, классификации, рекуррентных нейронных сетях и других актуальных темах по разработке проекта машинного обучения с использованием текстовых данных. Большая часть информации не очень удобна для пользователей, а некоторые части запутаны, поэтому я хочу сэкономить читателю много времени и прояснить основные концепции использования текстовых данных в любом проекте машинного обучения.
Поддерживающий код для приведенных здесь примеров можно найти по адресу: https://github.com/Eligijus112/NLP-python
В данной статье рассматриваются следующие темы:
- Преобразование текста в последовательности
- Преобразование индексов последовательности в векторы
- Подробное объяснение RNN
- Функция потерь для классификации
- Полный NLP-пайплайн с использованием Pytorch
NLP расшифровывается как Обработка Натурального Языка¹. Это огромная тема о том, как использовать аппаратное и программное обеспечение для выполнения задач, таких как:
- Топологическая сортировка основной алгоритм для управления зависимостями
- Джеффри Хинтон, крестный отец искусственного интеллекта, опасается за судьбу человечества
- «Генеральные директоры в различных отраслях считают, что искусственный интеллект является «приоритетным инвестиционным направлением» на будущее».
- Перевод с одного языка на другой
- Классификация текста
- Суммирование текста
- Предсказание следующего токена
- Распознавание именованных сущностей
И множество других задач. В этой статье я хочу рассмотреть самые популярные техники и познакомить читателя с концепциями на простых и обоснованных примерах.
Множество задач в NLP начинаются с токенизации текста².
Токенизация текста – это процесс, при котором мы разделяем исходный текст на более мелкие части – токены. Токены могут быть символами, подсловами, словами или их комбинацией.
Рассмотрим строку:
“NLP в Python – это весело и очень хорошо задокументировано. Давайте начнем!”
Я буду использовать токены на уровне слов, потому что такая же логика применима и к более низкоуровневой токенизации.