为数据而生:大数据创新实践
上QQ阅读APP看书,第一时间看更新

如我们之前看到的,数据总量爆炸式地增长,绝大部分的数据和运算已经不能仅凭“纸、笔和聪明的头脑”完成了,而需要我们动用计算机的力量了。人可能是最挑食的动物,计算机也一样会挑食,它最喜欢吃的数据,叫作结构化数据。

结构化数据

在一般意义上,结构化数据是指可以用一个二维表表示的数据。每个数据项在里面占据一行,例如在个人的特征属性表中,每个人占一行,这一行对应的特征可能是年龄、性别、职业类型、出生地点、居住地点……每一个特征对应一列,每一个特征的取值范围和存储所需的数据量都有清晰的界定。表2-1是一个二维表格,列出了我这几年看过的五本书的基本信息,是典型的结构化数据。

结构化数据背后的逻辑简单明了,不仅人容易理解,计算机也容易理解。一旦数据被整理成一张一张的表格,就有非常多成熟的数据挖掘和分析软件,可以自动化地从这些表格中获得洞见。

例如,利用表2-1的数据,我们可以探索什么因素和累计的销量关系最大:出版社、出版时间、图书类型、作者还是价格?有的时候,需要把多个因素组合起来分析,比如经济学的书卖得贵一点儿也没关系,但是小说最好便宜一些。把多个因素组合起来分析也并不困难,我们只需要多增加一些新特征列,包含这些组合项就可以了。对于计算机而言,这更不是什么困难的事情。有的时候,通过两两甚至三元、四元组合,我们从几十个基本特征出发,会得到数亿个特征项。虽然计算量增加了,但是计算背后的逻辑并没有变化。基于这些结构化数据的关联分析,当一本新书出版之后,我们还能够利用分析的模型对它未来的销量进行预测。

表2-1 结构化数据表示例

在进行预测的时候,我们也许会发现,结果不如我们期待的那么准确。因为这些简单的属性,以及属性之间的各种组合,还远远不足以刻画一本图书的质量和销量。吸引一个读者的因素很多,其中最重要的是书的内容,特别是简介、序言和书的开头部分,因为读者往往会阅读这些内容以判断是否购买。其他的因素还有很多,比如封面和封底的设计就很重要——简洁而有质感的封面往往能在第一时间打动我,“豆瓣”上面有价值的深度评论也很重要——我当然更愿意相信爱书者的评论而不是出版商的宣传。然而,这些明显具有很高价值的数据的引入,会给原本简单的“结构化数据处理方法”带来麻烦。

我们当然可以在这个表中新增加三列内容:

● 一列叫作封面设计

● 一列叫作正文文本

● 一列叫作读者评价

第一列存放一个图片文件,第二列存放一个文本文件,第三列存放若干个文本文件。但是,由于这三个新增列的内容既不是一个具体的数值,也不是在有限的分类中的一个确定的类别,我们原来的处理办法一下子“瘫痪”了。除非是通过某种办法,我们能够利用图片文件和文本文件得到对于图片质量、吸引力、与图书主题的匹配度、全文阅读流畅感、文笔水平、读者评价倾向性等指标定量化的估计,然后把这些估计得到的特征变成新的列,放入刚才的表格中进行关联分析和预测。

非结构化数据

这里提到的“某种方法”,代表了大数据时代一种典型的技术挑战:如何从形形色色的非结构化数据中,提取出有用的、可以量化或分类的信息。提取出来的信息既可以转化为某种结构化大表中的若干特征项,也可以直接应用,后面我们会介绍很多这样的例子。

以前,这类技术没有受到像现在这样的重视,是因为在所有等待处理的数据中,结构化的数据占据了大半江山。但是几年前,非结构化数据的总量超过了结构化数据,2014年新增数据中非结构化数据在总量上的占比超过了80%,2015年这个比例超过了85%。与此同时,非结构化数据增长的速度是结构化数据增速的两倍以上,这就使得未来非结构化数据的占比还要增加。因此,在现在以及可以预期的将来,如何处理非结构化的数据一直会是大数据挖掘分析的中心问题之一。

