gpt4 book ai didi

python - 组合/添加来自不同 word2vec 模型的向量

转载 作者:行者123 更新时间:2023-12-01 01:16:59 26 4
gpt4 key购买 nike

我正在使用 gensim 创建在大型文本语料库上训练的 Word2Vec 模型。我有一些基于 StackExchange 数据转储的模型。我还有一个基于英语维基百科语料库训练的模型。

假设两个模型中都有一个词汇术语,并且模型是使用与 Word2Vec 相同的参数创建的。有没有什么方法可以组合或添加两个单独模型中的向量来创建一个新模型,该模型具有与我最初组合两个语料库并对此数据进行训练时产生的相同单词向量?

我想这样做的原因是我希望能够生成具有特定语料库的模型,然后如果我稍后处理新语料库,我希望能够将此信息添加到现有模型中,而不是而不是必须组合语料库并从头开始重新训练所有内容(即,我希望避免每次想要向模型添加信息时重新处理每个语料库)。

gensim 或其他地方是否有内置函数可以让我组合这样的模型,向现有模型添加信息而不是重新训练?

最佳答案

一般来说,只有一起训练的词向量才有有意义的可比性。 (训练过程中交错的拉锯战将它们移动到有意义的相对方向,并且在此过程中存在足够的随机性,即使在同一语料库上训练的模型也会因放置单个单词的位置而有所不同。)

使用两个语料库中的单词作为路标,可以学习从一个空间 A 到另一个空间 B 的转换,尝试将这些已知共享单词移动到另一个空间中的相应位置。然后,对 A 中不在 B 中的单词应用相同的转换,您可以找到这些单词的 B 坐标,使它们与其他本地 B 单词进行比较。

该技术已在 word2vec 驱动的语言翻译(其中路标对是已知翻译)中取得了一些成功,或者作为使用来自其他地方的词向量来增长有限词向量集的方法。我不知道它是否足以满足您的目的。我想它可能会误入歧途,特别是当两个训练语料库以截然不同的方式使用共享 token 时。

gensim 库中有一个 TranslationMatrix 类可以为您执行此操作。请参阅:

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

这里有一个使用它的演示笔记本:

https://github.com/RaRe-Technologies/gensim/blob/develop/docs/notebooks/translation_matrix.ipynb

(只要可行,在混合语料库上进行完整的训练,并包含所有单词示例,可能会做得更好。)

关于python - 组合/添加来自不同 word2vec 模型的向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54243797/

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