Что такое вектор для конкретного слова в CBOW word2vec? - PullRequest
0 голосов
/ 19 сентября 2018

Классический CBOW word2vec выглядит так:

CBOW word2vec scheme

Что такое вектор для конкретного слова в этой схеме?Как это получается из WI и WO матриц?Или полезные слова-векторы получаются только из скип-граммы word2vec?

1 Ответ

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

Что касается показанной вами диаграммы, каждая строка в матрице WI представляет собой слово-вектор.(После тренировки, когда вы спрашиваете у модели слово типа «кошка», она узнает, в каком слоте от 0 до V хранится слово «кошка», а затем возвращает этот ряд WI * 1006.* matrix.)

WI инициализируется случайными векторами малой величины. WO оставляется в виде нулей в начале обучения.Во время обучения различные строки WO и WI многократно улучшаются с помощью корректирующих толчков обратного распространения, чтобы сделать выходной уровень сети более прогнозирующим для каждого (контекст) -> (слово)пример обучения.

Для пропускаемой граммы вы можете представить входной слой на этой диаграмме как горячее кодирование одиночного контекстного входного слова.Для CBOW вы можете представить входной слой на этой диаграмме как счетчик каждого слова в контексте из нескольких слов как значения x i - большинство ноль (разреженный).На практике в CBOW каждое слово ищется в WI , а их векторы-слова усредняются для создания активации скрытого слоя.

Как skip -gram, так и CBOW работают нормально, создавая полезные векторы слов внутри WI .

...