通常情况下,我们所采集到的数据可以被分为三种类型,即非结构化数据,结构化数据,以及半结构化数据。
无法定义结构的数据称为非结构化数据。处理和管理非结构化数据是相对来说困难的。常见的非结构化数据为文本信息,图像信息,视频信息以及声音信息等等,他们的结构都千变万化,不能用一个二维表来描述。
另一方面,结构化数据往往被称为行数据,是由二维表结构来逻辑表达和实现的数据,其严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理。
比如说大学生的选课体系中,学生,课程,选课,导师等等数据都可以抽象为结构化数据。
除了结构化和非结构化数据之外,我们往往还需要对于半结构化数据进行采集。
半结构化数据和前面介绍的两种类型的数据都不一样,它是结构化的数据,然而结构变化很大。
那么何叫结构变化很大呢?结构变化很大即是在半结构化数据中,同一类的不同实体数据的结构可能会有一定程度的不同,即不同实体所具有的属性会有一定程度的不同,而同时,对于这些实体来说,不同的属性之间的顺序是并不重要的。
一个经典的半结构化数据的例子即为简历信息,每一份简历都遵循着简历这个大类所存在物理意义,即Highlight我们迄今为止在所在领域的成就。因此我们的简历中很有可能会有教育背景、职业经验以及姓名+联系方式等等。
然而在这个大前提下,每一份简历所具有的属性都不尽相同:有的人会在简历中加入志愿者经历,有的人会加入自己的所掌握的技能,有的人会加入自己的获奖经历等等。这就是我们刚刚所说的数据的结构变化很大的一个体现 。
话说回来,半结构化数据往往以XML或者JSON等方式出现,具体的细节大家可以进一步去了解XML和JSON的特性,在此就不再赘述啦。
那我们刚刚讲的非结构数据,结构化数据,以及半结构化数据可以看作是对数据的High-level的分类。然而,根据数据所产生的领域的不同,或者是数据的应用方式不一样,我们可以进一步将数据分为更为细粒度的类型。
接下来,我们会向大家介绍六种不同的数据类型,注意,这里把它们放在一起讲并不是由于它们是平行的,而是它们确实都是从某个维度上对数据的特殊的描述。当然了,还有很多其他的数据分类,在这里我们只将一些相对常见的类型。
是人口统计学数据,例如性别、年龄等等,这类数据一般可以用来对用户进行建模时使用。例如,在用户兴趣建模中,不同年龄层的用户可能会喜欢不同的内容。
而后是用户搜索数据,也就是用户在搜索引擎中产生的数据。这些可以帮助我们更好地定位用户的喜好和路线,从而产出更加精准的用户画像,以更好地服务用户。
接下来的天气数据是一类非常易于采集的数据,其用途也非常广泛。例如,餐饮业在不同的天气可能会有不同的营业额,对营业额的建模时,可以加入天气数据来提升模型的效果。
而位置数据,则是利用GPS所产生的,用户的地理位置数据。位置数据和人口统计学数据类似,都可以用来对用户进行建模,例如,我们可以结合人口统计数据以及位置数据来构建更加精准地用户画像。
关联数据是一种比较有意思的数据,如万维网创始人Berners-Lee所说,关联数据是可以将不同的数据源相关联起来的数据。
那我们最后一种要介绍的数据类型,有一个很有意思的名字,叫做数据废气。
数据废弃一般指伴随用户的某些活动而产生的一系列数据,例如用户访问过的网页站点数据、点击过的按钮/内容等等,这类数据由于是活动的副产品,在早期是被当作无用的数据而丢弃的,数据废气的名字也就随之而来啦。
这些数据往往可以用来对用户的兴趣进行建模,例如Netflix、Youtube在线实时推荐服务背后,重要的一环就是利用用户在他们的App端或者网页端观影所产生的数据废气来对用户的兴趣进行建模。
以上,我们已经回顾了数据采集的经过中及数据的使用场景,希望看完这篇文章小编将后,大家能对户数据采集中的细节和概念,有一个更加清晰的认识!