大数据处理实例——Amazon商品评分&评论(一)
来源:互联网 发布:大数据安全分析 编辑:程序博客网 时间:2024/05/17 08:46
概述
在积累了一定的主流大数据分析工具(Hadoop, Spark, Storm, HBase等)的基础知识后,加之以前学习和工作中积累的机器学习和分布式的相关经验,想着尝试一下自己对一个大数据案例完整的分析实践一遍。因此本文所述观点更多的是对自己这一个多月的大数据知识体系的学习的总结和实践,仅供参考。
准备工作
一、 案例筛选
个人在这一阶段主要考虑了以下几个方面:
- 数据真实性:无论是自己采集真实数据还是使用开源的供分析数据,希望这是一次真正有意义的实践
- 覆盖知识点:希望是可以把之前学习的知识点基本都串联起来的一次完整实践
- 可实现性:就个人当前技能(前端知识空白)而言,是可以实现的
- 个人兴趣:希望可以借机温习下以前对机器学习算法和自然语言处理的理解
综合以上因素,我选择了Amazon商品评分&评论这个案例,其实网上也没有关于这个案例的讨论,只是自己在网上找到了Amazon商品评论相关的开源数据和以此为基础的数据分析论文后,决定结合主流大数据分析工具做这么一个案例实践的。
二、资料收集
这里提供两个开源数据索引,一个是自己使用的是Stanford公开的Amazon商品评论信息数据源,另一个是更加全面的整理的比较好的开源数据索引。有需要的同学可以自行下载需要的数据,构建自己想要的案例实践
- http://jmcauley.ucsd.edu/data/amazon/
- http://snap.stanford.edu/data/#amazon
- https://mran.revolutionanalytics.com/documents/data/#networks
由链接可知,Stanford已经对Amazon商品评论按照商品类型进行了分类。为了简化实践,本次只针对乐器类商品评论进行分析,主要参考的数据分析论文:
J. McAuleyHidden and J. Leskovec, Factors and Hidden Topics:Understanding Rating Dimensions with Review Text, ACM, 2013
案例分析
目标及使用场景:
这个案例想要的目标是希望通过用户评分和用户评论信息构建商品的主题模型以及用户感兴趣的主题模型,并以此来做一些推荐和预测的工作,个人想到的该案例可以实现的目标如下:
- 根据用户评论,学习出某一类商品评论的主题模型
- 根据用户评分和评论,学习出用户相似度模型
- 对有少量用户评论的新商品,根据主题和相似用户进行推荐
需求分解:
- 根据所有评论构建乐器类商品的主题模型(Top K的主题及其对应单词)
- 归纳用户的每一条评论文本到相应的主题
- 根据用户对商品的评分和评价主题,学习用户评分-主题模型
- 根据用户评分-主题模型,找出用户感兴趣主题
- 根据用户感兴趣主题,建立用户相似度模型
- 对有少量用户评论的新商品,归纳其所属主题,根据用户评分-主题模型,预测每个用户对其评分
- 对有少量用户评论的新商品,根据其评价用户及用户相似度模型,找出感兴趣的用户
- 综合6和7的分析结果,对特定用户推荐该商品
详细分析
- 商品的主题模型可以通过LDA模型学习出来,这里使用Spark MLlib中的LDA Module实现。使用该模型的前提是要构建出评论文本的词频向量,这就需要对评论文本进行分词,去停用词,词频统计等。本人考虑是使用Storm来对每一条评论文本做这些实时预处理工作,并将预处理结果存到HBase中。
- 在已知商品主题模型(主题–单词列表)及评论的词频向量后,可以很容易的通过TF-IDF余弦相似度将其归纳到与之有最高相似度的主题
- 参考论文中给出的HFT模型及主要参数含义如下:
预测函数:
误差函数:
其中的
使用最小化误差
4. 在3中已经学习到用户
5. 计算用户间潜在主题的特征值序列
6. 对有少量用户评论的新商品
7. 对有少量用户评论的新商品
下一章将对该案例的实现进行详细分析。
- 大数据处理实例——Amazon商品评分&评论(一)
- 大数据处理实例——Amazon商品评分&评论(二)
- 大数据处理实例——Amazon商品评分&评论(三)
- 大数据处理实例——Amazon商品评分&评论(四)
- pyhton爬虫(10)——通过亚马逊商品评论时间分析商品销量分布情况
- 仿商业网站——商品评分效果的实现
- 仿商业网站——商品评分效果实现【提高篇】
- 转载一篇amazon大牛评论各种语言的文章
- python爬虫(6)——获取天猫商品评论信息
- python爬虫(7)——获取京东商品评论信息
- 大数据处理之hadoop(一)
- Storm实时大数据处理(一)
- scrapy爬取京东商城某一类商品的信息和评论(一)
- PyTorch(一)——数据处理
- 大数据处理之道(实验方法篇<一>)
- 大数据处理之道 (htmlparser获取数据<一>)
- 大数据处理系列之(一)Java线程池使用
- 大数据处理算法一:Bitmap算法(转)
- 浅谈Slick(2)- Slick101:第一个动手尝试的项目
- 多次调用定时器
- 【大学专业第一讲】工科王牌专业——计算机
- ReactNative-Redux实际应用
- 稀疏矩阵的快速转置
- 大数据处理实例——Amazon商品评分&评论(一)
- AngularJS学习之 ng-route模块
- XHTML笔记
- ubuntu 配置Android环境
- Tornado配置/使用小小心得
- Linux kernel中 __bitmap_weight函数的理解
- 第45篇 WebRTC及点阵笔研究(八)
- 【LightOJ 1307 + 二分】
- noi2015软件包管理器