【问题标题】:How to run MLlib's word2vec in CBOW mode?如何在 CBOW 模式下运行 MLlib 的 word2vec?
【发布时间】:2018-03-07 22:40:47
【问题描述】:

我的理解是word2vec可以在两种模式下运行:

  • 连续词袋 (CBOW)(词的顺序无关紧要)
  • 连续的skip-gram(单词顺序很重要)

我想从 Spark 的 MLlib 运行 CBOW 实现,但从文档和他们的示例中我不清楚如何做到这一点。这是他们页面上列出的示例。

发件人:https://spark.apache.org/docs/2.1.0/mllib-feature-extraction.html#example

import org.apache.spark.mllib.feature.{Word2Vec, Word2VecModel}

val input = sc.textFile("data/mllib/sample_lda_data.txt").map(line => line.split(" ").toSeq)

val word2vec = new Word2Vec()

val model = word2vec.fit(input)

val synonyms = model.findSynonyms("1", 5)

for((synonym, cosineSimilarity) <- synonyms) {
  println(s"$synonym $cosineSimilarity")
}

我的问题:

  • 此示例使用两种模式中的哪一种?
  • 您知道如何在 CBOW 模式下运行模型吗?

提前致谢!

【问题讨论】:

    标签: scala apache-spark apache-spark-mllib word2vec


    【解决方案1】:

    似乎 MLlib 目前只实现了 skip-gram。

    这里是 skip-gram 模型的开放票证/拉取请求:https://issues.apache.org/jira/browse/SPARK-20372

    【讨论】:

      猜你喜欢
      • 2021-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-06
      • 2019-02-23
      • 2018-09-19
      • 2017-04-11
      相关资源
      最近更新 更多