【具体实施方式】
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在实际应用中,各种业务系统,如社交类业务系统、金融类业务系统、医疗类业务系统等,其产生的数据记录都可能发生缺失。这里所说的缺失主要是指数据记录缺失某个或某些属性值。对于缺失某个或某些属性值的数据记录可简称为缺失数据记录。无论是在何种应用场景,缺失数据记录带来的都是不利影响。例如,在数据分析领域中,缺失数据记录会降低数据分析的精度。为了降低缺失数据记录对数据分析精度的影响,需要对缺失数据记录缺失的属性值进行填充处理。
一般来说,对缺失属性值的填充处理依赖于数据记录之间的相似度,为了提高填充处理的准确度,有必要提高数据记录之间相似度的计算精度。为此,本申请提供一种能够以较高精度计算数据记录之间的相似度的方法。
值得说明的是,本实施例提供的方法虽然是以对缺失属性值进行填充处理为需求而提出的,但并不仅仅适用于对缺失属性值的填充处理场景,适用于各种需要计算数据记录之间的相似度的场景。例如,在信息检索、网页判重、推荐系统等场景中,都可以采用本申请提供的方法。
图1为本申请一实施例提供的数据处理方法的流程示意图。如图1所示,该方法包括:
101、将待处理数据记录集分解到可以表达该待处理数据记录集的至少一个特征上,以获得该待处理数据记录集中数据记录在至少一个特征上的映射值和至少一个特征的特征值。
102、根据上述至少一个特征的特征值,从上述至少一个特征中提取关键特征,并获得上述关键特征的权重。
103、根据上述待处理数据记录集中数据记录在关键特征上的映射值和上述关键特征的权重,获得上述待处理数据记录集中数据记录之间的相似度。
在本实施例中,待处理数据记录集包括至少两个数据记录,每个数据记录具有至少一个属性。不同数据记录具有的属性相同,但属性值可能不同。例如,待处理数据记录集中的数据记录可能具有姓名、年龄、籍贯、毕业学校、最高学历、工作单位等属性,对于不同数据记录这些属性的取值一般不同。由于待处理数据记录集中各数据记录具有相同的属性,因此也可以将这些属性认为是该待处理数据记录集的属性。
本实施例中的待处理数据记录集可以是各种场景中的数据记录集。这些场景均需要以较高的精度获得数据记录之间的相似度。具体处理流程如下:
将待处理数据记录集分解到可以表达该待处理数据记录集的至少一个特征上,以获得待处理数据记录集中数据记录在至少一个特征上的映射值和至少一个特征的特征值。进一步,在将待处理数据记录集分解到至少一个特征上时,还可以获得该待处理数据记录集的属性在至少一个特征上的映射值。
其中,上述至少一个特征可以表达待处理数据记录集的信息,可以作为待处理数据记录集的新属性。上述至少一个特征可以是完全不同于待处理数据记录集的原属性的属性,或者,上述至少一个特征也可以是原属性中的部分属性,或者,上述至少一个特征中的部分特征是不同于原属性的属性,而另一部分特征是原属性中的部分属性。值得说明的是,在后续描述中,若无特殊说明,凡是涉及“属性”均是指待处理数据记录的原属性。
待处理数据记录集中一个数据记录在至少一个特征上的映射值可以构成一向量,待处理数据记录集中所有数据记录在至少一个特征上的映射值可以构成一映射矩阵,简称为数据记录到特征的映射矩阵;相应的,待处理数据记录集的一个属性在至少一个特征上的映射值可以构成一向量,待处理数据记录集的所有属性在至少一个特征上的映射值可以构成一映射矩阵,简称为属性到特征的映射矩阵
一般来说,可以表征数据记录集的特征的数据量要小于数据记录集本身的数据量,因此,这里将待处理数据记录集分解到至少一个特征上,从特征角度对待处理数据记录进行处理,有利于降低处理的数据量。
值得说明的是,由于所有数据记录具有相同的属性,所以对各数据记录来说,属性在至少一个特征上的映射值是相同的,无法体现出数据记录之间的相似度差异,因此,本实施例在计算数据记录之间的相似度时以数据记录在至少一个特征上的映射值为基础进行处理。
考虑到不是所有特征都对数据记录之间的相似度有贡献,例如,有些特征有可能还会对数据记录之间的相似度产生干扰,基于此,为了提高数据记录之间的相似度的计算精度,可以将至少一个特征中一些干扰特征或不重要特征去除,以提高数据记录之间的相似度的计算精度。
基于上述,在获得至少一个特征的特征值之后,根据至少一个特征的特征值,从至少一个特征中提取关键特征,并获得关键特征的权重。
其中,特征的特征值可以代表该特征在表达待处理数据记录集时的重要度。一般来说,特征值越大,表示该特征值对应的特征在表达待处理数据记录集时所起的作用就越大,重要度越高;反之,则表示重要度越低。在具体实现方式上,例如,可以从至少一个特征中提取特征值较高的特征作为关键特征,但不限于此。
另外,考虑到不同关键特征,对数据记录之间的相似度的贡献也会有所不同,有些关键特征的重要性较高,有些关键特征重要性较低。若赋予所有关键特征相同的权重,则重要度较低的关键特征会拉平重要度较高的关键特征的贡献,基于此,本实施例进一步还可以根据关键特征的特征值,获得关键特征的权重,即根据关键特征的重要程度,赋予不同关键特征不同的权重。在具体实现上,可以直接将关键特征的特征值作为关键特征的权重,但不限于此。
值得说明的是,待处理数据记录集中的数据记录在每个关键特征上都有一个映射值。
在获得关键特征以及关键特征的权重之后,根据待处理数据记录集中数据记录在关键特征上的映射值和关键特征的权重,获得待处理数据记录集中数据记录之间的相似度。
例如,可以在各种现有相似度计算方法中,加入关键特征的权重这一因素,获得改进后的相似度计算方法,并采用改进后的相似度计算方法获得数据记录之间的相似度。
由上述可见,本实施例将待处理数据记录集分解到了至少一个特征上类处理,并对至少一个特征进行了关键特征的提取,基于所提取的关键特征进行相似度计算,降低了非关键特征的干扰,并且在计算相似度时通过权重对重要性不同的关键特征进行了区分,使得越重要的关键特征越能在相似度计算过程中充分发挥其作用,有利于提高相似度的计算精度。
进一步,在计算出数据记录之间的相似度之后,可以根据计算出的数据记录之间的相似度,对待处理数据记录集中的缺失数据记录进行填充处理。由于本实施例中数据记录之间的相似度的计算精度提高了,所以基于本实施例计算出的数据记录之间的相似度进行数据缺失的填充处理,有利于提高填充精度。
值得说明的是,本实施例对上述待处理数据记录集中的缺失数据记录进行填充处理所使用的方法不做限定,例如可以是k近邻填充方法。
下面具体以填充数据缺失值的应用场景为例,详细说明本申请的技术方案。
首先,可以对待处理数据记录集中的数据记录进行以下至少一种预处理:
数据帽化(capping)处理:数据capping处理的主要作用是去掉待处理数据记录集中数据记录的异常极值。具体处理方式为:对于待处理数据记录集中的数据记录,用属性上限值替代大于该属性上限值的属性值,用属性下限值替代小于该属性下限值的属性值。对于在属性上限值和属性下限值之间的属性值不做处理。对于不同属性,属性上限值和属性下限值可以不相同。例如,可以采用p1和p99分位点来做数据capping。P1和p99分位点的取值可以作为属性下限值和属性上限值。对于某一属性值,如果该属性值小于该属性的p1分位点的值,就用p1分位点的值代替该属性值;如果该属性值大于p99分位点的值,就用p99分位点的值来代替该属性值;如果该属性值在p1分位点的值和p99分位点的值之间,则该属性值保持不变。
归一化处理:即在进行后续处理之前,先对待处理数据记录集中的数据记录进行归一化处理。归一化处理是一种无量纲处理手段,使物理系统数值的绝对值变成某种相对值关系。本实施例可以采用多种归一化方法,例如z分数(z-score)方法或最大值最小值归一化法。以z-score方法为例,则归一化的公式如下:
z=(x-μ)/σ
其中,z表示归一化后的属性值,x代表数据记录中一个具体属性的属性值,μ为该属性的平均数,σ为该属性的标准差。
在此说明,上述预处理是可选操作。
在数据缺失值填充场景中,可以利用k邻居填充方法进行缺失值的填充处理。为了利用k邻居填充方法对数据缺失值进行填充,需要将待处理数据记录集划分为缺失数据记录集和非缺失数据记录集两部分。非缺失数据记录集用于存储不存在缺失值的数据记录,可称为第一数据记录集;缺失数据记录集用于存储存在缺失值的数据记录,可称为第二数据记录集。
基于上述,可以获取待处理数据记录集中属性值不存在缺失的数据记录以构成第一数据记录集;同理,获取待处理数据记录集中属性值存在缺失的数据记录以构成第二数据记录集。例如,假设一个数据记录有n个属性值,如果这n个属性值中有一个或者多个属性值缺失,则将该数据记录划分到第二数据记录集中,如果这n个属性值都存在,则将该数据记录划分到第一数据记录集中。
基于此,上述将待处理数据记录集分解到可以表达该待处理数据记录集的至少一个特征上,以获得待处理数据记录集中数据记录在至少一个特征上的映射值和至少一个特征的特征值具体为:获取待处理数据记录集中属性值不存在缺失的数据记录以构成第一数据记录集;将第一数据记录集分解到至少一个特征上,以获得第一数据记录集中数据记录在至少一个特征上的映射值和至少一个特征的特征值。
值得说明的是,在将第一数据记录集分解到至少一个特征上时,还可以获得第一数据记录集的属性在至少一个特征上的映射值。第一数据记录集的属性与第二数据记录集的属性相同。
可选的,将第一数据记录集分解到至少一个特征上,以获得第一数据记录集中数据记录在至少一个特征上的映射值和至少一个特征的特征值具体为:对第一数据记录集进行奇异值分解(Singular Value Decomposition,SVD)处理,获得左奇异矩阵、对角矩阵和右奇异矩阵。其中,左奇异矩阵的每一行代表第一数据记录集中一个数据记录在至少一个特征上的映射值,右奇异矩阵的每一列代表第一数据记录集的一个属性在至少一个特征上的映射值,对角矩阵的奇异值代表至少一个特征的特征值。
SVD是线性代数中一种重要的矩阵分解技术,它可以将一个比较复杂的矩阵分解成三个小矩阵相乘来表示,这些小矩阵描述的是大矩阵的重要特性。例如,假设第一数据记录集构成矩阵A,大小为m×n,m表示第一数据记录集中数据记录的个数,n表示数据记录的属性的个数,即一个数据记录有n个属性。则矩阵A的分解形式如下所示:
A=U XΣXVT
矩阵U为m×m的正交矩阵,称为矩阵A的左奇异矩阵,矩阵U的每一行表示矩阵A的一个数据记录映射到n个特征上的向量。矩阵V为n×n的正交矩阵,称为矩阵A的右奇异矩阵,矩阵V的每一列表示一个属性在n个特征的映射值。矩阵Σ为m×n的半正定对角矩阵,称为矩阵A的特征矩阵,它表示n个特征的特征值。矩阵Σ的对角线上的元素称之为奇异值,按照从大到小排列,分别记为σ1,σ2,……,σs。
在很多情况下,矩阵Σ的前10%甚至1%的奇异值之和就占了全部奇异值之和的99%以上,也就是说,可以用前r个奇异值来近似描述矩阵Σ。其中,r一般是一个远小于m、n的数。通过该r个奇异值来近似描述矩阵Σ,可以对n个特征进行提取,获得关键特征。
基于上述,一种关键特征的提取过程包括:按照由左至右的顺序将对角矩阵的奇异值依次相加,直到相加之和与所有奇异值之和的比值大于指定门限为止,获取参与相加的奇异值的个数r;该指定门限可以是97%、98%或99%,但不限于此;
取上述左奇异矩阵中前r列代表的特征作为关键特征,并将r个关键特征中每个关键特征对应的奇异值与r个关键特征对应的奇异值之和的比值,作为每个关键特征的权重。
经过上述处理可以得到以下公式所示关系:
A’=U’XΣ’X VT’
其中,矩阵U’是矩阵U保留前r列特征得到的,维度由原来的m×m变成了m×r。矩阵Σ’是保留了矩阵Σ的前r列和前r行得到的,矩阵VT’是保留了矩阵VT的前r行得到的,维度由原来的变为n×n变成了r×n。其中,r<n。这3个矩阵相乘得到的矩阵A’近似代表矩阵A,即A’≈A。矩阵U’的每一行代表一个数据记录在r个关键特征上的映射值,矩阵VT’的每一列代表一个属性在r个关键特征上的映射值。矩阵Σ’的对角线上的元素代表所提取的关键特征的特征值。
在本实施例中,采用k邻居填充方法进行缺失值填充处理,为了获得与第二数据记录集中数据记录最接近的k邻居数据记录,首先需要计算第二数据记录集中数据记录与第一数据记录集中数据记录之间的相似度。为了便于计算,首先需要将第二数据记录集映射到所提取的关键特征上去。
可选的,在将第二数据记录集映射到关键特征上之前,可以对第二数据记录集进行随机预填充,即将存在缺失的属性值补全,从而获得完整的数据记录,这里的预填充不影响最终的填充效果。
在随机预填充之后,可以对第二数据记录集进行映射处理,以获得第二数据记录集中数据记录在关键特征上的映射值。具体的,根据第二数据记录集、第一数据记录集的属性在至少一个特征上的映射值和关键特征的特征值进行映射处理,以获得第二数据记录集中数据记录在至少一个特征上的映射值。
具体的,假设第二数据记录集为B,大小为h×n。基于关键特征提取部分得到的矩阵Σ’和VT’,将矩阵B通过矩阵运算变换到关键特征上,从而获得矩阵B’。映射过程可如以下公式所示:
B’=B*V’*(Σ’)-1
B’即为第二数据记录集中数据记录在关键特征上的映射值构成的映射矩阵,维度是h×r。
在获得第二数据记录集中数据记录在r个关键特征上的映射值之后,可以基于r个关键特征来计算第二数据记录集中数据记录与第一数据记录集中数据记录之间的相似度。在计算数据记录之间的相似度时,如果赋予所有的关键特征相同的权重,重要度较低的关键特征会拉平重要度较高的关键特征的贡献,造成相似度计算不准确。因此本实施例根据关键特征的重要程度,赋予不同关键特征不同的权重,从而提高相似度的计算准确性。
具体的,可以将上述r个关键特征中每个关键特征对应的奇异值与r个关键特征对应的奇异值之和的比值,作为每个关键特征的权重。例如,可以采用以下公式来计算每个关键特征的相似度。
wi=σi/(σ1+σ2+…+σr)
wi表示第i个关键特征的权重,σi表示第i个关键特征对应的奇异值,i=1,2,…,r。
在获得关键特征的权重、第一数据记录集中数据记录在关键特征上的映射值、第二数据记录集中数据记录在关键特征上的映射值后,可以根据第二数据记录集中数据记录在关键特征上的映射值、第一数据记录集中数据记录在关键特征上的映射值以及关键特征的权重,获得第二数据记录集中数据记录与第一数据记录集中数据记录之间的相似度。
具体的,可以获得第二数据记录集中每个数据记录,与第一数据记录集中各数据记录之间的相似度。
可选的,可以采用余弦相似度计算第二数据记录集中每个数据记录,与第一数据记录集中各数据记录之间的相似度。在本实施例中,综合前面提出的关键特征的权重,对现有余弦相似度重新定义如下:
cos(x,y)=(PQ)/|P||Q|
=(p1 q1 w1+p2 q2 w2+…+pr qr wr)/((p1 2+p2 2+…pr 2)1/2(q1 2+q2 2+…qr 2)1/2)
在上述公式中,P表示第一数据记录集中的数据记录,Q表示第二数据记录集中的数据记录;pi表示第一数据记录集中数据记录在第i个关键特征上的映射值,qi表示第二数据记录集中数据记录在第i个关键特征上的映射值,i=1,2,…,r。
本实施例同样可以对其他的相似度计算方法进行改进,采用改进后的其他相似度计算方法计算数据记录之间的相似度,如杰卡德相关系数,皮尔森系数等。
本实施例通过加入权重,有效区分不同关键特征在计算数据记录之间的相似度时的贡献,使得重要的关键特征在计算相似性时贡献大,降低一些噪音或者重要度较低的关键特征的影响,可以有效的提高填充的精度。
在获得第二数据记录中数据记录与第一数据记录集中数据记录之间的相似度之后,可以根据第二数据记录集中数据记录与第一数据记录集中数据记录之间的相似度,从第一数据记录集中确定第二数据记录集中数据记录的k邻居数据记录,k是自然数;
该过程具体是指,对于矩阵B’中的每行,在矩阵U’中选取与其相似度最大的k行,再将这k行对应的矩阵A中的k个数据记录,作为矩阵B’中每行对应到矩阵B中的数据记录的K邻居数据记录。
之后,根据第二数据记录集中数据记录的k邻居数据记录,对第二数据记录集中数据记录进行属性值填充处理。
具体的,以第二数据记录集中第i个数据记录为例,设其k邻居数据记录分别为k1,…,kk,则可以通过如下公式来计算该数据记录缺失的属性值。
Pij=(m1j cosi1+…+mkj cosik)/(cosi1 2+…+cosik 2)1/2
Pij表示第二数据记录集中第i个数据记录在属性j上应填充的属性值,m1j表示k邻居数据记录中数据记录k1在属性j上的属性值,同理mkj表示k邻居数据记录中数据记录kk在属性j上的属性值;cosi1表示第i个数据记录与数据记录k1的相似度;cosik表示第i个数据记录与数据记录kk的相似度。
为了更加便于理解本申请技术方案所带来的有益效果,本申请发明人针对项目中的数据做了误差测试。误差测试的原理为:选取待处理数据记录集,将其以3:7的比例划分,30%作为测试集,70%作为第一数据记录集。对于测试集中的数据记录,以每个属性15%的缺失率随机抠除,得到缺失率在15%的第二数据记录集,然后按照本申请提供的方法对其进行填充处理,并与原值对比以达到测试本申请的填充准确度的目的。填充误差比err定义如下:
err=avg(abs(d’-d))/max(abs(d))
其中,d为真实的属性值,d’为填充的属性值。填充误差比err越小,表明误差越小,填充准确度越高。经测试得到如下表1所示的误差测试结果:
表1
属性变量 |
固定值填充方案的err |
均值填充方案的err |
本申请填充方案的err |
h1 |
18.73% |
11.53% |
3.70% |
h2 |
13.76% |
8.76% |
3.89% |
h3 |
17.52% |
12.51% |
3.28% |
h4 |
16.41% |
9.80% |
1.56% |
h5 |
14.62% |
7.96% |
1.63% |
h6 |
18.51% |
11.80% |
3.17% |
h7 |
16.63% |
9.50% |
2.39% |
h8 |
16.86% |
11.42% |
4.51% |
h9 |
30.70% |
14.09% |
13.18% |
h10 |
17.05% |
10.99% |
2.20% |
h11 |
17.10% |
11.20% |
2.21% |
h12 |
17.31% |
9.09% |
1.08% |
h13 |
18.04% |
9.33% |
0.83% |
h14 |
16.23% |
9.46% |
2.23% |
均值 |
17.82% |
10.53% |
3.28% |
为了观测明显,根据表1所示误差测试结果绘制出误差测试结果曲线图,如图2所示。从图2可以看出,本申请的填充误差比相对较小,填充精度较高。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
图3为本申请一实施例提供的数据处理装置的结构示意图。如图3所示,该装置包括:特征分解模块31、特征提取模块32和相似度处理模块33。
特征分解模块31,用于将待处理数据记录集分解到可以表达待处理数据记录集的至少一个特征上,以获得待处理数据记录集中数据记录在至少一个特征上的映射值和至少一个特征的特征值。
特征提取模块32,用于根据至少一个特征的特征值,从至少一个特征中提取关键特征,并获得关键特征的权重。
相似度处理模块33,用于根据待处理数据记录集中数据记录在关键特征上的映射值和关键特征的权重,获得待处理数据记录集中数据记录之间的相似度。
在一可选实施方式中,特征分解模块31具体可用于:
获取待处理数据记录集中属性值不存在缺失的数据记录以构成第一数据记录集;
将第一数据记录集分解到至少一个特征上,以获得第一数据记录集中数据记录在至少一个特征上的映射值和至少一个特征的特征值。
在一可选实施方式中,如图4所示,该数据处理装置还包括:预处理模块34。
预处理模块34,用于对待处理数据记录集中的数据记录进行以下至少一种预处理:
对于待处理数据记录集中的数据记录,用属性上限值替代大于属性上限值的属性值,用属性下限值替代小于属性下限值的属性值;
对待处理数据记录集中的数据记录进行归一化处理。
在一可选实施方式中,如图4所示,该数据处理装置还包括:获取模块35和特征映射模块36。
获取模块35,用于获取待处理数据集中属性值存在缺失的数据记录以构成第二数据记录集。
特征映射模块36,用于对第二数据记录集进行映射处理,以获得第二数据记录集中数据记录在关键特征上的映射值。
基于上述,相似度处理模块33具体用于:
根据第二数据记录集中数据记录在关键特征上的映射值、第一数据记录集中数据记录在关键特征上的映射值以及关键特征的权重,获得第二数据记录集中数据记录与第一数据记录集中数据记录之间的相似度。
在一可选实施方式中,特征分解模块31还用于:
在将第一数据记录集分解到至少一个特征上时,获得第一数据记录集的属性在至少一个特征上的映射值。
相应的,特征映射模块36具体用于:
根据第二数据记录集、第一数据记录集的属性在至少一个特征上的映射值和关键特征的特征值进行映射处理,以获得第二数据记录集中数据记录在至少一个特征上的映射值。
在一可选实施方式中,如图4所示,该数据处理装置还包括:确定模块37和填充处理模块38。
确定模块37,用于根据第二数据记录集中数据记录与第一数据记录集中数据记录之间的相似度,从第一数据记录集中确定第二数据记录集中数据记录的k邻居数据记录,k是自然数。
填充处理模块38,用于根据第二数据记录集中数据记录的k邻居数据记录,对第二数据记录集中数据记录进行属性值填充处理。
在一可选实施方式中,特征分解模块31具体可用于:
对第一数据记录集进行奇异值分解处理,获得左奇异矩阵、对角矩阵和右奇异矩阵;
其中,左奇异矩阵的每一行代表第一数据记录集中一个数据记录在至少一个特征上的映射值,右奇异矩阵的每一列代表第一数据记录集的一个属性在至少一个特征上的映射值,对角矩阵的奇异值代表至少一个特征的特征值。
相应的,特征提取模块32具体用于:
按照由左至右的顺序将对角矩阵的奇异值依次相加,直到相加之和与所有奇异值之和的比值大于指定门限为止,获取参与相加的奇异值的个数r;
取左奇异矩阵中前r列代表的特征作为关键特征,并将r个关键特征中每个关键特征对应的奇异值与r个关键特征对应的奇异值之和的比值,作为每个关键特征的权重。
本实施例提供的数据处理装置,将待处理数据记录集分解到至少一个特征上来处理,并对至少一个特征进行了关键特征的提取,基于所提取的关键特征进行相似度计算,降低了非关键特征的干扰,并且在计算相似度时通过权重对重要性不同的关键特征进行了区分,使得越重要的关键特征越能在相似度计算过程中充分发挥其作用,有利于提高相似度的计算精度。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。