之所以处理非结构化数据难度很大,是因为非结构化数据形态各异,没有办法找到统一的分析挖掘的方法。除了刚才的例子以外,还存在很多不同种类的非结构化数据,比如:

● 中国联通客户服务部收到的语音投诉记录

● 搜狗上的视频内容以及相关的搜索和点播记录

● 新浪微博的关注关系网络

● 顺丰快递的送货车辆记录下来的GPS行驶轨迹

● 科学网上的博文和评论记录

● 大亚湾实验室的中微子通量数据

● 公安部门多点采集的视频记录

● 医院CT设备扫描得到的医学影像

……

这些数据涵盖了文本、图片、音频、视频、时空序列、网络等不同形态。相应地,针对不同种类的非结构化数据,我们所希望通过这些数据得到的价值也各不相同:

● 中国联通希望知道用户投诉的焦点问题是什么,以及如何从声音中判断投诉者的情绪。

● 搜狗希望建立一个跨媒体的个性化的搜索和推荐系统,为用户提供更贴心的服务。

● 新浪希望找到不同领域中最有影响力的用户,并且顺便把僵尸粉和广告粉都剔除掉。

● 顺丰想探索有没有更好的办法能够优化出车任务的配置和相应的行车路线。

● 科学网想要了解目前学术界关注的焦点问题是什么。

● 大亚湾实验室希望深入了解中微子的基本特性,以求解决反物质消失之谜。

● 公安部门希望在海量的视频记录中查找特定的人物、车辆和器件。

● 医院希望得到对于肿瘤情况的准确诊断

……

不同形态的数据,不同的价值诉求,都要求不同的数据挖掘和分析方法。一方面,我们可以很幸运地坐下来观赏各种或惊鸿一现或大巧若拙的算法如雨后春笋一般嘟嘟嘟往外冒;另一方面,我们很遗憾,没有办法写出一本叫作《非结构化数据处理的方法论》的教材。尽管计算机处理问题背后的逻辑和方法有迹可寻,但我们不能要求一个能够从有烟雾遮挡和背景干扰的图片中识别主体的高手,快速学会如何从博客文本中挖掘博主的情绪、性格和心理特征。尽管从特征中挖掘关联、因果和进行预测的方法具有极大的共通性,但是我个人预计,从不同类别的数据中提炼出最有价值的特征,将变成越来越专门化的技术。就像二十一世纪不会有类似于戴维·希尔伯特(David Hilbert)戴维·希尔伯特(David Hilbert),德国著名数学家,被称为“数学界的无冕之王”,他是天才中的天才。他于1900年8月8日在巴黎第二届国际数学家大会上,提出了新世纪数学家应当努力解决的23个数学问题,被认为是20世纪数学的至高点,对这些问题的研究有力推动了20世纪数学的发展,在世界上产生了深远的影响。——编者注这样的数学通才一样,二十一世纪也不大可能存在精通各种不同形态数据处理方法的技术通才。

从数据自身的发展变化来看,我们已经经历了从“十数九表”到“数态万千”的变化,但是绝大多数企业在数据分析和应用方面,还依然停留在“利用传统分析软件处理表格数据”的阶段。

那么,一个大型企业或者教育机构,怎么培养能够适应非结构化数据分析处理需求的员工和学生呢?是不是因为不同数据的处理方法各不相同,我们在安排课程和培训的时候就只能抓狂了呢?是不是我们只能从最具体的需求出发,通过一些实践性的课程培养学生和员工呢?我不同意这种想法,因为过早地让学生接触非常细节的问题,容易让他们迷失。

