前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何用爬虫和挖掘技术设计一款数据舆情产品?(附开发源码)

如何用爬虫和挖掘技术设计一款数据舆情产品?(附开发源码)

作者头像
机器学习AI算法工程
发布2018-03-13 16:43:07
2.3K1
发布2018-03-13 16:43:07
举报

网址:http://www.kesci.com/apps/home_log/index.html#!/competition

一. 动机与问题背景

P2P网贷平台在2007年乘着互联网浪潮引入国内,2013年开始蓬勃发展,平台数量和交易金额纷纷大幅增长,与此同时出现了越来越多的问题平台、跑路平台。面对变幻莫测、层出不穷的P2P平台和产品,用户们都在困惑:到底哪些P2P平台比较靠谱?各个平台差别在哪里?哪个平台的资金安全最有保障?如何快速选择适合自己的P2P产品?

设计一款数据舆情产品,对P2P相关主题的媒体新闻、用户评论、国家政策等文本数据进行抓取、清洗、整理、分析和展示,反映出P2P产业的整体热度、行业事件,以及各家P2P企业的相关报道、重点事件、用户口碑,并对数据舆情产品提供在线访问服务,帮助千万互联网P2P用户做出明智的投融资决策。

若愚团队作品展示

问题简介

互联网金融2007年进入国内,2013年得到了蓬勃的发展。与此同时,也出现了很多问题平台诸如提现困难、老板跑路、停业等。截止2016年3月,在国内近4000家P2P平台中,问题平台比例已接近40%,投资者的资金难以得到保障。投资者希望知道自己的资金放在哪里最安全?投到哪个平台最有安全保障?这正是我们产品要解决的核心问题—客观精确地对P2P平台进行风险量化。

我们对出现问题的P2P平台做了分析,可能的原因归结为两条:

先天基因能力不足:如创始团队缺乏过硬技术与运营经验、注册资金过少难以承受突发危机等;

后天发展存在问题:如过分抬高利率导致难以向投资者兑现、过度追求利润而忽视了风险控制等;

根据以上的分析,我们选取以下四大类的特征作为平台风险的量化依据,包括:静态特征与动态特征两部分。其中静态特征对应于平台先天基因,包括平台的基本属性,例如注册资金、所在城市、担保机构等;动态特征对应于平台的后天发展,包括平台的各项指数、新闻舆情、用户评论等信息。

系统架构

下面是我们的系统架构,首先使用网络爬虫获取多源异构数据,解析得到结构化数据。通过数据清洗将结构化数据整理成我们的数据资产。在此基础上我们使用文本处理、主题模型、知识图谱、情感分析等技术分析数据资产,挖掘其中的内在规律。之后我们提出核心模型—OMNIRank,对各个P2P平台进行风险量化,形成知识供投资者决策。最后,我们将数据分析、模型量化的结果进行可视化,为投资者提供友好的交互界面。

数据源选择

为了全面获取各个P2P平台的信息,我们选择了客观的新闻门户、主观的民意评论、权威的网贷社区和平台官方平台网站作为数据源,从各个维度了解平台,为后续分析打下基础。

数据获取

我们基于Scrapy开发了爬虫框架OMNISpider,它可以:

分布式可扩展:集成Redis、Hadoop,部署于上海交通大学网络信息中心,支持更多数据源的并发爬取;

灵活配置:通过修改配置文件即可添加新的任务或更新已有任务,无需重构代码;

只需简单的配置,既可以通过调度、爬取、解析、存储模块在短时间内爬取海量的多源异构数据。

数据清洗

下图是我们的数据清洗过程。我们对爬取的结构化数据进行了数据去重、空值处理、数据去噪、格式统一、对齐融合。

数据资产

经过数据的清洗与融合,我们得到了数据资产。据不完全统计,我们的数据资产包括27万余条新闻、8万多条P2P相关的微博和评论、3050家P2P平台的基本信息、3年来各平台指数月评级数据。为了持续地扩充数据资产,我们把数据存放在Hadoop分布式文件系统(HDFS)中。

数据分析

在此基础上,我们希望进一步得到与平台风险有关的信息。首先是文本处理,使用分词技术对新闻文本、用户评论文本等进行分词与词性标注,用Word2Vec技术将词语训练为高维向量,从而更好地表示地词语间的相互关系以及其中蕴含的语义。

