4.人工智能时代下的大数据

5大数据不是wonderful !
什么是路?就是从没路的地方践踏出来的,从只有荆棘的地方开辟出来的。 
—— 鲁迅
在上面的小节中我们讲到移动通信网络的发展,带来了数据大爆炸,另一方面大数据处理技术的快速发展让大数据的处理成为可能,人类社会自然而然的进入了大数据时代。事物都具有两面性。

大数据给人们的生活带来了诸多便利的同时,是否会引发新的问题呢?这一小节我们来回答这个问题:IS Big Data wonderful ?

8 月 30 晚间,以 “仅需一张照片,出演天下好戏” 为口号的 “ZAO” 刷屏朋友圈。使用这款 App,上传自拍照片,就可以化身影视片段的主角,体验演员的乐趣。

随着此类换脸软件火爆网络,针对此类换脸应用的质疑声音也越来越大,涉及隐私、数据安全、版权等问题。

9 月 3 日,工业和信息化部网络安全管理局对北京陌陌科技有限公司相关负责人进行了问询约谈。

约谈之后,“ZAO” 更新了隐私协议以及用户协议。受争议的 “授予 ZAO 及其关联公司以及 ZAO 用户全球范围内完全免费、不可撤销、永久、可转授权和可再许可的权利”,以及 “同意或确保肖像权利人同意授予 ZAO 及其关联公司全球范围内完全免费、不可撤销、永久、可转授权和可再许可的权利” 两段描述被删除。

在此之前,多起数据安全事件在全球范围内引发强烈震动。

2018 年 3 月,Facebook 公司卷入数据滥用丑闻。一家名为 “剑桥分析” 的英国公司被曝以不正当方式获取 8700 万脸书用户数据,这是 “脸书” 创建以来遭遇的最大规模用户数据泄露事件。这场风波最初起源于 2015 年。英国剑桥大学学者库甘当时将一次涉及个人性格的问卷调查结果转交给了 “剑桥分析” 公司。这次问卷内容包含了 27 万用户的个人朋友圈和脸书资料。“剑桥分析” 公司为此支付了一百万美元酬金,获得 27 万用户数据以及 32 种性格分类。

美国联邦贸易委员会对 Facebook 展开调查,以了解它是否违反了几年前与该委员会达成的一项有关消费者隐私保护的和解协议。

2018 年 11 月 30 日晚,万豪酒店集团在其官网、微博等多个社交平台发布其旗下酒店《喜达屋宾客预订数据库安全事件相关信息 》。

在 2018 年 9 月 10 日或之前曾在喜达屋酒店预订的最多约 5 亿名客人的信息被泄露。客人中约有 3.27 亿人的信息包括如下信息的组合:姓名、邮寄地址、电话号码、电子邮件地址、护照号码、SPG 俱乐部账户信息、出生日期、性别、到达与离开信息、预订日期和通信偏好。

数据被称为新时代的 “黄金” 或者 “石油”,正在成为企业的核心资产,成为创新的关键来源,成为国家的战略资源,成为社会各项活动的重要元素,成为驱动社会发展的新型生产资料。谁掌握了数据,谁就拥有发展的关键条件。数据越来越值钱,自然成为违法犯罪分子的重点关注目标。他们除了直接盗取数据进行倒卖之外,也会用全面的数据构建精准诈骗活动,甚至对用户数据进行加密,然后勒索赎金,这也成为了当今的主流攻击行为之一。

在我国,以营利为目的的网络 “黑灰” 产业链活动从 2004 年底就开始了。随着网络中的应用日渐广泛和深入,犯罪分子能够攫取利益的地方也越来越多,因此团伙的人员规模也在不断膨胀。在网络 “黑灰” 产业链中,窃取用户数据是非常重要的一环。但是,直到 2016 年 “徐玉玉事件” 的发生才真正让我国全社会开始重视电信诈骗以及背后的数据泄露问题。随后,从各种不断披露的案例中可以发现一个现象:很多数据泄露都是通过买通内部人员来实施的,这完全不同于大家想象的 “黑客范儿”。

数据只有流通共享,才能促进产业间协同,优化资源配置,更好地激活生产力。可以说,大数据时代下的生产过程就是数据采集、产生、应用、流通共享的过程,这是一个以数据为中心的经济时代,以数据为中心的安全能力至关重要。大数据的复杂、敏感、集中存储等特性,使其极易成为黑客的攻击手段,变为网络攻击的显著目标,加大了隐私信息泄露的风险,威胁着现有的存储和安防措施。

拥有大数据的组织在数据安全方面面临以下几个方面的挑战:

(1)数据无处不在

伴随着信息化的开展,各组织机构的业务被大量数据化,数据被广泛应用于组织的业务支撑、经营分析与决策、新产品研发、外部合作,数据也不再只是管理者拥有的权利,上至管理者,下至一线业务岗位,都需要使用数据。

(2)系统、组织之间数据边界模糊

组织内部的核心业务系统、内部办公系统、外部协同系统不再是竖井式的架构,数据的共享使得各系统间存在大量的数据接口,系统间呈网状结构,互为上下游,每个系统都是其他系统的一部分,同时,其他系统也是自身系统的一部分。数据的流通共享也进一步促进了组织间的协同,组织间的部分职能也互为上下游。

