关于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
语音图像视频深度-学习群