用于基于反馈来生成训练模型的方法和装置转让专利

申请号 : CN201210266953.3

文献号 : CN103577831B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 严骏驰段宁张欣曹亮亮林芊王晨

申请人 : 国际商业机器公司

摘要 :

本发明的各实施方式提供了用于基于反馈来生成训练模型的方法和装置。在本发明的一个实施方式中,提供了一种用于基于反馈来生成训练模型的方法,包括:计算多个样本中样本的特征向量;在至少一个轮次中,获取至少一个用户对于多个样本中的至少一个样本的评分,包括:获取至少一个用户对于第一数量的样本的评分;响应于基于特征向量检测到至少一个用户对于第一数量的样本的评分中的不一致性,获取至少一个用户对于第二数量的样本的评分;以及基于至少一个用户对于第一数量和第二数量的样本的评分,生成训练模型。在本发明的另一实施方式中,提供了相应的装置。

权利要求 :

1.一种用于基于反馈来生成训练模型的方法,包括:

计算多个样本中样本的特征向量;

在至少一个轮次中,获取至少一个用户对于所述多个样本中的至少一个样本的评分,包括:获取所述至少一个用户对于第一数量的样本的评分;

响应于基于所述特征向量检测到所述至少一个用户对于第一数量的样本的评分中的不一致性,获取所述至少一个用户对于第二数量的样本的评分;以及基于所述至少一个用户对于所述第一数量和第二数量的样本的评分,生成所述训练模型。

2.根据权利要求1所述的方法,进一步包括:

根据所述特征向量,将所述多个样本聚类为至少一个分组。

3.根据权利要求2所述的方法,其中,获取所述至少一个用户对于第一数量的样本的评分和获取所述至少一个用户对于第二数量的样本的评分中的至少一个包括:获取所述至少一个用户对于所述至少一个分组中的每个分组中的至少一个样本的评分。

4.根据权利要求1-3中任一项所述的方法,其中,获取所述至少一个用户对于第一数量的样本的评分和获取所述至少一个用户对于第二数量的样本的评分中的至少一个包括:针对所述至少一个用户中的一个用户,提供至少两个样本;

获取所述用户针对所述至少两个样本的原始评分;以及

将所述原始评分进行归一化,获得所述用户针对所述至少两个样本的评分。

5.根据权利要求1-3中任一项所述的方法,其中,响应于基于所述特征向量检测到所述至少一个用户对于第一数量的样本的评分中的不一致性,获取所述至少一个用户对于第二数量的样本的评分包括:如果所述至少一个用户中的第一用户对于相似样本的评分差异超过第一阈值,则向所述第一用户提供更多相似样本以获取所述第一用户针对所述更多相似样本的评分,其中所述相似样本采用基于特征向量计算的距离来度量。

6.根据权利要求1-3中任一项所述的方法,其中,响应于基于所述特征向量检测到所述至少一个用户对于第一数量的样本的评分中的不一致性,获取所述至少一个用户对于第二数量的样本的评分包括:如果相似用户针对所述多个样本中的第一样本的评分差异超过第二阈值,则向所述相似用户分别再次提供所述第一样本,以获取所述相似用户针对所述第一样本的评分,其中所述相似用户采用用户对多个样本的评分所组成的向量计算的距离来度量。

7.根据权利要求1-3中任一项所述的方法,其中,响应于基于所述特征向量检测到所述至少一个用户对于第一数量的样本的评分中的不一致性,获取所述至少一个用户对于第二数量的样本的评分包括:如果所述至少一个用户中的一个用户对两个样本的原始评分之间的差异与被归一化后的评分之间的差异大于第三阈值,则利用所述多个样本中的另一样本替换所述两个样本中的一个样本。

8.根据权利要求1-3中任一项所述的方法,其中,基于所述至少一个用户对于所述第一数量和第二数量的样本的评分,生成所述训练模型包括:利用所述至少一个用户对于所述第一数量和第二数量的样本的评分填充评分矩阵;以及对所述评分矩阵进行协同滤波处理以生成所述训练模型。

9.根据权利要求1-3中任一项所述的方法,其中,所述样本是图像数据。

10.一种用于基于反馈来生成训练模型的装置,包括:

计算模块,配置用于计算多个样本中样本的特征向量;

获取模块,配置用于在至少一个轮次中,获取至少一个用户对于所述多个样本中的至少一个样本的评分,包括:第一获取模块,配置用于获取所述至少一个用户对于第一数量的样本的评分;

第二获取模块,配置用于响应于基于所述特征向量检测到所述至少一个用户对于第一数量的样本的评分中的不一致性,获取所述至少一个用户对于第二数量的样本的评分;以及生成模块,配置用于基于所述至少一个用户对于所述第一数量和第二数量的样本的评分,生成所述训练模型。

