Как я могу получить вектор из выходной матрицы в FastText?

В этом исследовании автор обнаружил, что Word2Vec генерирует два вида вложений (IN & OUT).

https://arxiv.org/abs/1602.01137

Ну, вы можете легко получить это, используя атрибут syn1 в gensim word2vec. Но в случае gensim fastText, syn1 действительно существует, но так как концепция fastText основана на подслове, невозможно получить вектор для слова из выходной матрицы путем сопоставления индексов. Знаете ли вы какой-либо другой способ расчета вектора с использованием выходной матрицы?

1 ответ

В FastText вектор для слова является комбинацией:

  • вектор полного слова, если он существует; а также
  • все векторы подслов

Вы можете просмотреть метод gensim, который при необходимости возвращает вектор, составленный из подслов, по адресу:

https://github.com/RaRe-Technologies/gensim/blob/2ccc82bf50bcfbee44932c160db076a873cf893e/gensim/models/keyedvectors.py

(Я думаю, что этот метод может иметь ошибку, по сравнению с оригинальным подходом FastText, в том, что этот метод gensim, возможно, должен также добавлять векторы подслов к целому вектору слова, даже когда доступен вектор целого слова.)

Другие вопросы по тегам