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)。