11.根据权利要求10所述的装置,进一步包括:

聚类模块,配置用于根据所述特征向量,将所述多个样本聚类为至少一个分组。

12.根据权利要求11所述的装置,其中所述第一获取模块和所述第二获取模块包括:第三获取模块,配置用于获取所述至少一个用户对于所述至少一个分组中的每个分组中的至少一个样本的评分。

13.根据权利要求10-12中任一项所述的装置,其中所述第一获取模块和所述第二获取模块进一步包括:提供模块,配置用于针对所述至少一个用户中的一个用户,提供至少两个样本;

第五获取模块,配置用于获取所述用户针对所述至少两个样本的原始评分;以及归一化模块,配置用于将所述原始评分进行归一化,获得所述用户针对所述至少两个样本的评分。

14.根据权利要求10-12中任一项所述的装置,其中所述第二获取模块包括:第六获取模块,配置用于如果所述至少一个用户中的第一用户对于相似样本的评分差异超过第一阈值,则向所述第一用户提供更多相似样本以获取所述第一用户针对所述更多相似样本的评分,其中所述相似样本采用基于特征向量计算的距离来度量。

15.根据权利要求10-12中任一项所述的装置,其中所述第二获取模块进一步包括:第七获取模块,配置用于如果相似用户针对所述多个样本中的第一样本的评分差异超过第二阈值,则向所述相似用户分别再次提供所述第一样本,以获取所述相似用户针对所述第一样本的评分,其中所述相似用户采用用户对多个样本的评分所组成的向量计算的距离来度量。

16.根据权利要求10-12中任一项所述的装置,其中所述第二获取模块进一步包括:第八获取模块,配置用于如果所述至少一个用户中的一个用户对两个样本的原始评分之间的差异与被归一化后的评分之间的差异大于第三阈值,则利用所述多个样本中的另一样本替换所述两个样本中的一个样本。

17.根据权利要求10-12中任一项所述的装置,其中所述生成模块包括:填充模块,配置用于利用所述至少一个用户对于所述第一数量和第二数量的样本的评分填充评分矩阵;以及第二生成模块,配置用于对所述评分矩阵进行协同滤波处理以生成所述训练模型。

18.根据权利要求10-12中任一项所述的装置,其中,所述样本是图像数据。

说明书 :

用于基于反馈来生成训练模型的方法和装置

技术领域

[0001] 本发明的各实施方式涉及对样本进行评级,更具体地,涉及在评级系统中的用于基于反馈来生成训练模型的方法、装置和相关计算机程序产品。

背景技术

[0002] 随着计算机技术和人工智能技术的发展,已经可以实现采用计算机来以智能化方式对各种数据样本进行自动评级。自动评级系统可以学习专家(或用户)对于代表性样本进行评级时所采用的标准,并且利用学习到的这些评级标准来生成训练模型,进而采用训练模型对其他待评级样本进行评级。
[0003] 通常,待评级样本通常数量巨大(例如,数十万甚至上百万),因而需要从用户采集针对大量样本(例如,数千甚至上万)的评分,才能保证在评级中使用的训练模型的准确性。然而,对于特定用户而言,针对数千甚至上万的样本进行评级是一项费时费力的工作,并且该用户在长时间的评级中容易产生疲劳,例如可能会出现前后评级标准不一致、误操作等错误,进而导致在对样本的评级中存在“噪声”。以上问题都会影响所生成训练模型的准确性,进而影响自动评级的准确性。

发明内容

