美文网首页
gensim训练词向量

gensim训练词向量

作者: lwyaoshen | 来源:发表于2018-05-20 20:14 被阅读0次
    gensim#encoding=utf-8
    from gensim.models import word2vec
    sentences=word2vec.Text8Corpus(u'分词后的爽肤水评论.txt')
    model=word2vec.Word2Vec(sentences, size=50)
    
    y2=model.similarity(u"好", u"还行")
    print(y2)
    
    for i in model.most_similar(u"滋润"):
        print i[0],i[1]
    

    txt文件是已经分好词的5W条评论,训练模型只需一句话:

    model=word2vec.Word2Vec(sentences,min_count=5,size=50)
    

    第一个参数是训练语料,第二个参数是小于该数的单词会被剔除,默认值为5,
    第三个参数是神经网络的隐藏层单元数,默认为100

    model.similarity(u"好", u"还行")#计算两个词之间的余弦距离
    
    model.most_similar(u"滋润")#计算余弦距离最接近“滋润”的10个词
    

    运行结果:

    0.642981583608
    保湿 0.995047152042
    温和 0.985100984573
    高 0.978088200092
    舒服 0.969187200069
    补水 0.967649161816
    清爽 0.960570812225
    水水 0.958645284176
    一般 0.928643763065
    一款 0.911774456501
    真的 0.90943980217
    

    当然还可以存储和加载咱们辛辛苦苦训练好的模型:

    model.save('/model/word2vec_model')
    
    new_model=gensim.models.Word2Vec.load('/model/word2vec_model')
    

    也可以获取每个词的词向量

    model['computer'] `
    

    相关文章

      网友评论

          本文标题:gensim训练词向量

          本文链接:https://www.haomeiwen.com/subject/jintjftx.html