(3)数据关联、聚合更容易

大数据技术使得数据的采集、使用更加便利,数据的种类丰富,可被关联的数据要素大大增加,同时,运算能力的提升加大,加快了数据关联或聚合的效率和吞吐量。

(4)数据流动、处理更实时

实时数据处理技术的发展使得数据的流动和处理更加实时,在提升效率的同时,也加剧了安全的挑战。

(5)海量数据加密

组织内沉淀了大量的数据,涉敏数据量也远远超出以往的数量,传统的数据加密手段开始捉襟见肘,如何在灵活使用数据的同时,高效、安全地保护数据,也是需要解决的问题。

(6)数据的交换、交易

数据成为核心生产资料,其价值被高度重视,数据的交换、交易行为以及相关市场孕育而生,如何确保这些行为的安全,进而维护好国家、组织、个人的合法权益,是巨大的挑战。

(7)数据所有者和权利不停转换

目前行业里主流的数据相关方有数据主体、数据生产者、数据提供者、数据管理者、数据加工者、数据消费者,数据权利不停转换,而数据的所有者及相关权利的界定至今未能达成一致意见。

(8)业务的国际化

互联网化加剧了 “地球村” 的发展,网络虽然无国界,但是网络基础设施、网民、网络公司等实体都是有国籍的,各国虽然在网络主权的提法上各执己见,但在实践层面却无一例外对本国网络加以严厉管制,防止受到外部干涉。

随着数据安全问题日趋严重,全球各国政府意识到数据安全的重要性,并开始设立法律规范,让 “数据合规”、数据安全有法可依。

总体来看,我国数据合规的立法已经基本确立,包括不限于《全国人民代表大会常务委员会关于加强网络信息保护的决定》、《消费者权益保护法》、《网络安全法》、《民法总则》、《刑法修正案(九)》以及法释〔2017〕10 号等,初步构建了民事、行政和刑事保护相结合的立体框架,与此同时,基础立法有待指引和标准化落地,在实施过程中接受实践检验。

《网络安全法》在网络运行安全部分的数据安全和网络信息安全部分的个人信息安全中分别强调了企业数据安全保护问题,保障网络数据的完整性、保密性、可用性的能力。

即保护数据安全仍是《网络安全法》的核心价值之一。

在网络运行安全部分,《网络安全法》在传统保护方式基础上(数据分类、重要数据备份和加密)(第 21 条),从关键信息基础设施保护(第 34 条)、网络安全审查(第 35 条)、数据本地化留存与跨境流动(第 37 条)等方面强化数据全生命周期安全的要求。

在网络信息安全部分,《网络安全法》第 40 条到第 45 条规定了网络运营者对个人信息的全生命周期保护义务,要求网络运营者建立健全用户信息保护制度、信息安全投诉及举报制度,合法、正当、必要并经收集者同意后收集、使用其个人信息,强化个人信息安全保障,履行泄露告知、补救和报告等义务,保障个人的删除更正权,不得非法侵犯个人信息等。

对于以上义务,《网络安全法》法律责任部分都明确了对违法行为的行政处罚,包括警告、罚款、责令暂停相关业务、停业整顿、关闭网站、吊销相关业务许可证或者吊销营业执照等,并实行对直接负责人员和单位的双罚制。

至此,这里可以回答本小节开头的问题:Is Big Data wonderful ?

Not at all .
只有处理好数据安全问题才能让人们安心的享受大数据带来的便利,而不用担心某一天个人隐私被曝光到网上。

06 人工智能 :后大数据时代

如果不想在世界上虚度一生,那就要学习一辈子。
——高尔基
上一小节我们将到了数据安全问题,这节课我们主要讲解的是在大数据之后崛起的新领域:人工智能。

人工智能(ArtificialIntelligence),英文缩写为 AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。

人工智能是对人的意识、思维的信息过程的模拟。在计算机领域内得到了愈加广泛的重视。并在机器人、经济政治决策、控制系统、仿真系统中得到应用。

2016 年,Google 的围棋计算机 AlphaGo 在与世界著名选手李世石对局中,以 4:1 取得了压倒性的胜利,成为第一个战胜围棋世界冠军的机器人。在此之前,机器并不是第一次战胜人类。

1997 年 IBM 的深蓝战胜了卡斯帕罗夫。为什么这次 AlphaGo 的轰动这么大呢?因为从难度上讲,围棋远比国际象棋要难 6~9 个数量级。AlphaGo 的胜利在全球范围内引起极大轰动,标志着人工智能时代的来临。

从计算机自身发展角度来讲,随着计算机硬件水平的不断提高,计算机的计算能力呈现几何式增长,然而人类的智力是经过千百万年进化而来的。在计算机智力快速追赶人类智力的游戏中,计算机在棋类中战胜人类只是时间问题。计算机之所以能战胜人类,是因为机器获得智能的方式和人类不同,它不是靠逻辑推理,而是靠大数据和智能算法。

在数据方面,Google 使用几十万盘围棋高手之间的对弈数据来训练AlphaGo ,这是它获得所谓”智能“的原因。在计算机方面,Google 采用了上万台服务器来训练 AlphaGo下棋的模型,并让不同版本的AlphaGo相互对弈上千万盘,这才保证它能做到"算无遗策"。

