实验环境
● 语言环境:Python、MATLAB、java
● 实验工具:NLTK、sklearn、MATLAB2015b、Pycharm
● 服务器: tomcat
用开源框架Scrapy分析Xpath路径抓取中关村报价网站
上述文件中product文件夹是定制好抓取电子产品价格的数据采集器,MySQL建立数据库见文件
应用scrapy爬虫框架,定制爬虫抓取中关村报价产品的价格数据并且存储于MySQL数据库中
1.其中的过程是分析网页的Xpath路径,根据要获取的数据的路径定位到价格数据(可以分析不同的网站数据抓取)
2.存储数据打MySQL数据库中,主要是方便操作和使用
scrapy startproject tutorial
爬虫名字可以随意设定,同时设定采集器在服务器上能够定时采集数据这里定制bat文件。 锁定域名范围为:zol.com分析URL
中正则表达式如下:http://detail.zol.com.cn/cell_phone/index****.shtml
最后将采集到的数据存储到MySQL数据库中如下图:
如果是在Linux服务器上做该定时任务只需要按照需要编写crontab即可。
爬虫定制方法以及网页分析
这里为了处理抓取新闻数据时候需要处理动态页面的信息采用了beautifulsoup,通过调用相关接口处理JS页面。 为保证数据的全面性而选取了百度新闻,同样需要分析页面源码的Xpath路径,为了剔除网页的标签,需要同上的路径分析。 最后可以通过用户提供的关键词获取新闻数据,效果如下图所示:
获得的新闻数据如下:
文本分析 ● 为了便于处理需要对文本做一个分句处理过程,方便对文本的情感倾向分析以及特征提取。
● 本系统是建立在可信文本的条件下做情感倾向因素分析,所以首先需要对文本做可信分类,故需要提取分析的特征:包括文本的词长度、品牌出现次数、分成句子总数、和标准描述相似度、正负面概率得分等特征详细见源码文件*feature文件夹内容
● 在分类过程中这里对比了9个分类方法:
● svm.SVC(gamma=0.001, C=100.)
● svm.SVR()
● LogisticRegression(penalty='l2', tol=0.001)
● tree.DecisionTreeClassifier()
● GaussianNB()
● BernoulliNB()
● RandomForestClassifier(n_estimators=20, max_depth=None, min_samples_split=1, random_state=0)
● GradientBoostingClassifier(n_estimators=20)
● AdaBoostClassifier(tree.DecisionTreeClassifier(max_depth=1),algorithm="SAMME",n_estimators=200)
通过分析对比发现随机森林分类效果最好。
最终特征如下图所示:
再根据情感程度匹配来计算文本的情感倾向得分:在情感词典这里采用了知网基础情感词、和自己通过语料和搜索引擎得到的领域情感词(详细描过程见源码)最终得到该品牌下的情感倾向因素得分如下图:
图中分别是积极消极得分和平均分以及方差。
基于情感因素预测模型
模型建立过程详细见论文描述,最后得到各个模型的实验系统如图所示:
基于研究算法Android应用软件
基于应用上述研究的算法对电子产品的价格作出预测后,在Android系统开发应用软件增加研究的实际意义展示效果如下:
单个商品的预测趋势如下图所示:
最后提供部分本系统接口
● 语料填充
● 文档路径
● 定制主题
● 全自动采集数据
● 模型更改
● 应用软件更改
原文发布时间为:2018-09-20
本文来自云栖社区合作伙伴“大数据挖掘DT机器学习”,了解相关信息可以关注“大数据挖掘DT机器学习”。