Какой тип нейронной сети я должен использовать для создания абзаца на основе некоторого ввода? - PullRequest
0 голосов
/ 19 декабря 2018

Мои знания нейронных сетей очень просты, но вот моя цель: учитывая набор коротких входных данных (строки из одного слова и числа), я хочу, чтобы обученная сеть генерировала абзац текста, связанный с входными данными.

Я раньше связывался с RNN, чтобы выполнять базовую генерацию естественного языка, но никогда не основывался на заданном входе.(Я играл с https://github.com/karpathy/char-rnn, например)

Там так много информации, что я не уверен, какую модель мне следует использовать или с чего начать.

Ответы [ 2 ]

0 голосов
/ 01 января 2019

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

Что такое генерация текста?

Упомянутая вами проблема в литературе в основном распознается как генерация текста .Учитывая часть текста (например, последовательность символов, слов или абзацев) для модели, модель пытается завершить оставшуюся часть текста.Чем лучше ваша модель, тем лучше будет семантически и синтаксически структура сгенерированного текста.

Само поколение текстов является типом Language Modeling проблема.Языковое моделирование является основной проблемой для многих обработчиков естественного языка (НЛП).Обученная языковая модель учитывает вероятность появления слова на основе предыдущей последовательности слов, использованных в тексте.Что это значит?Например, в предложении: A cat sits on the ... вероятность того, что следующее слово будет mat, больше, чем water.Эта простая идея является основной интуицией языкового моделирования.См. главу 4 этой книги для подробного объяснения этой темы.

Различные виды языкового моделирования:

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

В последнее время использование нейронных сетей при разработке языковых моделей стало доминирующим способом, поскольку:

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

Страница 109, Методы нейронной сети в обработке естественного языка, 2017.

Различные виды нейронной сети для языкового моделирования:

Aсвязка архитектуры нейронных сетей, предложенная для языкового моделирования с использованием: рекуррентной нейронной сети , нейронной сети с прямой связью , свертка нейронной сети и т. д., которые имеют свои плюсы и минусы,Согласно здесь современный эталон, достигнутый моделями RNN.

RNN называются рекуррентными, потому что они выполняют одну и ту же задачу для каждого элемента последовательности, с выходомзависит от предыдущих вычислений.Еще один способ думать о RNN - это то, что у них есть «память», которая собирает информацию о том, что было рассчитано до сих пор.Посетите здесь для получения более подробной информации о RNN.

Как реализовать RNN для генерации текста?

См. Официальный пример в Tensrflow здесь.

0 голосов
/ 29 декабря 2018

Я бы предложил вам начать с некоторых образцов игрушек, таких как:

Создание естественного текстасложная задача.Это можно сделать с помощью N_gram appoach, сетей RNN (как вы упомянули), способ, которым это можно сделать, вы можете найти по ссылкам выше.

...