Word2Vec

pyspark.mllib.feature。 Word2Vec

Word2Vec单词在文本语料库的创建矢量表示。该算法首先构造一个语料库的词汇,然后学习向量表示单词的词汇。可以作为特征向量表示自然语言处理和机器学习算法。

我们在实现和使用skip-gram模型分层softmax法训练模型。变量名在实现匹配原始C实现。

原来的C实现,看到https://code.google.com/p/word2vec/研究论文,看到有效的估计字表示的向量空间和分布式表示单词和短语及其组合。

例子

> > >句子=“b”*One hundred.+“c”*10> > >localDoc=(句子,句子]> > >医生=sc并行化(localDoc)地图(λ:分裂(”“))> > >模型=Word2Vec()setVectorSize(10)setSeed(42)适合(医生)

查询词不会返回这个词的同义词:

> > >信谊=模型findSynonyms(“一个”,2)> > >(年代(0]年代信谊][" b "、“c”]

但是查询向量可能返回的表示这个词的同义词是向量:

> > >vec=模型变换(“一个”)> > >信谊=模型findSynonyms(vec,2)> > >(年代(0]年代信谊][a, b]
> > >进口操作系统,tempfile> > >路径=tempfilemkdtemp()> > >模型保存(sc,路径)> > >sameModel=Word2VecModel负载(sc,路径)> > >模型变换(“一个”)= =sameModel变换(“一个”)真正的> > >信谊=sameModelfindSynonyms(“一个”,2)> > >(年代(0]年代信谊][" b "、“c”]> > >shutil进口rmtree> > >试一试:rmtree(路径)除了OSError:通过

方法

适合(数据)

计算的向量表示每个单词的词汇。

setLearningRate(learningRate)

设置初始学习速率(默认值:0.025)。

setMinCount(minCount)

集minCount,最低的次数似乎令牌必须包含在word2vec模型的词汇(默认值:5)。

setNumIterations(numIterations)

设定的迭代次数(默认值:1),应小于或等于数量的分区。

setNumPartitions(numPartitions)

集的分区数量(默认值:1)。

setSeed(种子)

集随机种子。

setVectorSize(vectorSize)

集向量大小(默认值:100)。

setWindowSize(windowSize)

设置窗口大小(默认值:5)。

方法的文档

适合 ( 数据:pyspark.rdd.RDD(列表(str]] )pyspark.mllib.feature.Word2VecModel

计算的向量表示每个单词的词汇。

参数
数据 pyspark.RDD

训练数据。抽样的字符串的列表

返回
Word2VecModel
setLearningRate ( learningRate:浮动 )pyspark.mllib.feature.Word2Vec

设置初始学习速率(默认值:0.025)。

setMinCount ( minCount:int )pyspark.mllib.feature.Word2Vec

集minCount,最低的次数似乎令牌必须包含在word2vec模型的词汇(默认值:5)。

setNumIterations ( numIterations:int )pyspark.mllib.feature.Word2Vec

设定的迭代次数(默认值:1),应小于或等于数量的分区。

setNumPartitions ( numPartitions:int )pyspark.mllib.feature.Word2Vec

集的分区数量(默认值:1)。使用少量的准确性。

setSeed ( 种子:int )pyspark.mllib.feature.Word2Vec

集随机种子。

setVectorSize ( vectorSize:int )pyspark.mllib.feature.Word2Vec

集向量大小(默认值:100)。

setWindowSize ( windowSize:int )pyspark.mllib.feature.Word2Vec

设置窗口大小(默认值:5)。