我已经使用skipgram技术训练了2600万条推文来创建单词嵌入,如下所示:
sentences = gensim.models.word2vec.LineSentence('/.../data/tweets_26M.txt')
model = gensim.models.word2vec.Word2Vec(sentences, window=2, sg=1, size=200, iter=20)
model.save_word2vec_format('/.../savedModel/Tweets26M_All.model.bin', binary=True)
但是,我不断在我的数据库中收集更多推文。例如,当我有200多万条推文时,我想更新我的嵌入,同时考虑这个新的2M推文。
是否可以加载以前训练过的模型并更新嵌入的权重(可能会在我的模型中添加新的单词嵌入)?或者我从一开始就需要28(26 + 2)万条推文?使用当前参数需要5个小时,并且需要更长时间才能获得更大的数据。
另一个问题是,是否可以直接从数据库中检索句子参数(而不是从 txt , bz2 或 gz 文件中读取它)?随着我们要训练的数据越来越大,绕过文本读/写操作会更好。