Google 开发 AlphaGo 的最终目的,并非要证明计算机下棋比人类强,而是要开发一种机器学习的工具,让计算机能够解决智能型问题。

AlphaGo 和李世石对弈,实际上是对当今计算机智能水平的一个测试。在人机对弈的第四盘李世石反败为胜的过程中,他无意中发现了 AlphaGo 的一个缺陷。

AlphaGo 的成功里面既有创造优化机器学习工具的 Google 工程师的功劳,又有李世石等棋手的功劳。不管是Google 工程师还是李世石,这些帮助AlphaGo获得”智力“的人类杰出代表,才是真正的胜利者。AlphaGo 的胜利标志着人类在机器学习智能方面达到一个崭新的高度,因此这是人类的胜利。

AlphaGo 无论是训练模型时,还是下棋时所采用的算法都是几十年前大家就已经知道的机器学习和博弈树搜索算法。Google 做的工作是让这些算法能够在上万台甚至百万台服务器上并行运行,这就使得计算机解决智能问题的能力有了本质的提高。这些算法并非专门针对下棋而设计的,其中很多已经在其他智能应用的领域获得成功。AlphaGo 的成功标志着计算机的智能水平达到一个新高度之后,可以开始解决更多问题。

今天,计算机已经开始了很多过去必须用人的智力才能完成的事情,比如:给孩子讲故事、自动驾驶汽车、自动识别车牌计算停车费。

AlphaGo 的获胜让一些不了解机器智能的人开始杞人忧天,担心机器在未来能够控制人类。这种担心是不必要的,因为AlphaGo的是人类创造、设计的。这也间接代表着人类是比电脑更聪明的,因为我们可以创建它,而电脑永远都不可能创建出一个人脑,就算他是最聪明的智能AI也一样。

人类是一种非常特殊的生命,而并不是电子计算机这种东西可以取代的,前者是有感情的生命,可以在不同的情况下有不同的行为,而人工智能就算再聪明他们也必须要在框架内行动,而创建这个框架的是人类。

人类获取智力是通过观察、分析、记录、学习的过程不断堆叠积累而来的,贯穿整个流程关键就是“信息“。这里的”信息“本质上就是 “数据”。一个刚出生的婴儿成长为一个具有完备智力的成年人,他的成长过程是这样的:

一方面,通过父母、同伴的生活体验中积累 ”数据“,并通过记忆的方式存储到大脑中。另一方从幼儿园开始,到小学、中学、高中、大学、研究生教育课程,从书本中快速积累知识 ”数据“。

人类通过以上两方面经历积累的数据,并通过思考的方式总结各个知识点相关性,自我提炼出应对生活中各种事件的处理能力,这种能力被称之为”智力“。

人类能通过以上的方式获得”智力“,那么机器是否也可以这样做呢?

自上个世纪五十年代以来,人类就开始进行让机器获得”智力“的探索。真正科学地定义什么是机器智能的,是计算机的奠基人阿兰-图灵博士。
图片描述图片来自于网络,版权归原作者所有

1950年,图灵在发表了《计算的机器和智能》论文。论文中定义了被后人称为图灵测试的机器智能测试标准。如果计算机实现了以下几个方面的事情中的一件,就可以认为他有图灵所说的那种智能:

语音识别

机器翻译

文本的自动摘要或者写作

战胜人类的国际象棋冠军

自动回答问题

这些机器智能在今天大部分都已实现得非常好,但是从图灵提出到人类真正很好的实现,经历的非常漫长而曲折的过程。

最开始科学家们提升机器智能采用的思路是:了解人类智能的产生过程,然后让计算机按照人的思路去做。从图灵博士关于机器智能测试标准图灵测试出发点看,机器智能的关键在于机器是否能够解决人脑所能解决的问题,并不一定非得按照人一样的方式处理。

从图灵测试发表之后的二十年时间里,由于科学家们一直试图让机器模拟人类来获取智能,机器智能的发展基本处于停滞的状态。

直到 1970 年,人类开始采用数据驱动和超级计算的方法获取机器智能。在实践中,人们发现增大用于机器智能模型训练的数据量,会直接提升机器智能的”智力效果“。 通过增大数据量的方式,人类前后在语音识别、机器翻译领域获得突破,随后在图像识别、自然语言处理等方面获得突飞猛进的进展。

20 世纪 90年代以后,随着互联网快速发展,人类获取数据越来越容易,提供用于优化机器智能的数据量越来越大。最终”大数据“拖动人工智能这一技术革命的到来。

随着大数据技术的不断发展,人类将智能问题转化成数据问题,“大数据”时代的来临,引领了“人工智能”时代的来临。“人工智能”站在“大数据”这一巨人肩膀上获得起飞。时至今日,人工智能被应用到生活的各个领域,并随着5G的到来为人类未来的生活带来了无限的想象。这是“人工智能”的荣誉,也是“大数据”的荣誉。

我们了解了人工智能的发展历程中“大数据”所起到的关键性的推动作用。70 年前图灵博士所倡导的机器智力测试标准 “图灵测试”,在今天都已经成为现实。同学们,未来的五十年,“人工智能”能够实现的“智力”可能有哪些呢?欢迎大家畅所欲言。

