使用Spark调用word2vec接口将文本转化为向量
来源:互联网 发布:网络写手排名 编辑:程序博客网 时间:2024/05/16 08:00
概述:用Spark做机器学习已应用得比较普遍,例如语义分析,文本聚类,用户360°画像的建立。常常第一步是将拿到的文本进行切词,也叫分词,之后提取关键词,这个过程可以使用NLP完成。接下来就是将关键词转成向量,再放到k-means或knn或贝叶斯分类等算法中做聚类分析。词串转成向量就要用到word2vec这个工具,Spark提供了相应的接口,本文给出一个Python语言实现的demo,Spark版本为2.0.0。此版本较之前的版本入口变动较大, SparkContext需要换成SparkSession。
源代码:
__author__ = 'Rossie'
from pyspark.mllib.featureimport Word2Vec
from pyspark.ml.featureimport Word2Vec
# Input data: Each row is a bag of wordsfrom a sentence or document.
from pyspark.sqlimport SparkSession
spark = SparkSession\
.builder\
.appName("PythonSQL")\
.config('spark.sql.warehouse.dir','file:///D:/software/spark-2.0.0-bin-hadoop2.7')\
.getOrCreate()
documentDF = spark.createDataFrame([
("Hi I heard about Spark".split(" "), ),
("I wish Java could use case classes".split(" "), ),
("Logistic regression models are neat".split(" "), )
], ["text"])
#可以控制向量的维度.
word2Vec = Word2Vec(vectorSize=4,minCount=0,inputCol="text",outputCol="result")
model = word2Vec.fit(documentDF)
result = model.transform(documentDF)
for featurein result.select("result").take(3):
print(feature)
运行结果:
Row(result=DenseVector([0.0138, -0.0281,-0.0111, 0.0095]))
Row(result=DenseVector([0.0201, 0.0458,0.0007, 0.0413]))
Row(result=DenseVector([-0.0373, 0.0386,-0.0117, 0.0064]))
- 使用Spark调用word2vec接口将文本转化为向量
- word2vec模型原理与实现 word2vec是Google在2013年开源的一款将词表征为实数值向量的高效工具. gensim包提供了word2vec的python接口. word2vec采用
- 如何将 MapReduce 转化为 Spark
- mahout将文本数据转化成向量形式
- abap:如何将数字转化为文本?
- 将excel表格转化为html文本
- spark ML 使用Word2Vec
- Spark word2vec使用
- word2vec使用及向量输出
- 文本深度表示模型Word2Vec 简介 Word2vec 是 Google 在 2013 年年中开源的一款将词表征为实数值向量的高效工具, 其利用深度学习的思想,可以通过训练,把对文本内容的处理简
- ABAP--如何将月份转化为对应文本(代码摘抄)
- ABAP--如何将月份转化为对应文本(代码摘抄)
- 将 文本格式标记 转化为 html格式标记
- 将一种文本类型安全的转化为另一种类型
- 将windows下改变的文本转化为linux
- Python 正则表达式将纯文本转化为HTML格式
- 如何将java.util.date转化为文本格式
- 将图片转化为文本的一种实现方法
- javascript的getElementsByTagName() 方法
- javascript事件绑定的三种方法
- 2016/09/22 一大波华为机考题目来袭
- MySQL 数据类型BINARY和VARBINARY
- poj-1256-Anagram
- 使用Spark调用word2vec接口将文本转化为向量
- Effective stl 第23条:考虑用排序的vector代替关联容器
- war文件如何打开
- HDU-5536 Chip Factory(字典树)
- js 算出Array数组中出现次数最多的元素
- [kuangbin带你飞]专题七 线段树 J HDU 3974
- JAVA基础知识点梳理五:方法
- 第四周【项目三-单链表应用(3)单链表的递增】
- css中的盒子模型