- 本机运用的技术栈为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 = word2Vec.fit(documentDF) //训练模型
val result = word2Vec_model.transform(documentDF) //把文档转换成特征向量
import spark.implicits._
val tmpDF=result.map(x=>{
val outNa

该博客介绍了如何利用Spark的NLP库结合Word2Vec技术进行文本挖掘。首先,文章强调了理解NLP相关理论的重要性,然后讲解了Spark中的MLib、RDD、DataFrame和Graph的基本概念。在技术配置上,博客指出需要Spark 2.2.0、JDK 1.8.0和Scala 2.1.x。最后,博主分享了创建DataFrame并计算文本相似度的步骤,当相似度超过0.85时,认为文本之间存在紧密关系。
最低0.47元/天 解锁文章
3076

被折叠的 条评论
为什么被折叠?