数学教学体系又出来给我们上课了。尽管不同的数学分支已经渐行渐远,我们不会随便抓住一个理论或方法就交给学生学习。如果这样的话,很可能你会被导师要求学习望月新一的新方法望月新一是日本京都大学的数学教授,疑似比特币的创始人。他在“远阿贝尔几何”领域中作出过超卓贡献,2012年宣称自己解决了数学史上最富传奇色彩的未解猜想:ABC猜想。望月新一所使用的数学理论和数学方法被认为是最为艰难和最难以掌握的。,那就恭喜了,十年时间你都难以入门!反过来,大学生一进来,我们让他们学习《微积分》和《线性代数》,因为这两门学科既最有代表性,也是将来应用最广泛的。进一步地,当我们要学习偏微分方程(在理论物理专业,这个课程叫作数学物理方程)的时候,我们既不奢望穷尽一切可能的偏微分方程,也不是一下子进入一个个互不关联的具体方程的求解技巧中,而是在介绍了一些基本的概念、方法和技巧之后,从我们最常遇到的方程类入手进行详细的分析,例如波动方程、热传导方程和拉普拉斯方程。

所以说,如果要给出明确的建议,我认为应该开一门“非结构化数据挖掘”的课程,首先简单回顾和介绍数据库和机器学习的基本概念和方法,然后选择六种类型的数据:文本、图像、语音、网络、空间轨迹和时间序列,这就像是波动方程、热传导方程和拉普拉斯方程一样,既是理解普适性理念的最好例子,也是最常遇到也最具应用前景的例子。

文本数据。我们能够容易获取的最丰富的非结构化数据,也是目前价值密度(单位数据量中能够挖掘出来的价值大小)最大的一种非结构化数据。通过对文本数据的分析,我们能够了解兴趣、评价、情绪、关联和趋势,等等。

图像和语音。仅次于文本的常见的数据形态。目前,前者的分析方法和应用场景都比后者丰富,但是,最近语音的应用场景有爆发性的增长,因此,我认为语音分析的技术在未来会特别受欢迎。视频数据的分析技术从某种意义上讲是基于图像的,当然,视频分析中的部分技术,例如对特定对象的动态追踪、不损失有效内容的压缩和定位视频的主角,等等,都是仅靠图像分析不能完成的。由于这些技术可以看成是图像分析和若干技术的组合,所以没有单独强调视频分析。

网络。需要受到特别重视的一类数据结构,不仅仅电话通信关系、社会交际关系等可以通过网络表达,金融系统的“企业-企业”和“企业-个人”资金流、电子商务中的“用户-商品”浏览购买记录、物流系统的供销关系,甚至电视节目之间的竞争关系都可以甚至需要通过网络表示——可以这么说,哪里有关系,哪里就有网络。网络数据不仅仅要求例如GraphLabGraphLab是一个功能强大的机器学习平台。它像MapReduce一样高度抽象,可以高效执行与机器学习相关的、具有稀疏的计算依赖特性的迭代性算法,并且保证计算过程中数据的高度一致性和高效的并行计算性能。——编者注这样的高效率计算框架,更需要在图挖掘算法方面的创新和突破。

空间轨迹。利用车载或者手机GPS,我们能够采集到越来越多交通工具和个人的空间轨迹,这些轨迹的分析,对于从基于位置的个性化服务到城市的区域布局和交通规划都有重要的作用。

时间序列。对时间序列的分析,从宏观上讲能够让我们预测到未来的发展趋势,察觉到可能的失稳甚至危机;从微观上讲能够从用户的活跃序列中分析用户的特征,设计更好的服务方案。时空数据有机融合后的深入挖掘分析会带来以前没有的巨大价值,而这方面的技术和人才储备基本是零就人类行为时间和空间特性的分析和应用,我曾和同事撰写过60页的长综述《人类行为时空特性的统计力学》,2013年发表在《电子科技大学学报》上,可供参考。

读者在本书后面无数的实际应用案例中会一次又一次看到这些数据的巨大价值。与此同时,我希望能够引起大家的思考和行动:怎么在中国培养出一批能够适应数据形态变化的数据挖掘和数据分析的人才?