Spark机器学习之 Word2Vec

Spark机器学习之 Word2Vec

Word2Vec简介

Word2Vec是一个词嵌入方法,可以计算每个单词在给定的语料库环境下的分布式向量,如果两个单词的语义相近,那么词向量在向量空间中也相互接近,判断向量空间的接近程度来判断来两个单词是否相似

首先导入Word2Vec所需要的包,并创建可以代表文档的词语序列

如果是由数组构成的相关元素,在转换成相关的DataFrame需要用 Tuple1.apply

import org.apache.spark.ml.feature.Word2Vec
val documentDF=spark.createDataFrame(Seq(
      "Hi i heard about spark".split(" "),
      "I wish Java could use case classes".split(" "),
      "Logistic regression models are neat".split(" "),
      "Hi i love MapReduce".split(" ") 
       ).map(Tuple1.apply)).toDF("text")
新建一个word2vec 单词出现0次以上统计
val word2Vec=new Word2Vec().setInputCol("text").setOutputCol("result").setVectorSize(3).setMinCount(0)
读入训练数据,用fit()方法生成word2vecmodel
val model=word2Vec.fit(documentDF)
把文档转换成特征向量

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、付费专栏及课程。

余额充值