CN105205058B - 数据处理系统和方法 - Google Patents
数据处理系统和方法 Download PDFInfo
- Publication number
- CN105205058B CN105205058B CN201410256887.0A CN201410256887A CN105205058B CN 105205058 B CN105205058 B CN 105205058B CN 201410256887 A CN201410256887 A CN 201410256887A CN 105205058 B CN105205058 B CN 105205058B
- Authority
- CN
- China
- Prior art keywords
- data
- feature
- tasks
- abbreviation
- handled
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据处理系统和方法。对数据进行处理的方法包括:通过特征提取对所述数据进行结构化;以及通过多个映射任务和多个化简任务对结构化后的数据进行并行处理,其中所述并行处理包括将所述多个映射任务和多个化简任务中的至少一个任务处理的数据复制到多个计算设备上,每个计算设备只对复制数据的一部分进行处理。
Description
技术领域
本公开的实施例一般地涉及数据处理的系统和方法。本公开的实施例尤其涉及用于在MapReduce环境(例如, Hadoop!)中处理数据的系统和方法。
背景技术
随着诸如云计算、社交媒体、电子商务和物联网等趋势的广泛兴起,大量数据随之产生。
大数据是来自方方面面,可以是生活中的购物交易,也可以是工业上的生产制造;从社交网络媒体信息,到在线视频图像资料;从企业的信息管理系统,到政府部门的电子政务,都有着大量的数据产生。
例如,当今,成万上亿计的网络传感器被嵌入到现实世界的各种设备中,如移动电话、智能电表、汽车和工业机器中,用来感知、创造并交换数据,无处不在的传感网络带来了无处不在的数据。
可是,当前的数据技术和算法大部分都是针对单机数据处理的,不能满足日益增长的数据处理需求。
发明内容
本发明目的是解决上述问题中的一个或多个。
根据一个方面,本发明提出一种用于对数据进行处理的方法,包括:
通过特征提取对所述数据进行结构化;以及
通过多个映射任务和多个化简任务对结构化后的数据进行并行处理,
其中所述多个映射任务和多个化简任务中的至少一个任务处理的数据被复制到多个计算设备上,每个计算设备只对复制数据的一部分进行处理。
附图说明
从下面结合附图对本发明的具体实施方式的描述中可以更好地理解本发明,其中:
图1示出根据本发明的一个示例性实施例的数据处理方法的流程图;
图2示出用于实现本公开中描述的方法的一个实例计算设备。
具体实施方式
下面将详细描述本发明各个方面的特征和示例性实施例。下面的描述涵盖了许多具体细节,以便提供对本发明的全面理解。但是,对于本领域技术人员来说显而易见的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更清楚的理解。本发明绝不限于下面所提出的任何具体配置,而是在不脱离本发明的精神的前提下覆盖了相关元素或部件的任何修改、替换和改进。
图1示出根据本发明的一个示例性实施例的数据处理方法的流程图。
通过云计算、社交媒体、电子商务和物联网等产生的大量数据一般作为原始数据存储在数据库中。这些数据例如可以是文档、视频、图像等等,它们是数据处理所针对的对象。
根据本发明的示例性实施例,首先在步骤S101对数据库中的原始数据进行数据预处理。数据预处理例如可以包括调节图像大小、去除噪声、背景差分等,数据预处理还可以包括去除私密数据以及清除明显无关的数据。
接下来,在步骤S102对预处理之后的数据进行特征提取。通过特征提取,对数据库里面的数据对象采用特征向量或特征矩阵等数据结构进行描述。这是一个非结构化向结构化转化的处理过程。
为了构造数据结构要为数据库中的对象选择感兴趣的特征。例如,当数据对象是电影时,可以使用电影名称、上映时间、放映次数、观众人数、电影票价等特征表示对象电影,这些特征构成电影对象的特征向量。当数据对象是图像时,可以使用颜色特征、纹理特征、形状特征、空间关系特征等表示,这些特征构成图像对象的特征向量。
文档指文本或文本中的片段,例如一片文章。词语是组成文档的基本元素。在不同内容的文档中,各词语出现频率有一定的规律性,不同的特征词语可以区分不同内容的文档,这些特征词语构成特征向量,用这个特征向量表示文档。
由于数据千差万别,各特征的作用不同,因此还要对不同的特征起的不同作用赋值,即赋予权重。赋予权重例如可以运用统计学的方法。
根据本发明的可选实施例,可以以数据矩阵的形式表示多个数据对象 Ui,例如n×m矩阵,即n个对象,每个对象都有m维特征,矩阵中的元素 xij表示对象Ui中特征Fj的值(例如中特征Fj的权重值),其中,其中i大于等于1且小于等于n,j大于等于1且小于等于m。每个对象Ui有m维特征。
根据本发明的示例性实施例,上述数据矩阵为向量矩阵,也就是说,矩阵中的每行构成一个特征向量,每个特征向量表示一个对象,矩阵具有 n行也就表示n个对象。
根据本发明的一个示例性实施例,为了使运算方便,可以将这些权重值映射到[0,1]区间,即标准化。而根据本发明的另一些实施例,不进行标准化。
下面的表1给出了数据矩阵的一个例子,该数据矩阵例如可以用来计算用户(即对象)喜好相似度。用户U1喜欢科幻、喜剧、和动画类视频。用户U2喜欢科幻、喜剧、和恐怖类视频。用户U3喜欢科幻类视频。用户U4喜欢科幻类视频。用户U5喜欢喜剧类视频。可以构造如表1所示的数据矩阵以计算用户喜好相似度。其中特征F1表示科幻类视频,特征 F2表示喜剧类视频,特征F3表示动画类视频,特征F4表示恐怖类视频。
F1 | F2 | F3 | F4 | |
U1 | 1 | 1 | 1 | 0 |
U2 | 1 | 1 | 0 | 1 |
U3 | 1 | 0 | 0 | 0 |
U4 | 1 | 0 | 0 | 0 |
U5 | 0 | 1 | 0 | 0 |
表1
上述表1中,如果用户喜欢某一类视频,用权重值1表示,否则用权重值0表示。
还可以构造表示用户的特征向量XUi,例如,用户U1的特征向量是 XU1={1,1,1,0},用户U2的特征向量是XU2={1,1,0,1}。
下面的表2给出了文档的特征矩阵,该特征矩阵可以用于计算例如文档之间的相似度。表2中,特征F1....F13表示词语,有U1到U12共12 个文档(即对象)。其中的数字代表词语在文档中的权重,权重与词语在文档中出现的频率成正比。表2中空白的表格代表0,即对应的词语在相应的文档中没有出现。
F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | F13 | |
U1 | 0.5 | 0.2 | 0.4 | ||||||||||
U2 | 0.2 | 0.8 | 0.6 | 0.6 | |||||||||
U3 | 0.6 | 0.3 | |||||||||||
U4 | 0.5 | ||||||||||||
U5 | 0.6 | 0.2 | 0.2 | ||||||||||
U6 | 0.2 | 0.6 | |||||||||||
U7 | 0.6 | ||||||||||||
U8 | 0.9 | 0.6 | |||||||||||
U9 | 0.5 | 0.2 | 0.6 | ||||||||||
U10 | 0.7 | 0.5 | |||||||||||
U11 | 0.3 | 0.2 | 0.2 | 0.4 | |||||||||
U12 | 0.6 | 0.2 |
表2
接下来,在步骤S103,挑选出比较有效的特征,舍弃其他特征,以达到降低特征空间维数的目的,这个过程叫做特征选择。特征选择主要用于排除无关或者关联性不大的特征,以减小计算量。
例如,表示文档的特征向量通常会达到数十万维的大小,其中不少特征未必是必要的。未经处理的文本向量会给后继的处理工作带来巨大的计算开销,因此,减少维数至关重要。这往往决定了数据处理的效率。
可以用数学的方法进行筛选来找出有价值的特征。例如,可以设置一阈值,如果一个特征的值对于所有对象都小于该阈值,舍弃该特征。
接下来,在步骤S104,执行并行计算。
通常,例如相似度计算时,可以使用向量的内积来表示相似度,即向量XUi和XUt的内积等于xij×xtj对j从1到m求和,其中m表示特征的维数。当向量矩阵没有归一化时,求出的和通常再除以向量XUi和XUt的绝对值的乘积。通过改变i,t的值,可以求出所有对象间的相似度。
在对象数目比较小的时候,一般的计算机内存可以完全载入这些向量,可以很快的计算;但是当对象数目变大到一定程度,程序就会运行的很慢,一是因为内存不能装载下,不停的内存换入换出十分耗时,二是因为对象数目变大会导致程序所需时间成立方级增长。为了解决这一问题,本发明采用并行处理。根据本发明的一个示例性实施例,并行处理例如可以采用MapReduce(映射-化简)平台进行。步骤S103中得到的结构化的数据(例如向量矩阵)可以作为MapReduce平台的输入。输入数据被切分到集群的不同节点(一个节点是一台普通的计算机)上,在这些节点上并行执行map(映射)计算任务,map计算任务从输入数据中抽取出键值对 ((key,value)),生成做为中间结果的键值对,然后这些中间结果又由大量的节点并行执行Reduce(化简)计算任务。共享同一个键(key)的值对由同一个Reduce来处理。MapReduce中使用的键值对中的键例如可以是向量矩阵中的特征,而值是向量矩阵中的权重值。
根据本发明的另一个可选实施例,数据的并行处理包括多个 MapReduce过程(例如两个MapReduce过程),一个MapReduce过程的输出作为输入交给另一个MapReduce过程处理。
通常认为,如果两个文档之间包含较多的相同词语,它们之间的相似度高,而如果两个文档之间包含较少的相同词语,它们之间的相似度低,文档的相似度据此原理进行计算。文档相似度计算可以包括两个Map- Reduce过程,第一个过程称为倒排索引,首先将向量矩阵转置,以特征F 为键,以对象标号与特征F在该对象中的权重为值。这样,对于例如表2 给出的文档,我们就得到如(F4,[(U1,0.2),(U2,0.8),(U7,0.6)])格式的输出。第二个过程,以上一个过程的输出为输入,在Map任务中以对象对为键,以权重值的乘积为输出,比如上面的F4输出,map后变为 [((U1,U2),0.16),((U1,U7),0.12),((U2,U7),0.48)],这样,就得到了所有的在两个对象(文档)中共同出现的特征(词语))针对该两个对象的权重乘积;然后在reduce过程中将相同键的值相加,就得到了所有的对象对的相似度。
根据本发明的示例性实施例,MapReduce过程中,由集群的多个节点 (一个节点例如是一台普通的计算机)执行Map和Reduce任务,集群中的每个节点可以执行多个Map和/或多个Reduce任务。每个Map和 Reduce任务的处理量是不同的,一些大的任务会成为这个计算的瓶颈。因此,根据本发明的一个可选示例性实施例,所述数据处理方法还包括对MapReduce过程比较大的任务进行切分。将大任务要处理的数据复制成多份到多个计算设备(例如计算机)上,每个计算设备只对一部分数据进行计算。在数据分配到计算设备前对数据做标记,这样在计算设备上只计算为该设备标记的数据。通过任务切分能够使运行时间最长的任务运行时间变短,从而降低MapReduce过程的时间。
本发明的数据处理方法还可以应于在聚类分析、信息检索等。聚类分析在很多领域的应用中扮演着重要的角色。在商业上,商家会聚集大量的现有消费者和潜在客户的消费信息。聚类分析可以通过这些消费行为把消费者划分为几个组别,商家对这些组别的消费者的消费行为进行预期分析,然后可以推动对应的市场活动。互联网上包含着海量规模的网页,想从中找到自己需要的信息不是一件容易的事。当输入一条查询语句的时候,搜索引擎查找出成千上万的网页。聚类算法可以把这些搜索出来的结果网页聚成一个个的组别,每个组别都反映出查询语句的某个类别。比如,一条查询语句“出国旅游”,搜索引擎会把返回的网页聚成几个类别。这些类别可以帮助用户根据类别更快地找到自己想查找的信息。本发明的数据处理方法在生物学、气候研究等也都有广泛的实际应用。
图2示出用于实现本公开中描述的方法的一个实例计算设备。图2的示例性计算设备包括:一个或多个处理器1001、存储器1003、高速缓存 1004、显示器1007以及一个或多个I/O设备1008。存储器1003例如可以包括DDR RAM,EDO RAM等。显示器1007例如可以包括阴极射线管 (CRT)、薄膜晶体管(TFT)、液晶显示器(IXD)、DPL等。
处理器1001执行指令,以便实现软件程序。指令通常包括针对数据执行的某种操作。数据和指令存储在存储器1003和高速缓存1004中。高速缓存1004通常被设计为具有短于存储器1003的延迟时间。例如,高速缓存1004可能与处理器集成到相同芯片上和/或使用较快的SRAM单元构建,而存储器1003可能使用较慢的DRAM单元构建。通过将更常用的指令和数据存储在高速缓存1004中而不是存储到存储器1003,计算设备的整体执行效率将提高。
计算设备还可以包括一个或多个I/O设备1008。计算设备的不同实施例的组件可以包括软件、硬件、固件或它们的任意组合。例如,所述存储器可以包括但不限于硬件(例如软盘、光盘、(3)-ROM和磁光盘、ROM、 RAM、EPROM、EEPROM、闪存、磁卡或光卡、传播介质或其它类型的介质/机器可读介质)、软件(例如,需要在硬件存储单元上存储信息的指令) 或它们的任意组合。
对于图1中所示的示例性方法,本发明的实施例可以包括如上所述的各种过程。所述过程可以包含在机器可执行指令中,这些指令导致处理器执行特定步骤。备选地,这些过程可以由包含用于执行所述过程的硬连线逻辑的特定硬件组件来执行,或者由编程计算机组件和定制硬件组件的任意组合来执行。
本发明的实施例不需要提供的所有各种过程,并且本领域的技术人员可以构想如何在没有提供的特定过程的情况下实现本发明的实施例,或者使用未提供的额外过程实现本发明的实施例。例如,尽管在图2中描述了一个计算设备,但本公开的实施例可以跨多个设备实现。例如,可以在分布式计算环境中执行,其中可以在位于分布式网络中的不同计算机上执行所述方法的各部分。
以上已经参考本发明的具体实施例来描述了本发明,但是本领域技术人员均了解,可以对这些具体实施例进行各种修改、组合和变更,而不会脱离由权利要求或其等同物限定的本发明的精神和范围。
Claims (12)
1.一种用于对数据进行处理的方法,包括:
通过特征提取对所述数据进行结构化,
其中特征提取包括对数据采用特征向量或特征矩阵进行描述、为数据选择感兴趣的特征;
进行特征选择,舍弃部分特征;
以及通过多个映射任务和多个化简任务对结构化后的数据进行并行处理,
其中所述并行处理包括将所述多个映射任务和多个化简任务中的至少一个任务处理的数据复制到多个计算设备上,每个计算设备只对复制数据的一部分进行处理;
其中,在数据复制到计算设备前对数据做标记,每个计算设备只处理为该设备标记的数据。
2.如权利要求1所述的方法,还包括在结构化之前对数据进行预处理。
3.如权利要求1所述的方法,其中所述数据进行并行处理包括相似度计算。
4.如权利要求1所述的方法,其中所述数据包括文档,所述特征包括文档中的词语。
5.如权利要求1所述的方法,还包括为所述特征根据其权重赋值。
6.如权利要求1所述的方法,其中该方法包括至少第一和第二映射-化简过程,第一或第二映射-化简过程包括所述多个映射任务和所述多个化简任务。
7.一种用于对数据进行处理的系统,包括:
用于通过特征提取对所述数据进行结构化的装置,
其中特征提取包括对数据采用特征向量或特征矩阵进行描述、为数据选择感兴趣的特征;
用于进行特征选择,舍弃部分特征的装置;
以及用于通过多个映射任务和多个化简任务对结构化后的数据进行并行处理的装置,
其中所述并行处理包括将所述多个映射任务和多个化简任务中的至少一个任务处理的数据复制到多个计算设备上,每个计算设备只对复制数据的一部分进行处理;
其中,在数据复制到计算设备前对数据做标记,每个计算设备只处理为该设备标记的数据。
8.如权利要求7所述的系统,还包括用于在结构化之前对数据进行预处理的装置。
9.如权利要求7所述的系统,其中所述数据进行并行处理包括相似度计算。
10.如权利要求7所述的系统,其中所述数据包括文档,所述特征包括文档中的词语。
11.如权利要求7所述的系统,还包括用于为所述特征根据其权重赋值的装置。
12.如权利要求7所述的系统,其中包括至少第一和第二映射-化简过程,第一或第二映射-化简过程包括所述多个映射任务和所述多个化简任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410256887.0A CN105205058B (zh) | 2014-06-10 | 2014-06-10 | 数据处理系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410256887.0A CN105205058B (zh) | 2014-06-10 | 2014-06-10 | 数据处理系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105205058A CN105205058A (zh) | 2015-12-30 |
CN105205058B true CN105205058B (zh) | 2019-03-12 |
Family
ID=54952750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410256887.0A Expired - Fee Related CN105205058B (zh) | 2014-06-10 | 2014-06-10 | 数据处理系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105205058B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107491424B (zh) * | 2016-06-12 | 2020-11-06 | 北京云量数盟科技有限公司 | 一种基于多权重体系的中文文档基因匹配方法 |
CN107784322B (zh) * | 2017-09-30 | 2021-06-25 | 东软集团股份有限公司 | 异常数据检测方法、装置、存储介质以及程序产品 |
US11003686B2 (en) * | 2018-07-26 | 2021-05-11 | Roblox Corporation | Addressing data skew using map-reduce |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102255926A (zh) * | 2010-05-17 | 2011-11-23 | 中国移动通信集团公司 | MapReduce系统中的任务分配方法、系统及装置 |
CN103729478A (zh) * | 2014-01-26 | 2014-04-16 | 重庆邮电大学 | 基于MapReduce的LBS兴趣点发现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8521782B2 (en) * | 2011-07-20 | 2013-08-27 | Salesforce.Com, Inc. | Methods and systems for processing large graphs using density-based processes using map-reduce |
-
2014
- 2014-06-10 CN CN201410256887.0A patent/CN105205058B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102255926A (zh) * | 2010-05-17 | 2011-11-23 | 中国移动通信集团公司 | MapReduce系统中的任务分配方法、系统及装置 |
CN103729478A (zh) * | 2014-01-26 | 2014-04-16 | 重庆邮电大学 | 基于MapReduce的LBS兴趣点发现方法 |
Non-Patent Citations (1)
Title |
---|
基于云计算的异常流量检测系统的实现;张龙;《中国优秀硕士学位论文全文数据库信息科技辑》;20131215(第S2期);第1-33页 |
Also Published As
Publication number | Publication date |
---|---|
CN105205058A (zh) | 2015-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Samsi et al. | Static graph challenge: Subgraph isomorphism | |
Li et al. | Unsupervised streaming feature selection in social media | |
Hong et al. | The feature selection method based on genetic algorithm for efficient of text clustering and text classification | |
Gosh et al. | Recommendation system for e-commerce using alternating least squares (ALS) on apache spark | |
Sun | Parallel feature selection based on MapReduce | |
CN105205058B (zh) | 数据处理系统和方法 | |
Almusallam et al. | Ufssf-an efficient unsupervised feature selection for streaming features | |
Chunduri et al. | Scalable algorithm for generation of attribute implication base using FP-growth and spark | |
Fani et al. | Time-sensitive topic-based communities on twitter | |
Shi et al. | SCMF: sparse covariance matrix factorization for collaborative filtering | |
Azzam et al. | A question routing technique using deep neural network for communities of question answering | |
Bozkurt et al. | High performance twitter sentiment analysis using CUDA based distance kernel on GPUs | |
Gialampoukidis et al. | Probabilistic density-based estimation of the number of clusters using the DBSCAN-martingale process | |
Rodrigues et al. | Accelerating recommender systems using GPUs | |
Martín-Fernández et al. | Indexes to find the optimal number of clusters in a hierarchical clustering | |
Tang et al. | Collaborative Filtering Recommendation Using Nonnegative Matrix Factorization in GPU‐Accelerated Spark Platform | |
Moreira-Matias et al. | Text categorization using an ensemble classifier based on a mean co-association matrix | |
Płaza et al. | Analysis of parallel computational models for clustering | |
Schelter | Amnesia-a selection of machine learning models that can forget user data very fast | |
Ben HajKacem et al. | A parallel text clustering method using Spark and hashing | |
Jendoubi et al. | Dynamic time warping distance for message propagation classification in twitter | |
Mohbey et al. | A parallel approach for high utility-based frequent pattern mining in a big data environment | |
Li et al. | Dataset complexity assessment based on cumulative maximum scaled area under Laplacian spectrum | |
Iwata et al. | Bin-based estimation of the amount of effort for embedded software development projects with support vector machines | |
Zhang et al. | Space-invariant projection in streaming network embedding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190312 |
|
CF01 | Termination of patent right due to non-payment of annual fee |