07 芝麻信用:大数据赋能征信行业

世界上最宽阔的是海洋,比海洋更宽阔的是天空,比天空更宽阔的是人的胸怀。
——雨果
大家好,这一小节,我们一起学习一下 “大数据” 对征信行业的赋能作用。

如果有人告诉你,芝麻信用分超过 750 分就可以在 30 多个国家办理签证时候免资产证明,你是不是有兴趣想问问这个芝麻信用还有什么作用呢?

事实上,除了办理签证时候可以提供便利之外,较高的芝麻信用分还可以享受高支付宝花呗透支额度、免押金租车、免押金住酒店、免押金购物试用等便利。

阿里巴巴推出的芝麻信用分是以大数据分析技术为基础,采集多元化数据,包括传统的金融交易、还款数据、非金融数据,以及互联网、社交网络数据来考察评估个体的还款能力、还款意愿,来做出合理、全面的信用评估。

芝麻信用分从五个维度来计算,行为偏好、信用历史、人脉关系、履约能力和身份特征。不过这五个维度所占分数的百分比是不一样的,具体情况如下:

信用历史(35%): 指过往的履约记录,包括以往的信用账户还款记录和信用账户历史,诸如信用账户(例如花呗、借呗)历时时长、信用卡的张数、额度和级别等。

行为偏好(25%): 指在购物、缴费、转账和理财等活动中的偏好及稳定性。

履约能力(20%): 综合各方面资产信息来判断履约能力。首先考察你的资产,诸如你的账户资产,有没有缴纳情况啦。如果你没有,好我们继续,你房租交了吗?信用卡还了吗?水电煤费交了吗?租的车还了吗?

身份特质(15%): 指在使用相关服务过程中留下的丰富、真实的个人基本信息。就是那些从公安、学校、工商、法院等各大公用部门获得的个人资料。像职业、学历学籍,手机和和地址之类的信息,再就是实名消费行为(比如:本人的酒店、机票、保险等消费)。

人脉关系(5%): 指人际来往中的影响力及好友的信用状况,如好友的身份特征以及跟好友互动的程度。物以类聚人以群分,你的朋友是你的镜子,芝麻会通过你的转账关系和支付宝朋友来评判你的个人信用。如果周围的人的信用都很好,那么你信用极其低下的可能性也不大。

尽管芝麻信用分只有五个维度来计算分值,但每个纬度影响的因素非常多,可能最后对结果产生影响的数据项有上万个。经过这么庞大的数据项计算出的结果,最终对个体的征信评估相对准确的。

那么芝麻信用分有哪些局限性呢?

数据局限于阿里巴巴集团所能获取到的数据资源。尽管阿里巴巴作为全球领先的电商服务平台,接入了大量网络购物、生活服务、出行数据,但是像社交数据、游戏数据、信息流数据、搜索数据方面缺失比较多。
芝麻信用分采用的大数据模型评估给传统的风险管理带来挑战:基于大数据的几千、甚至上万的变量多结果的影响关系非常复杂,这种模型的复杂性在给用户、其他金融公司做解释时沟通成本非常高。
利用个人消费、行为大数据做信用评估时会涉及大量的隐私数据、敏感数据,例如:购物消费数据、转账记录等。数据安全问题挑战巨大。
芝麻信用分的局限性问题对于整个大数据征信行业是普遍存在的,为了打通数据与数据之前的壁垒,同时更有效地保护用户数据安全,国家队出手了。

2018 年 5 月 23 日,百行征信在深圳正式揭牌,为央行批准的、全国唯一一家拥有个人征信业务牌照的市场化个人征信机构。中国互联网金融协会持股 36%,芝麻信用等 8 家原先试点机构分别持股 8%。

百行征信专业从事个人信用信息采集、整理、保存和对外提供信用报告、信用评分、反欺诈等各类征信服务;将与央行征信中心形成 “错位发展、功能互补” 的市场格局。

百行征信里面包含了大量众多数据资源实力实足的公司,既包括了像阿里巴巴的电商交易数据、腾讯的社交数据,也包含大量互联网金融平台的金融数据。

数据单一、数据流通壁垒等问题从根本上得到解决。如果能制定一个统一有效数据安全规范方案,相信在不久的将来,百行征信计算出的征信分数,能够很好的赋能征信行业。

对于大数据赋能个人征信业务,阿里巴巴的芝麻信用给了我们一个很好的示范,然后对于大数据如何赋能企业征信业务,目前还处在探索阶段。

企业级征信分为两部分:中小企业征信、大企业征信。

在我国,中小企业贡献 50% 以上税收、60% 以上的 GDP、70% 以上的技术创新、80% 以上的城镇劳动就业、90% 以上的企业数量,然后与之对应的却是:截止 2018 年全国全口径小微企业贷款余额 33.49 亿元,仅占总贷款余额的 23.81%。

中小企业需要的贷款支持迫在眉睫,大数据在解决中小企业征信中的市场应用前景非常巨大。

