Spark word2vec使用记录

本文详细介绍了如何在Apache Spark中使用Word2Vec算法进行词向量计算,包括配置Spark环境、创建DataFrame输入数据、训练Word2Vec模型以及获取词向量、关联词列表和文本向量的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

官网介绍

https://spark.apache.org/docs/latest/ml-features.html#word2vec

使用方式

val conf = new SparkConf().setAppName("Word2Vec example").setMaster("local")
    val sc = new SparkContext(conf)
    val sqlContext = new SQLContext(sc)

    // $example on$
    // Input data: Each row is a bag of words from a sentence or document.
    val documentDF = sqlContext.createDataFrame(Seq(
      "Hi I heard about Spark spark".split(" "),
      "I wish Java could use case classes".split(" "),
      "Logistic regression models are neat".split(" ")
    ).map(Tuple1.apply)).toDF("text")

    // Learn a mapping from words to Vectors.
    val word2Vec = new Word2Vec()
      .setInputCol("text")
      .setOutputCol("result")
      .setVectorSize(3)
      .setMinCount(0)
    val model = word2Vec.fit(documentDF)
    model.getVectors.show(false)
    val result = model.transform(documentDF)

spark word2vec不仅计算了词的向量值,还可以计算词的关联词列表,以及一行文本的词向量

如果仅仅想通过word2vec计算词的向量,直接通过model.getVectors就可以获取到了

想获取词的关联词列表
model.findSynonyms("Spark",10)可以获取

获取文本的向量值
val result = model.transform(documentDF) result.select("result").take(3).foreach(println)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值