word2vec API

来源:互联网 发布:健康的生活方式知乎 编辑:程序博客网 时间:2024/06/16 18:31

本文翻译自

class gensim.models.word2vec.Word2Vec(sentences=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, cbow_mean=1, hashfxn=<built-in function hash>, iter=5, null_word=0, trim_rule=None, sorted_vocab=1, batch_words=10000)

用于训练、使用和评价神经网络的类;
模型能够通过save() and load() methods尽心存储或加载,
或通过save_word2vec_format() and load_word2vec_format()使用和原始word2vec 应用相兼容的格式进行存储或加载;
使用一个语句迭代器进行初始化模型,每一个语句是一个单词序列,它们用于训练;
语句迭代器可以是一个简单的列表,但是对于大型的语料库,考虑直接从磁盘或网络产生句子流的迭代器;相关 BrownCorpus, Text8Corpus or LineSentence
如果没有提供语句集,这个模型就不被初始化,这种情况出现在你打算使用另一种方式进行初始化;
sg 定义了训练算法。默认(sg=0),CBOW被使用,否则(sg =1),skip-gram 被利用;
size是特征向量的维度;
window 表示在一个句子中,当前单词和被预测的单词之间的最大距离;
alpha是学习率的初始值(将要随着训练过程线性下降到min_alpha)
seed 用于随机数生成器,

min_count 把所有总的单词频率小于这个数的所有单词忽略了;
max_vocab_size 用于限制在构建单词表过程使用的内存,如果出现比这个数多的不同单词,就修剪掉频率最小的那些单词;每100million单词类型需要1GB的RAM,设置为None即没有限制(默认);
sample 设置阈值,决定多高频率的单词被随机采样; 默认值是1e-3 可用范围(0,1e-5)
workers 使用很多工作线程用于模型训练;(使用多核机器更快的训练)
hs 如果为1 , hierarchical softmax会被用于模型训练;如果设置为0(默认), 而且negative 非零,负采样将要被用于训练;
negative ,如果大于零负采样将要被用于训练,这个负整数指定多少噪音单词被绘制(通常5-20),默认为5,如果设为0,不使用负采样;

cbow_mean 如果为0,使用语境中单词向量的和,如果为1(默认),使用语境单词向量的平均;只是用在cbow算法中;
hashfxn 被用于随机初始化权重的哈希函数;用于提高训练再现性;默认为Python中的基本的哈希函数;

iter语料库的迭代次数;(默认为5)

trim_rule 单词表的整理规则,指出某些单词应该出现在单词表中、或者被削去、或使用默认的方式处理(抛弃词频小于min_count 的);如果设置为None(min_count 被使用),或接受参数 (word, count, min_count) 的回掉,返回 utils.RULE_DISCARD, utils.RULE_KEEP or utils.RULE_DEFAULT
这个参数如果被给出,这个规则只用在构建单词表时的修建过程,不被存储为模型的一部分;

sorted_vocab如果为1(默认),在给单词分配序号前,先根据词频按照降序排序。

batch_words 传给工作线程的样本批次的目标大小;默认为10000

build_vocab(sentences, keep_raw_vocab=False, trim_rule=None, progress_per=10000, update=False)

根据语句序列,构建单词表,每一个语句一定是一个unicode编码字符串;

accuracy(questions, restrict_vocab=30000, most_similar=<function most_similar>, case_insensitive=True)

模型的计算精度,

0 0
原创粉丝点击