在理解文本的基础上,我们使用LDA模型对新闻进行处理,生成5个主题,每个主题取权重前7的词语作为关键词。通过各个平台在不同主题上的新闻分布规律和变化趋势,我们可以对平台进一步地理解,并了解整个行业的最新热点。

我们对语义信息、主题信息进行整理,经过命名实体识别、关系抽取、开放域知识提取技术,形成了一个包含1万多个结点的知识图谱。为了提供更快的查询服务,我们将它存在图数据库中。投资者可以进行知识探索,更加全面的了解各平台、人员、职位、地理分布之间的联系。

为了更进一步理解平台口碑,我们对新闻以及用户评论数据做情感分析,判断出整个行业,以及各个平台的舆论倾向,并以天为粒度进行统计,便于投资者全面了解行业,进行投资决策。

OMNIRank模型

经过以上数据资产的准备及探索分析,我们提出我们的核心模型OMNIRank,一个对P2P平台进行风险量化,为投资者提供投资决策的模型。Google开发了人工智能AlphaGo。它是一个会下围棋的人工智能。它采用全局特征和局部特征结合的思想,主要方法是深度神经网络。

OMNIRank是一个对P2P平台风险量化的人工智能,它的本质是一个深度神经网络。模型输入5大类共118个特征,包含全局的静态特征、局部的动态特征。结合各个特征特点及神经网络模型的优势,我们设计了OMNIRank深度神经网络:

1.使用多层神经网络(MLP)处理静态平台属性特征;

2.使用长短时记忆元(LSTM)处理动态平台指标时间序列;

3.使用卷积神经网络(CNN)处理新闻、评论文本数据;

就像AlphaGo可以进行自我对弈一样,OMNIRank可以通过反馈回路自我学习,不断提升模型的能力。

下图展示了OMNIRank模型对平台风险量化的效果。我们在近半年的数据集上进行了验证,使用两个指标对模型性能评估:准确率和AUC值。其中准确率表示模型把平台分类正确的比例;AUC是模型对正负样本区分程度的量化评估。准确率与AUC值越高,表示模型效果越好。可以看到,半年来,模型对平台判断的准确率与AUC值呈上升趋势,并且在最近的一个月(2016年4月)的评估中,准确率达0.85,AUC值达0.9以上。

为了更直观地呈现模型效果,我们展示了OMNIRank模型对正常平台和问题平台的风险辨识。OMNIRank对一个平台评分越高,表示这个平台越可靠,风险越低。下图是2016年4月对各个平台的评分分布,正常平台集中在1附近,问题平台集中在0附近,可见OMNIRank成功地将问题平台与正常平台区分开。

我们将OMNIRank与其他机器学习算法,包括逻辑回归(Logistic Regression)、随机森林(Random Forest)、支持向量机(SVM)进行了对比,对比结果如下图所示。我们发现,比起其他模型,OMNIRank可以更加显著地区分正常平台和问题平台,它具有更强的能力识别出问题平台。因此OMNIRank对平台风险的量化比传统模型更加可靠。

OMNIRank是如何帮助投资者选择投资平台的呢?我们每个月使用OMNIRank对平台风险进行量化预测,并根据量化结果对平台排名,排名越靠前表示该平台下个月出现问题的概率越低。之后计算在不同排名区间的平台,在下个月实际出问题的比率。我们发现,半年来排名前100的平台没有出现问题,这给投资者提供了一个安全的投资区域。另外,区间越大,平台的平均利率越高,但同时也伴随着更高的风险。投资者可以根据自己的自身情况,平衡风险与收益,选择最适合自己的平台。

数据可视化与交互

我们设计了数据可视化与交互展示产品。通过这一产品,投资者既可以对整个行业的有所了解,又可以对每个平台详细研究,还可以进行不同平台之间多个维度的对比。此外,我们还专门为投资者设计了懒人选投功能,告诉我们您的需求,我们就会给您推荐合适的平台。更丰富的产品信息,请访问我们的产品设计网站。

产品展示 : http://zhanghonglun.cn/ppd/

开源数据与代码

我们会开放全部的工作,包括可视化代码、OMNIRank模型代码,清洗后的数据,供大家参考、验证、改进,欢迎交流切磋。

关于我们

