鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

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

ML Word2Vec API

  • 功能描述

    输入Dataset形式的句子集合,输出词向量模型(即每个词对应的向量)。

  • 输入输出
    1. 包名package org.apache.spark.ml.feature
    2. 类名:Word2Vec
    3. 方法名:fit
    4. 输入:Dataset[_],句子集合,输入字段如下:

      参数名

      取值类型

      缺省值

      描述

      inputCol

      Seq[String]

      inputCol

      句子

    5. 基于原生算法优化的参数

      参数名称

      取值类型

      缺省值

      取值范围

      描述

      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

      单个句子的最大值,如果超过则会被拆分

    6. 新增算法参数

      参数名称

      取值类型

      缺省值

      取值范围

      描述

      spark conf参数名称

      setRegularization

      Float

      0.05

      ≥0

      正则系数

      spark.boostkit.mllib.feature.word2vec.regularization

      setRepetition

      Int

      3

      ≥0

      数据在单个分区内的重复次数

      spark.boostkit.mllib.feature.word2vec.repetition

    7. 输出: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)

MLlib Word2Vec API

  • 功能描述

    输入RDD[Seq[String]] 形式的句子集合,输出词向量模型(即每个词对应的向量)。

  • 输入输出
    1. 包名package org.apache.spark.mllib.feature
    2. 类名:Word2Vec
    3. 方法名:fit
    4. 输入:句子集合RDD[Seq[String]]
    5. 基于原生算法优化的参数

      参数名称

      取值类型

      缺省值

      取值范围

      描述

      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

      单个句子的最大值,如果超过则会被拆分

    6. 新增算法参数

      参数名称

      取值类型

      缺省值

      取值范围

      描述

      spark conf参数名称

      setRegularization

      Float

      0.05

      ≥0

      正则系数

      spark.boostkit.mllib.feature.word2vec.regularization

      setRepetition

      Int

      3

      ≥0

      数据在单个分区内的重复次数

      spark.boostkit.mllib.feature.word2vec.repetition

    7. 输出: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)