H2O Word2Vec несовместимые векторы - PullRequest
0 голосов
/ 06 сентября 2018

У меня общий вопрос по конкретной теме.

Я использую векторы, сгенерированные Word2Vec, чтобы использовать их в качестве функций в моей модели распределенного случайного леса для классификации некоторых записей. У меня есть миллионы записей, и я получаю новые записи ежедневно. Из-за поступления новых записей я хочу, чтобы новые записи были закодированы с той же векторной моделью, что и предыдущие записи. Это означает, что слово «АТ» будет одним и тем же вектором сейчас и в будущем. Я знаю, что Word2Vec использует случайное начальное число для генерации векторов для слов в корпусе, но я хочу отключить это. Мне нужно установить начальное значение таким образом, чтобы, если я обучу модель для части данных сегодня, а затем снова для тех же данных в будущем, я хочу, чтобы она генерировала ту же модель с точно такими же векторами для каждого слова. Проблема с генерацией новых моделей и последующим кодированием состоит в том, что для кодирования этих записей требуется много времени, и, кроме того, моя модель DRF для классификации больше не годится, потому что вектор слов изменился. Поэтому я должен переучить новый DRF. Обычно это не было бы проблемой, так как я мог бы просто тренировать одну модель, а потом использовать ее вечно, однако я знаю, что хорошей практикой является обновление ваших пакетов на регулярной основе. Это проблема для h2o, так как после обновления нет обратной сопоставимости с моделью, созданной в предыдущей версии.

Есть ли какие-либо источники, которые я мог бы прочитать о том, как установить начальное значение в модели Word2Vec для h2o в python? Я использую Python версии 3 и H2O версии 3.18

1 Ответ

0 голосов
/ 07 сентября 2018

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

Насколько велик ваш текстовый корпус? Ценой замедления обучения модели можно получить воспроизводимый результат с ограничением алгоритма на использование только одного потока (параметр запуска h2o -nthread).

...