zoukankan      html  css  js  c++  java
  • 自然语言处理工具之gensim / 预训练模型 word2vec doc2vec

    gensim

    intro

    doc | doc ZH

    Gensim是一个免费的 Python库,旨在从文档中自动提取语义主题,尽可能高效(计算机方面)和 painlessly(人性化)。

    Gensim旨在处理原始的非结构化数字文本(纯文本)。

    在Gensim的算法,比如Word2Vec,FastText,潜在语义分析(LSI,LSA,see LsiModel),隐含狄利克雷分布(LDA,见LdaModel)等,自动训练文档的躯体内检查统计共生模式发现的文件的语义结构。这些算法是无监督的,这意味着不需要人工输入 - 您只需要一个纯文本文档。

    一旦找到这些统计模式,任何纯文本文档(句子,短语,单词......)都可以在新的语义表示中简洁地表达,并查询与其他文档(单词,短语......)的主题相似性。

    install

    pip install --upgrade gensim
    

    Pre-trained word2vec

    import random
    import gensim
    from gensim.models import Word2Vec, Doc2Vec
    from gensim import utils
    
    token_review = list()
    dims = [100, 600]
    for sieze in dims:
        #instantiate our  model
        model_w2v = Word2Vec(min_count=10, window=5, size=size, sample=1e-3, negative=5, workers=4, sg=0)
    
        #build vocab over all reviews
        model_w2v.build_vocab(token_review)
    
        #We pass through the data set multiple times, shuffling the training reviews each time to improve accuracy.
        Idx=list(range(len(token_review)))
    
        t0 = time()
        for epoch in range(5):
             print(epoch+1, "/5 epochs")
             random.shuffle(Idx)
             perm_sentences = [token_review[i] for i in Idx]
             model_w2v.train(perm_sentences,total_examples=len(Idx), epochs = 1)
    
        elapsed=time() - t0
        print("Time taken for Word2vec training: ", elapsed/60, " (mins).")
    
        # saves the word2vec model to be used later.
        #model_w2v.save('./model_word2vec_skipgram_300dim')
    
        # open a saved word2vec model
        #model_w2v=gensim.models.Word2Vec.load('./model_word2vec')
    
        model_w2v.wv.save_word2vec_format('./data/model_word2vec_v2_%ddim.txt'%size, binary=False)
        print("similar words of 'cancer'", model_w2v.wv.most_similar('cancer') )
    

    Pre-trained doc2vec

    code on github

  • 相关阅读:
    IE8,IE10下载的临时文件到哪里去了???
    安全退出,清空Session或Cookie
    删掉SQL Server登录时登录名下拉列表框中的选项
    C#中==、Equals、ReferenceEquals的区别
    [转载]C#中as和is关键字的用法
    HTML5权威指南 5.绘制图形
    HTML5权威指南 3.HTML5的结构
    HTML5权威指南 2.HTML5与HTML4的区别
    HTML5权威指南 1.Web时代的变迁
    web前端黑客技术揭秘 9.Web蠕虫
  • 原文地址:https://www.cnblogs.com/linzhenyu/p/13600454.html
Copyright © 2011-2022 走看看