我们上海交通大学OMNILab的博士研究生,指导教师是金耀辉教授。

无敌是多么空虚”团队作品展示

产品展示:http://121.42.61.111/p2p/

整体思路

宏观行业:从行业整体热度、行业主题、关键词、行业事件及影响力四个维度,对P2P整体行业进行剖析。为投资者提供行业的宏观视角,了解行业的热度或参与度行业;热门的话题及其发展态势。

微观平台:从平台基本面、平台用户口碑 、平台实际的投标三个维度,从平台的内外全面展示P2P个体平台舆情,透明化平台信息。

决策支持:问题平台,预警平台和平台个性化推荐。整合各家网贷门户网站,建立问题平台库,并进行地域分布分析;通过用户口碑反馈,建立预警平台库,为投资者和监管者识别行业潜在风险;基于用户个性化的风险偏好,并结合平台的特征,为用户推荐最优平台。

行业宏观分析提供的分析方案:行业热度,行业主题,主题趋势以及行业大事件。

微观平台主要从平台基本面,平台投标信息,平台新闻以及平台口碑。通过媒体,工商信息以及投资者角度透视每家平台的发展。

数据以及清理

主要对新闻报道,社交媒体,门户网站以及平台官网等数据进行爬取。

文本分析

使用标准的NLP技术,以及文本分析技术对文本进行处理,使用开源代码处理多源的非结构化的文本。对于主题分析和情感分析,我们设计了基于kmeans的主题提取算法,对于情感分析我们设计了双层次的情感分析模型。

采取的主要的技术与开源工具。下面是一般的文本分析流程:

基于kmeans的主题分析,一面是对于行业媒体的报道的主题:

总结

我们模拟投资者的信息收集,理解,以及决策的过程,为投资者提供分析支持和决策支持。行业宏观为投资者提供进入时机。平台的基本面让投资者心中有数。潜入平台内部,了解每一笔标的信息,让投资者直面市场。整合用户评论,深入分析平台的口碑,从别人的经验中汲取教训。收集最全最新的问题平台,让投资者避免雷区。整合网贷门户网站,社交媒体用户评论,为平台预警。整合平台信息,建立综合风险评价模型,为投资者提供个性化决策支持。

NEMO团队作品展示

我将从以下几个角度展开,首先是团队介绍,然后是项目背景,接下来是解决方案,最后是总结与展望。

首先介绍一下我们的团队,我们团队由三个成员组成:队长燕鹏(美团网),陈朝才(360),王哲(今日头条)。我们的团队是国内数据挖掘比赛中,最具竞争力的团队,我们所有的成员都是Kaggle Master。

我们的团队在数据挖掘的很多领域都有着丰富的技术积累,包括保险、医疗、广告、金融、电商等,这也是这次比赛我们最终能以复赛AUC排名第一的成绩出场的最基本的技术保障。

以下是我们团队的成员在国内外比赛中曾获得的荣誉:

下面我将从图表和数据的角度和大家分享这次比赛我们的方法和经验。

首先谈一下题目背景。我们要解决的是互联网金融借贷中最为核心的一个风控问题,而我们直接的预测目标,是用户是否正常还款。这是一个二分类的问题,评价指标AUC。从主办方提供的数据来看,主要包括借款人的学历、网络行为、借款行为信息等。共9W条用户数据,8W条训练,1W条预测,而我们要做的,就是在训练数据的基础上,进行深入的数据挖掘,实现我们的直接目标。

对于分类问题来说,最为核心的两个部分,一个是模型,一个是特征。模型部分,我们主要包括单模型和融合模型,特征部分我们从四个方面进行展开。

这是我们整个的算法框架,可以看到包括数据准备、单模型、多层模型融合、最终预测结果四个部分。

在数据挖掘的实际工作中,模型框架是一种工具,而特征工程往往是解决问题的关键,因此我今天也着重讲一下特征工程。

第一块,数据预处理。首先我们进行了格式转换,接下来我们会进行数据清理,然后我们会对缺失值进行补全,最后我们会生成训练集,测试集和交叉检验集。

有了最基本的数据字段保障之后,我们要进行非常关键的一个环节:数据分析。

这里我列举的是一些提取的特征字段。

下面我将用图表的方式,向大家展示一下我们数据分析的整个过程。

