Word2Vec
Word2Vec提供ML API、MLlib API两套接口。
模型接口类别 |
函数接口 |
---|---|
ML Word2Vec API |
def fit(dataset: Dataset[_]): Word2VecModel |
def fit(dataset: Dataset[_], paramMaps: Array[ParamMap]): Seq[Word2VecModel] |
|
def fit(dataset: Dataset[_], paramMap: ParamMap): Word2VecModel |
|
def fit(dataset: Dataset[_], firstParamPair: ParamPair[_], otherParamPairs: ParamPair[_]*): Word2VecModel |
|
MLlib Word2Vec API |
def fit[S <: Iterable[String]](dataset: JavaRDD[S]): Word2VecModel |
def fit[S<: Iterable[String]](dataset: RDD[S]): Word2VecModel |
- 输入输出
- 包名:package org.apache.spark.ml.feature
- 类名:Word2Vec
- 方法名:fit
- 输入:Dataset[_],句子集合,输入字段如下:
参数名
取值类型
缺省值
描述
inputCol
Seq[String]
inputCol
句子
- 基于原生算法优化的参数
参数名称
取值类型
缺省值
取值范围
描述
setInputCol
String
无
-
句子集合所在列名
setVectorSize
Int
100
>0
向量长度
setWindowSize
Int
5
>0
窗口长度
setStepSize
Double
0.025
>0
学习率
setNumPartitions
Int
1
>0
分区数
setMaxIter
Int
1
≥0
迭代次数
setSeed
Long
无
-
随机种子
setMinCount
Int
5
≥0
词表中词的最小频次
setMaxSentenceLength
Int
1000
>0
单个句子的最大值,如果超过则会被拆分
- 新增算法参数
参数名称
取值类型
缺省值
取值范围
描述
spark conf参数名称
setRegularization
Float
0.05
≥0
正则系数
spark.boostkit.mllib.feature.word2vec.regularization
setRepetition
Int
3
≥0
数据在单个分区内的重复次数
spark.boostkit.mllib.feature.word2vec.repetition
- 输出:Word2VecModel,包含:
参数名称
取值类型
描述
wordIndex
Map[String, Int]
词与词ID之间的对应关系
wordVectors
Array[Float]
所有词向量,打平为一维数组
- 使用样例
val model = new Word2Vec() .setInputCol(“sentences”) .setVectorSize(3) .setWindowSize(2) .setMaxIter(3) .setNumPartitions(10) .fit(data)
- 输入输出
- 包名:package org.apache.spark.mllib.feature
- 类名:Word2Vec
- 方法名:fit
- 输入:句子集合RDD[Seq[String]]
- 基于原生算法优化的参数
参数名称
取值类型
缺省值
取值范围
描述
setVectorSize
Int
100
>0
向量长度
setWindowSize
Int
5
>0
窗口长度
setLearningRate
Double
0.025
>0
学习率
setNumPartitions
Int
1
>0
分区数
setNumIterations
Int
1
≥0
迭代次数
setSeed
Long
无
-
随机种子
setMinCount
Int
5
≥0
词表中词的最小频次
setMaxSentenceLength
Int
1000
>0
单个句子的最大值,如果超过则会被拆分
- 新增算法参数
参数名称
取值类型
缺省值
取值范围
描述
spark conf参数名称
setRegularization
Float
0.05
≥0
正则系数
spark.boostkit.mllib.feature.word2vec.regularization
setRepetition
Int
3
≥0
数据在单个分区内的重复次数
spark.boostkit.mllib.feature.word2vec.repetition
- 输出:Word2VecModel,包含:
参数名称
取值类型
描述
wordIndex
Map[String, Int]
词与词ID之间的对应关系
wordVectors
Array[Float]
所有词向量,打平为一维数组
- 使用样例
1 2 3 4 5 6
val model = new Word2Vec() .setVectorSize(3) .setWindowSize(2) .setNumIterations (3) .setNumPartitions(10) .fit(data)