词向量实践(gensim)

词向量训练步骤:

  1. 分词并去停用词
  2. 词频过滤
  3. 训练

 

项目完整地址:https://github.com/cyandn/practice/tree/master/Word2Vec

 

gensim中Word2Vec参数解释:

主要参数介绍如下:

  1. sentences:我们要分析的语料,可以是一个列表,或者从文件中遍历读出(word2vec.LineSentence(filename) )。
  2. size:词向量的维度,默认值是100。这个维度的取值一般与我们的语料的大小相关,如果是不大的语料,比如小于100M的文本语料,则使用默认值一般就可以了。如果是超大的语料,建议增大维度。
  3. window:即词向量上下文最大距离,window越大,则和某一词较远的词也会产生上下文关系。默认值为5,在实际使用中,可以根据实际的需求来动态调整这个window的大小。如果是小语料则这个值可以设的更小。对于一般的语料这个值推荐在[5;10]之间。
  4. sg:即我们的word2vec两个模型的选择了。如果是0, 则是CBOW模型;是1则是Skip-Gram模型;默认是0即CBOW模型。
  5. hs:即我们的word2vec两个解法的选择了。如果是0, 则是Negative Sampling;是1的话并且负采样个数negative大于0, 则是Hierarchical Softmax。默认是0即Negative Sampling。
  6. negative:即使用Negative Sampling时负采样的个数,默认是5。推荐在[3,10]之间。
  7. cbow_mean:仅用于CBOW在做投影的时候,为0,则算法中的xw为上下文的词向量之和,为1则为上下文的词向量的平均值。
  8. min_count:需要计算词向量的最小词频。这个值可以去掉一些很生僻的低频词,默认是5。如果是小语料,可以调低这个值。
  9. iter:随机梯度下降法中迭代的最大次数,默认是5。对于大语料,可以增大这个值。
  10. alpha:在随机梯度下降法中迭代的初始步长。算法原理篇中标记为η,默认是0.025。
  11. min_alpha: 由于算法支持在迭代的过程中逐渐减小步长,min_alpha给出了最小的迭代步。

 

存在的问题:

感觉 stop_words.txt 停用词去的有点狠。。

 

转载于:https://www.cnblogs.com/cyandn/p/11186447.html

你可能感兴趣的:(人工智能)