数据处理的方法、电子设备和计算机可读存储介质与流程

文档序号:26839245发布日期:2021-10-08 20:28阅读:54来源:国知局
数据处理的方法、电子设备和计算机可读存储介质与流程

1.本公开的实施例涉及机器学习领域,并且更具体地,涉及用于数据处理的方法、电子设备和计算机可读存储介质。


背景技术:

2.在机器学习领域中,通常利用标注有分类标签的数据集合来训练分类模型。例如,为了识别图像的语义(诸如,图像所描述的对象或事件等),可以利用标注有语义类别的图像集合来训练图像分类模型。经训练的图像分类模型可以用于识别输入图像的语义类别,也即,该输入图像所描述的对象或事件等。
3.数据的分类标签通常是人工标注的。因此,如果标注者的经验不足或者具有不同背景知识,其标注的分类标签可能是不准确的。这种不准确的分类标签也称为“噪声标签”。如果利用具有噪声标签的数据来训练分类模型,将会导致所训练的分类模型难以产生正确的分类结果。


技术实现要素:

4.本公开的实施例提供了用于数据处理的方法、电子设备和计算机可读存储介质。
5.在本公开的第一方面,提供一种数据处理的方法。该方法包括:获取第一数据集合,第一数据集合中的每个数据具有指示该数据的类别的标签;从第一数据集合中确定具有噪声标签的第一数据子集;以及重新生成第一数据子集中的数据的标签,以得到第二数据集合。
6.本公开的第二方面,提供一种电子设备。该电子设备包括至少一个处理单元和至少一个存储器。至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令。指令当由至少一个处理单元执行时,使得该电子设备执行动作,动作包括:获取第一数据集合,第一数据集合中的每个数据具有指示该数据的类别的标签;从第一数据集合中确定具有噪声标签的第一数据子集;以及重新生成第一数据子集中的数据的标签,以得到第二数据集合。
7.本公开的第三方面,提供一种计算机可读存储介质。该计算机可读存储介质具有在其上存储的机器可执行指令,该机器可执行指令在由设备执行时使该设备执行根据本公开的第一方面所描述的方法。
8.提供发明内容部分是为了以简化的形式来介绍一系列概念,它们在下文的具体实施方式中将被进一步描述。发明内容部分不旨在标识本公开的关键特征或必要特征,也不旨在限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
9.从下文的公开内容和权利要求中,本发明的目的、优点和其他特征将变得更加明显。这里仅出于示例的目的,参考附图来给出优选实施例的非限制性描述,在附图中:
10.图1示出了根据本公开的实施例的数据处理系统的示意性框图;
11.图2示出了根据本公开的实施例的数据优化装置的示意性框图;
12.图3示出了根据本公开的实施例的支持不确定性估计的模型的示意性框图;
13.图4示出了根据本公开的实施例的利用半监督学习方法训练用于标记数据类别的模型的示意图;
14.图5示出了根据本公开的实施例的用于数据处理的示例方法的流程图;以及
15.图6示出了可以用来实施本公开的实施例的示例电子设备的示意性框图。
16.在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
17.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
18.在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
19.如上所述,在机器学习领域中,通常利用标注有分类标签的数据集合来训练分类模型。数据的分类标签通常是人工标注的。因此,如果标注者的经验不足或者具有不同背景知识,其标注的分类标签可能是不准确的。这种不准确的分类标签也称为“噪声标签”。如果利用具有噪声标签的数据来训练分类模型,将会导致所训练的分类模型难以产生正确的分类结果。
20.一些方案将具有噪声标签的数据从数据集合中剔除。,使得具有噪声标签的数据将无法被用于训练模型。明显地,如果数据集合中存在大量具有噪声标签的数据,这些数据将会被剔除,从而导致数据集合中的数据的数量显著减少。
21.根据本公开的实施例,提出了一种用于数据处理的方案,以解决上述问题和/或其他潜在问题。该方案获取第一数据集合,第一数据集合中的每个数据具有指示该数据的类别的标签。该方案从第一数据集合中确定具有噪声标签的第一数据子集。该方案重新生成第一数据子集中的数据的标签,以得到第二数据集合。以此方式,数据集合中具有噪声标签的数据能够被识别,并且其噪声标签能够被自动纠正。经处理的数据集合能够被用于训练分类模型,从而提高机器学习的识别精度。
22.图1示出了根据本公开的实施例的数据处理系统100的示意性框图。如图1所示,系统100可以包括数据收集装置110、数据标注装置120、数据优化装置130、模型训练装置140和模型应用装置150。在一些实施例中,上述多个装置可以分别实现在不同的物理设备中。备选地,上述多个装置中的至少一部分装置可以被实现在同一物理设备中。应当理解,图1所示的系统100仅仅是本公开的实施例可实现于其中的一种示例,不旨在限制本公开的范围。本公开的实施例同样适用于其他系统或架构。
23.数据收集装置110可以收集用于训练模型的数据集合101。以图像分类场景为例,
数据收集装置110可以收集用于训练图像分类模型的图像集合。以语音分类场景为例,数据收集装置110可以收集用于训练语音分类模型的语音数据集合。以文本分类场景为例,数据收集装置110可以收集用于训练文本分类模型的文本数据集合。应当理解,数据收集装置110利用任何已知或将来开发的方法来收集数据集合101。本公开的范围在此方面不受限制。
24.数据标注装置120可以针对数据集合101中的每个数据生成标签,以指示该数据所属的类别。以图像分类场景为例,数据标注装置120可以针对图像集合中的每个图像生成标签,以指示该图像的类别,例如该图像所描述的对象、事件或者与该图像有关的其他信息等等。以语音分类场景为例,数据标注装置120可以针对语音数据集合中的每个语音数据生成标签,以指示该语音数据的类别,例如该语音数据所描述的对象、事件或者与该语音数据有关的其他信息等等。在文本分类场景中,数据标注装置120可以针对文本集合中的每个文本生成标签,以指示该文本的类别,例如该文本所描述的对象、事件或者与该文本有关的其他信息等等。
25.在一些情况下,可以以人工方式标注数据集合101中的每个数据的标签。经标注的数据集合例如如图1中的102所示,也即数据集合102中的每个数据具有指示其类别的标签。在下文中,“数据集合102”也被称为“第一数据集合”。
26.数据优化装置130可以对经标注的数据集合102进行优化。具体地,数据优化装置130可以从第一数据集合102中确定具有噪声标签的数据子集,并且重新生成该数据子集中的数据的标签,以得到经优化的数据集合103。在下文中,“数据集合103”也被称为“第二数据集合”。
27.在一些实施例中,数据优化装置130可以通过估计第一数据集合102的标签的不确定性得分,来从第一数据集合102中确定具有噪声标签的数据子集,如以下将结合图2进一步详细描述的。备选地,在另一些实施例中,数据优化装置130可以利用其他方法来从第一数据集合102中确定具有噪声标签的数据子集。例如,数据优化装置130可以基于第一数据集合102的标签的置信度来确定具有噪声标签的数据子集,其中数据的标签的置信度指示该数据属于对应类别的概率。例如,数据优化装置130可以基于第一数据集合102的标签的损失来确定具有噪声标签的数据子集,其中数据的标签的损失表示该数据的标签所指示的类别与该数据真实类别之间的差异。又例如,数据优化装置130可以基于不同数据类别之间的关系来确定具有噪声标签的数据子集,其中噪声标签所指示的数据类别与非噪声标签所指示的数据类别具有较低的区分度。
28.响应于确定具有噪声标签的数据子集,数据优化装置130可以重新生成该数据子集中的数据的标签。在一些实施例中,可以使用具有干净标签的数据集和不带标签的数据集作为训练数据,通过半监督学习方法来训练用于标记数据类别的模型。数据优化装置130可以利用该模型来重新生成所确定的数据子集中的数据的标签。附加地或备选地,在一些实施例中,可以使用不同比例的带标签的数据集和不带标签的数据集作为训练数据,通过半监督学习方法来训练多个用于标记数据类别的模型。数据优化装置130可以通过多个模型投票来重新生成该数据子集中的数据的标签。备选地,在一些实施例中,数据优化装置130可以对具有干净标签的数据集进行聚类,然后确定上述数据子集中的数据属于哪个聚类。数据优化装置130可以基于数据所属的聚类中的干净标签来重新生成该数据的标签。
29.模型训练装置140可以基于第二数据集合103来训练模型104(本文中也称为“第三模型”)。以图像分类场景为例,模型104可以用于识别输入图像的类别,例如该输入图像所描述的对象、事件或者与该输入图像有关的其他信息等等。以语音分类场景为例,模型104可以用于识别输入语音数据的类别,例如该输入语音数据所描述的对象、事件或者与该输入语音数据有关的其他信息等等。以文本分类场景为例,模型104可以用于识别输入文本的类别,例如该输入文本所描述的对象、事件或者与该输入文本有关的其他信息等等。
30.经训练的模型104可以被提供给模型应用装置150。模型应用装置150可以获取输入数据105,并且利用模型104来生成指示该输入数据105的类别的标签。应当理解,输入数据105应当与用于训练模型104的数据集合101具有相同类型。例如,当数据集合101为图像集合时,输入数据105应当为图像。当数据集合101为音频数据集合时,输入数据105应当为音频数据。当数据集合101为文本集合时,输入数据105应当为文本。
31.图2示出了根据本公开的实施例的数据优化装置130的示意性框图。应当理解,图2所示的数据优化装置130仅仅是本公开的实施例的一种示例实现,不旨在限制本公开的范围。仅出于说明的目的,在下文中,将以图像分类场景为例来详细描述本公开的实施例。
32.如图2所示,在一些实施例中,数据优化装置130可以利用支持不确定性估计的模型201(本文中也称为“第一模型”)来确定第一数据集合102中的数据的相应得分,其中每个数据的得分指示该数据的标签的不确定性。
33.如本文所使用的,“模型”能够处理输入并且提供相应输出。以神经网络模型为例,其通常包括输入层、输出层以及在输入层与输出层之间的一个或多个隐藏层。在深度学习应用中使用的模型(也称为“深度学习模型”)通常包括许多隐藏层,从而延长网络的深度。神经网络模型的各个层按顺序相连以使得前一层的输出被用作后一层的输入,其中输入层接收神经网络模型的输入,而输出层的输出作为神经网络模型的最终输出。神经网络模型的每个层包括一个或多个节点(也称为处理节点或神经元),每个节点处理来自上一层的输入。对于卷积神经网络(cnn)而言,其隐藏层可以包括卷积层、激励层和池化层中的一项或多项。
34.在一些实施例中,第一模型201可以被实现为贝叶斯卷积神经网络。具体地,第一模型201通过在cnn的卷积层中应用变分贝叶斯近似推理来支持针对输出的不确定性估计。图3示出了根据本公开的实施例的支持不确定性估计的模型201的示意性框图。如图3所示,模型201例如可以包括应用变分贝叶斯近似推理的一个或多个卷积层320。出于示例和便于说明的目的,在图3中仅示出一个卷积层320。该卷积层320可以接收来自前一层的输入310并且基于该输入310来生成输出330。
35.输入310例如可以表示从前一层输出的第一数据集合102的相应特征,例如被表示为矩阵x。卷积层320可以包括用于计算均值的第一组卷积核321和用于计算方差的第二组卷积核322。第一组卷积核321可以计算特征矩阵x的均值,例如被表示为x

