发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的基于PLSA算法判断文档相关性的方法及装置。
依据本发明的一个方面,提供了一种基于PLSA算法判断文档相关性的方法,包括:根据文档信息确定待处理的元素以及元素对应的分类;将元素的个数N确定为PLSA算法中所需的计算矩阵的列数,将分类的个数M确定为计算矩阵的行数,其中,计算矩阵中的矩阵数据表示元素与分类之间的对应关系,N和M均为自然数;通过硬聚类算法将N个待处理的元素汇聚为M个分类,得到每个元素在各个分类下的隶属度取值;根据每个元素在各个分类下的隶属度取值,对计算矩阵中的矩阵数据进行初始化,并根据PLSA算法对初始化之后的矩阵数据进行迭代运算,根据运算结果判断文档是否相关。
可选地,文档信息包括:文档标号以及文档所属的主题,则待处理的元素为文档标号,分类为文档所属的主题,则计算矩阵中的矩阵数据表示文档标号与主题之间的对应关系。
可选地,文档信息包括:文档所属的主题以及文档中的词汇,则待处理的元素为文档中的词汇,分类为文档所属的主题,计算矩阵中的矩阵数据表示词汇与主题之间的对应关系。
可选地,硬聚类算法为MinHash算法或SimHash算法。
可选地,每个元素在各个分类下的隶属度取值为0或1,则根据每个元素在各个分类下的隶属度取值,对计算矩阵中的矩阵数据进行初始化的步骤具体包括:当一个元素在指定分类下的隶属度取值为0时,将计算矩阵中相应的矩阵数据初始化为0;当一个元素在指定分类下的隶属度取值为1时,将计算矩阵中相应的矩阵数据初始化为1;进一步判断每一行的矩阵数据之和是否大于1,并在大于1时对该行数据进行归一化,使该行数据之和等于1。
依据本发明的另一方面,提供了一种基于PLSA算法判断文档相关性的装置,包括:确定单元,适于根据文档信息确定待处理的元素以及元素对应的分类,将元素的个数N确定为PLSA算法中所需的计算矩阵的列数,将分类的个数M确定为计算矩阵的行数,其中,计算矩阵中的矩阵数据表示元素与分类之间的对应关系,N和M均为自然数;聚类单元,适于通过硬聚类算法将N个待处理的元素汇聚为M个分类,得到每个元素在各个分类下的隶属度取值;计算单元,适于根据每个元素在各个分类下的隶属度取值,对计算矩阵中的矩阵数据进行初始化,并根据PLSA算法对初始化之后的矩阵数据进行迭代运算,根据运算结果判断文档是否相关。
可选地,文档信息包括:文档标号以及文档所属的主题,则待处理的元素为文档标号,分类为文档所属的主题,则计算矩阵中的矩阵数据表示文档标号与主题之间的对应关系。
可选地,文档信息包括:文档所属的主题以及文档中的词汇,则待处理的元素为文档中的词汇,分类为文档所属的主题,计算矩阵中的矩阵数据表示词汇与主题之间的对应关系。
可选地,硬聚类算法为MinHash算法或SimHash算法。
可选地,每个元素在各个分类下的隶属度取值为0或1,则计算单元具体适于:当一个元素在指定分类下的隶属度取值为0时,将计算矩阵中相应的矩阵数据初始化为0;当一个元素在指定分类下的隶属度取值为1时,将计算矩阵中相应的矩阵数据初始化为1;进一步判断每一行的矩阵数据之和是否大于1,并在大于1时对该行数据进行归一化,使该行数据之和等于1。
在本发明提供的基于PLSA算法判断文档相关性的方法及装置中,首先根据文档信息确定待处理的元素以及元素对应的分类,并通过计算矩阵的形式表示元素与分类之间的对应关系;然后,通过硬聚类算法对待处理的各个元素进行分类,并根据硬聚类的分类结果来确定计算矩阵的初始值。由于在上述方式中,先通过硬聚类算法确定了各个元素的分类结果,该结果是接近于真实情况的分类结果,因而,计算矩阵的初始值能够大致反映各个元素的真实分类情况,所以,在后续通过迭代运算判断文档是否相关的过程中,能够显著降低迭代运算的计算量,提高运算效率。由此解决了现有技术中存在的计算耗时长的问题。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种基于PLSA算法判断文档相关性的方法及装置,用以解决现有技术中存在的计算耗时长的问题。
图1示出了本发明实施例提供的基于PLSA算法判断文档相关性的方法流程图,如图1所示,该方法起始于步骤S110,在步骤S110中,根据文档信息确定待处理的元素以及元素对应的分类。
在步骤S120中,将待处理的元素的个数N确定为PLSA算法中所需的计算矩阵的列数,将分类的个数M确定为计算矩阵的行数,其中,计算矩阵中的矩阵数据表示元素与分类之间的对应关系,N和M均为自然数。
在步骤S130中,通过硬聚类算法将N个待处理的元素汇聚为M个分类,得到每个元素在各个分类下的隶属度取值。其中,硬聚类算法例如可以是MinHash算法或SimHash算法等。
在步骤S140中,根据每个元素在各个分类下的隶属度取值,对计算矩阵中的矩阵数据进行初始化,并根据PLSA算法对初始化之后的矩阵数据进行迭代运算,根据运算结果判断文档是否相关。
其中,在本实施例的一种情况中,文档信息包括:文档标号以及文档所属的主题,其中,文档标号用以唯一地标识一个文档,文档所属的主题反映了文档的中心内容。相应地,步骤S110中待处理的元素为文档标号,步骤S110中提到的分类为文档所属的主题,则步骤S120中提到的计算矩阵中的矩阵数据表示文档标号与主题之间的对应关系。
在本实施例的另一种情况中,文档信息包括:文档所属的主题以及文档中的词汇。相应地,步骤S110中待处理的元素为文档中的词汇,步骤S110中提到的分类为文档所属的主题,则步骤S120中提到的计算矩阵中的矩阵数据表示词汇与主题之间的对应关系。
其中,通过硬聚类算法得到的每个元素在各个分类下的隶属度取值为0或1,相应地,在步骤S140中根据每个元素在各个分类下的隶属度取值,对计算矩阵中的矩阵数据进行初始化的过程具体包括:当一个元素在指定分类下的隶属度取值为0时,将计算矩阵中相应的矩阵数据初始化为0;当一个元素在指定分类下的隶属度取值为1时,将计算矩阵中相应的矩阵数据初始化为1;进一步判断每一行的矩阵数据之和是否大于1,并在大于1时对该行数据进行归一化,使该行数据之和等于1。
由于在上述方式中,先通过硬聚类算法确定了各个元素的分类结果,该结果是接近于真实情况的分类结果,因而,计算矩阵的初始值能够大致反映各个元素的真实分类情况,所以,在后续通过迭代运算判断文档是否相关的过程中,能够显著降低迭代运算的计算量,提高运算效率。
图2示出了本发明另一个具体实施例提供的基于PLSA算法判断文档相关性的方法流程图。图2所示的判断文档相关性的方法具体包括如下步骤:
步骤S210:根据文档信息确定待处理的元素以及元素对应的分类。
其中,待处理的元素以及元素对应的分类主要用于构造后续步骤中所需的计算矩阵。在本实施例中,要用到两个计算矩阵,一个是“文档-主题”计算矩阵,另一个是“词汇-主题”计算矩阵:对于“文档-主题”计算矩阵来说,步骤S210中待处理的元素为文档标号,步骤S210中提到的分类为文档所属的主题,则“文档-主题”计算矩阵中的矩阵数据表示文档标号与主题之间的对应关系;对于“词汇-主题”计算矩阵来说,步骤S210中待处理的元素为文档中的词汇,步骤S210中提到的分类为文档所属的主题,则“词汇-主题”计算矩阵中的矩阵数据表示词汇与主题之间的对应关系。
步骤S220:将步骤S210中确定的元素的个数N确定为PLSA算法中所需的计算矩阵的列数,将分类的个数M确定为计算矩阵的行数,其中,计算矩阵中的矩阵数据表示元素与分类之间的对应关系,N和M均为自然数。
例如,以“文档-主题”计算矩阵为例来说,假设元素的个数(即文档的个数)为2,分类的个数(即主题的个数)为3,则该计算矩阵为一个两行三列的矩阵。同理,对于“词汇-主题”计算矩阵,也可以采用相同的方式确定该矩阵的行数和列数。
步骤S230:通过硬聚类算法将N个待处理的元素汇聚为M个分类,得到每个元素在各个分类下的隶属度取值。其中,硬聚类算法例如可以是MinHash算法或SimHash算法等。
具体地,在通过硬聚类算法对元素进行分类的过程中,可通过多种方式进行,例如,对于上文提到的两行三列的“文档-主题”计算矩阵来说,需要通过硬聚类算法将两个文档汇聚为三类。其中,两个文档分别通过文档标号(文档一和文档二)来区分,三个主题例如可以是“科普”、“娱乐”和“新闻”这三个主题。通常情况下,每个文档必然属于三个主题中的某一主题,且每个文档仅属于一个主题,一般不会出现一个文档同时属于两个主题的情况。因此,通过MinHash算法或SimHash算法可以得出文档一属于“科普”主题,文档二属于“新闻”主题这一分类结果。其中,MinHash算法或SimHash算法的具体计算细节为本领域技术人员所熟知,因此,此处不再赘述。
介绍完将文档分为若干主题的分类方法之后,接下来,着重介绍一下将词汇分为若干主题的分类方法。在本实施例中提到的“词汇”,并不是一个单一的字词,而是一个包含上下文的词组。为了获取这些词组,需要将每篇文档中出现的字词以及与该字词相邻的字词(即上下文词)都记录下来。例如,对于“电影”这个字词,假设在一篇文档中出现了“近期好莱坞电影精品推荐”的内容,根据该处内容,可以知道“电影”的上下文词为“好莱坞”和“精品”;假设在该文档中还出现了“今年暑期电影观众热评”的内容,则根据该处内容,可以知道“电影”的上下文词还包括“暑期”和“观众”。假设在该文档中“电影”一词仅在上述两处内容中出现,则可以确定“电影”对应的上下文词组为“好莱坞精品暑期观众”。因此,通过由“电影”及其对应的上下文词组构成的集合{电影 好莱坞 精品 暑期 观众}就可以综合表示“电影”这一词汇。
为了便于计算,在本实施例中,需要将各个词汇对应的集合分别表示为数学向量的形式。下面以集合{电影好莱坞精品暑期观众}为例,介绍一下集合的向量化表示方法:首先,为文档中出现的所有字词赋予唯一的数字编号,例如,假设文档中出现了如下九个字词(实际情况中字词数一定大于九个,本实施例中为了便于描述假定文档中只有九个字词):近期好莱坞电影精品推荐今年暑期观众热评,为上述的每个字词依次赋予编号1至9,则各个字词及编号的对应关系如下:近期(1) 好莱坞(2) 电影(3) 精品(4) 推荐(5) 今年(6) 暑期(7) 观众(8) 热评(9)。然后,对于文档中的每个词汇对应的集合,都可以通过一个九维稀疏向量表示,例如,由于集合{电影好莱坞精品暑期观众}中的五个字词的编号依次为3、2、4、7、8,因此,该集合的向量化表示方式为{0,1,1,1,0,0,1,1,0}。由此可见,该向量中的每个分量依次表示文档中包含的各个字词,如果对应字词出现在了该集合里,则在向量化表示时将对应位置的元素赋值为1,如果对应字词未出现在该集合里,则在向量化表示时将对应位置的元素赋值为0。通过上面的方式,就可以将文档中的每个词汇对应的集合都通过向量进行表示。
接下来,通过硬聚类算法确定各个词汇对应的主题的过程,也就是将表示各个词汇的向量进行聚类的过程。所谓硬聚类,其实质上是一种相似度计算,即:将相似的向量聚在一起,由此将向量所代表的词汇聚在一起从而分成若干类。例如,以MinHash实现硬聚类的方式为例来说,可以在各个向量中,按照预设规则抽取若干个元素值,将这些抽取出来的元素值构造为一个短向量,如果两个或更多个向量的短向量相等,则这两个或更多个向量为一类。例如,以上述的向量{0,1,1,1,0,0,1,1,0}为例来说,假设抽取其中的第三个、第五个以及第七个元素的元素值构成短向量,则相应的短向量为{1,0,1},这时,假设还有一个词组对应的向量为{1,0,1,1,0,0,1,0,0},则其对应的短向量也为{1,0,1},因此,可以确定这两个向量属于同一个分类,即:这两个向量所表示的词汇属于同一个主题。通过上述方式,就可以将N个词汇聚为M个主题。通常情况下,每个词汇属于且仅属于一个主题。当一个词汇属于一个主题时,则该词汇在该主题下的隶属度取值为1;当一个词汇不属于一个主题时,则该词汇在该主题下的隶属度取值为0。
除了上面介绍的聚类方式之外,本领域技术人员还可以灵活采用其它的硬聚类方式对各个元素进行聚类,经过聚类之后,通常情况下,对于任一元素来说,其在某一分类下的隶属度取值为1,在其他分类下的隶属度取值为0。
步骤S240:根据步骤S230中得到的每个元素在各个分类下的隶属度取值,对步骤S220中提到的计算矩阵中的矩阵数据进行初始化。
例如,以上文提到的两行三列的“文档-主题”计算矩阵来说,该计算矩阵中包含六个矩阵数据,每个矩阵数据用于表示相应的文档与主题之间的对应关系。假设该计算矩阵中的六个矩阵数据按照如下方式排布:
A11 A12 A13
A21 A22 A23
其中,每个矩阵数据的行下标用于表示该矩阵数据所对应的文档标号,例如,行下标为1的矩阵数据对应于文档一,行下标为2的矩阵数据对应于文档二;每个矩阵数据的列下标用于表示该矩阵数据所对应的分类,即主题,例如,行下标为1的矩阵数据对应于“科普”这一主题,行下标为2的矩阵数据对应于“娱乐”这一主题,行下标为3的矩阵数据对应于“新闻”这一主题。假设文档一属于“科普”主题,则表示文档一在“科普”主题对应的分类下的隶属度取值为1,在其他两个主题对应的分类下的隶属度取值均为0;假设文档二属于“新闻”主题,则表示文档二在“新闻”主题对应的分类下的隶属度取值为1,在其他两个主题对应的分类下的隶属度取值均为0。相应地,在对该计算矩阵中的六个矩阵数据进行初始化时,直接将各个矩阵数据所对应的文档在相应主题下的隶属度取值赋值给各个矩阵数据即可,因此,该矩阵中的六个矩阵数据的初始化结果如下:
1 0 0
0 0 1
通常情况下,在对矩阵数据进行初始化之后,每一行的矩阵数据之和等于一,但是,在某些特殊情况下(例如,某一元素同时属于两个分类的特殊情况)可能会出现某一行的矩阵数据之和大于一的情况,在这种情况下,为了方便后续的计算过程,可以先对数据之和大于1的行数据进行归一化,使该行数据之和等于1。
上面是以“文档-主题”计算矩阵为例进行介绍的,对于“词汇-主题”计算矩阵来说,也可以根据词汇与主题的对应关系进行初始化,其具体过程与“文档-主题”计算矩阵的初始化过程相同,此处不再赘述。
步骤S250:根据PLSA算法对初始化之后的矩阵数据进行迭代运算。
在本实施例中,由于涉及到两个计算矩阵,因此,需要分别对每个计算矩阵进行迭代运算:首先,分别输入初始化的“文档-主题”计算矩阵、“词汇-主题”计算矩阵。然后,根据一篇篇文档以及每篇文档中包含的各个词汇与主题之间的对应关系,对初始化的“文档-主题”计算矩阵、“词汇-主题”计算矩阵进行PLSA运算,该运算过程是一个迭代过程,在迭代过程中不断地修正这两个计算矩阵中的矩阵数据值,使其与真实情况相符合。通俗地说,在同一篇文档中出现的词,它们之间属于同一个主题的概率更大;或者更广泛地说,由于一篇文档只会涉及有限的主题,那么这篇文档中的所有词,也只会属于这几个有限的主题,迭代过程就是基于这样的推论来运算的。具体地,在数学实现上,可以通过求解概率分布的最大似然值的迭代计算过程,即可在每一轮迭代中使上述两个矩阵的概率分布值更加符合输入的一篇篇文档中真实的情况。当迭代过程收敛时,所得到的两个计算矩阵中的矩阵数据能够反映最佳的概率分布情况。
步骤S260:根据运算结果判断文档是否相关。
具体地,通过步骤S250中得到的矩阵数据的最终结果来计算两篇文档之间的相似度时,可以先根据矩阵数据的最终结果确定出这两篇文档的主题分布情况(可通过向量形式来表示),然后,通过一些常用于计算两个向量相似度的方法(例如余弦距离)进行计算,由此反映出这两篇文档的相似度。
例如,对于上文的步骤S240中提到的文档一和文档二对应的“文档-主题”计算矩阵来说,假设该矩阵的最终计算结果如下:
0.6 0.1 0.3
0.4 0.2 0.4
由此可见,文档一的主题分布情况为:文档一属于第一个主题的概率为0.6,属于第二个主题的概率为0.1,属于第三个主题的概率为0.3,因此,可以通过向量(0.6 0.1 0.3)来表示文档一的主题分布情况。同理,可以通过向量(0.4 0.2 0.4)来表示文档二的主题分布情况。通过余弦距离进行相似度计算,得到文档一和文档二之间的相似度为0.6*0.4+0.1*0.2+0.3*0.4=0.38,将0.38与预设的相似度阈值进行比较,即可确定出两篇文档是否相似。
上面介绍了通过“文档-主题”计算矩阵判断两篇文档是否相关的方法,对于“词汇-主题”计算矩阵来说,也可以通过上面的方式判断两篇文档是否相关。通过“文档-主题”以及“词汇-主题”这两个计算矩阵来判断文档是否相关,可以提高判断的准确性。
另外,在本实施例中,是以计算矩阵为两个,然后,分别通过硬聚类算法对这两个计算矩阵进行初始化为例进行介绍的,实际上,在本发明其他的实施例中,也可以仅通过硬聚类算法对其中的一个计算矩阵进行初始化,而对于另一个计算矩阵则直接采用现有技术中的方式进行初始化。或者,在本发明其他的实施例中,也可以仅采用其中的任意一个计算矩阵来判断文档是否相关。而且,上述的两个计算矩阵中的元素及其分类并不限于上面介绍的“文档-主题”以及“词汇-主题”的对应方式,也可以灵活采用“主题-词汇”或“主题-文档”等各种形式实现,本发明对此不作限定。
在本实施例介绍的上述方式中,先通过硬聚类算法确定了各个元素的分类结果,由于该结果是接近于真实情况的分类结果,因而,计算矩阵的初始值能够大致反映各个元素的真实分类情况,所以,在后续通过迭代运算判断文档是否相关的过程中,能够显著降低迭代运算的计算量,提高运算效率。例如,如果采用现有技术中的初始化方式,则后续往往需要200轮的迭代运算才能使计算结果收敛,而采用本发明的方法之后,一般只需要30轮的迭代运算就可以使计算结果收敛,由此可见,硬聚类的耗时时间加上30轮的迭代运算的耗时时间远远小于200轮的迭代运算的耗时时间。
另外,由于PLSA算法本身是一种模糊聚类算法,因此,在本发明实施例中,还实现了硬聚类算法和模糊聚类算法的有效结合。下面简单介绍一下硬聚类算法和模糊聚类算法的区别:聚类分析如果按照隶属度的取值范围可以分为两类,一类叫硬聚类算法,另一类就是模糊聚类算法。其中,隶属度的概念是从模糊集理论里引申出来的。传统硬聚类算法的隶属度只有0和1这两个值,也就是说一个样本只能完全属于某一个类或者完全不属于某一个类。举个例子,把温度分为两类,大于10度为热,小于或者等于10度为冷,这就是典型的“硬隶属度”概念,这样,不论是5度还是负100度都属于冷这个类,而不属于热这个类的。硬聚类算法能够清晰地反映出样本的最优分类情况,但是这种非此即彼的分类方式不能有效反映出某一样本属于一个分类的概率大小。而模糊聚类算法的隶属度则是一个取值在[0,1]区间内的数,也就是说一个样本同时属于所有的类,但是通过隶属度的大小来区分其差异,因此,对于温度来说,5度可能属于冷这个类的隶属度值为0.7,而属于热这个类的隶属度值为0.3。模糊聚类算法能够有效反映出某一样本属于一个分类的概率大小,但是却无法清晰地给出样本的最优分类情况。因此,在本实施例中,将硬聚类算法应用于模糊聚类PLSA算法的初始化过程中,能够充分发挥两种算法的优势,以使计算性能达到最优。
图3示出了本发明实施例提供的基于PLSA算法判断文档相关性的装置的结构图。如图3所示,该装置300包括:确定单元31、聚类单元32以及计算单元33。
确定单元31根据文档信息确定待处理的元素以及元素对应的分类,将元素的个数N确定为PLSA算法中所需的计算矩阵的列数,将分类的个数M确定为计算矩阵的行数,其中,计算矩阵中的矩阵数据表示元素与分类之间的对应关系,N和M均为自然数。
聚类单元32通过硬聚类算法将N个待处理的元素汇聚为M个分类,得到每个元素在各个分类下的隶属度取值。其中,硬聚类算法为MinHash算法或SimHash算法。
计算单元33根据每个元素在各个分类下的隶属度取值,对计算矩阵中的矩阵数据进行初始化,并根据PLSA算法对初始化之后的矩阵数据进行迭代运算,根据运算结果判断文档是否相关。
其中,所述文档信息包括:文档标号以及文档所属的主题,则待处理的元素为文档标号,分类为文档所属的主题,则计算矩阵中的矩阵数据表示文档标号与主题之间的对应关系。或者,文档信息包括:文档所属的主题以及文档中的词汇,则待处理的元素为文档中的词汇,分类为文档所属的主题,计算矩阵中的矩阵数据表示词汇与主题之间的对应关系。
其中,每个元素在各个分类下的隶属度取值为0或1,则计算单元33具体用于:当一个元素在指定分类下的隶属度取值为0时,将计算矩阵中相应的矩阵数据初始化为0;当一个元素在指定分类下的隶属度取值为1时,将计算矩阵中相应的矩阵数据初始化为1;进一步判断每一行的矩阵数据之和是否大于1,并在大于1时对该行数据进行归一化,使该行数据之和等于1。
在本发明提供的基于PLSA算法判断文档相关性的方法及装置中,首先根据文档信息确定待处理的元素以及元素对应的分类,并通过计算矩阵的形式表示元素与分类之间的对应关系;然后,通过硬聚类算法对待处理的各个元素进行分类,并根据硬聚类的分类结果来确定计算矩阵的初始值。由于在上述方式中,先通过硬聚类算法确定了各个元素的分类结果,该结果是接近于真实情况的分类结果,因而,计算矩阵的初始值能够大致反映各个元素的真实分类情况,所以,在后续通过迭代运算判断文档是否相关的过程中,能够显著降低迭代运算的计算量,提高运算效率。由此解决了现有技术中存在的计算耗时长的问题。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。