gensim中word2vec

from gensim.models import Word2Vec
Word2Vec(self, sentences=None, size=100, alpha=0.025, window=5, min_count=5,
                 max_vocab_size=None, sample=1e-3, seed=1, workers=3, min_alpha=0.0001,
                 sg=0, hs=0, negative=5, cbow_mean=1, hashfxn=hash, iter=5, null_word=0,
                 trim_rule=None, sorted_vocab=1, batch_words=MAX_WORDS_IN_BATCH, compute_loss=False, callbacks=()):
        """
        Initialize the model from an iterable of `sentences`. Each sentence is a
        list of words (unicode strings) that will be used for training.

        Parameters
        ----------
        sentences : iterable of iterables
           待分析的语料,可以是一个列表,或者从文件中遍历读出。对于大语料集,建议使用BrownCorpus,Text8Corpus或lineSentence构建。
        sg : int {1, 0}
           定义训练算法. sg=1:skip-gram(输入word输出上下文); sg=0:CBOW(输入上下文输出word),默认sg=0,即CBOW模型
        size : int
           特征向量或词向量的维度,默认值是100
        window : int
            词向量上下文最大距离,skip-gram和cbow算法是基于滑动窗口来做预测。默认值为5。在实际使用中,可以根据实际的需求来动态调整这个window的大小。对于一般的语料这个值推荐在[5,10]之间。
        alpha : float
           是初始的学习速率,在训练过程中会线性地递减到min_alpha.
        min_alpha : float
            算法支持在迭代的过程中逐渐减小步长,min_alpha给出了最小的迭代步长值.
        seed : int
           用于随机数发生器, word + `str(seed)`的哈希值作为每个词的初始向量
        min_count : int
           最小截断值, 词频少于min_count次数的单词会被丢弃掉,默认值为5.
        max_vocab_size : int
           设置词向量构建期间的RAM限制,设置成None则没有限制。 Every 10 million word types need about 1GB of RAM.
        sample : float
            高频词汇的随机降采样的配置阈值,默认为1e-3,范围是(0,1e-5)。
        workers : int
           用于控制训练的并行数
        hs : int {1,0}
           word2vec两个解法的选择:如果是0, 则是Negative Sampling;如果是1并且负采样个数negative大于0, 则是Hierarchical Softmax。默认是0即Negative Sampling。
        negative : int
           如果大于0,则会采用negativesampling,用于设置多少个noise words(一般是5-20)。
        cbow_mean : int {1,0}
           仅用于CBOW在做投影的时候,为0,则采用上下文的词向量之和;为1则为上下文的词向量的平均值。默认值也是1,不推荐修改默认值。
        hashfxn : function
            hash函数来初始化权重,默认使用python的hash函数。
        iter : int
           随机梯度下降法中迭代的最大次数,默认是5。对于大语料,可以增大这个值。
        trim_rule : function
            用于设置词汇表的整理规则,指定那些单词要留下,哪些要被删除。可以设置为None(min_count会被使用)。
        sorted_vocab : int {1,0}
           如果为1(默认),则在分配word index 的时候会先对单词基于频率降序排序。
        batch_words : int
            每一批的传递给线程的单词的数量,默认为10000。

        Examples
        --------
        Initialize and train a `Word2Vec` model

       from gensim.models import Word2Vec
       sentences = [["cat", "say", "meow"], ["dog", "say", "woof"]]
       model = Word2Vec(sentences, min_count=1)
       say_vector = model[‘say‘]  # get vector for word

原文地址:https://www.cnblogs.com/jeshy/p/11434241.html

时间: 2024-10-14 05:50:27

gensim中word2vec的相关文章

gensim中的word2vec

安装gensim前要装python,numpy, scipy, 通过pip list检查开始安装gensim sudo pip install gensim 参考文档:http://www.jianshu.com/p/6d542ff65b1e    http://kexue.fm/archives/4316/ 文档http://www.jianshu.com/p/6d542ff65b1e上的两个python程序有错误, 我已经改正,内容见python文件 对文件编码格式处理cat news_te

用gensim学习word2vec

在word2vec原理篇中,我们对word2vec的两种模型CBOW和Skip-Gram,以及两种解法Hierarchical Softmax和Negative Sampling做了总结.这里我们就从实践的角度,使用gensim来学习word2vec. 1. gensim安装与概述 gensim是一个很好用的Python NLP的包,不光可以用于使用word2vec,还有很多其他的API可以用.它封装了google的C语言版的word2vec.当然我们可以可以直接使用C语言版的word2vec来

Python与自然语言处理(二)基于Gensim的Word2Vec

继续学习摸索,看到很多博客都在研究Word2Vec,感觉挺有意思,我也来尝试一下. 实验环境:Python3,Java8 Word2Vec的输入是句子序列,而每个句子又是一个单词列表,由于没有这样结构的现成输入,所以决定自己动手对原始语料进行预处理. NLPIR是一个汉语分词系统,挺感谢张华平博士,便利了我们的文本处理工作.下载地址:http://ictclas.nlpir.org/newsdownloads?DocId=389 这里还有一个自然语言处理与信息检索共享平台(感觉挺好的,有资料,还

解决在使用gensim.models.word2vec.LineSentence加载语料库时报错 UnicodeDecodeError: 'utf-8' codec can't decode byte......的问题

在window下使用gemsim.models.word2vec.LineSentence加载中文维基百科语料库(已分词)时报如下错误: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xca in position 0: invalid continuation byte 这种编码问题真的很让人头疼,这种问题都是出现在xxx.decode("utf-8")的时候,所以接下来我们来看看gensim中的源码: class Line

gensim的word2vec如何得出词向量(python)

首先需要具备gensim包,然后需要一个语料库用来训练,这里用到的是skip-gram或CBOW方法,具体细节可以去查查相关资料,这两种方法大致上就是把意思相近的词映射到词空间中相近的位置. 语料库test8下载地址: http://mattmahoney.net/dc/text8.zip 这个语料库是从http://blog.csdn.net/m0_37681914/article/details/73861441这篇文章中找到的. 检查语料是否需要做预处理:将数据下载好了解压出来,在做词向量

Python gensim库word2vec的使用

ip install gensim安装好库后,即可导入使用: 1.训练模型定义 from gensim.models import Word2Vec   model = Word2Vec(sentences, sg=1, size=100,  window=5,  min_count=5,  negative=3, sample=0.001, hs=1, workers=4)   参数解释: 0.sentences是训练所需语料,可通过以下方式进行加载 sentences=word2vec.Te

预训练中Word2vec,ELMO,GPT与BERT对比

预训练 先在某个任务(训练集A或者B)进行预先训练,即先在这个任务(训练集A或者B)学习网络参数,然后存起来以备后用.当我们在面临第三个任务时,网络可以采取相同的结构,在较浅的几层,网络参数可以直接加载训练集A或者B训练好的参数,其他高层仍然随机初始化.底层参数有两种方式:frozen,即预训练的参数固定不变,fine-tuning,即根据现在的任务调整预训练的参数. 优势: 1.当前任务数据量少,难以训练更多的网络参数,可以加载预训练的模型,然后根据当前的任务对参数进行fine-tuning,

NLP中word2vec的CBOW模型和Skip-Gram模型

参考:tensorflow_manual_cn.pdf     Page83 例子(数据集): the quick brown fox jumped over the lazy dog. (1)CBOW模型: (2)Skip-Gram模型:

词向量实践(gensim)

词向量训练步骤: 分词并去停用词 词频过滤 训练 项目完整地址:https://github.com/cyandn/practice/tree/master/Word2Vec gensim中Word2Vec参数解释: 主要参数介绍如下: sentences:我们要分析的语料,可以是一个列表,或者从文件中遍历读出(word2vec.LineSentence(filename) ). size:词向量的维度,默认值是100.这个维度的取值一般与我们的语料的大小相关,如果是不大的语料,比如小于100M