首先,从这个图中可以看出,拍拍贷的业务在整体地快速增长,而从违约率的变化可以看出,随着时间的变化,违约率是有所下降的。

我们从地理位置的角度去分析,可以看出,拍拍贷的业务基本上覆盖了全国的大部分地区。而违约情况主要集中在深圳、成都、重庆等地,但其实违约率从这个图中看,没有明显的区别。

另外,我们还对单特征进行了分析和实验。这里是我列举的几个连续值特征比较强的样本。在某些取值时,可以看出它的违约情况会有一个明显的差异。

这里是对Categorical另一个类型特征的统计,也可以发现类似的情况。

有了这样丰富的数据处理和分析的过程之后,我们接下来要进行的就是特征提取的工作。而我们主要的特征就集中在Master 表,其他表也有,不作展开。

第一块很重要的基础数值特征,这是个比较基础的特征。对于树模型来说,这部分特征是可以直接使用的;而对于其他模型来说,比如LR、FFM、NN这种,我们就要做一个数据标准化和归一化;

另外对于所有的字符串特征,我们需要进行一个转换,转换为连续数值特征或多位向量都可以。另外我们会对连续数值特征离散化,将特征纬度中所有不重复字段在数据样本中出现的次数作为特征。

接下来,为了更好地利用地理位置的数据信息,我们进行了一个映射,把它映射到了不同的城市等级、经纬度和GDP中。除了地理位置之外,还有一个非常重要的数据特征,就是第三方数据,这也是很多的P2P平台最想要得到的一个数据来源。为了更好地利用这部分数据信息,我们统计了不同时间段,不同类型第三方数据的最大值、最小值。最后为了更好地去挖掘去分析用户的行为,我们使用了大量的组合特征。

丰富的特征之后,我们要进行的就是特征选择工作。大家都知道,特征并不是越多越好,过多的特征会带来一些过拟合,这是我们不愿意看到的。为了避免这些问题,我们采取了下面的方式来进行特征选择:

从下面这个图中可以看出,左图到右图,我们采用了特征和模型的bagging策略后,整个算法准确性和稳定性都有很大提升。

讲完了特征部分,接下来我们来谈一下模型设计。我们采用的是多层模型融合的框架,可以看到我们单模型包括LR、FFM、GBDT等,这样做的好处就是我们可以最大程度地发挥不同模型之间的互补优势,与此同时,我们还采用多层模型融合的方式,来确保我们整个算法的稳定性。

做一个简单的总结。我觉得在整个解决问题的过程中,最重要的是目标有两点,一是整个算法的稳定性,二是算法的准确性。与此同时,为了让我们的算法能够更好地应用到实际的场景中去,还需要考虑一定的实用性。而为了更好地实现这三个目标,我们进行了右边的处理方式。

最后做一个简单的分享。

第一,我们觉得匿名数据是柄双刃剑,它在一定程度上保护了用户的隐私,但是也给数据挖掘带来了很大的难度;

第二点就是数据集的划分,实际上我们没有以时间为线,而是通过随机的方式去划分的,而且一些用户的行为统计时间和最后预测的行为数据是有一个时间重叠的,使得模型在线上的表现可能会与线下有出入;

另外违约的定义,借款的多少是否有程度上的差异呢?如果可以提供数据的话,我们可能会进行更为深入的挖掘;

最后一点,评价指标的选取,是否一定是AUC呢,是否一定是一个二分类问题呢?我们的线上线下是否会出现表现不一致的情况呢?这其实都是我们在工业界和实际工作中经常会遇到的问题,解决方案见仁见智,篇幅有限,不作过多展开。

从技术分享的角度来说,我们这次分享没有太多华丽的情节。用一句话来总结,我们是在用最前沿的技术,最简单的方法,做最重要的事。

kesci(科赛网)

网址:http://www.kesci.com/apps/home_log/index.html#!/competition

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-06-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据挖掘DT数据分析 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
灰盒安全测试
腾讯知识图谱(Tencent Knowledge Graph,TKG)是一个集成图数据库、图计算引擎和图可视化分析的一站式平台。支持抽取和融合异构数据,支持千亿级节点关系的存储和计算,支持规则匹配、机器学习、图嵌入等图数据挖掘算法,拥有丰富的图数据渲染和展现的可视化方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档