[0004] 因而,期望能够开发一种能够准确高效地生成训练模型的技术方案,并且期望该技术方案可以在保证训练模型准确性的同时,尽量减少用户需要评级的样本的数量;还期望能够尽量检测并消除由于用户的疲劳或误操作等错误导致的“噪声”。为此,本发明的各实施方式提供了用于基于反馈来生成训练模型的方法和装置和相关计算机程序产品。
[0005] 在本发明的一个实施方式中,提供了一种用于基于反馈来生成训练模型的方法,包括:计算多个样本中样本的特征向量;在至少一个轮次中,获取至少一个用户对于多个样本中的至少一个样本的评分,包括:获取至少一个用户对于第一数量的样本的评分;响应于基于特征向量检测到至少一个用户对于第一数量的样本的评分中的不一致性,获取至少一个用户对于第二数量的样本的评分;以及基于至少一个用户对于第一数量和第二数量的样本的评分,生成训练模型。
[0006] 在本发明的一个实施方式中,获取至少一个用户对于多个样本中的至少一个样本的评分包括:针对至少一个用户中的一个用户,提供至少两个样本;获取用户针对至少两个样本的原始评分;以及将原始评分进行归一化,获得用户针对至少两个样本的评分。
[0007] 在本发明的一个实施方式中,样本是图像数据。
[0008] 在本发明的一个实施方式中,提供了一种用于基于反馈来生成训练模型的装置,包括:计算模块,配置用于计算多个样本中样本的特征向量;获取模块,配置用于在至少一个轮次中,获取至少一个用户对于多个样本中的至少一个样本的评分,包括:第一获取模块,配置用于获取至少一个用户对于第一数量的样本的评分;第二获取模块,配置用于响应于基于特征向量检测到至少一个用户对于第一数量的样本的评分中的不一致性,获取至少一个用户对于第二数量的样本的评分;以及生成模块,配置用于基于至少一个用户对于第一数量和第二数量的样本的评分,生成训练模型。
[0009] 在本发明的一个实施方式中,获取模块进一步包括:针对至少一个用户中的一个用户,提供模块,配置用于提供至少两个样本;第五获取模块,配置用于获取用户针对至少两个样本的原始评分;以及归一化模块,配置用于将原始评分进行归一化,获得用户针对至少两个样本的评分。
[0010] 在本发明的一个实施方式中,样本是图像数据。
[0011] 采用本发明所述的方法和装置,可以在尽可能少地改动现有自动评级系统架构的情况下,大大减少需要用户评级的样本的数量,例如,将生成训练模型时需要用户评级的样本数量降低至原来的数十分之一甚至更低(例如,从一万个样本降低至数百个样本);并且还可以检测并消除生成训练模型中的噪声,以更为快速准确的方式生成训练模型进而提高对全部样本进行评估的效率和准确性。

附图说明

[0012] 结合附图并参考以下详细说明,本发明各实施方式的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本发明的若干实施方式。在附图中:
[0013] 图1示意性示出了适于实现本发明实施方式的示例性计算系统的框图;
[0014] 图2示意性示出了根据一个解决方案的生成训练模型并基于该训练模型进行评级的示意图;
[0015] 图3示意性示出了根据本发明一个实施方式的生成训练模型并基于该训练模型进行评级的示意图;
[0016] 图4示意性示出了根据本发明一个实施方式的基于反馈来生成训练模型的方法的流程图;
[0017] 图5示意性示出了根据本发明一个实施方式的向用户提供样本并获取用户对于该样本的评分的示意图;
[0018] 图6示意性示出了根据本发明一个实施方式的生成训练模型的示意图;
[0019] 图7示意性示出了根据本发明一个实施方式的评分矩阵的数据结构的示意图;以及
[0020] 图8示意性示出了根据本发明一个实施方式的基于反馈来生成训练模型的装置的框图。

具体实施方式

