Skip to content

Latest commit

 

History

History
14 lines (9 loc) · 3.66 KB

File metadata and controls

14 lines (9 loc) · 3.66 KB

Distributed Representations of Sentences and Documents [link]

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

В статье предлагается метод “Paragraph Vector”, с помощью которого можно строить векторное представление фиксированного размера для “кусков” текста различной длины. Например, один из простых подходов - среднее взвешенное эмбеддингов всех слов из документа. Более сложный - объединение векторов в порядке, полученном после применения синтаксического дерева (парсера) (by Socher et al., 2011b). У этих подходов есть свои недостатки: у первого - теряется порядок слов, а второй - работает только для предложений.

Теперь же рассмотрим метод “Paragraph Vector”. Эмбеддинги слов получаются следующим образом - нейросеть учат предсказывать следующее за контекстом слово: по контексту (“кошка”, “села”) нейросеть должна предсказывать слово (“на”). После обучения слова, имеющие схожее значение, находятся рядом в векторном пространстве. Например, “сильный” и “мощный” близки друг к другу, а “Париж” и “мощный” находятся на определенной дистанции.

Векторы предложений используются наравне с векторами слов в задаче предсказания слова по контексту (к входным параметрам нейросети (“кошка”, “села”) добавляется еще один параметр, представляющий предложение/документ): (paragraph id, word_1, …, word_(n-1)) -> (word_n), где paragraph id - вектор, представляющий семантический смысл предложения - его можно рассматривать как “тему” предложения/документа, word_i - эмбеддинги слов, выбранных из предложения/документа id. Вектор предложения после обучения может быть использован как признак, характеризующий предложение/документ (вместо или в дополнение к мешку слов).

Главной особенностью “Paragraph Vector” является то, что эти векторы предложений можно получить из неразмеченных данных, т.е. unsupervised.