Если бы модели обучались отдельно, даже если бы они имели одинаковое количество измерений, векторы не были бы значимо сопоставимыми.
Только чередующийся тренировочный перетягивание каната между словами, которые выучиваются для одной и той же модели из смешанных различных контекстов, заставляет их конечные позиции иметь значимые расстояния.
Например, даже если обе модели предназначены для одного и того же языка и содержат много похожих текстовых примеров, слово «яблоко» в одном и слово «яблоко» в другом могут оказаться в произвольно различном конечном позиции - благодаря как случайной инициализации, так и большому количеству случайного использования во время работы алгоритма. Расстояние / направление между этими положениями по существу не имеет смысла. Единственное соответствие, которое следует ожидать, состоит в том, что из учебных материалов примерно одинакового качества / достаточности соседи слова должны быть очень похожими.
Если две модели содержат много одинаковых слов, Существует возможность отдельно изучить «перевод» между двумя пространствами в отдельном процессе оптимизации. Он берет большое количество общих ключевых слов, изучает математическое преобразование, которое выполняет хорошую работу по перемещению слов из одного координатного пространства в другое, и затем это же преобразование может быть применено к словам, которых нет в обеих моделях.
Этот метод имел некоторый успех, предлагая похожие слова на другом языке в машинном переводе, и есть некоторый пример реализации кода в TranslationMatrix
классе библиотеки gensim
:
https://radimrehurek.com/gensim/models/translation_matrix.html
(Обычно используется между моделями одинаковой размерности, но может работать более широко.)