μ,并且第二组卷积核322可以计算特征矩阵x的方差,例如被表示为其中,

表示卷积运算,μ表示用于计算特征均值的参数并且λ用于计算特征方差的参数,参数μ和λ可以在模型201的训练过程中被确定。基于第一组卷积核321的输出x

μ、第二组卷积核322的输出和从预定分布(例如,正态分布)随机采样的变量323(被表示为ε),可以确定该
卷积层320的输出330。在一些实施例中,输出330可以被表示为在一些实施例中,输出330可以是多次采样的均值,被表示为其中k表示采样次数(例如,k=20)。输出330的不确定性可以由方差来指示。以此方式,模型201能够支持针对输出的不确定性估计。
36.模型201的输出层例如可以利用如图3所示的卷积层320来实现。在一些实施例中,第一数据集合102的不确定性得分可以至少基于方差来被确定。数据的不确定性得分越高,则指示该数据的分类标签是噪声标签的可能性越大。备选地,在一些实施例中,第一数据集合102的不确定性得分可以基于均值x

μ和方差来被确定。例如,假设γ=x

μ并且则第一数据集合102的不确定性得分可以基于以下公式来计算:
[0037][0038]
其中常数h和ρ分别表示交叉熵函数和高斯累积密度函数。
[0039]
从以上描述能够看出,通过在cnn的卷积层中应用变分贝叶斯近似推理,本公开的实施例能够支持针对cnn的输出的不确定性估计。
[0040]
返回参考图2,在确定了第一数据集合102的不确定性得分330之后,数据优化装置130可以按照不确定性得分来对第一数据集合102中的数据进行排序。进一步地,数据优化装置130可以将数据集合102划分成具有噪声标签的第一数据子集210和具有干净标签的第二数据子集220。在一些实施例中,第一数据子集210和第二数据子集220可以基于不确定性得分的预定阈值来被划分,其中第一数据子集210中的数据的不确定性得分超过该预定阈值,而第二数据子集220中的数据的低分低于该预定阈值。例如,该预定阈值可以是预先确定的。以此方式,数据优化装置130能够识别出数据集合102具有噪声标签的那些数据,也即第一数据子集210中的数据。
[0041]
在一些实施例中,第一数据子集210和第二数据子集220可以包括描述相同对象和/或具有相同标签的不同数据。以图像分类场景为例,图像的标签例如可以指示该图像所描述的对象,诸如船、汽车、鸟或者牛等。例如,第一数据子集210可以包括描述牛并且具有标签“牛”的第一图像,而第二数据子集210可以包括描述牛并且具有标签“牛”的第二图像。其中,第一图像和第二图像是不同的图像,并且第一图像的不确定性得分超过第二图像的不确定性得分。
[0042]
如图2所示,在一些实施例中,数据优化装置130可以通过半监督学习来重新生成第一数据子集210中的数据的标签。具体地,数据优化装置130可以基于第一数据子集210和第二数据子集220两者,通过半监督学习来训练用于标记数据类别的模型202(本文中也称为“第二模型”)。数据优化装置130可以利用第二模型202来重新生成第一数据子集210中的数据的分类标签。
[0043]
图4示出了根据本公开的实施例的利用半监督学习方法训练用于标记数据类别的
模型202的示意图。如图4所示,为了训练模型202,可以首先移除第一数据子集210中的数据的分类标签,从而得到不带标签的第一数据子集410。然后,不带标签的第一数据子集410和带标签的第二数据子集220两者可以作为训练数据被输入到半监督学习训练装置420,以用于训练第二模型202。半监督学习训练装置420可以通过学习第二数据子集220中带标签的数据的数据分布来推断第一数据子集410中的数据的分类标签。应当理解,半监督学习训练装置420可以利用任何已知或将来开发的半监督学习算法来训练第二模型202。本公开的范围在此方面不受限制。
[0044]
返回参考图2,数据优化装置130可以利用第二模型202来重新生成第一数据子集210中的数据的分类标签,从而得到经优化的第一数据子集230。经优化的第一数据子集230和第二数据子集220两者可以组合成如图1所示的第二数据集合103。
[0045]
在一些实施例中,可以使用不同比例的带标签的数据集和不带标签的数据集来训练多个用于标记数据类别的模型。数据优化装置130可以利用多个模型的组合来重新生成第一数据子集210中的数据的分类标签。具体地,针对第一数据子集210中的给定数据,每个模型都可以给出指示该数据的类别的候选分类标签。数据优化装置130可以将重复次数最多的候选分类标签确定为该数据的最终分类标签,从而避免单个模型的输出结果不准确。
[0046]
以此方式,本公开的实施例能够利用贝叶斯不确定性估计方法来识别用于训练分类模型的数据集合中具有噪声标签的数据,并且通过半监督学习来纠正这些数据的噪声标签并且重新生成可能正确的分类标签,从而提高数据集合的质量,并且不会减少数据集合中数据的数量。
[0047]
表1示出了利用基于不同方法处理的数据集来训练的分类模型的性能比较。在表1所示的示例中,原始训练数据是40000张具有10种类别的自然图像(也即,这些图像总共具有10种标签),并且原始数据的标签准确率为100%。在实验中,通过对每个图像的标签以20%的概率改成除原先正确标签以外的其它9种标签之一,来模拟噪声标签的情况。测试数据是10000张与原始训练数据具有相同分布的具有10种类别的图像,并且测试数据的标签准确率为100%。
[0048]
表1
[0049]
方案分类准确度方案178.34%方案282.32%方案384.36%
[0050]
表1中的“方案1”表示不对具有20%噪声标签的训练数据进行任何处理而直接用于训练分类模型,然后利用所训练的分类模型对测试数据进行分类。通过将分类结果与测试数据的原标签进行比较,如表1所示,方案1的分类准确度为78.34%。表1中的“方案2”表示对具有20%噪声标签的训练数据按照传统方案(例如,基于置信度或损失来识别噪声标签并且丢弃具有噪声标签的数据)进行处理并且利用经处理的训练数据来训练分类模型,然后利用所训练的分类模型对测试数据进行分类。通过将分类结果与测试数据的原标签进行比较,可以确定方案2的分类准确度为82.32%。表1中的“方案3”表示对具有20%噪声标签的训练数据按照根据本公开的实施例的方案进行处理并且利用经处理的训练数据来训练分类模型,然后利用所训练的分类模型对测试数据进行分类。通过将分类结果与测试数
据的原标签进行比较,可以确定方案3的分类准确度为84.36%。
[0051]
通过如表1所示的实验数据能够证明,利用根据本公开的实施例的数据处理的方案,能够有效降低数据集合中具有噪声标签的数据的比例。相对于未经优化的数据集合以及基于传统方案优化的数据集合,利用根据本公开的实施例优化的数据集合训练的分类模型能够实现更好的分类准确度。
[0052]
分类模型可以被应用到各种领域。在医疗领域,高质量的胃十二指肠镜检查(egd)对于早期诊断胃癌至关重要。由于操作习惯,许多经验不足的医生在检查过程中往往会漏掉一些粘膜区域或未能观察到某些生理解剖结构,从而导致漏诊。因此,训练用于识别上消化道的多个解剖部位(诸如,从食道、胃部到十二指肠)的图像分类模型,能够帮助医生确保在egd检查过程中检查到所有部位。然而,由于缺少清晰的解剖标志,针对胃解剖部位的人工标注很容易出现错误。具有不同经验的医生之间的标注差异很大。带有噪声标签的训练图像会使分类模型有偏差地学习并且过度地适应噪声,从而导致所训练的分类模型难以产生正确的分类结果。利用本公开的实施例能够有效识别解剖部位标记不正确的图像,并且自动纠正这些图像的标签。经处理的图像集合可以被用于训练用于识别多个解剖部位(诸如,从食道、胃部到十二指肠)的图像分类模型,从而帮助医生在egd检查过程中检查到所有解剖部分,降低漏诊率。
[0053]
图5示出了根据本公开的实施例的用于数据处理的示例方法500的流程图。例如,方法500可以由如图1所示的系统100来执行。应当理解的是,方法500还可以包括未示出的附加动作和/或可以省略所示出的某些动作。本公开的范围在此方面不受限制。
[0054]
在框510处,第一数据集合102被获取,第一数据集合102中的每个数据具有指示该数据的类别的标签。
[0055]
在一些实施例中,第一数据集合102包括以下任一种:图像集合、语音数据集合以及文本集合。
[0056]
在框520处,从第一数据集合102中确定具有噪声标签的第一数据子集210。
[0057]
在一些实施例中,从第一数据集合102中确定具有噪声标签的第一数据子集210包括确定第一数据集合102中的数据的相应得分,第一数据集合102中的每个数据的得分指示该数据的标签的不确定性;以及基于相应得分,将第一数据集合102划分成具有噪声标签的第一数据子集210和具有干净标签的第二数据子集220。
[0058]
在一些实施例中,确定第一数据集合102中的数据的相应得分包括利用支持不确定性估计的第一模型201来确定该相应得分。
[0059]
在一些实施例中,第一模型201至少包括输出层和耦合至输出层的隐藏层。输出层包括用于计算均值的第一组卷积核和用于计算方差的第二组卷积核。利用第一模型201来确定该相应得分包括:从隐藏层获取第一数据集合102的相应特征;利用第一组卷积核和第二组卷积核,确定相应特征的均值和方差;以及至少基于该方差来确定该相应得分。
[0060]
在一些实施例中,第一模型201包括贝叶斯卷积神经网络。
[0061]
在框530处,第一数据子集210中的数据的标签被重新生成,以得到第二数据集合103。
[0062]
在一些实施例中,重新生成第一数据子集210中的数据的标签包括:利用用于标记数据类别的第二模型202来重新生成第一数据子集210中的数据的标签。
[0063]
在一些实施例中,第二模型202通过如下方式被训练:移除第一数据子集210中的数据的噪声标签;以及使用具有干净标签的第二数据子集220和移除噪声标签的第一数据子集410作为训练数据,通过半监督学习来训练第二模型202
[0064]
在一些实施例中,重新生成第一数据子集210中的数据的标签包括:针对第一数据子集210中的给定数据,利用用于标记数据类别的多个模型来生成给定数据的多个候选标签;以及通过基于多个候选标签进行投票,来确定该给定数据的标签。
[0065]
在一些实施例中,方法500还包括:基于第二数据集合103,训练用于标记数据类别的第三模型104。
[0066]
在一些实施例中,方法500还包括:获取输入数据105;以及利用第三模型104,生成指示输入数据105的类别的标签。
[0067]
图6示出了可以用来实施本公开的实施例的示例设备600的示意性框图。例如,如图1所示的系统100中的一个或多个装置可以由设备600来实施。如图所示,设备600包括中央处理单元(cpu)601,其可以根据存储在只读存储器(rom)602中的计算机程序指令或者从存储单元608加载到随机访问存储器(ram)603中的计算机程序指令,来执行各种适当的动作和处理。在ram 603中,还可存储设备600操作所需的各种程序和数据。cpu 601、rom 602以及ram 603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
[0068]
设备600中的多个部件连接至i/o接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0069]
处理单元601可被配置为执行上文所描述的各个过程和处理,例如方法500。例如,在一些实施例中,方法500可以被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由rom 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序被加载到ram 603并由cpu 601执行时,可以执行上文描述的方法500中的一个或多个步骤。
[0070]
本公开可以被实现为系统、方法和/或计算机程序产品。当本公开被实现为系统时,除了能够在单个设备上实现之外,本文所描述的部件还可以以云计算架构的形式来实现。在云计算环境中,这些部件可以被远程布置,并且可以一起工作以实现本公开所描述的功能。云计算可以提供计算、软件、数据访问和存储服务,它们不需要终端用户知晓提供这些服务的系统或硬件的物理位置或配置。云计算可以使用适当的协议通过广域网(诸如因特网)提供服务。例如,云计算提供商通过广域网提供应用,并且它们可以通过浏览器或任何其他计算组件被访问。云计算的部件以及相应的数据可以被存储在远程服务器上。云计算环境中的计算资源可以在远程数据中心位置处被合并,或者这些计算资源可以被分散。云计算基础设施可以通过共享数据中心提供服务,即使它们表现为针对用户的单一访问点。因此,可以使用云计算架构从远程服务提供商提供本文所描述的各种功能。备选地,它们可以从常规服务器被提供,或者它们可以直接或以其他方式被安装在客户端设备上。此外,本公开还可以被实现为计算机程序产品,该计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
[0071]
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形
设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
[0072]
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0073]
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
[0074]
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0075]
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0076]
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产
生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0077]
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0078]
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1