from gensim.models import Word2Vec

关于word2vec,这个gensim的库可以在win下直接用,而直接安装的word2vec库是不能在win下用的,因为安装都不成功。

Installing collected packages: word2vec
    Running setup.py install for word2vec ... error
    ERROR: Command errored out with exit status 1:
     command: 'd:\python36\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\ggca1\\AppData\\Local\\Temp\\pip-install-2wl0oxut\\word2vec\\setup.py'"'"'; __file__='"'"'C:\\Users\\ggca1\\AppData\\Local\\Temp\\pip-install-2wl0oxut\\word2vec\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\ggca1\AppData\Local\Temp\pip-record-7e3e1b2c\install-record.txt' --single-version-externally-managed --compile --install-headers 'd:\python36\Include\word2vec'
         cwd: C:\Users\ggca1\AppData\Local\Temp\pip-install-2wl0oxut\word2vec\
    Complete output (3 lines):
    running install
    Compilation command: gcc C:\Users\ggca1\AppData\Local\Temp\pip-install-2wl0oxut\word2vec\word2vec\src\win32/word2vec.c -o Scripts\word2vec.exe -O2 -Wall -funroll-loops
    error: [WinError 2] 系统找不到指定的文件。
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'd:\python36\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\ggca1\\AppData\\Local\\Temp\\pip-install-2wl0oxut\\word2vec\\setup.py'"'"'; __file__='"'"'C:\\Users\\ggca1\\AppData\\Local\\Temp\\pip-install-2wl0oxut\\word2vec\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\ggca1\AppData\Local\Temp\pip-record-7e3e1b2c\install-record.txt' --single-version-externally-managed --compile --install-headers 'd:\python36\Include\word2vec' Check the logs for full command output.

说实话这已经是NLP的范畴了,但是现在要学习item2vec,它是根据word2vec改造的,所以没办法避免。

__init__(self, sentences=None, corpus_file=None, size=100, alpha=0.025, window=5,
 min_count=5, max_vocab_size=None, sample=0.001, seed=1, workers=3, min_alpha=0.0001, 
sg=0, hs=0, negative=5, ns_exponent=0.75, cbow_mean=1, 
hashfxn=<built-in function hash>, iter=5, null_word=0, trim_rule=None, 
sorted_vocab=1, batch_words=10000, compute_loss=False, 
callbacks=(), max_final_vocab=None)

说实话这已经是NLP的范畴了,但是现在要学习item2vec,它是根据word2vec改造的,所以没办法避免。

根据help下的解释,sentences是列表中套列表,对于大的语料,则考虑一个迭代器。

corpus_file语料文件地址,这俩参数只能给出一个,如果不给出,那么没有初始化,需要其他方法初始化。

size词向量的维度,alpha 浮点数,初始的学习率,min_alpha最小的学习率,训练中线性降低到该值

window窗长,在一个sentence中当前词和预测词的最大距离;

min_count最小频次/数,忽略掉出现次数小于该值的所有词。

workers训练的核数;

sg 训练的算法,1是skip-gram; otherwise CBOW.

hs 如果是1,训练模型中应用hierarchical softmax,如果是0,且 `negative`非0,那么将采用负采样

negative整数,如果大于0,负采样,意思是引入多少个噪声词,通常是5~20个;是0的话,将不用负采样。

ns_exponent 浮点,指数,用于shape负采样分布。1.0表示采样与频次成比例,0.0表示采样所有的词等同,复数值采样低频次的词比高频次的次更多。最初Word2Vec paper中默认值是0.75
cbow_mean : {0, 1}如果是 0, 使用背景词向量的和,如果是1,使用均值,仅适用于CBOW

sample浮点,阈值,配置高频词随机下采样的阈值,有用的范围(0, 1e-5).

seed : int,用于每个词的初始化向量随机数种子

max_vocab_size : int, 在vocabulary创建中限制RAM,每个千万词类型需要大概1GB RAM ,如果没有限制,设置为None

max_final_vocab : int通过自动选择一个匹配的min_count限制vocab到一个目标vocab大小。如果指定的min_count比计算的min_count大,那么指定的min_count将会被使用,如果不需要,那么设置为None

 iter : int 语料的迭代次数

sorted_vocab : {0, 1}, 如果是1,在设置词索引前对vocabulary降频排序

batch_words : int,目标大小(几个词)传入thread

compute_loss: bool,如果是True,计算loss且存储,后面可以使用

另外有相关问题可以加入QQ群讨论,不设微信群

QQ群:868373192 

语音图像视频深度-学习群

发布了240 篇原创文章 · 获赞 233 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/SPESEG/article/details/104979250
今日推荐