对于大型企业而言,企业融资问题通过传统征信方式已经可以得到满足,但是授信方式比较繁琐。通过大数据数字化授信的方式,可以作为补充,辅助银行信贷人员对大企业授信评估。对于减少银行大企业贷款不良率、提升授信效率方面,大数据依然有很强的赋能作用。

我们从芝麻信用分的计算构成讲到了大数据在个人征信领域面临的问题和百行征信的解决方案。大数据在个人征信上发展形势良好,对于企业征信的赋能作用,前景非常广阔。

08 并行计算和实时计算哪个更难

只有在那崎岖的小路上不畏艰险奋勇攀登的人,才有希望达到光辉的顶点。
——马克思
上一个小节中我们以芝麻信用作为例子,给大家讲解了大数据赋能征信行业。这一小节我们将学习大数据计算场景中最重要的两个场景:并行计算和实时计算,然后进一步探讨一下:并行计算和实时计算哪个更难?

经过前面章节的学习,大家都知道大数据技术产生之初是为了解决数据规模比较大的场景下,数据的计算问题。

Google经典的三驾马车“GFS、MapReduce 和 BigTable “分别解决了大规模数据在数据存储、数据计算模型、数据查询三个方面的问题。

说到本质,“GFS、MapReduce 和 BigTable ” 都是通过水平扩容的方式,将数据存储、数据计算模型、数据查询从一个机器上分摊到多台机器上,从而解决大数据并行计算场景下,数据规模庞大带来的计算时间过长的问题。

进一步的说,人们通过分布式计算解决了大数据计算场景中最基本的并行计算场景问题。

分布式计算概念

那么什么是分布式计算呢?

分布式计算是一种计算方法,和集中式计算是相对的。

随着计算技术的发展,有些应用需要非常巨大的计算能力才能完成,如果采用集中式计算,需要耗费相当长的时间来完成。

分布式计算将该应用分解成许多小的部分,分配给多台计算机进行处理。这样可以节约整体计算时间,大大提高计算效率。

分布式计算分为以下三类:

1.传统的C/S 模型 。如HTTP/FTP/SMTP/POP/DBMS 等服务器。客户端向服务器发送请求,服务器处理请求,并把结果返回给客户端。客户端处于主动,服务器处于被动。

2.集群技术。 近年来PC 机的计算能力飞速发展,而服务器的计算能力,远远跟不上客户端的要求。这种多对一的关系本来就不公平,人们已经认识到靠提高单台服务器的计算能力,永远无法满足性能上的要求。于是一种叫集群的技术出现了,它把多台服务器连接起来,当成一台服务器来用。

3.通用型分布式计算环境。 如CORBA/DCOM/ RMI/ DBUS 等,这些技术(规范)差不多都有具有网络透明性,被调用的方法可能在另外一个进程中,也可能在另外一台机器上。实际上,分布式计算的代价是可观的,据说跨进程的调用,速度可能会降低一个数量级,跨机器的调用,速度可能降低两个数量级。

在Google的“GFS、MapReduce 和 BigTable ” 出现之前,分布式计算经历了相对漫长的发展时期。

Actor模型

分布式计算最早、最经典的模型是Actor模型。Carl Hewitt 于1970年发明Actor 模型,当时Actor 模型的概念远远领先于那个时代,直到Erlang 这样基于Actor 模型设计的面向并发编程的新语言横空出世之后,Actor 模型才真真火了起来。

在Actor 理论中,一切都被认为是Actor ,这和面向对象语言里一切都被看成对象很类似。但包括面向对象语言在内的软件通常是顺序执行的,而Actor模型本质上则是并发的。

Actor 之间仅通过发送消息进行通信,所有的操作都是异步的,不同的Actor 可以同时处理各自的信息,使整个系统获得大规模的并发能力。

数据和计算逻辑被一个Actor 分发给多个Actor 进行并行加工,加工完之后的半成品数据被新的Actor组装成最终的结果数据。

Actor 模型奠定了分布式计算的基础,各个语言基于Actor 模型实现了各自的库函数。Akka 是一个用 Scala 编写的库,Java 也有第三方的Actor 包,Go语言channel 机制也是一种类Actor 模型。

基于Actor 模型的库一定程度上解决了分布式计算的很多问题:

垂直扩展(并发)

水平扩展(远程调用)

高容错

然而真正将Actor 模型应用到大数据并行计算场景模型是MapReduce。在MapReduce 之后计算效率更快的Spark 也采用了Actor 模型。MapReduce 和Spark 的成功告诉我们:即使是所谓“旧病装新酒”的东西,只要应用到合适的场景,就能产生巨大的成功。

实时计算面临的挑战

基于Actor 模型的并行计算框架比较好地解决了大数据并行计算场景计算时间过长的问题,那大数据实时计算场景相对于并行计算场景有哪些新的挑战呢?

数据处理唯一性(如何保证数据只处理一次?至少一次?之多一次?)

数据处理的及时性(采集的实时数据量太大的话会导致短时间内处理不过来,怎样防止数据堆积?)

数据处理层和存储层的扩张性(如何根据采集的实时数据量的大小提供动态扩容?)

数据处理层和存储层的容错性(如何保证数据处理层和存储层出现故障时的高可用?)

尽管大数据实时计算面临了这么多新的挑战,然而富有创造力的大牛们先后开发了Strom、Spark Streaming、Flink 等实时计算框架帮助数据研发人员处理大数据实时计算问题。

