SPARK ML的 文档文本向量化化,有哪几3种常用方法

主题信息(必填)
主题描述(最多限制在50个字符)
申请人信息(必填)
申请信息已提交审核,请注意查收邮件,我们会尽快给您反馈。
如有疑问,请联系
CSDN &《程序员》研发主编,投稿&纠错等事宜请致邮
你只管努力,剩下的交给时光!
个人大数据技术博客:https://www.iteblog.com
人生得意须尽欢,莫使金樽空对月。
-19日,CSDN主办的在北京朝阳门悠唐皇冠假日酒店盛装启航。本次会议践行“云先行,智未来”的主题,在Keynote环节之外精心策划了微服务、人工智能、云核心三大论坛及Spark、Container、区块链、大数据四大技术峰会,众多技术社区骨干、典型行业案例代表齐聚京师,解读本年度国内外云计算技术发展最新趋势,深度剖析云计算与大数据核心技术和架构,聚焦云计算技术在金融、电商、制造、能源等垂直领域的深度实践和应用,全程高能不断档,干货满满精彩纷呈。七牛云技术总监陈超CCTC第二天,Spark技术峰会拉开序幕。活动由七牛云技术总监陈超担任主持人,陈超简单回顾了四年以来Spark峰会的历程,伴随着Spark在国内落地项目越来越多,今年峰会议题征集期间收到了超过100份Spark主题的演讲申请,经过主委会审核从其中挑选了七位精英讲师和经典案例内容,包括苏宁云商、新浪微博、华为、七牛云、阿里巴巴、宜人贷、Databricks的讲师将在现场带来精彩分享。苏宁云商IT总部高级技术经理陈泽:Spark App自动化故障分析与诊断苏宁云商IT总部高级技术经理陈泽苏宁云商IT总部高级技术经理陈泽分享了主题为《Spark App自动化故障分析与诊断》的演讲。陈泽首先谈到了苏宁大数据平台架构,分为离线计算、流式计算、OLAP引擎三部分,基于Spark的应用在其中用得越来越广泛,目前集群规模是Yarn集群700节点,任务规模5W任务/天,处理的数据量300TB/天。陈泽重点讲解了基于Spark构建的CBT调度平台、SSMP平台和机器学习平台。据介绍,苏宁Spark平台化过程中曾遇到不少问题。在业务层面,对Spark SQL的认识不够,导致过度的依赖Spark RDD层面的API;对内存计算存在误解,不合理使用Cache机制,导致资源浪费;在平台方面,未提供数据来指导用户去优化Executor个数以及内存参数,导致平台资源利用率过低等问题。为此,苏宁研发了Spark App自动化分析和故障诊断系统——华佗,通过将运维的经验和知识工具化,并配合指标和事件两种信息,来对任务进行分析和故障诊断。华佗目前提供的分析和诊断能力包括了资源、性能、故障三个维度,陈泽详细介绍了每种能力的最新进展。新浪微博高级算法工程师吴磊:基于Spark的大规模机器学习在微博的应用新浪微博高级算法工程师吴磊新浪微博高级算法工程师吴磊分享了题为《基于Spark的大规模机器学习在微博的应用》演讲。他表示,微博目前在大规模机器学习技术方面面临的主要挑战是数据特征类别多、维度大、算法模型多样化、参数矩阵巨大导致大量内存和网络开销。因此,微博研发团队开发了基于Spark参数服务器,采用异步随机梯度下降算法,主要处理原则是将数据分块、分块数据拉取参数、计算分块数据梯度、将梯度更新到参数服务器。在过程中不断对参数服务器的Batch Size、PS server count、Sparse、Partitioning、Spark memory tuning等模块性能优化。在解决微博机器学习问题过程,他们开发了名为weiflow的统一计算框架。吴磊逐一解释了weiflow的实现过程,通过这一框架,微博团队业务开发效率、业务代码贡献、执行性能、模型性能等方面都得到了大幅提升。华为大数据设计部部长、Apache Carbondata PMC Committer 李昆:CarbonData大数据高性能交互式分析实践华为大数据设计部部长、Apache Carbondata PMC Committer 李昆华为大数据设计部部长、Apache Carbondata PMC Committer 李昆分享了题为《CarbonData大数据高性能交互式分析实践》的演讲。他首先分析了企业在构建数据平台时面临的挑战,几种方案无论是NoSQL,并行,搜索引擎,或者SQL on Hadoop,都只是针对某个场景设计,只能解决一部分问题。架构师在系统设计时不得不做出妥协,或者只满足部分应用;或者复制多份数据,满足所有应用。而CarbonData的目标: 一份数据满足多种业务需求,与大数据生态无缝集成 。CarbonData在2016年6月进入Apache孵化器,2016年9月有了第一个生产系统部署,到今年4月已成为Apache顶级项目。现在最新的版本是1.1.0,可访问CarbonData的计算引擎是Spark、Presto、Hive、Flink。目前华为、美团、上汽、hulu等公司都有在生产系统部署CarbonData。李昆详细解释了CarbonData的几个重要技术优势。查询方面: 两级索引,减少IO,适合ad-hoc查询,任意维度组合查询场景; 延迟解码,向量化处理:适合全表扫描、汇总分析场景 ;数据管理方面: 增量入库,多级排序可调,由用户权衡入库时间和查询性能,增量更新,批量合并,支持快速更新事实表或维表,闲时做Compaction合并;大规模方面: 计算与存储分离,支持从GB到PB大规模数据,万亿数据秒级响应;部署方面:Hadoop Native格式,与大数据生态无缝集成,利用已有Hadoop集群资产 。七牛云高级大数据工程师赵宏尧:基于Spark的流式处理引擎在Pandora大数据产品中的应用七牛云高级大数据工程师赵宏尧七牛云高级大数据工程师赵宏尧分享了题为《基于Spark的流式处理引擎在Pandora大数据产品中的应用》的演讲。据悉,Pandora目前的数据处理规模已达到了每分钟实时写入的数据量达到数百GB, 每分钟实时写入的数据条目达到数十亿 。赵宏尧介绍了Pandora核心组件——计算平台架构,包括实时任务和离线任务调度管理平台、资源管理平台(YARN,Mesos,自研容器云平台)及Spark组件。他重点讲解了流处理技术服务化需要考虑的两个问题 :用户的使用接口, 技术细节的屏蔽 。用户接口他建议schema,具有数据流健壮、存储计算高效、数据类型丰富等特点。在技术细节处理上,Spark Streaming在生产上的常见问题有运行状态管理和监控、数据丢失、数据消费延迟、聚合操作处理等,赵宏尧给出了对应的解决方案。宜人贷数据科学家王婷:金融反欺诈场景下的Spark实践宜人贷数据科学家王婷宜人贷数据科学家王婷分享了主题为《金融反欺诈场景下的Spark实践》演讲。王婷首先介绍了金融科技企业所面临的欺诈风险,包括用户还款能力、伪冒申请和欺诈交易等,传统方法在解决这类问题时往往效率低下。她认为反欺诈也是一种机器学习过程。宜信基于海量数据构建了金融知识图谱——FinGraph,具有应用场景、系统支持、数据整合三个层面。王婷重点讲解了反欺诈场景下Spark三板斧:Spark Streaming用SDK实时数据处理;Spark GraphX用于图挖掘特征工程和挖掘欺诈组团;Spark Mllib用于特征工程、简单机器学习训练。王婷重点讲解了宜人贷开发的基于Spark架构的实时反欺诈平台,包括用户层、工具层、模型层、数据处理层、存储层和数据层,通过对不同事件得出实时欺诈评分。此外,宜人贷还通过引入反欺诈调查员,结合图谱挖掘,提升反馈效率,快速发现欺诈团伙。阿里巴巴技术专家宋军:SparkSQL在ETL中的应用阿里巴巴技术专家宋军阿里巴巴技术专家宋军分享了题为《SparkSQL在ETL中的应用》的演讲。宋军表示,ETL主要有三个步骤:抽取、转换、加载。首先读取数据源,做清洗加工,整合处理,最终把这些数据存储到目标存储里,对ETL要求满足简单易用、支持多种数据源、支持容错处理、丰富的算子、复杂数据类型、计算快等多个因素。如何实现以上目标,宋军从DataSource、丰富的算子 、Hive兼容、性能、云上ETL 五个方面作出解读。Databricks软件工程师范文臣:Deep Dive: How Spark Uses MemoryDatabricks软件工程师范文臣Databricks软件工程师范文臣分享了题为《Deep Dive: How Spark Uses Memory》演讲。范文臣的演讲主要包括三方面的内容:如何看待Spark集群下的内存管理,如何处理内存竞争的问题,Spark对内存使用的优化手段及展望。他重点讲解了在实践中常会见到的内存竞争问题,当Storage和Execution竞争的时候优先考虑Execution,考量优先把Storage内存刷掉。此外,还有Tasks之间的分配,不要静态提前分配好,而是通过运行时动态处理竞争情况,并且通过合作的方式让内存使用者合作,让大家尽量通过公平的算法把内存竞争的问题解决。更多精彩内容,请关注图文专题:,微博:@CSDN云计算,订阅 CSDN 官方微信公众号(ID:CSDNnews),即时获取大会动态。使用Spark MLlib进行情感分析
时间: 12:29:23
&&&& 阅读:915
&&&& 评论:
&&&& 收藏:1
标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&
使用Spark MLlib进行情感分析
使用Spark MLlib进行情感分析
一、实验说明
在当今这个互联网时代,人们对于各种事情的舆论观点都散布在各种社交网络平台或新闻提要中。我们可以在移动设备或是个人PC上轻松地发布自己的观点。对于这种网上海量分布地数据,我们可以利用文本分析来挖掘各种观点。如下图中,CognoviLabs利用Twitter上人们发布对于美国大选两个候选人的推特,进行情感分析的结果。从这张图我们也可以直观地感受到民意所向(此图发表日期为10月10日,早于今年美国大选的日子)。
图片来源:CognoviLabs / Twitris
本次课程,我们将利用推特上的数据结合Spark MLlib实现人们对美国这两位总统的情感分析,查看在美国不同地方的网民们对于他们的看法如何。
1.1 知识点
Twitter数据
Spark MLlib情感分析
Python 地图可视化工具Basemap
1.2 实验流程
获取twitter流数据
tweet数据进行情感分析
分析结果可视化
二、Twitter流数据
为开发者提供了可用于获得推特上数据的开发者接口。大家可根据中的操作获取Twitter中有关Trump和Hillary的推特数据。
由于对Twitter的操作需要FQ,为方便大家进行后续实验操作,我们已将数据保存至tweets.json,&donald.json及hillary.json中,json&文件地址将在后续实验操作时给出。tweets.json包括和川普及希拉里有关的推特,而donald.json和hillary.json仅包括其文件名代表的候选人有关推特。
使用Tweepy接口获得的推特中包含很多数据,但由于我们只关心其发表内容的情感属性值,因此我们仅保存了其中的推特内容,及发表推特用户所在地。 我们所使用的Twitter数据内容:
数据名数据描述
该twitter的情感属性值(0:积极,1:无感,2:消极)
user_localtion
用户所在地区
其中polarity的内容由python获得,这里我们对textblob返回的polarity进行了特殊处理,设置polarity&0时为积极情感(polarity=0),polarity=0时为无感(polarity=1),polarity&0时为消极情绪(polarity=2)
三、Spark MLLib进行情感分析
3.1环境配置
Apach Spark的Python接口pyspark安装:
进入目录/usr/bin/spark-2.0.2/conf中设置配置文件spark-env.sh。
$ cd /usr/bin/spark-2.0.2/conf
安装python相关的包:
wget http://labfile.oss.aliyuncs.com/courses/722/numpy-1.11.3-cp27-cp27mu-manylinux1_x86_64.whl
wget http://labfile.oss.aliyuncs.com/courses/722/pyparsing-2.1.10-py2.py3-none-any.whl
wget http://labfile.oss.aliyuncs.com/courses/722/pytz-2016.10-py2.py3-none-any.whl
wget http://labfile.oss.aliyuncs.com/courses/722/cycler-0.10.0-py2.py3-none-any.whl
wget http://labfile.oss.aliyuncs.com/courses/722/python_dateutil-2.6.0-py2.py3-none-any.whl
wget http://labfile.oss.aliyuncs.com/courses/722/matplotlib-1.5.3-cp27-cp27mu-manylinux1_x86_64.whl
sudo pip install numpy-1.11.3-cp27-cp27mu-manylinux1_x86_64.whl
sudo pip install pyparsing-2.1.10-py2.py3-none-any.whl
sudo pip install pytz-2016.10-py2.py3-none-any.whl
sudo pip install cycler-0.10.0-py2.py3-none-any.whl
sudo pip install python_dateutil-2.6.0-py2.py3-none-any.whl
sudo pip install matplotlib-1.5.3-cp27-cp27mu-manylinux1_x86_64.whl
可视化分析结果使用的是python的地图可视化第三方包Basemap,basemap是Python中一个可用于地理信息可视化的包,安装basemap过程如下:
$ wget http://labfile.oss.aliyuncs.com/courses/722/basemap-1.0.7.tar.gz
$ tar zxvf basemap-1.0.7.tar.gz
$ cd basemap-1.0.7
$ cd geos-3.3.3
$ ./configure
$ sudo make install
上述过程需等待一段比较漫长的时间,这期间可以先浏览后续实验步骤。当执行完毕后返回目录basemap-1.0.7并安装basemap
进入examples目录运行程序simplestest.py查看是否安装成功
$ cd examples
$ python simpletest.py
3.2 实验操作
进入Code目录中并创建&shiyanlou_cs722&目录,通过以下命令获得tweets.json,&donald.json及hillary.json文件。
$ wget http://labfile.oss.aliyuncs.com/courses/722/tweets.json
$ wget http://labfile.oss.aliyuncs.com/courses/722/donald.json
$ wget http://labfile.oss.aliyuncs.com/courses/722/hillary.json
创建sparkSA.py文件开始我们的实验。
注意: 本次实验操作的所有文件及代码都应存放在同一个目录——shiyanlou_cs722下。
导入相关模块
使用Spark前的准备,因为实验楼有spark相关课程,这里就不做过多介绍
conf = SparkConf().setAppName("sentiment_analysis")
sc = SparkContext(conf=conf)
sc.setLogLevel("WARN")
sqlContext = SQLContext(sc)
进行情感分析的处理步骤如下图所示:
实验中我们利用获得的&tweets.json&作为情感分析分类器模型的训练集,这里测试集是用hillary.json,想要分析川普的,只需将测试集对应换成donald.json即可
据图可知,我们首先将每一条的推特数据分词,由于这里分析的是英文的tweet推特内容,因此只需将每个单词分开即可(与中文情感分析的不同),并定义stop_words 停用词一些无关情感分析的词
Spark MLlib中提供的机器学习模型处理的是向量形式的数据,因此我们需将文本转换为向量形式,为了节省时间,这里我们利用Spark提供的Word2Vec功能结合其提供的text8文件中的一部分单词进行了word2vec模型的预训练,并将模型保存至word2vecM_simple文件夹中,因此本次实验中将tweets转换为向量时直接调用此模型即可,从以下地址中获得此离线模型并解压:
wget http://labfile.oss.aliyuncs.com/courses/722/word2vecM_simple.zip
unzip word2vecM_simple.zip
由于实验楼的在线环境限制,同学们可线下使用text8自行训练词向量转换模型,或线上搜索利用tweets进行分词训练的word2vec模型
定义分词文本转换为向量的函数
def doc2vec(document):
读入预先训练好的文本向量化模型word2vecM
lookup = sqlContext.read.parquet("/home/shiyanlou/word2vecM_simple/data").alias("lookup")
lookup.printSchema()
lookup_bd = sc.broadcast(lookup.rdd.collectAsMap())
情感分析相关的函数定义好后,我们便可从json文件中读入数据,创建RDD对象,利用spark mllib的分类器进行情感分析:
在编写完代码后,在shiyanlou_cs722目录下,通过spark-submit命令提交程序运行:
$ /usr/bin/spark-2.0.2/bin/spark-submit --master=local sparkSA.py
--master=local sparkSA.py
在下一节的可视化的函数编写后,也是通过此命令提交运行程序。
训练得到的随机森林模型:
四、分析结果可视化
基于上一小节的RandomForest随机森林的训练结果,我们利用该分类器对推特上关于hillary的情感分析结果,结合basemap将其展示到美国的48个州(除去阿拉斯加及夏威夷)上,观察这48个州对于&hillary&的看法。
我们将在函数res_visulization中绘制可视化结果,首先我们需要定义该函数。
导入作图相关模块。
from mpl_toolkits.basemap import Basemap
from mpl_toolkits.basemap import cm
import matplotlib.pyplot as plt
import matplotlib as mpl
from matplotlib.colors import rgb2hex
from matplotlib.patches import Polygon
我们本次通过美国的shapefile结合basemap进行绘图,因此需要以下三个文件(这个三个文件需放置在目录shiyanlou_cs722下):
wget http://labfile.oss.aliyuncs.com/courses/722/st99_d00.shp
wget http://labfile.oss.aliyuncs.com/courses/722/st99_d00.dbf
wget http://labfile.oss.aliyuncs.com/courses/722/st99_d00.shx
函数res_visulization可视化情感分析结果
在可视化结果中加上各个州的缩写,这里的我们只给出了部分州的缩写,有些美国较小的东部城市没有具体列出。
有关美国的各个州的经纬度可在中查阅。
函数定义完成后,在 sparkSA.py 的最后一行调用该函数以执行它。在代码最后加上此行:
res_visulization(predictions.collect())
保存该文件后退出编辑,在&Shiyanlou_cs722&目录下, 通过spark-submit命令提交所编写好的Python脚本SparkSA.py执行程序:
程序运行结束,我们可看到每个州的原始数据及模型预测的情感属性值:&
本次课程我们介绍了twitter api一个Twitter官方提供可用于获得推特数据的接口,并且基于此接口获得了推特上的&流式&数据,在实际应用中可利用spark streaming获得这些流式数据进行实时处理并显现当下网友的情感状态。而本次实验我们是利用spark mllib的随机森林模型进行twitter的情感分析,并且利用basemap进行可视化,通过可视化结果,我们可以直观的感受到美国今年曾经的候选总统在美国各个州的受欢迎程度。基于此课程,同学们也可以利用twitter或者微博提供的开发者接口获取网络上的数据,对不同方面(房价、物价、交通之类)的情感进行分析。
情感分析最终效果图(有时可视化效果未显现程序就已经结束,此时只需重复提交即可):
本次课程的所有源码可通过以下命令获得:
wget http://labfile.oss.aliyuncs.com/courses/722/sparkSA.py
六、课后习题
在使用spark mllib进行情感分析的例子中,很多都是使用朴素贝叶斯模型,这里我们使用的是随机森林模型,在此请同学们使用spark mllib的朴素贝叶斯模型进行代码改写,并输出情感分析结果。
标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&原文地址:http://www.cnblogs.com/mrchige/p/6346601.html
&&国之画&&&& &&&&chrome插件&&
版权所有 京ICP备号-2
迷上了代码!他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)org.apache.spark.ml 包含哪些算法_百度知道
org.apache.spark.ml 包含哪些算法
我有更好的答案
Spark是一个基于内存计算的开源的集群计算系统,目的是让数据分析更加快速。Spark非常小巧玲珑,由加州伯克利大学AMP实验室的Matei为主的小团队所开发。使用的语言是Scala,项目的core部分的代码只有63个Scala文件,非常短小精悍。
采纳率:96%
来自团队:
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
第10讲:PySpark+Spark ML-实例实战1
下载积分:3000
内容提示:第10讲:PySpark+Spark ML-实例实战1
文档格式:DOCX|
浏览次数:105|
上传日期: 17:19:11|
文档星级:
全文阅读已结束,如果下载本文需要使用
 3000 积分
下载此文档
该用户还上传了这些文档
第10讲:PySpark+Spark ML-实例实战1
关注微信公众号}

我要回帖

更多关于 文档向量化 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信