- 本机运用的技术栈为NLP(Word2Vec)关于NLP的相关理论请提前梳理清楚
- Spark mlib,rdd,dataframe,graph(顶点,边,连通图等基本概念)
- Spark 2.2.0,JDK 1.8.0 ,Scala 2.1.X
如下思路图:
1.如下创建一个DataFrame
import spark.implicits._
val documentDF = spark.createDataFrame(Seq(
("1","北京市朝阳区春晓园北区7号楼".wordSplit()),
("2","北京市海淀区学院路20号院甲2号楼".wordSplit()),
("3","北京市西城区复兴门北大街4号楼6".wordSplit()),
("4","北京市西城区西交民巷64号院1号楼2".wordSplit()),
("5","北京市海淀区花园路10号院3号楼7".wordSplit())
)).toDF("id","name")
2.对DataFrame 利用Word2vec进行模型转换
//设置特征向量维数为5
val word2Vec = new Word2Vec().setInputCol("name").setOutputCol("outName").setVectorSize(5).setMinCount(0)
val word2Vec_model = word2V