实时计算相对于并行计算有着更短处理时间的要求,所以处理成本会比普通的并行计算要高很多。如果不是必须的情况下,不必非得引入实时计算。

那么怎样判断自己的业务场景中是否需要进入实时计算呢?

实时计算场景

实时数据存储
实时数据存储的时候做一些微聚合 、过滤某些字段、数据脱敏、组件数据仓库、实时ETL。

实时数据分析
实时数据接入机器学习框架或者一些算法进行数据建模、分析,然后动态的给出商品推荐、广告推荐。

实时监控告警
金融相关涉及交易、实时风控、车流量预警、服务器监控告警、应用日志告警。

实时数据报表
活动营销时销售额/销售量大屏,TopN 商品。
图片描述

总结

总结一下小节的内容。大数据有着两个大的场景:并行计算场景、实时计算场景。

并行计算场景主要的挑战在于数据规模的庞大,基于Actor 模型的MapReduce、Spark 框架将计算任务进行拆分、计算结果合并的方式比较地解决了并行计算场景问题。

实时计算场景处理同样需要面临数据规模庞大问题之外,有着更高的时间要求。因此, 回到小节开头的那个问题:并行计算和实时计算哪个更难?

很显然,实时计算更难。

09 百度的陨落和头条的崛起:从搜索到推荐

你若要喜爱你自己的价值,你就得给世界创造价值。
——歌德
这一小节我们将讨论一个有趣的话题,从百度的陨落和头条崛起的角度来聊一聊,大众用户获取数据信息方式上的变迁。

百度陨落和头条的崛起

2005年8月5日,李彦宏迎来了人生当中的高光时刻,带领百度在纳斯达克上市成功。
图片描述图片来自于网络,版权归原作者所有

首日挂牌,百度股价高达120美元,很快以高达354%的涨幅,刷新了美国股市213年以来外国公司首日涨幅的最高纪录。百度上市以后公司整体收入进入了快速增长阶段,从2005到2007年利润翻了十多倍。

2010年3月开始Google退出中国,百度一举占领国内搜索市场份额的80%以上。
图片描述图片来自于网络,版权归原作者所有

那一年智能手机还未普及,大部分人都是通过电脑浏览器上网,百度是很多人浏览器的主页。当时的百度和腾讯分别占据搜索和社交业务,成为互联网公司第一梯队。阿里巴巴只有B2B业务在香港上市,市值100亿美金。百度的市值是第三名阿里巴巴的三倍多。
图片描述图片来自于网络,版权归原作者所有

2011年得益于在过去一年中吸收Google退出中国后空出的市场份额,百度业务爆发式增长,市值飙升,超过腾讯成功国内互联网市值排名第一。

图片描述图片来自于网络,版权归原作者所有

图片描述图片来自于网络,版权归原作者所有

然而到了2019年百度市值跌落到了第八名,头条的母公司字节跳动估值达到750亿。头条代替百度成为国内互联网公司估值第三名。
图片描述图片来自于网络,版权归原作者所有

市值或者估值反应了投资者对一个公司的整体价值判断,财务数据则直接反映了一个公司当前的盈利能力。

2019年5月百度周四发布了该公司截至2019年3月31日的第一季度财报。

财报显示,百度第一季度总营收为人民币241.23亿元(约合35.94亿美元),同比增长15%;归属百度的净亏损为人民币3.27亿元(约合4900万美元),较去年同期的净利润人民币66.94亿元转亏。

百度出现了自上市以来第一个亏损的财报。
图片描述图片来自于网络,版权归原作者所有

由于一季度盈利和营收、二季度营收指引均不如市场预期,罕见录得运营亏损和净亏损,搜索业务高级副总裁向海龙已递交辞呈,公司虽宣布了10亿美元的股票回购计划,股价盘后仍大跌近10%。

头条的母公司字节跳动业务营收成爆发式增长:2016年60亿,2017年150亿,2018年500亿。2019年的业务营收预计在1000亿。2019年6月字节跳动整体业务实现盈利。

从搜索到推荐:国内用户获取数据习惯变迁

百度、头条这两家互联网公司一直都非常重视技术对业务上的推动。

百度从互联网时代开始一直到移动互联网时代在搜索技术上有着大量的技术积累,对比搜狗搜索、360搜索,使用百度搜索人们可以搜到更多我们需要的内容。凭借搜索技术上的优势带来的更好的用户体验,百度搜索一直牢牢占据国内搜索领域头把交椅。

做信息流起家的头条公司创业之初就面临着百度搜索领域的垄断压力,于是另辟蹊径,推出了根据用户阅读习惯给用户推荐信息流的“今日头条”产品。

“今日头条”产品推出之时正好赶上国内智能手机普及、3G4G网络普及浪潮,整个社会进入了移动互联网时代。凭借着“推荐”这种门槛更低的信息获取方式,“今日头条”对三四五线城市里面刚刚接触互联网的人们有着非常强的易用性,于是迅速火爆起来。“头条”和“快手”、”拼多多“一起被人们称为“互联网三下乡”。

