Предисловие:В последние годы генерация текста постепенно становится горячей темой машинного обучения. Не только 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 году добавлен механизм стробирования.