Второй метод обработки признаков последовательности: на основе метода сверточных нейронных сетей.

машинное обучение

предисловие

В предыдущей статье были рассмотрены основыПодход, основанный на вниманииДля обработки признаков последовательности в этой статье в основном представлена ​​обработка признаков последовательности на основе базового метода сверточной нейронной сети, то есть метода TextCNN. Для введения, предыстории и применения функций последовательности, пожалуйста, обратитесь к подробному введению в предыдущей статье.Вот краткий обзор определения.Когда пользователь использует приложение или веб-сайт, пользователь будет генерировать некоторые поведения для элементов, например, щелчок по интересующему элементу, сбор или покупка предметов и т. д., и такое поведение часто свидетельствует о том, что пользователь заинтересован в этих элементах, и размещение этих взаимодействующих элементов на временной шкале сформирует последовательность элементов, которые интересуют пользователя. in. Объекты данных, которые мы хотим обработать, похожи Как показано на рисунке 1, функции последовательности с отношениями временного ряда взяты в качестве примера последовательности элементов, которые интересуют пользователя в качестве объекта обработки.

▲ Рисунок 1. Последовательность элементов, которые интересуют пользователей

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

Принцип TextCNN

На рис. 2 показана схема моделирования TextCNN и классификации последовательностей предложений:

▲ Рисунок 2. Схематическая диаграмма TextCNN[1]
  1. Встраивание:Каждое слово, включая знаки препинания, обрабатывается в 5-мерный вектор вложения, а длина предложения равна 7, поэтому после обработки это матрица 7 × 5, как показано в первом столбце на рисунке 2.
  2. Свертка:После слоя одномерной свертки с размерами ядра 2, 3 и 4 каждый размер ядра имеет 2 ядра свертки, поэтому после свертки выводятся 6 результатов свертки, и схематическая диаграмма ядра свертки показана на рисунке 2. Второй результат после свертки показан в третьем столбце рисунка 2. Следует отметить, что из рисунка 2 видно, что высоты ядер свертки равны 2, 3 и 4 соответственно, а ширины ядер свертки все такие же, как размеры вектора вложения, потому что каждый вектор представляет собой слово, в процессе выделения признаков слово как наименьшая зернистость текста должно обеспечивать целостность его информации.
  3. Максимальное количество пулов:Выполните MaxPooling для 6 результатов, полученных после свертки, а затем выполните concact и, наконец, получите 6-мерный вектор признаков, как показано в четвертом столбце на рисунке 2.
  4. Полное подключение и Softmax:Полностью связанный слой с 2 ​​нейронами добавляется после 6-мерного вектора признаков, и выполняется нормализация softmax для получения значения вероятности классификации, как показано в пятом столбце на рисунке 2.

применяется к функциям последовательности

В основном мы узнаем из описанного выше метода извлечения признаков TextCNN, то есть о том, как изменить матрицу встраивания в окончательный 6-мерный вектор признаков, описанный выше. Как показано на рисунке 3:

▲ Рисунок 3. Обработка признаков последовательности TextCNN

Как правило, когда TextCNN применяется к обработке функций последовательности, kernel_sizes одномерной свертки устанавливается равным 2 или 3, или оба используются одновременно.Количество ядер свертки каждого kernel_sizes обычно равно 1. Когда размер ядра одномерной свертки установлен равным 2 и 3 соответственно, можно извлекать локальную информацию разного размера, что обеспечивает разнообразие признаков.

Кроме того, чтобы компенсировать недостатки извлечения глобальной информации, метод выделения глобальных признаков также можно комбинировать с объединением максимального/среднего/суммы, чтобы извлеченные признаки имели как глобальную, так и локальную информацию [2], как показано на рисунке 4, где глобальное объединение и textCNN совместно используют матрицу встраивания признаков последовательности.

▲ Рисунок 4. Обработка признаков последовательности в сочетании с TextCNN и глобальным объединением

Суммировать

Сверточная нейронная сеть имеет естественные преимущества для извлечения локальных признаков из-за ее метода расчета скользящей свертки, поэтому она стала предпочтительным методом моделирования для извлечения локальной информации. Кроме того, метод выделения глобальных признаков также можно комбинировать с методом глобального объединения, чтобы компенсировать отсутствие извлечения глобальных признаков и улучшить разнообразие признаков. В то же время метод обработки многозначных признаков категории был представлен ранее, и textCNN также может использоваться для извлечения локальных признаков.

использованная литература

[1] Convolutional Neural Networks for Sentence Classification

[2] Convolutional Sequence Embedding Recommendation Model