Как использовать векторное представление слов (как получено из Word2Vec и т.д.) Как функции для классификатора?

Я знаком с использованием функций BOW для классификации текста, где мы сначала находим размер словаря для корпуса, который становится размером нашего вектор-функции. Для каждого предложения/документа и для всех его составляющих слов мы тогда ставим 0/1 в зависимости от отсутствия/наличия этого слова в этом предложении/документе.

Однако теперь, когда я пытаюсь использовать векторное представление каждого слова, создается глобальный словарь?

Ответ 1

Предположим, что размер векторов равен N (обычно от 50 до 500). Наивный способ обобщения традиционного обобщающего BOW - это просто заменить 0 бит (в BOW) на N нулей и заменить 1 бит (в BOW) на реальный вектор (скажем, из Word2Vec). Тогда размер функций будет N * | V | (По сравнению с векторными векторами | V | в BOW, где | V | - размер словаков). Это простое обобщение должно отлично работать для достойного количества учебных случаев.

Чтобы уменьшить вектор объектов, люди используют различные методы, такие как использование рекурсивной комбинации векторов с различными операциями. (См. Рекурсивную/повторяющуюся нейронную сеть и аналогичные трюки, например: http://web.engr.illinois.edu/~khashab2/files/2013_RNN.pdf или http://papers.nips.cc/paper/4204-dynamic-pooling-and-unfolding-recursive-autoencoders-for-paraphrase-detection.pdf)