使用大量数据训练 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
模型提供从磁盘读取的可迭代语料库。
我正在使用 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
模型提供从磁盘读取的可迭代语料库。