python模块

word2vec模型训练问题--解决内存过载out of mem

2018-08-22  本文已影响64人  布口袋_天晴了

选择第四种方法,可以防止加载数据内存过载问题。  因为在模型训练时,sentences是一个迭代器,不会把全部数据加载到内存,只把需要的一部分数据加载到内存中。

语料载入方法:

1)sentences = [['你好', ',', '好久不见', '。'], ['今天', '天气', '真好' ',', '我们', '出去', '玩', '吧', '。']]

2)sentences=word2vec.Text8Corpus('语料名')

http://mattmahoney.net/dc/text8.zip   可下载数据 text8.zip解压 text8文件里的数据格式是以空格分开的,只有一行数据:sentences=word2vec.Text8Corpus('text8')   它会自己切分句子长度 sentences=word2vec.Text8Corpus('cropus.txt') 

3)sentences = word2vec.LineSentence('语料名')

Python gensim.models.word2vec.LineSentence() Examples

sentences = word2vec.LineSentence('cropus.txt')    cropus.txt是多行的

4)sentences = word2vec.PathLineSentences('baikeData\\')

处理某个目录下的文件,按照文件名字母排序的顺序处理。

sentences = word2vec.PathLineSentences('baikeData\\')

.txt文件的格式:多行,且词与词之间用空格分开

参考文章:

【1】models.word2vec – Word2vec embeddings

【2】gensim

【3】Online Word2Vec for Gensim

上一篇下一篇

猜你喜欢

热点阅读