基于Gensim的work2vec程序实现

3 篇文章 0 订阅
work2vec官方API地址
models.word2vec – Word2vec embeddings

models.word2vec

这个模块实现了word2vec算法。其中包括基于Hierarchical和Negative的CBOW和Skip-gram网络。

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, ns_exponent=0.75, cbow_mean=1, hashfxn=, iter=5, null_word=0, trim_rule=None, sorted_vocab=1, batch_words=10000, compute_loss=False, callbacks=(), max_final_vocab=None)

  • sentences, 训练文档,可以是list,大文件也可用Text8Corpus读入.多语料是,将每份语料分词后装入一个列表中,再把多份语料的列表作为元素放入新的列表中。
  • size, (int) 定义词向量维度
  • window,(int)定义当前词和预测词之间的最大距离,即预测词与它前面多少个词有关。
  • min_count,(int)词频限制,即当某词的词频小于该值时,该词忽略。
  • workers,(int)使用多少线程来训练模型
  • sg,{0,1},0=CBOW;1=Skip-gram
  • hs,{0,1}, 0=negative; 1=Hierarchical;default=0
  • cbow_mean,{0,1},0说明CBOW的输入层到映射层为加和;1说明输入层到映射层为求平均。
  • alpha,初始化学习率
  • min_alpha,在运行过程中,学习率会随之减少。该参数为学习率下线。
  • seed,词向量的随机初始化种子
  • max_vocab_size: 设置词向量构建期间的RAM限制。如果所有独立单词个数超过这个,则就消除掉其中最不频繁的一个。每一千万个单词需要大约1GB的RAM。设置成None则没有限制。
  • sample: 表示 采样的阈值,如果一个词在训练样本中出现的频率越大,那么就越会被采样。默认为1e-3,范围是(0,1e-5)
  • negative: 如果>0,则会采用negativesamp·ing,用于设置多少个noise words
  • iter:迭代次数,默认为5。
  • hashfxn: hash函数来初始化权重。默认使用python的hash函数
    batch_words:每一批的传递给线程的单词的数量,默认为10000

读取生成的词向量

model=models.word2vec.Word2Vec(line_sent,min_count=1, size=5, window=2,sg=0,hs=1)#此处参数可以自行设置
model['word_name']
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值