概述:用Spark做机器学习已应用得比较普遍,例如语义分析,文本聚类,用户360°画像的建立。 常常第一步是将拿到的文本进行切词,也叫分词,之后提取关键词,这个过程可以使用NLP完成。 接下来就是将关键词转成向量,再放到k-means或knn或贝叶斯分类等算法中做聚类分析。 词串转成向量就要用到word2vec这个工具,Spark提供了相应的接口,本文给出一个Python语言实现的demo,Spark版本为2.0.0。此版本较之前的版本入口变动较大, SparkContext需要换成SparkSession。
源代码:
__author__ = 'Rossie'
from pyspark.mllib.feature import Word2Vec
from pyspark.ml.feature import Word2Vec
# Input data: Each row is a bag of wordsfrom a sentence or docume