word2vec
来源:互联网 发布:我是大主宰服务端源码 编辑:程序博客网 时间:2024/06/07 13:55
gensim.models.Word2Vec()
有一系列的参数,常用的如下
- size 定义词向量的维度,默认是100
- alpha 初始的学习率,随着训练的进行,逐渐减少至0
- window 扫描句子的窗口大小,默认值为5
- min_count 过滤掉一些低频词,如果一个词在整个语料库里出现的次数小于min_count,在训练的时候就不考虑这个词。
- max_vocab_size 限制一下词汇表的数量,避免太多词占用太多内存,默认为None
- workers 训练模型的线程
- sg 训练采用的算法,sg=0 采用CBOW,sg=1采用skip-gram
- hs 为1的时候采用hierarchical softmax,如果为0且negative也非0,则采用negative sampling方案
- negative negative sampling的词数,通常是5-20
- cbow_mean 0或1。如果为0,则隐层为输入层的SUM,为1隐层为输入层向量的均值。
- iter 迭代遍历语料库的次数,默认值为5
训练代码:
sentences = sentences_generator('corpus_words.dat')model = gensim.models.Word2Vec(sentences, size=200, workers=4)
# 计算两个词的相似度/相关程度y1 = model.similarity(u"不错", u"好")print u"【不错】和【好】的相似度为:", y1print "--------\n"# 计算某个词的相关词列表y2 = model.most_similar(u"书", topn=20) # 20个最相关的print u"和【书】最相关的词有:\n"for item in y2: print item[0], item[1]print "--------\n"# 寻找对应关系print u"书-不错,质量-"y3 = model.most_similar([u'质量', u'不错'], [u'书'], topn=3)for item in y3: print item[0], item[1]print "--------\n"# 寻找不合群的词y4 = model.doesnt_match(u"书 书籍 教材 很".split())print u"不合群的词:", y4print "--------\n"# 保存模型,以便重用model.save(u"书评.model")# 对应的加载方式# model_2 = word2vec.Word2Vec.load("text8.model")
阅读全文
0 0
- word2vec
- word2vec
- word2vec
- Word2Vec
- word2vec
- Word2Vec
- Word2Vec
- word2vec
- word2vec
- word2vec
- word2vec
- word2vec
- word2vec
- word2vec
- word2vec
- Word2Vec
- word2vec
- Word2Vec
- centos6.8下安装mongodb-3.2.10
- poj 3264 Balanced Lineup 线段树
- HDU 6038 Function
- Python爬虫入门(5):URLError异常处理
- linux mysql创建用户赋权限
- word2vec
- C++ Vector STL find 查找
- layout优化减少textView创建
- java中的HashSet
- 初学cuda程序的一点记录
- hdu 4430 Yukari's Birthday
- SpringMVC中使用Interceptor拦截器
- [置顶] 写给大一大二大三还在迷惘中的学生
- J2EE 笔记(上)