Это ретранслированное описание не совсем верно. Векторы слов, традиционно извлекаемые из модели word2vec, поступают из «матрицы проекции», которая преобразует отдельные слова в правильный вектор для мелкой нейронной сети.
(Вы могли бы думать о матрице проекции как о превращении однократного кодирования в плотное вложение для этого слова, но библиотеки обычно реализуют это с помощью словарного поиска - например: «какая строка векторов -матрицу, я должен консультироваться для этого слова-токена? ")
Есть другая матрица весов, приводящая к выходным узлам модели, интерпретация которых изменяется в зависимости от режима обучения. В общем случае по умолчанию для отрицательной выборки для каждого известного слова существует один узел, поэтому вы можете также интерпретировать эту матрицу как наличие вектора на каждое слово. (В режиме иерархического софтмакса известные слова не кодируются как отдельные выходные узлы, поэтому сложнее интерпретировать отношение этой матрицы к отдельным словам.)
Однако этот второй вектор на слово редкосделано непосредственно доступным библиотеками. Чаще всего слово-вектор считается просто обученным входным вектором из матрицы проекции. Например, формат экспорта из оригинальной версии Google word2vec.c
сохраняет только эти векторы, а большой набор векторов "GoogleNews", который они выпустили, имеет только эти векторы. (Нет усреднения с другим представлением выходной стороны.)
Некоторая работа, особенно работа Mitra и всех исследований Microsoft (в " Модели двойного встраивания пространства " и связанные записи), имеетотметил, что эти выходные векторы могут быть полезны и в некоторых приложениях, но я не видел много других работ, использующих эти векторы. (И даже в этой работе они не усредняются с традиционными векторами, а используются в качестве отдельной опции для некоторых целей.)
Вы должны взглянуть на кодиз тех библиотек, которые вы используете, чтобы увидеть, сможете ли вы извлечь их из их полного представления модели после обучения. В библиотеке Python gensim
эта вторая матрица в случае отрицательной выборки является свойством модели с именем syn1neg
, после имени оригинала word2vec.c
.