Чистый режим PV-DBOW (dm=0
), который быстро обучается и часто работает очень хорошо (особенно на коротких документах), вообще не использует скольжение window
.Каждый вектор для каждого документа просто обучается тому, чтобы быть способным непосредственно предсказывать слова документа - соседние слова не имеют никакого значения.
Только когда вы либо переключаетесь в режим PV-DM (dm=1
), либо добавляете чередующийся вектор пропускаемых слов (dm=0, dbow_words=1
), имеет значение window
.И затем, окно обрабатывается так же, как в обучении Word2Vec: если оно проходит через любой конец текста, оно просто усекается, чтобы не проходить через конец, возможно, оставляя эффективное окно односторонним.
Так что, если у вас есть текст "ABCDE" и значение window
из 2, когда вы предсказываете 1-е слово "A", только "B" и "C" справа вносят свой вклад (потому что естьноль слов слева).При предсказании 2-го слова «B», «A» слева и «C» и «D» справа вносят свой вклад.И так далее.
Дополнительным недостатком является то, что для более сильного взвешивания близлежащих слов вычислительно-эффективным способом фактическое окно, используемое для любого целевого предсказания, на самом деле имеет случайный размер от 1 до настроенного window
значение.Таким образом, для window=2
, половину времени он использует только по 1 окну с каждой стороны, а другую половину - по полному окну 2. (Для window=5
используется эффективное значение 1 для 20%предсказаний, 2 для 20% предсказаний, 3 для 20% предсказаний, 4 для 20% предсказаний и 5 для 20% предсказаний.) Это эффективно дает более близким словам больше влияния, без полного вычислительногостоимость включения всех слов полного окна каждый раз или каких-либо дополнительных вычислений частичного взвешивания.