而“今日头条”火爆之后,字节跳动公司又推出了“抖音视频” 、“火山小视频”、“西瓜视频”等同样基于用户推荐的产品。这些产品一经推出都获得大量的用户。

为什么对于用户使用门槛更低的用户推荐系统会比搜索系统要晚出来很久呢?搜索系统和推荐系统有什么根本性的不同呢?

搜索系统

我们先看一下搜索系统架构。
图片描述图片来自于网络,版权归原作者所有

从上述的搜索引擎架构图中,我们可以看出一个完整搜索引擎架构(全文搜索引擎为例)需要包含的三大块(我们一开始就说到的):

1)搜集信息:这一阶段是基本的数据收录阶段,主要任务就是构建网页数据库。该阶段主要依靠网络爬虫技术搜集全网的数据,并进行收录,这一阶段还包括网页去重的过程,主要利用Dedup技术。

2)组织和处理信息:这里最为重要的一个环节就是构建索引,其主要的技术为倒排索引技术。当然,该阶段还有建立连接关系和防作弊技术。

3)展示信息:搜索引擎根据用户的查询词(query)来进行数据库检索,然后根据内容、链接匹配度和特定的排序算法将结果展示给用户。目前常用的排序算法主要为Learn2Rank的排序方法以及GBRank算法。

推荐系统

图片描述图片来自于网络,版权归原作者所有

推荐系统包含流程:

1)结果展示部分。不管是App还是网页上,会有UI界面用于展示推荐列表。
2)行为日志部分。用户的各种行为会被时刻记录并被上传到后台的日志系统,例如点击行为、购买行为、地理位置等等。这些数据后续一般会被进行ETL(extract抽取、transform转换、load加载),供迭代生成新模型进行预测。
3)特征工程部分。得到用户的行为数据、物品的特征、场景数据等等,需要人工或自动地去从原始数据中抽取出特征。这些特征作为输入,为后面各类推荐算法提供数据。特征选取很重要,错的特征必定带来错误的结果。
4)召回部分。 有了用户的画像,然后利用数据工程和算法的方式,从千万级的产品中锁定特定的候选集合,完成对推荐列表的初步筛选,其在一定程度上决定了排序阶段的效率和推荐结果的优劣。
5)排序部分。针对上一步的候选集合,会进行更精细化地打分、排序,同时考虑新颖性、惊喜度、商业利益等的一系列指标,获得一份最终的推荐列表并进行展示。
从上面的推荐系统和搜索系统架构对比可以看出,推荐系统需要根据每个用户行为日志做个性化数据计算,由于互联网用户数量庞大并且差异很大,整个推荐系统需要计算的数据量会比搜索系统多很多。

除了需要的计算量更加庞大之外,搜索系统算法复杂程度也更高。推荐系统相对搜索系统来说有着更高的技术门槛。

总结

最后,我们对本小结的内容做一个总结。搜索技术刚刚出现的时候,对用户比较直接的交互方式,满足了中高文化水平人员获取信息的需求。随着大数据技术更加成熟,推荐系统这种傻瓜式的信息投喂方式满足了更多普通大众获取信息的需求。

越来越多的人喜欢用推荐的方式获取数据信息,搜索被推荐替代。

百度战胜了搜索领域的所有对手,却输给了时代。百度的陨落,头条的崛起,是用户获取数据习惯变迁的结果,更是时代的进步的结果。

10 数据爬取:一个简单的难题

不经一翻彻骨寒,怎得梅花扑鼻香。
——宋帆
上个小结我们讲到百度和头条兴衰背后的原因,在这一小节我们一起来学习一下数据爬取的知识。

数据爬取技术俗称为“爬虫”。稍微接触过一些互联网的人应该都听说过这种技术,大部分人对爬虫的认知是一种去别的网站爬取信息,偷取数据的技术。

最近,国家对大数据行业的规范化行动,前有头部金融大数据独角兽同盾科技有限公司爬虫部门解散,同盾科技实际控制人兼CEO 蒋韬出国避风头的传闻,后有51信用卡非法爬取借贷人隐私,暴力催收。

一时间,数据爬取这一技术似乎成为了大数据公司技术犯罪的帮凶。
图片描述图片来自于网络,版权归原作者所有

那么爬虫到底是什么技术呢?

爬虫的发展史

世界上第一个爬虫是由麻省理工学院的学生马休·格雷在1993 年写的,并给他起了一个名字“万维网漫步者”。“万维网漫步者”在编写之初只是为了统计互联网上的服务器数量,后来做了一些升级,可以用它来检索网站域名。

随着整个互联网行业蓬勃发展,人们每天都需要检索互联网上的资源。于是爬虫最早服务于搜索引擎,用来做数据收集。

1994 年7 月,Michael Mauldin 将John Leavitt 的蜘蛛程序接入到其索引程序中,创建了当时著名的搜索引擎Lycos 。这应该也算是第一个搜索引擎了。

其后无数的搜索引擎促使了爬虫越写越复杂,并逐渐向多策略、负载均衡及大规模增量抓取等方向发展。爬虫的工作成果使得搜索引擎能够搜索到几乎全部的万维网页,甚至被删除的网页也可以通过”网页快照“的功能访问。
图片描述图片来自于网络,版权归原作者所有

爬虫技术原理

