Обработка естественного языка с TensorFlow
книга

Обработка естественного языка с TensorFlow

Здесь можно купить книгу "Обработка естественного языка с TensorFlow " в печатном или электронном виде. Также, Вы можете прочесть аннотацию, цитаты и содержание, ознакомиться и оставить отзывы (комментарии) об этой книге.

Автор: Тушан Ганегедара

Форматы: PDF

Издательство: ДМК Пресс

Год: 2020

Место издания: Москва

ISBN: 978-5-97060-756-5

Страниц: 384

Артикул: 95137

Возрастная маркировка: 16+

Электронная книга
1199

Краткая аннотация книги "Обработка естественного языка с TensorFlow"

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

Содержание книги "Обработка естественного языка с TensorFlow "


Об авторе
О рецензентах
Предисловие
Глава 1. Введение в обработку естественного языка
Что такое обработка естественного языка?
Задачи обработки естественного языка
Традиционный подход к обработке естественного языка
Подробности традиционного подхода
Недостатки традиционного подхода
Революция глубокого обучения в обработке естественного языка
История глубокого обучения
Современное состояние глубокого обучения и NLP
Устройство простой глубокой модели – полносвязной нейронной сети
Что вы найдете дальше в этой книге?
Знакомство с рабочими инструментами
Обзор основных инструментов
Установка Python и scikit-learn
Установка Jupyter Notebook
Установка TensorFlow
Заключение
Глава 2. Знакомство с TensorFlow
Что такое TensorFlow?
Начало работы с TensorFlow
Подробно о клиенте TensorFlow
Архитектура TensorFlow – что происходит при запуске клиента?
Кафе Le TensorFlow – пояснение устройства TensorFlow на примере
Входные данные, переменные, выходные данные и операции
Определение входных данных в TensorFlow
Объявление переменных в TensorFlow
Объявление выходных данных TensorFlow
Объявление операций TensorFlow
Повторное использование переменных с областью видимости
Реализация нашей первой нейронной сети
Подготовка данных
Определение графа TensorFlow
Запуск нейронной сети
Заключение
Глава 3. Word2vec и вектор слова в пространстве смыслов
Что такое представление и значение слова?
Классические подходы к представлению слов
Внешняя лексическая база знаний WordNet для изучения представлений слов
Прямое унитарное кодирование
Метод TF-IDF
Матрица совместной встречаемости
Word2vec – нейросетевой подход к изучению представления слова
Упражнение: королева + король – он + она?
Разработка функции потери для изучения представлений слов
Алгоритм skip-gram
От необработанного текста до структурированных данных
Изучение представлений слов с помощью нейронной сети
Реализация алгоритма skip-gram с TensorFlow
Алгоритм CBOW
Реализация алгоритма CBOW с TensorFlow
Заключение
Глава 4. Углубленное изучение Word2vec
Исходный алгоритм skip-gram
Реализация исходного алгоритма skip-gram
Сравнение исходного и улучшенного алгоритмов skip-gram
Сравнение skip-gram и CBOW
Сравнение продуктивности
Кто же победитель, skip-gram или CBOW?
Расширения алгоритмов представления слов
Использование униграммного распределения для отрицательной выборки
Реализация отрицательной выборки на основе униграмм
Подвыборка – вероятностное игнорирование общих слов
Реализация подвыборки
Сравнение CBOW и его расширений
Более современные алгоритмы, расширяющие skip-gram и CBOW
Ограничение алгоритма skip-gram
Структурированный алгоритм skip-gram
Функция потерь
Модель непрерывного окна
GloVe – представление на основе глобальных векторов
Знакомство с GloVe
Реализация алгоритма GloVe
Классификация документов с помощью Word2vec
Исходный набор данных
Классификация документов при помощи представлений слов
Реализация – изучение представлений слов
Реализация – от представлений слов к представлениям документов
Кластеризация документов и визуализация представлений
Проверка некоторых выбросов
Кластеризация/классификация документов с K-средним
Заключение
Глава 5. Классификация предложений с помощью сверточных нейронных сетей
Знакомство со сверточными нейронными сетями
Основы CNN
Возможности сверточных нейросетей
Устройство сверточных нейросетей
Операция свертки
Операция субдискретизации
Полностью связанные слои
Собираем CNN из компонентов
Упражнение – классификация изображений из набора MNIST
Источник данных
Реализация CNN
Анализ прогнозов, сделанных CNN
Классификация предложений с помощью сверточной нейросети
Структура нейросети
Растянутая субдискретизация
Реализация классификации предложений
Заключение
Глава 6. Рекуррентные нейронные сети
Знакомство с рекуррентными нейронными сетями
Проблема с нейросетью прямого распространения
Моделирование с помощью рекуррентных нейронных сетей
Устройство рекуррентной нейронной сети в деталях
Обратное распространение во времени
Как работает обратное распространение
Почему нельзя использовать простое обратное распространение
Обратное распространение во времени и обучение RNN
Усеченное обратное распространение во времени
Ограничения BPTT – исчезающие и взрывающиеся градиенты
Применение рекуррентных нейросетей
Один-к-одному
Один-ко-многим
Многие-к-одному
Многие-ко-многим
Генерация текста с помощью рекуррентной нейросети
Определение гиперпараметров
Распространение входов во времени для усеченного BPTT
Определение набора данных для валидации
Определение весов и смещений
Определение переменных состояния
Вычисление скрытых состояний и выходов с развернутыми входами
Расчет потерь
Сброс состояния в начале нового сегмента текста
Расчет результата проверки
Расчет градиентов и оптимизация
Вывод сгенерированного фрагмента текста
Оценка качества текста
Перплексия – измерение качества созданного текста
Рекуррентные нейронные сети с контекстными признаками
Особенности устройства RNN-CF
Реализация RNN-CF
Текст, созданный с помощью RNN-CF
Заключение
Глава 7. Сети с долгой краткосрочной памятью
Устройство и принцип работы LSTM
Что такое LSTM?
LSTM в деталях
Чем LSTM отличаются от стандартных RNN
Как LSTM решает проблему исчезающего градиента
Улучшение LSTM
Жадная выборка
Лучевой поиск
Использование векторных представлений слов
Двунаправленные LSTM (BiLSTM)
Другие варианты LSTM
Замочная скважина
Управляемые рекуррентные ячейки (GRU)
Заключение
Глава 8. Применение LSTM для генерации текста
Наши данные
О наборе данных
Предварительная обработка данных
Реализация LSTM
Объявление гиперпараметров
Объявление параметров
Объявление ячейки LSTM и ее операций
Входные данные и метки
Последовательные вычисления для обработки последовательных данных
Выбор оптимизатора
Снижение скорости обучения
Получение прогнозов
Вычисление перплексии
Сброс состояний
Жадная выборка против унимодальности
Генерация нового текста
Пример сгенерированного текста
Сравнение качества текстов на выходе разных модификаций LSTM
Обычная LSTM-сеть
Пример генерации текста при помощи GRU
LSTM с замочными скважинами
Обучение нейросети и проверка перплексии
Модификация LSTM – лучевой поиск
Реализация лучевого поиска
Пример текста, созданного лучевым поиском
Генерация текста на уровне слов вместо n-грамм
Проклятие размерности
Word2vec спешит на помощь
Генерация текста с помощью Word2vec
Текст, созданный с помощью LSTM–Word2vec и лучевого поиска
Анализ уровня перплексии
Использование TensorFlow RNN API
Заключение
Глава 9. Применение LSTM – генерация подписей к рисункам
Знакомство с данными
Набор данных ILSVRC ImageNet
Набор данных MS-COCO
Устройство модели для генерации подписей к изображениям
Извлечение признаков изображения
Реализация – загрузка весов и вывод с помощью VGG-16
Создание и обновление переменных
Предварительная обработка входов
Распространение данных через VGG-16
Извлечение векторизованных представлений изображений
Прогнозирование вероятностей классов с помощью VGG-16
Изучение представлений слов
Подготовка подписей для подачи в LSTM
Формирование данных для LSTM
Определение параметров и процедуры обучения LSTM
Количественная оценка результатов
BLEU
ROUGE
METEOR
CIDEr
Изменение оценки BLEU-4 для нашей модели
Подписи, созданные для тестовых изображений
Использование TensorFlow RNN API с предварительно обученными векторами слов GloVe
Загрузка векторов слов GloVe
Очистка данных
Использование предварительно изученных представлений с RNN API
Заключение
Глава 10. Преобразование последовательностей и машинный перевод
Машинный перевод
Краткая историческая экскурсия по машинному переводу
Перевод на основе правил
Статистический машинный перевод (SMT)
Нейронный машинный перевод
Общие принципы нейронного машинного перевода
Устройство NMT
Архитектура NMT
Подготовка данных для системы NMT
Этап обучения
Переворачивание исходного предложения
Этап тестирования
Обучение NMT
Вывод перевода из NMT
Метрика BLEU – оценка систем машинного перевода
Модифицированная точность
Штраф за краткость
Окончательная оценка BLEU
Собственная система NMT с нуля – переводчик с немецкого на английский
Знакомство с данными
Предварительная обработка данных
Изучение представлений слов
Кодер и декодер
Сквозные вычисления
Примеры результатов перевода
Обучение NMT одновременно с изучением представлений слов
Максимизация совпадений между словарем набора данных и предварительно подготовленными представлениями
Объявление слоя представлений как переменной TensorFlow
Совершенствование NMT
Помощь наставника
Глубокие LSTM
Механизм внимания
Узкое место: вектор контекста
Механизм внимания в деталях
Результаты работы NMT со вниманием
Визуализация внимания к исходным и целевым предложениям
Применение моделей Seq2Seq в чат-ботах
Обучение чат-бота
Оценка чат-ботов – тест Тьюринга
Заключение
Глава 11. Современные тенденции и будущее обработки естественного языка
Современные тенденции в NLP
Представления слов
Нейронный машинный перевод
Применение NLP в смежных прикладных областях
Сочетание NLP с компьютерным зрением
Обучение с подкреплением
Генеративные состязательные сети и NLP
На пути к искусственному общему интеллекту
Обучил одну модель – обучил их все
Совместная многозадачная модель – развитие нейронной сети для множества задач NLP
NLP для социальных сетей
Обнаружение слухов в соцсетях
Обнаружение эмоций в социальных сетях
Анализ политического наполнения в твитах
Новые задачи и вызовы
Обнаружение сарказма
Смысловое основание языка
Скимминг текста с помощью LSTM
Новые модели машинного обучения
Фазированные LSTM
Расширенные рекуррентные нейронные сети (DRNN)
Заключение
Литература
Приложение. Математические основы и углубленное изучение TensorFlow
Основные структуры данных
Cкаляр
Векторы
Матрицы
Индексы матрицы
Специальные типы матриц
Тождественная матрица
Диагональная матрица
Тензоры
Тензорные и матричные операции
Транспонирование
Умножение
Поэлементное умножение
Обратная матрица
Нахождение обратной матрицы – сингулярное разложение (SVD)
Нормы
Определитель
Вероятность
Случайные величины
Дискретные случайные величины
Непрерывные случайные величины
Функция вероятности масса/плотность
Условная вероятность
Совместная вероятность
Предельная вероятность
Правило Байеса
Введение в Keras
Введение в библиотеку TensorFlow seq2seq
Определение вложений для кодера и декодера
Объявление кодера
Объявление декодера
Визуализация представлений слов с помощью TensorBoard
Первые шаги с TensorBoard
Сохранение представлений слов и визуализация в TensorBoard
Заключение
Предметный указатель

Все отзывы о книге Обработка естественного языка с TensorFlow

Чтобы оставить отзыв, зарегистрируйтесь или войдите

Внимание!
При обнаружении неточностей или ошибок в описании книги "Обработка естественного языка с TensorFlow (автор Тушан Ганегедара)", просим Вас отправить сообщение на почту help@directmedia.ru. Благодарим!