Перейти к основному содержимому

Эмбеддинги параграфов

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

Для определённости будем рассматривать случай параграфов. Решаемая задача состоит в том, чтобы для каждого известного параграфа обучающей выборки pp сопоставить его эмбеддинг edRDe_d\in\mathbb{R}^D.

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

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

Вспомним классическое "казнить нельзя помиловать".

В работе [1] предложено кодировать параграфы эмбеддингами двумя методами: PV-DM и PV-DBOW.

PV-DM

Метод PV-DM (Distributed Memory Model of Paragraph Vectors) оценивается точно так же, как метод CBOW для слов, но центральное слово скользящего окна предсказывается не только по среднему от эмбеддингов окружающих его слов, но и по эмбеддингу параграфа ede_d, в котором это слово находится. Для этого можно

  • строить эмбеддинг контекста слова, усредняя не только по эмбеддингам соседних слов, но и по эмбеддингу параграфа.

  • конкатенировать эмбеддинг параграфа к эмбеддингу, построенному как среднее окружающих слов контекста.

Графически это можно представить в следующем виде [1]:

PV-DBOW

Метод PV-DBOW (Distributed Bag of Words version of Paragraph Vector) работает точно так же, как Skip-Gram для слов: обучающий текст обрабатывается скользящим окном, но на этот раз

  • предсказываются все слова окна (т.е. и центральное слово окна тоже)

  • контекстом выступает не центральное слово, а параграф, содержащий слова окна.

Графически это представляется следующей схемой [1]:

Ограничения метода

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

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

Литература

  1. Le Q., Mikolov T. Distributed representations of sentences and documents //International conference on machine learning. – PMLR, 2014. – С. 1188-1196.