爬虫的技术原理非常简单,包含以下几个过程:

模拟人浏览网络

爬虫会模拟人浏览网络时候发送的HTTP 请求,向需要爬取服务器发送这些HTTP 请求。这个过程中爬虫需要构造请求参数,甚至模拟人滑动鼠标的姿势、模拟机器周围环境的声音。

获取响应内容

爬虫发送完HTTP 请求之后,服务器会返回响应的数据。这些数据包括:文本(HTML、JS)、图片、视频。

解析响应内容

爬虫需要解析响应内容,响应的内容的格式需要根据具体爬取的内容作出匹配。比较常见的是JSON 格式的文本。

存储数据到DB

爬虫爬取的数据量通常会很大,整理好响应内容后需要实时存储到数据库中。这些数据库可能是MySQL等关系型数据库,也可能是Redis 等非关系型数据库,或者是存储到Kafka 等大数据存储系统中。

爬虫界的君子协议:robots.txt

每个人圈子都有它专门的游戏规则,大家都按照游戏规则执行才能保证每个参与游戏的玩家愉快地玩下去。就像大家在路上开车,红灯停,路灯行是基本的交通规则。爬虫界基本的规则就是robots.txt 协议。
图片描述图片来自于网络,版权归原作者所有

robots.txt协议字段说明:

User-agent: * 这里的*代表的所有的搜索引擎种类,*是一个通配符

Disallow: /admin/ 这里定义是禁止爬寻admin目录下面的目录

robots.txt协议示例如下:

User-agent: Baiduspider
allow:/
上面的协议是允许百度引擎的爬虫,爬取根目录一下的所以目录。大部分网站都希望被百度、Google 等搜索引擎爬取到,以便能被人们从搜索引擎中检索到,从而获取更多的网站访问流量。淘宝网的robots.txt 协议:https://www.taobao.com/robots.txt

Robots.txt 协议本身是一个行业沟通规范,不具备法律效力。即使爬虫在爬取网站数据的时候不去遵守这个协议,也没有一个专门的权利机构去惩罚爬虫的行为。

一个更加现实的情况是,对爬虫来说,那些网站不让爬取的数据往往才具有高商业价值。比如说竞争对手网站商品售卖价格、商品品类、商品交易额等数据。

有些大数据公司则专门搜集个人隐私数据,然后将这些隐私数据分门别类,出售给各个行业,用于商业目的。

这也是本小节开头所讲的大数据公司被国家政府机构调查的主要原因之一。

合法的数据爬取标准

严格遵守网站设置的robots 协议:

Robots协议代表网站数据对外开放的基本意愿,需仔细阅读后,严格按照协议规范操作。

严格控制数据爬取并发量:

大部分中小网站服务器设计时候都不会考虑爬虫流量给网站带来的访问压力。如果数据爬取并发量过大,可能会造成被爬取网站瘫痪。

个人隐私和商业机密数据不能爬:

在存储、使用所抓取的数据内容时候应该严格甄别,数据是否属于个人隐私数据、公司商业机密数据。个人隐私数据、商业机密数据一旦泄露会产生严重的社会伤害,是肯定不能爬取的。

数据爬取的问题&挑战

数据爬取的问题和挑战归结到本质为两件事情:速度、数据质量。

数据爬取的数据往往具有时效性,需要在特定的时间内完成数据爬取,意味着数据爬取需要有足够的爬取规模。另一方面数据规模过大会导致数据质量得不到保障。速度、数据质量两个往往相互矛盾的要求,让数据爬取这一看似简单的技术面临巨大的挑战。

挑战1:网站格式多样性且不断变化

数据爬取的第一步就是要模拟人浏览网页,模拟人浏览网页的第一步就是通过爬虫程序匹配网站格式。这些格式包括前端的HTML 格式、HTTP 请求格式。不同的互联网网站前端展示格式、数据内容格式不可能完全一致。大部分活跃的互联网网站每周都会进行升级,升级之后HTML、HTTP请求格式可能都会有变化。爬虫程序需要不断升级并匹配网站的格式。网站格式多样性且不断变化,需要你持续投入时间和精力到网页格式、数据内容格式的匹配上。

挑战2:网站数据格式错误

数据爬取程序在获取网站数据的时候会发现不是所有的网站内容都是标准、正确的。错误的HTTP返回码、Ajax误用、Json 格式损坏会让数据质量急剧下降。爬虫需在不断发现并弥补网站错误的数据格式,筛选出需要的数据内容。

挑战3:数据质量

实际的数据爬虫场景中,爬虫程序最终想要的数据内容往往是多个客户端(Web/App)、多版本爬取结果整合到一起的。数据整合的过程中需要面临Web 端和移动端数据打通问题,多版本数据内容的正确性校验问题。当爬取的数据规模庞大时数据质量问题尤为突出。

总结
这小节我们讲到了数据爬取这一大数据领域的常见技术,从爬虫的发展史开始,我们介绍了爬虫的技术原理、Robots.txt 协议、合法的数据爬取标准。最后我们列举了数据爬取过程中三个最大的挑战。这三个最大的挑战让数据爬取这一看似简单的技术变得异常复杂。
3个问题怎么解决?

你可能感兴趣的:(人工智能及大数据学习)