[0021] 下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0022] 图1示出了适于用来实现本发明实施方式的示例性计算系统100的框图。如图1所示,计算机系统100可以包括:CPU(中央处理单元)101、RAM(随机存取存储器)102、ROM(只读存储器)103、系统总线104、硬盘控制器105、键盘控制器106、串行接口控制器107、并行接口控制器108、显示控制器109、硬盘110、键盘111、串行外部设备112、并行外部设备113和触摸屏显示器114。在这些设备中,与总线系统104耦合的有CPU 101、RAM 102、ROM 103、硬盘控制器105、键盘控制器106、串行控制器107、并行控制器108和显示控制器109。硬盘110与硬盘控制器105耦合,键盘111与键盘控制器106耦合,串行外设112与串行接口控制器107耦合,并行外设113与并行接口控制器108耦合,以及显示器114与显示控制器109耦合。应当理解,图1所述的结构框图仅仅是为了示例的目的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况增加或减少某些设备。
[0023] 所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施方式中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
[0024] 可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0025] 计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0026] 计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
[0027] 可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0028] 下面将参照本发明实施方式的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其他可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
[0029] 也可以把这些计算机程序指令存储在能使得计算机或其他可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品(manufacture)。
[0030] 也可以把计算机程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其他可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
[0031] 图2示意性示出了根据一个解决方案的生成训练模型并基于该训练模型进行评级的示意图200。在此解决方案中,数据库210中存储待评级样本,在如箭头A所示的提取步骤中,从待评级样本中选择(例如,随机选择)出一部分样本以形成样本集220来用作用户评级的对象。应当注意,一旦提取步骤完毕,则样本集220的数量和内容是固定不变的。样本集220将被提供至用户230进行评级(如箭头C所示)。评级结果用于生成训练模型240,继而在箭头F所示的评级步骤中,可以基于所建立的训练模型240评级数据库210中的全部待评级样本。应当注意,在如箭头C和F所示的评级过程含义不同,箭头C处所示的过程是由用户230人工评定样本集220内的样本的过程,而在箭头F处所示的过程是基于已经生成的训练模型
240,来自动对数据库210中的全部待评级样本进行评级的过程。
[0032] 在此方案中,样本集220在提取之后是不能改变的,因而无论用户230对样本集220中的某个或者某些样本的评分如何,用户230都需要针对样本集220中的全部采样进行评级才能建立训练模型240。此时样本集220的数量通常是巨大的(例如对于上百万的待评估样本,样本集通常需要包括上万个样本),此时用户可能会需要数天或者数十天才能完成评级;另外,样本集220中可能还会出现冗余样本(例如,相似程度极高的样本等),这些都对生成训练模型的效率具有不良影响。
[0033] 针对这些缺陷,本发明提出了基于反馈来生成训练模型的方法、装置和相关计算机程序产品。本发明的一个设计思想在于,考虑待评级样本中的相似性,并且向用户提供相似样本中最典型的样本用于评级。另外,本发明的另一设计思想在于,检测一个或者多个用户对于一个或者多个样本的评分中的不一致因素,在假设这些不一致因素是由于用户自身评级标准改变或者误操作等原因而导致的情况下,向该一个或者多个用户提供更多样本以进一步确认用户的真实评级结果。
[0034] 图3示意性示出了根据本发明一个实施方式的生成训练模型并基于该训练模型进行评级的示意图300。在此实施方式中,数据库210用于存储待评级样本,在此的提取步骤(如箭头A所示)是指提取待评级样本中具有代表性的样本,而并非现有技术中随机提取样本。所提取样本经过生成模块350后被提供至(如箭头B所示)用户230,继而用户230对所提取样本进行评级(如箭头C所示),并将评级结果输入至生成模块350用于确定评级结果的一致性。如果发现评级结果中存在不一致因素,则向数据库210指令(如箭头D所示):从数据库210中提取更多样本以便进一步确认用户的真实意图。在经过分别由箭头B和C所示的提供和评级步骤后,如果消除了评级结果中的不一致因素,则基于当前的评级结果生成(如箭头E所示)训练模型240。继而,可以使用该训练模型240来评级(如箭头F所示)数据库210中的样本。在图3中,如箭头C和F所示的评级过程类似于上文针对图2中所述的示例,在此不再赘述。
[0035] 应当注意,针对评级结果中的不一致因素,可以一次或者多次地指令从数据库210中提取更多样本,可以一次提取一个或者多个样本,并且所提取的样本可以是未被评级的样本,也可以是已经被评级的样本。在此实施方式中,可以向用户230多次提供相同的样本。
[0036] 应当注意,在本发明的上下文中以图像数据作为待评级样本的示例,来说明本发明的各个具体实施方式。本发明的各个实施方式可以适用于各种图像内容,例如,汽车图像、人脸图像、或者是可以基于训练模型来进行评级的任意图像内容。假设数据库中存储了众多汽车图像(人脸)的照片,并且期望通过分析至少一个用户对于不同汽车外观(人的相貌)的评分高低,来实现基于反馈来生成训练模型。
[0037] 图4示意性示出了根据本发明一个实施方式的基于反馈来生成训练模型的方法的流程图400。在此实施方式中提供了一种用于基于反馈来生成训练模型的方法,包括:计算多个样本中样本的特征向量;在至少一个轮次中,获取至少一个用户对于多个样本中的至少一个样本的评分,包括:获取至少一个用户对于第一数量的样本的评分;响应于基于特征向量检测到至少一个用户对于第一数量的样本的评分中的不一致性,获取至少一个用户对于第二数量的样本的评分;以及基于至少一个用户对于第一数量和第二数量的样本的评分,生成训练模型。
[0038] 首先,在步骤S402中,计算多个样本中样本的特征向量。针对不同类型的图像内容,可以定义一个或者多个标准并基于该标准来计算多个样本中每个样本的特征向量。例如,对于内容为汽车的图像,可以选择汽车的颜色、品牌、种类等来作为标准。目前,已经存在多种方法用于基于图像的内容来计算关于特定标准的特征向量。例如以汽车颜色为标准时,可以首先提取汽车主体区域的RGB颜色参数并基于该颜色参数来计算特征向量;当以品牌为标准时,可以提取例如车头处商标区域的图像,并基于对商标图像的分析计算特征向量,等等。本领域技术人员还可以基于具体需求来设计不同的算法,在此不再赘述。
[0039] 接着,获取至少一个用户对于所述多个样本中的至少一个样本的评分。应当注意,由于用户需要针对多个样本进行评级,因而获得评分的过程需要在多个轮次中执行,并且每个轮次中的步骤包括步骤S404-S406。
[0040] 在步骤S404中,获取至少一个用户对于第一数量的样本的评分。可以预定义第一数量的具体数值。在步骤S406中,响应于基于特征向量检测到至少一个用户对于第一数量的样本的评分中的不一致性,获取至少一个用户对于第二数量的样本的评分。本发明提供了一种基于反馈来生成训练模型的方法,反馈的一个基础在于及时获得用户当前已经评级得出的评分中的不一致性,并且通过提供更多样本的方式,来确认该不一致性是用户的真实评分或者是由于误操作等而引入的“噪声”。假设评分区间为0-10的整数,如果特定用户的评分历史显示他/她对黑色的汽车评分较高(例如,8-9分),然而在一个轮次的评级中对一辆黑色汽车的样本的评分相当低(例如,2分),此时则认为评分中存在不一致性,需要向该用户提供更多样本。
[0041] 可选地,在完成一个轮次的操作之后,在步骤S408中判断是否存在更多轮次。可以预先设定阈值数量,例如当达到100个轮次之后结束,或者在用户已经针对样本中足够数量的样本进行评级为条件而结束。
[0042] 继而,在步骤S410中,基于至少一个用户对于第一数量和第二数量的样本的评分,生成训练模型。应当注意,本发明的实施方式提出了一种在至少一个轮次中以递增方式逐步完善训练模型的方法。可以在已经确认了用户的真实评分并消除评分中的“噪声”的情况下,来基于至少一个用户对于第一数量和第二数量的样本的评分,生成训练模型;也可以在上文所述的步骤S404-S406之后,在尚未完全确认用户的真实评分并消除评分中的“噪声”的情况下,生成训练模型。在后一情况下,可以认为在每个轮次中生成的训练模型都是一个待完善的模型,并且后续轮次中的操作可以对该模型进行优化。
[0043] 在本发明的一个实施方式中,进一步包括:根据特征向量,将多个样本聚类为至少一个分组。将多个样本聚类为分组的目的在于确保用户评级时所针对的样本的内容是具有代表性的。例如,可以根据基于汽车颜色这一标准提取的特征向量来进行分组。例如,可以根据汽车颜色的RGB值将样本划分为8个分组,红色系、绿色系、蓝色系等,还可以在每个分组中根据颜色来更加细分。此时每个分组中的样本内容都是在颜色方面具有代表性的,即,可以代表一定颜色范围内的样本数据。
[0044] 另外,还可以结合一个或者多个其他标准,例如,根据种类将样本划分为轿车、越野车、卡车3个分组。将这3个分组与基于颜色的8个分组结合,则可以得出24个分组,例如:(红色系,轿车),(红色系,越野车)等等。
[0045] 在本发明的一个实施方式中,获取至少一个用户对于第一数量的样本的评分和获取至少一个用户对于第二数量的样本的评分中的至少一个包括:获取至少一个用户对于至少一个分组中的每个分组中的至少一个样本的评分。划分分组的目的在于使得每个分组中的至少一个代表性样本被评分,以便在建立训练模型时能够全面地考虑到待评级样本中的各种代表性因素。在此实施方式中,作为被评级对象的第一数量和/或第二数量的样本是来自于每个分组,并且覆盖了至少一个分组中的每个分组;然而,并不限定由谁来对每个分组中的至少一个样本进行评级,可以由同一用户或者不同用户来进行评级。
[0046] 在本发明的一个实施方式中,获取至少一个用户对于至少一个分组中的每个分组中的至少一个样本的评分包括:获取至少一个用户中的一个用户对于至少一个分组中的每个分组中的至少一个样本的评分。在此实施方式中,为了尽量提高准确性,可以向同一个用户提供每个分组中的至少一个样本,并获得该用户的评分;如果不能获得同一用户针对每个分组中的样本的评分,则可以向多个用户提供每个分组中的样本,并保证来自多个用户的评分覆盖每个分组。
[0047] 在本发明的一个实施方式中,获取至少一个用户对于第一数量的样本的评分和获取至少一个用户对于第二数量的样本的评分中的至少一个包括:针对至少一个用户中的一个用户,提供至少两个样本;获取用户针对至少两个样本的原始评分;以及将原始评分进行归一化,获得用户针对至少两个样本的评分。
[0048] 在此实施方式中,当获得用户对于样本(无论是第一数量的样本还是第二数量的样本)的评分时,可以以成对的方式向用户提供待评分的样本。按照传统方式中一次只提供一个样本进行评级时,可能会存在每次评级时缺乏基准并导致评级标准不一致的问题。通过以成对方式向用户提供样本,用户在评级时可以充分考虑对于两个样本的喜好程度,并且从用户针对两个样本的原始评分中,可以提取两个原始评分的差值信息用作下一步计算的基础。应当注意,在本发明的一个实施方式中,并不特别限定一次仅提供两个样本,本领域技术人员可以根据具体情况来一次提供三个、甚至四个样本。
[0049] 这里的原始评分是用户针对两个样本所打出的分数,例如上文所述的采用0-10的整数区间来表示原始评分,本领域技术人员还可以采用其他区间内的整数或者实数来表示原始评分。例如,可以以0分表示最不喜欢的样本,而以10来表示喜欢的样本。图5示意性示出了根据本发明一个实施方式的向用户提供样本并获取用户对于该样本的评分的示意图500。例如,可以一次向用户提供两个样本510和520,并且获得用户针对这两个样本的评分
512和522(分别为9分和6分)。
[0050] 接着,可以对原始评分(9分和6分)进行归一化,获得至少一个用户针对至少两个样本的评分。这里的归一化后的评分是全局评分,然而应当注意,归一化后的两个全局评分之间的差不一定会等于两个原始评分之间的差。
[0051] 假设Si是针对第i轮次评级的原始评分,Ti是针对第i轮次的归一化后的全局评分,在对第i+1轮次中获得的原始评分进行归一化期间,需要将第i+1轮次的原始评分Si+1带入公式进行递增的归一化。换言之,利用前i轮次的原始评分S1,...,Si和全局评分T1,...,Ti的值作为初始值,第i+1轮次中进行归一化。
[0052] 假设存在N个样本,在M个轮次中每次向用户提供2个样本(由于允许样本出现在不同配对,所以一般2M>=N),将用户对每个样本的原始评分归一化后所得的全局评分的集合为T={T1,T2,...Ti...TN},此时需要求取每张样本对应的全局评分{Ti}。对N对样本中的第i对(即,第i个轮次),设 是用户相对喜欢的样本的评分, 是用户相对不喜欢的样本的评分,可以由对下式进行最小化来求得针对各个样本的全局评分T={T1,T2,...Ti...TN},其中λ是一个固定的参数。
[0053]
[0054] 在上式中,第一项是使得两个样本归一化后的评分的差和局部比较的相对分差趋近,第二项是防止归一化后的评分出现特别大的情况,因而可以保证归一化的评分比较合理。基于不同情况,本领域技术人员还可以设计其他的公式进行归一化,尽管本发明中涉及归一化操作,然而归一化操作本身并不是本发明的重点,因而不再赘述。本领域技术人员可以参考现有技术中的各种算法来实现。
[0055] 在本发明的一个实施方式中,响应于基于特征向量检测到至少一个用户对于第一数量的样本的评分中的不一致性,获取至少一个用户对于第二数量的样本的评分包括:如果至少一个用户中的第一用户对于相似样本的评分差异超过第一阈值,则向第一用户提供更多相似样本以获取第一用户针对更多相似样本的评分。
[0056] 在此实施方式中,相似样本可以采用基于特征向量计算的距离来度量。该距离可以是两个样本之间的距离数值。具体而言,当以颜色作为一个标准,可以得到红色汽车和黑色汽车的距离大于两辆黑色汽车之间的距离;如果以种类为标准,轿车样本和卡车样本之间的距离大于两个卡车样本之间的距离。
[0057] 在此实施方式中,如果第一用户对于相似样本(例如,红色系、轿车)的评分差异超过特定阈值(例如,1分),则可以向第一用户提供更多相似样本(同样是,红色系、轿车)以获取第一用户针对更多相似样本的评分。同一用户针对相似样本的评分差异超过特定阈值的一个原因可能在于,该用户在评分期间出现了误操作,此时通过向该用户提供更多相似样本时,由于用户不太可能一次又一次地出现误操作,因而可以排除用户评分中的“噪声”。另一原因可能在于用户的评分表示了用户的真实想法,此时提供更多相似样本:例如可以缩小样本之间相似性的粒度(例如,将汽车颜色划分为更细的分组),或者还可以提供具有其他特征的相似样本,例如考虑汽车的品牌,以便捕捉用户的更多偏好。
[0058] 应当注意,在此实施方式中的“评分差异”是指归一化后的全局评分之间的差异。
[0059] 在本发明的一个实施方式中,响应于基于特征向量检测到至少一个用户对于第一数量的样本的评分中的不一致性,获取至少一个用户对于第二数量的样本的评分包括:如果相似用户针对多个样本中的第一样本的评分差异超过第二阈值,则向相似用户分别再次提供第一样本,以获取相似用户针对第一样本的评分。
[0060] 用户之间的相似性例如可以以两个用户对多个样本的评分所组成向量的欧式距离来度量。具体而言,可以先以上文所述的方式对全部样本按内容进行聚类,例如获得24个分组;然后由用户I分别对属于这24个分组的例如100个样本进行打分,可以为每个分组计算一个平均评分,24个平均评分可以形成向量I。类似地,从用户II也获得类似的向量II,然后计算向量I和II的欧式距离可以得到用户的相似性。距离越小则表示两个用户越相似,本领域技术人员可以自定义相似用户的阈值。
[0061] 假设用户I和用户II是相似用户,如果用户I和用户II针对特定样本的评分差异超过特定阈值(例如,2分),则可以分别向用户I和用户II再次提供该样本,以确认各用户的评分中是否存在因误操作导致的“噪声”。
[0062] 在本发明的一个实施方式中,响应于基于特征向量检测到至少一个用户对于第一数量的样本的评分中的不一致性,获取至少一个用户对于第二数量的样本的评分包括:如果至少一个用户中的一个用户对两个样本的原始评分之间的差异与被归一化后的评分之间的差异大于第三阈值,则利用多个样本中的另一样本替换两个样本中的一个样本。
[0063] 采用上文所示的公式进行归一化处理,由于转换本身数学上的困难(归一化是一个优化的过程,不一定能达到理想优化目标),可能会出现归一化后的全局评分的差异(简称为全局差异)不同于原始评分之间的差异(简称为原始差异)的情况。当全局差异与原始差异过于悬殊并超过预定阈值(比如原始差异为5,而归一化后全局差异为1,并且阈值为3),则表示归一化后全局评分已经严重偏离了用户的原始意图。
[0064] 为解决这一问题,可以简单地丢弃原来的样本1和样本2,或者还可以采用另一个新的样本3替换原来的样本(样本1和样本2)中的一个样本(例如,样本1),并将样本3和2的评分进行比较,还可以将样本3与样本1进行比较。采用这一方法,可以进一步剔除在生成训练模型期间可能出现的错误进而提高准确性。应当注意,阈值的高低表示对于不一致性的容忍程度。上文中的第一阈值、第二阈值和第三阈值可以具有相同或者不同的设置,本领域技术人员可以根据具体需要进行设置。
[0065] 在本发明的一个实施方式中,基于至少一个用户对于第一数量和第二数量的样本的评分,生成训练模型包括:利用至少一个用户对于第一数量和第二数量的样本的评分填充评分矩阵;以及对评分矩阵进行协同滤波(collaborative filtering)以生成训练模型。在下文中参照附图6来详述生成训练模型的过程。
[0066] 图6示意性示出了根据本发明一个实施方式的、在每个轮次中生成训练模型的示意图600。如箭头A所示,首先将原始评分610进行归一化,以便填充评分矩阵620;继而如箭头B所示,将评分矩阵620进行协同滤波处理以便生成训练模型630。应当注意,在此实施方式中用于填充评分矩阵的评分,是基于反馈的校准后的全局评分,这里的评分是已经考虑到先前轮次中评分的不一致性、并剔除了可能由于用户误操作引起的“噪声”的评分。
[0067] 本领域技术人员应当理解,协同滤波是目前已经较为成熟的一种算法,协同滤波具有两方面的含义,广义而言,是指使用协同技术对信息或模式进行滤波的处理;狭义而言,是指通过采集来自多个用户的偏好或品位信息而自动预测特定用户的兴趣的方法。在本发明的实施方式中,采用了协同滤波技术的侠义含义,基于预测其他用户的评分来生成训练模型。关于协同滤波技术以及如何生成训练模型的具体信息,本领域技术人员可以参考http://en.wikipedia.org/wiki/Collaborative_filtering,以及Beyond Recommender Systems(Helping People Help Each Other,page 12,2001)等技术文档。
[0068] 图7示意性示出了根据本发明一个实施方式的评分矩阵的数据结构的示意图700。图7中的矩阵的每一行表示一个用户,每一列表示一个样本,而行和列的交叉点表示用户x对于样本y的评分。本领域技术人员还可以交换行和列的位置,或者还可以采用一维矩阵的方式或者其他数据结构来表示。
[0069] 在下文中,将具体示出基于评分矩阵生成训练模型的过程。如下文表1示出了根据至少一个用户的评分填充的半满的评分矩阵的一个示例:
[0070] 表1
[0071]
[0072]
[0073] 假设根据待评级样本的内容而提取各个样本的特征向量,并且基于特征向量而将待评级样本聚类为8个分组,则分别在每个分组中选取一个代表性样本(样本1-8),并获取多个用户(用户1-4)中至少一个用户对于该代表性样本的评分。以此方式,可以保证训练模型能够覆盖待评级样本中的不同类型。
[0074] 表2示意性示出了基于协同滤波处理后填充的评分模型,表1中的空白单元已经被填满。此时,表2中所示的填充后的评分矩阵即可作为下一步评级操作的训练模型。
[0075] 表2
[0076]  样本1 样本2 样本3 样本4 样本5 样本6 样本7 样本8
用户1 6 5.2 6 6.3 8.1 7 7.1 9
用户2 4.3 5 6.3 7 8.6 8.3 8 9.2
用户3 4 6.1 5 6.0 6.7 6.6 7 8.5
用户4 4.8 3.8 4.3 5 6 6.4 7.2 8.0
[0077] 下文表3和表4示意性示出了根据至少一个用户的评分填充的半满的评分矩阵的另一示例。此时尽管待评级样本被聚类为8个分组,然而仅仅从用户获取了针对其中7个分组中的代表性样本(样本1-7)的评分(如表3所示,“样本8”一列中为空白),则在后续使用协同滤波处理时将会生成不均匀的评分矩阵(如表4所示,“样本8”一列中评分均为“0”)。
[0078] 表3
[0079]  样本1 样本2 样本3 样本4 样本5 样本6 样本7 样本8
用户1 6   6   4 7    
用户2   5 7 7   3    
用户3 4 8 5   1   7  
用户4 7 3 8   4   7  
[0080] 表4
[0081]  样本1 样本2 样本3 样本4 样本5 样本6 样本7 样本8
用户1 6 4.2 6 6.3 4 7 4.1 0
用户2 5.3 5 7 7 7.5 3 5.1 0
用户3 4 8 5 2.4 1 6.8 7 0
用户4 7 3 8 5.2 4 5.4 7 0
[0082] 从表1-4所示示例的对比可以发现,尽管在表3所示的示例中使用了较多的用户评分(18个),然而在表4中填充后的评分矩阵并不十分理想。在表1所示的示例中仅使用了12个用户评分,然而由于这些评分较为全面覆盖了8个代表性样本,并且在矩阵中较为均匀地分布,因而获得了较为理想的训练模型。
[0083] 在本发明的一个实施方式中,样本是图像数据。在本发明的实施方式中,并不具体限定图像数据的内容,而是可以应用于能够基于图像内容提取特征向量的任何图像数据。
[0084] 图8示意性示出了根据本发明一个实施方式的基于反馈来生成训练模型的装置的框图。在此实施方式中,提供了一种用于基于反馈来生成训练模型的装置800,包括:计算模块810,配置用于计算多个样本中样本的特征向量;获取模块820,配置用于在至少一个轮次中,获取至少一个用户对于多个样本中的至少一个样本的评分,包括:第一获取模块,配置用于获取至少一个用户对于第一数量的样本的评分;第二获取模块,配置用于响应于基于特征向量检测到至少一个用户对于第一数量的样本的评分中的不一致性,获取至少一个用户对于第二数量的样本的评分;以及生成模块830,配置用于基于至少一个用户对于第一数量和第二数量的样本的评分,生成训练模型。
[0085] 在本发明的一个实施方式中,进一步包括:聚类模块,配置用于根据特征向量,将多个样本聚类为至少一个分组。
[0086] 在本发明的一个实施方式中,第一获取模块和第二获取模块包括:第三获取模块,配置用于获取至少一个用户对于至少一个分组中的每个分组中的至少一个样本的评分。
[0087] 在本发明的一个实施方式中,第三获取模块包括:第四获取模块,配置用于获取至少一个用户中的一个用户对于至少一个分组中的每个分组中的至少一个样本的评分。
[0088] 在本发明的一个实施方式中,第一获取模块和第二获取模块进一步包括:提供模块,配置用于针对至少一个用户中的一个用户提供至少两个样本;第五获取模块,配置用于获取用户针对至少两个样本的原始评分;以及归一化模块,配置用于将原始评分进行归一化,获得用户针对至少两个样本的评分。
[0089] 在本发明的一个实施方式中,第二获取模块包括:第六获取模块,配置用于如果至少一个用户中的第一用户对于相似样本的评分差异超过第一阈值,则向第一用户提供更多相似样本以获取第一用户针对更多相似样本的评分。
[0090] 在本发明的一个实施方式中,第二获取模块进一步包括:第七获取模块,配置用于如果相似用户针对多个样本中的第一样本的评分差异超过第二阈值,则向相似用户分别再次提供第一样本,以获取相似用户针对第一样本的评分。
[0091] 在本发明的一个实施方式中,第二获取模块进一步包括:第八获取模块,配置用于如果至少一个用户中的一个用户对两个样本的原始评分之间的差异与被归一化后的评分之间的差异大于第三阈值,则利用多个样本中的另一样本替换两个样本中的一个样本。
[0092] 在本发明的一个实施方式中,生成模块包括:填充模块,配置用于利用至少一个用户对于第一数量和第二数量的样本的评分填充评分矩阵;以及第二生成模块,配置用于对评分矩阵进行协同滤波处理以生成训练模型。
[0093] 在本发明的一个实施方式中,样本是图像数据。
[0094] 附图中的流程图和框图显示了根据本发明的多个实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0095] 以上已经描述了本发明的各实施方式,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施方式。在不偏离所说明的各实施方式的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施方式的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施方式。