gpt4 book ai didi

python - Word2Vec 比较来自不同模型的不同大小的向量

转载 作者:行者123 更新时间:2023-12-01 13:10:42 24 4
gpt4 key购买 nike

我已经使用 gensim 为不同的语言训练了多个 word2vec 模型,但是每个模型的大小都不同。

向量是这样获得的:

vec_sp = word_vectors_sp.get_vector("uno")

如何使用vec_sp 作为具有不同向量大小的不同模型的输入:

word_vectors_en.most_similar(positive=[vec_sp], topn=1)

获取第二个模型中的对应词

最佳答案

如果模型是单独训练的,即使它们具有相同的维数,向量也不会具有有意义的可比性。

只有在从不同上下文的混合中为同一模型学习的单词之间的交错训练拔河,才会导致它们的最终位置具有有意义的距离。

例如,即使两个模型都针对同一种语言,并且包含许多相似的文本示例,一个词中的“apple”和另一个词中的“apple”可能会出现任意不同的最终位置——谢谢算法运行期间的随机初始化和大量随机化使用。这些位置之间的距离/方向本质上是没有意义的。唯一可以预期的一致性是,从质量/充分性大致相似的训练 Material 中,单词的邻居应该非常相似。

如果两个模型确实包含许多相同单词,则有可能在单独的优化过程中分别学习两个空间之间的“翻译”。它采用大量共享 anchor 词,学习一种数学变换,可以很好地将词从一个坐标空间移动到另一个坐标空间,然后可以将相同的变换应用于不在两个模型中的词。

这种技术在机器翻译中用另一种语言建议相似词方面取得了一些成功,并且在 gensim 库的 TranslationMatrix 类中有一些示例实现代码:

https://radimrehurek.com/gensim/models/translation_matrix.html

(它通常用于相同维度的模型之间,但它可能更通用。)

关于python - Word2Vec 比较来自不同模型的不同大小的向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60290296/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com