使用大量数据训练 Word2Vec 模型

training a Word2Vec model with a lot of data

我正在使用 gensim 来训练 word2vec 模型。问题是我的数据非常大(大约 1000 万个文档),所以当我尝试估计模型时我的会话崩溃了。

请注意,我可以在 Pandas 数据帧 df 的 RAM 中一次加载所有数据,看起来像:

text               id
long long text      1
another long one    2
...                 ...

我的简单方法是执行以下操作:

tokens = df['text'].str.split(r'[\s]+')
model = Word2Vec(tokens, min_count = 50)

但是,我的会话在尝试一次创建所有令牌时崩溃了。 gensim 有更好的方法吗?喜欢逐行输入数据吗?

谢谢!

逐行遍历您的数据框,一次只标记一行。依次将每个标记化文本写入文件,标记之间有空格,每个文本末尾有一个行尾。

然后您可以使用 Gensim 中的 LineSentence 实用程序 class 为 Word2Vec 模型提供从磁盘读取的可迭代语料库。