Pointer Network для генерации текстовых сводок

искусственный интеллект NLP

Сеть указателей Сеть указателей представляет собой модель Seq2Seq, но результат, предсказанный ее декодером, получается из входной последовательности кодировщика. Сеть указателей получает выходные данные из входной последовательности, поэтому она больше подходит для создания текстовых сводок и может лучше избежать проблемы OOV (недостаточно словарного запаса). В этой статье в основном представлены два алгоритма суммирования текста с использованием сети указателей: сети указателей-генераторов и сеть указателей с несколькими источниками.

1. Введение

Сети указателей были представлены в предыдущих статьях.Pointer Network, сеть указателей представляет собой модель Seq2Seq, но результат, предсказанный ее Декодером, получается из входной последовательности Кодировщика. Сеть указателей изменяет использование традиционной модели Seq2Seq Attention и использует наивысший показатель Attention во входной последовательности Encoder в качестве текущего вывода. На следующем рисунке показана разница между использованием традиционного Seq2Seq Attention и Pointer Network. Проще говоря, традиционный Seq2Seq вычисляет распределение вероятностей всего словаря при прогнозировании, в то время как Pointer Network прогнозирует распределение вероятностей каждого слова во входной последовательности.

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

Поскольку Pointer Network может копировать токен входной последовательности в качестве вывода, он больше подходит для суммирования текста, а Pointer Network может в определенной степени облегчить проблему OOV. Например, слово «Хаски» не появляется в тренировочном наборе, но «Хаски» появляется в прогнозе. General Seq2Seq обычно заменяет «Хаски» на «UNK» при создании сводки, но Pointer Network может напрямую извлекать входную последовательность. из входной последовательности. Скопируйте «Хаски» в качестве вывода.

В этой статье в основном представлены два алгоритма суммирования текста с использованием сети указателей: сети указателей-генераторов и сеть указателей с несколькими источниками. Сети генераторов указателей — это суммарный алгоритм, в котором используются как экстрактивные, так и генеративные методы, в то время как сеть указателей с несколькими источниками в основном является экстрактивной.

2.Pointer-Generator Networks

Сети генераторов указателей взяты из статьи «Перейти к сути: обобщение с помощью сетей генераторов указателей». Основное содержание Pointer-Generator Networks включает следующие два пункта:

  • Традиционная модель Seq2Seq может рассчитать распределение вероятностей всех токенов во всем словаре во время вывода.На этой основе сети генераторов указателей интегрируют распределение вероятностей токена входной последовательности, рассчитанное сетью указателей. Это облегчает проблему OOV и дает модели возможность генерировать новые слова и копировать исходную последовательность.
  • Чтобы решить проблему, связанную с тем, что одни и те же слова легко повторяются, когда Seq2Seq генерирует сводки, Pointer-Generator Networks добавила механизм покрытия, который может записывать сгенерированный контент и избегать повторного создания.

2.1 Модель

Pointer-Generator Networks добавляет сеть указателей на основе Seq2Seq.Во-первых, взгляните на диаграмму структуры модели Seq2Seq, как показано на следующем рисунке.

В Seq2Seq выходные данные декодера и выходные данные кодировщика в каждый момент времени используются для вычисления оценки внимания, а выходные данные кодировщика объединяются в соответствии с оценкой внимания для получения вектора контекста, а выходные данные контекста вектор, а декодер передается в Softmax для получения распределения вероятностей токенов в словаре. Формула для расчета выглядит следующим образом:

Pointer-Generator Networks добавляет механизм сети указателей в Seq2Seq Модель показана на рисунке ниже.

Можно видеть, что сети генераторов указателей добавляют распределение внимания (синяя часть на рисунке) к распределению вероятностей P_vocab (зеленая часть на рисунке), предсказанному Seq2Seq, для получения окончательного распределения вероятностей. Видно, что в P_vocab нет слова «2-0», но «2-0» включено в распределение «Внимание», поэтому в финальном распределении также добавлено «2-0», чтобы облегчить проблему OOV. Сети генераторов указателей объединяют два распределения вместе с помощью параметра p_gen, который изучается.

2.2 Механизм покрытия

Pointer-Generator Networks добавляет механизм покрытия, чтобы модель не создавала повторяющиеся последовательности и отсутствующие переводы. через вектор покрытияct записывает все оценки внимания до времени t, поэтому по значению каждого маркера в векторе покрытия можно судить о том, использовался ли маркер, и более вероятно, что будет использовано более высокое значение.

Затем добавьте вектор покрытия при расчете Attention.

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

2.3 Экспериментальный эффект

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

3.Multi-Source Pointer Network

Сеть указателей с несколькими источниками (далее именуемая MS-Pointer) взята из статьи «Сеть указателей с несколькими источниками для обобщения названий продуктов», которая предлагается командой Alibaba для создания названий продуктов.

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

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

Сети MS-Pointer и Pointer-Generator аналогичны, разница в том, что MS-Pointer использует кодировщик заголовков для получения распределения внимания токена заголовка, использует кодировщик «знаний» для получения распределения внимания «знаний» и плавкие предохранители. два распределения внимания вместе. Принципиальная схема модели выглядит следующим образом:

Как показано на рисунке выше, MS-Pointer объединяет два распределения внимания, а объединенные параметры рассчитываются по следующей формуле:

4. Ссылки

  • Get To The Point: Summarization with Pointer-Generator Networks
  • Multi-Source Pointer Network for Product Title Summarization