Предисловие:В последние годы генерация текста постепенно становится горячей темой машинного обучения. Не только ACL, AAAI и другие ведущие конференции включали доклады о генерации текста, но и новые компании, такие как OpenAI, успешно вступали в эту область. Эта статья начнется с серии статей о генерации текста и покажет вам, как модель Seq2Seq и ее варианты используются в этой области. Среди них некоторый контент в тексте не является оригинальным, если есть какие-либо нарушения, пожалуйста, свяжитесь со мной вовремя.
Автор этой статьи:Ли Джуньи, Бакалавриат в 2014 году, текущее направление исследований глубокое обучение, генерация текста, из Пекинской ключевой лаборатории управления большими данными и методов анализа, Китайский университет Жэньминь.
Эта статья включена в колонку RUC AI Box, которая является особым вкладом в колонку (Станция интеллектуальной разведки RUC).
Список бумаг:
«Последние достижения в области генерации заголовков нейронными сетями» JCST 2017
«Нейронно-разговорная модель» ICML 2015
«Генерация нейронных ответов с учетом темы» AAAI 2017
«Модель нейронной беседы на основе личности» ACL 2016
«Включение механизма копирования в последовательное обучение» ACL 2016
«Генерация естественного языка с учетом контекста с помощью рекуррентных нейронных сетей» AAAI 2016
Обучение созданию обзоров продуктов на основе атрибутов EACL 2017
I. Резюме исследования
В статье «Последние достижения в области генерации заголовков с помощью нейронных сетей», опубликованной в JCST в 2017 году, в основном рассматриваются последние достижения в области генерации заголовков с помощью нейронных сетей. При этом подробно представлено каждое звено в модели генерации, включая кодировщик, декодер и стратегию обучения.
В Neural Headline Generation модель использует сквозную структуру кодировщик-декодер.Преимущество сквозной обработки заключается в том, что за счет сокращения ручной предварительной обработки и последующей обработки модель может перейти от исходного ввода к финалу настолько, насколько Вывод, что дает модели больше места для автоматической настройки в соответствии с данными и повышает общую подгонку модели. В разделе кодировщика представлены кодировщик Bag-of-Words, сверточный кодировщик, кодировщик RNN и двунаправленный. Кодер, где RNN Encoder представляет два варианта LSTM-RNN и GRU-RNN соответственно. Кодер Bag-of-Words усредняет вложения слов, игнорируя порядок слов и отношения между словами и словами.Сверточный кодировщик использует для кодирования нейронную сеть с временной задержкой в сверточной нейронной сети, которая не может решить проблему долговременной зависимости. ENN Encoder будет иметь проблемы с исчезновением градиента и взрывом градиента.Двунаправленный кодировщик учится в переднем и заднем направлениях соответственно. Скрытое состояние, конкретная формула подробно описана в статье. В части декодера представлены языковая модель нейронной сети, декодер RNN и декодер RNN на основе внимания.Языковая модель нейронной сети не учитывает вклад исторической информации в сгенерированный текст, поэтому механизм внимания был добавлен позже. формула документы были подробно перечислены из. В разделе стратегии обучения в основном представлены две стратегии обучения, одна из которых представляет собой метод оценки максимального правдоподобия на уровне слов (Maximum Оценка правдоподобия), другой — метод обучения минимальному риску на уровне предложений (обучение минимальному риску).
Ниже приведена реализация алгоритма обучения с использованием метода обучения с наименьшим риском:
Во-вторых, применение базовой модели Seq2Seq
Части этого раздела цитируются в статьеData Craftsman | Изобретательность в эпоху данных
«Нейронная разговорная модель», опубликованная в ICML в 2015 году, представляет собой статью о создании диалогов с использованием модели seq2seq. Поскольку предыдущие исследования диалоговых моделей ограничивались определенными областями, такими как бронирование авиабилетов, заказ еды и требование ручного написания правил, в этой статье для генерации диалогов используется предложенная структура seq2seq. Основная идея Seq2Seq для решения задачи состоит в том, чтобы сопоставить последовательность как вход с последовательностью как выход через модель глубокой нейронной сети (обычно LSTM, сеть с долговременной кратковременной памятью, разновидность рекуррентной нейронной сети), этот процесс состоит из кодирования ввода и декодирования. Выход состоит из двух звеньев. Как показано ниже:
Это похоже на нашу работу по генерации диалогов, в которой входная последовательность вопросов сопоставляется с выходной последовательностью ответов. Например, теперь у нас есть последовательность вопросов «ABC EOS» (где EOS = конец предложения, идентификатор в конце предложения) в качестве входных данных, тогда наша цель — передать «A», «B», «C». , «EOS» в свою очередь. После ввода модели сопоставьте ее с последовательностью ответов «WXYZ EOS» в качестве вывода.
существуетСсылка для кодирования, различные входные последовательности x разной длины будут скомпилированы в вектор контекста c кодировщиком, построенным рекуррентной нейронной сетью. Вектор c обычно является последним скрытым узлом в RNN.или взвешенная сумма нескольких скрытых узлов.
существуетСсылка на расшифровку, вектор контекста c будет поступать в декодер RNN для интерпретации. Проще говоря, процесс интерпретации можно понимать как использование жадного алгоритма (алгоритм локального оптимального решения, то есть выбор метрики и выполнение наилучшего выбора в текущем состоянии по умолчанию) для возврата слова с наибольшей вероятностью , Или с помощью поиска луча (Поиск луча, алгоритм эвристического поиска, который может дать оптимальное решение в течение времени, разрешенного в зависимости от производительности оборудования), для извлечения большого количества слов до вывода последовательности, чтобы получить оптимальный выбор.
В этой статье механизм внимания не используется, но в качестве важной части модели seq2seq механизм внимания был впервые предложен Багданау и др. в 2014 г. Целью этого механизма является решение проблемы, заключающейся в том, что используются только фиксированные длины. поддерживается в RNN. Входное узкое место. В контексте этого механизма кодировщик в Seq2Seq заменяется двунаправленной RNN. Как показано ниже:
В механизме внимания наша исходная последовательностьвводятся в модель в прямом и обратном направлениях соответственно, после чего получаются положительные и отрицательные скрытые узлы, и вектор контекста c передается скрытым узлом h в RNN через разные веса.
взвешенная, формула выглядит следующим образом:
в,это функция, которая регулирует «силу реакции внимания». Мы знаем каждый скрытый узел
содержит соответствующие входные символы
и его связь с контекстом, значение этого заключается в том, что модель теперь может преодолевать ограничение ввода фиксированной длины и строить различное количество скрытых узлов в соответствии с различной длиной ввода, поэтому независимо от длины вводимой последовательности. (например, фрагмент исходного текста для перевода) Независимо от того, как вы можете получить результат вывода модели.
3. Варианты модели Seq2Seq и их приложения
3.1 Модель TA-Seq2Seq
Ссылки в этом разделеКак создавать тематические беседы | Читайте № 11 вместе каждую неделю
«Генерация нейронных ответов с учетом темы», опубликованная в AAAI в 2017 году, представляет собой статью, которая оптимизирует производительность генерации текста путем добавления информации о теме входных предложений в исходную модель seq2seq. Структура модели в этой статье выглядит следующим образом:
1. В Message Encoder модель кодирует входную информацию через сеть BGRU и получает скрытое состояние в каждый момент времени.;
2. В Topic Words модель использует модель TwitterLDA, предварительно обученную с помощью корпуса Sina Weibo, а алгоритм представляет собой свернутую выборку Гиббса. После ввода информации модель выдает все темы, а затем берет верхние n (n=100) слов с наибольшей вероятностью в качестве тем и одновременно удаляет общие слова. Наконец, преобразуйте эти тематические слова в соответствующие векторные представления., эти векторы получаются путем вычисления нормализованной частоты каждого тематического слова по всем темам, см. уравнение (4) в тексте;
3. В Message Attention эта часть аналогична обычному механизму внимания, и получается вектор контекста входного предложения.;
4. В Topic Attention это немного отличается от существующего механизма внимания, он не только рассматривает каждыйРоль , также добавлен последний скрытый вектор, полученный на первом шаге, целью этого подхода является вычисление окончательного вектора темы вектора темы
, добавлением
(обобщает информацию во входном предложении), расширенный
Влияние родственных подлежащих слов в
Это больше соответствует содержанию входного предложения;
5. Наконец, постройте вероятность декодирования, совместно затронутую вниманием к сообщению и вниманием к теме. См. уравнение 6 в тексте. Можно видеть, что окончательная вероятность формируется суммой двух вероятностей. Сумма вероятностей подчеркивает роль тематические слова.На основании этой вероятности можно расшифровать.
Суммировать:
Основная идея модели TA-Seq2Seq, предложенной в этой статье, состоит в том, чтобы получить текстовые темы путем введения модели LDA и объединить модель Seq2Seq для создания более информативных, разнообразных и связанных с темой диалоговых ответов. Идея состоит в том, чтобы совместно влиять на генерацию ответов диалога, объединяя внимание к сообщению и внимание к теме входной информации на основе существующей архитектуры модели кодировщика-декодера с механизмом внимания. По сравнению со стандартной моделью seq2seq+внимание, TA-Seq2Seq
Модель хорошо справляется с декодированием первого слова. Стандартная модель seq2seq+внимание зависит только от, а в модели TA-Seq2Seq добавление
Эффект предварительной информации,
Следовательно, модель в этой статье позволяет улучшить качество первого декодирования, что положительно сказывается на качестве всего результата декодирования.
Общая идея статьи относительно проста и понятна.В процессе чтения я лично чувствую, что есть несколько моментов, которые стоит отметить или извлечь из них уроки:
1. Вводится влияние темы. В реальном процессе диалога людей в определенной степени диалог между ними будет основан на определенной теме, и роль введения темы имеет определенную рациональность;
2. В отличие от традиционного механизма внимания, тематическое внимание не только использует информацию о состоянии тематических слов, но также использует конечное состояние входного сообщения в качестве дополнительных входных данных, чтобы ослабить вероятность нерелевантных тематических слов и усилить связанные тематические слова;
3. В процессе генерации финального диалога принимается вероятность генерации, смещенная в сторону тематических слов, чтобы увеличить вероятность появления тематических слов;
4. В отличие от традиционной модели seq2seq, при генерации первого слова диалогаи
сочетание, не только
, преимущество этого заключается в том, что можно сгенерировать более точное первое слово, что дает лучший эффект для генерации последующих слов и всего предложения, потому что генерация последующих слов будет зависеть от ранее сгенерированных слов.
3.2 Модель говорящего и модель говорящего-адресата
«Модель нейронного разговора на основе личности», опубликованная в ACL в 2016 году, предлагает две модели: модель говорящего и модель говорящего-адресата, которые моделируют респондента и респондента-адресата соответственно. Модель учитывает влияние личности пользователя при создании диалогов и решает проблему противоречивых ответов в нескольких раундах диалогов. На рисунке ниже пример 4-слойной модели seq2seq, в которой ответы до и после диалога несовместимы.Тот же вопрос, если задать его по-другому, вы получите разные ответы:
В ответ на эту проблему в статье рассматривается идентификация пользователя (например, справочные данные, профиль пользователя, возраст, страна и другая информация) в модели и строится модель seq2seq, богатая характеристиками пользователя для разных пользователей, и один и тот же пользователь для разных пользователей. Диалог с разными объектами порождает разные стили ответов.
На следующем рисунке показана базовая структура модели динамика:
Видно, что это типичная модель seq2seq, разница в том, что в декодирующую часть добавлено встраивание динамика. Поскольку информация о пользователе не может быть смоделирована явно, используется метод встраивания.Информация о говорящем закодирована во встраивании, а вектор говорящего получен посредством обучения.На рисунке слева ниже показан вектор говорящего на двумерной плоскости. Представление пользователей с похожей исходной информацией будет сгруппировано в модели, что совпадает со словом, вложенным в двумерное изображение справа внизу.
Формула традиционной модели Seq2Seq с использованием LSTM во время декодирования выглядит следующим образом:
В модели динамика формула немного увеличена,Представляет встраивание динамика:
Вторая модель — это модель говорящего-адресата. Эта модель имеет ту же идею, что и предыдущая модель. В диалоге с несколькими людьми, состоящем из нескольких раундов, каждый человек говорит по-разному, когда сталкивается с разными людьми. Моделируется только один человек, поэтому нужно учитывать говорящего, используядля представления этого режима диалога между двумя говорящими i и j, декодирование
Часть расчета выглядит следующим образом:
Наконец, чтобы ответить на бессмысленный ответ «Я не знаю, что модель Seq2Seq склонна к появлению», модель принимает метод, описанный Ли и др. (2016), генерирует N-лучший список посредством поиска луча и использует некоторые правила, чтобы изменить порядок, чтобы получить лучшие результаты.хороший результат.
Суммировать:
В статье используется идея, аналогичная встраиванию слов для моделирования и представления информации о пользователе.Та же идея может быть использована для информации об эмоциях и контексте.
3.3 Модель CopyNet
Ссылки в этом разделеIncorporating Copying Mechanism in Sequence-to-Sequence Learning
«Включение механизма копирования в обучение от последовательности к последовательности», опубликованное в ACL в 2016 году, предлагает модель CopyNet, которая опирается на метод механического запоминания, используемый людьми при работе с трудным для понимания текстом, и сочетает в себе традиционный режим генерации с шаблоны копирования объединяются для создания новых моделей. Модель CopyNet, предложенная в статье, находит сегмент во входной последовательности, а затем копирует этот сегмент в выходную последовательность. Например, следующие два примера:
Будь то традиционный кодер-декодер или модель после добавления внимания, все они в значительной степени полагаются на семантическое представление, что приводит к очень неточным, когда системе необходимо сослаться на определенную подпоследовательность ввода, например, на именованные сущности или условия даты. Вместо этого этот механизм копирования ближе к механической модели обработки человеческого языка. Модель CopyNet не только имеет нормальную возможность генерировать текст, но также может копировать соответствующие фрагменты из входной последовательности в выходную последовательность.
Вот основной скелет модели CopyNet:
Encoder:
Используйте двунаправленную модель RNN для преобразования исходной последовательности в матрицу, представленную скрытым слоем.как вход декодера.
Decoder:
Есть три отличия от традиционного RNN-декодера:
- предсказывать:Когда CopyNet предсказывает следующее слово, она объединяет вероятности в двух режимах: один — это режим генерации, режим генерации, другой — режим копирования, а модель генерации — это вероятностная модель, которая объединяет два режима.
- Обновление статуса:CopyNet не только использует вектор слов, сгенерированных в момент времени t-1, но также использует скрытое состояние его соответствующей позиции в матрице М для обновления состояния в момент времени t.
- Читать М:CopyNet будет использовать два метода внимательного чтения и выборочного чтения для чтения матрицы M и получения информации о содержимом и позиции в M соответственно.
Режим генерации и режим копирования:
Сначала составим словарь:представляет собой высокочастотный словарный запас,
представляет слово, которое встречается во входной последовательности только один раз,
Представляет внеклассовое слово OOV . В конечном итоге слова во входной последовательности представляют собой объединение этих трех наборов.
Учитывая состояние декодера в момент времени t и матрицу M, сгенерируйте следующее словоВероятность:
где g представляет режим генерации, а c представляет режим копирования Формулы вероятности для этих двух режимов:
Обновление статуса:
Формула обновления состояния декодера:
Разница в том, что здесь y в момент времени t-1, вторая половина представляет собой сумму весов состояний, связанных с y в момент времени t в матрице M, следующим образом:
Матрица М:
Матрица M содержит как информацию о содержании, так и информацию о местоположении. CopyNet управляется информацией о содержании (семантика) и языковой моделью при внимательном чтении, т. е. в генеративном режиме; в режиме копирования выборочное чтение контролируется информацией о местоположении.
Способ обновления информации о местоположении показан на следующем рисунке:
Суммировать:
Основная идея предложенной в статье модели CopyNet заключается в решении проблемы несогласованности ответов в диалогах за счет введения механизма копирования и объединения механизма генерации в исходной модели Seq2Seq. Идея состоит в том, чтобы добавить часть информации о положении в существующую архитектуру модели Encoder-Decoder с механизмом внимания при генерации текста, чтобы совместно влиять на генерацию ответов диалога. Преимущество этой статьи в том, что предложенный механизм копирования прост и осуществим при решении проблемы OVV.
3.4 Модель C2S и модель gC2S
В публикации «Генерация естественного языка с учетом контекста с рекуррентными нейронными сетями», опубликованной в AAAI в 2016 году, предложены две модели: модель C2S и модель gC2S. Основная работа статьи заключается в формировании комментариев к описанию товаров.Эксперименты показывают, что более 50% сгенерированных комментариев прошли ручную оценку, а более 90% обманули существующие алгоритмы распознавания.
Традиционная модель RNN для текстового моделирования выглядит следующим образом:
Модель C2S: Contexts to Sequences в статье показана на рисунке ниже По сравнению с традиционным методом C2S имеет дополнительный вектор, представляющий контекст в начале трансляции. Однако, когда сгенерированная последовательность слишком длинная, информацию в контексте трудно распространять, поэтому автор улучшил это:
Модель gC2S: Gated Contexts to Sequences в статье показана на рисунке ниже.Автор устанавливает прямую связь между контекстной информацией и следующим словом, называемым вентильным механизмом, для оценки взаимосвязи между текущим шагом и контекстом:
3.5 Модель A2S с улучшенным вниманием
В статье «Учимся создавать обзоры продуктов на основе атрибутов», опубликованной в EACL в 2017 году, предлагается модель преобразования атрибутов в последовательность с повышенным вниманием, которая использует атрибуты продукта, такие как пользователь, продукт, рейтинг и другую информацию, для создания отзывов о продукте. Базовая структура модели выглядит следующим образом:
Из-за разнообразия обзоров создание обзоров с учетом атрибутов элемента является сложной задачей. Среди трех атрибутов продукта, используемых в этой статье: пользователь, продукт и рейтинг, рейтинг является относительно явным ключом, который может напрямую определять использование эмоциональных слов в отзывах, в то время как пользователь и продукт являются относительно неявными ключами. различные продукты и наоборот.
Модель разделена на три части: кодировщик атрибутов, декодер последовательности и механизм внимания. Кодер атрибутов представляет собой многоуровневый персептрон для кодирования атрибутов в векторы, а декодер последовательности представляет собой многоуровневую RNN с преобразованием от грубого к точному.
На следующем рисунке показана модель без механизма внимания:
Attribute Encoder:
вявляется однократным вектором,
- соответствующий вектор атрибутов, используя
для инициализации L-уровня RNN.
Sequence Decoder:
В приведенной выше многослойной RNN горизонтальная ось — это время, а вертикальная ось — количество слоев. Скрытое состояние обновляется по следующей формуле:
Наконец, вероятность предсказания следующего слова с помощью функции softmax равна:
Attention Mechanism:
Суммировать:
Хотя эта статья представляет собой очень простое применение модели кодировщика-декодера, основанного на внимании, она углубляет мое понимание и применение модели seq2seq и является очень практичным и простым в реализации примером.
4. Резюме полного текста
Глядя на все документы, самая основная структура модели seq2seq — это кодировщик-декодер плюс механизм внимания, будь то добавление тематической информации в декодер, информация о говорящем или добавление нового механизма копирования.
Чтобы лучше прояснить идею этой серии моделей seq2seq, я нарисовал сводную диаграмму всех работ, о которых я говорил на этот раз.Черная часть среднего ядра - это самая основная основа модели seq2seq, а остальные светло - серые детали вышеуказанных документы. Некоторые из инновационной работы я сделал начал с механизмом внимания добавленным между кодером и декодером, который я называю сообщение внимания здесь. Тогда в 2017 году, AAAI в «тема Aware Neural Generation Response» аналогичным образом предложил Механизм темы внимания работает вместе с оригинальным механизмом внимания. После этого, большинство инноваций были сделаны в декодере части. В 2016 годе «Персона-Based Neural диалог Model» ACL добавили факторы воздействия векторных динамика и вектор взаимодействия. Другой статья на конференции ACL в том же году книге «Включение механизма копирования в последовательности-к-последовательности Обучение»добавлен механизм копирования и AAAI в„Context-Aware Natural Language Generation с рецидивирующим Neural Networks“в 2016 году добавлен механизм стробирования.