算法测试方法、装置及服务器与流程

文档序号:13534477阅读:299来源:国知局
算法测试方法、装置及服务器与流程

本发明涉及数据挖掘领域,具体而言,本发明涉及一种算法测试方法、装置及服务器。



背景技术:

随着互联网技术的发展,人们获取信息的渠道越来越多,各类平台为用户提供了包括文章、图集、视频、购物链接、广告等多媒体信息,对于平台而言,如何向用户推送用户感兴趣的多媒体信息是平台首要面对的问题,目前,向用户推送的多媒体信息往往是由算法所决定,而对于算法能否达到向用户推送其感兴趣的内容是平台需要关注的问题,算法的测试能最直接算法是否能达到所需的标准,目前的算法测试大多只关注算法本身的功能测试和性能测试而没有结合到具体的业务场景中,如何在业务场景中对算法进行测试进而由算法改进业务场景是目前亟需解决的问题。



技术实现要素:

本发明的首要目的在于提供一种算法测试方法和装置,用于将算法测试与业务场景产生的数据结合,由所产生的数据得以最终统计出算法的正确率,再通过比较算法的正确率完成算法的测试进而可根据算法测试的结果为用户提供其更加感兴趣的多媒体信息。

本发明的另一目的在于提供一种实现上述算法测试方法的服务器。

为了实现该目的,本发明采用如下技术方案:

第一方面,本发明提供一种算法测试方法,包括以下步骤:

添加至少一个新算法至算法池,所述算法池中包括至少一个旧算法;

向第一分区用户推送基于算法池中的新算法和旧算法分别确定的多媒体信息;

根据第一分区用户对所述多媒体信息的行为数据统计第一分区用户对所述多媒体信息的接受度;

根据所述接受度比较新算法和旧算法的正确率以完成对算法的测试。

进一步的,所述新算法包括第一新算法和第二新算法,所述添加至少一个新算法至算法池之后,还包括:

向第一分区用户推送包括基于第一新算法确定的多媒体信息;

向第二分区用户推送包括基于第二新算法确定的多媒体信息;

根据用户行为数据统计第一分区用户及第二分区用户对所述多媒体信息的接受度;

根据所述接受度比较第一新算法和第二新算法的正确率以完成对新算法的测试。

进一步的,所述根据所述接受度比较新算法和旧算法的正确率以完成对算法的测试之后,还包括:

当新算法的正确率高于预设值时,向第二分区用户推送由所述新算法确定的多媒体信息,以测试新算法在第二分区用户中的正确率。

进一步的,所述第一分区用户与第二分区用户根据用户画像划分,所述向第一分区用户推送基于算法池中的新算法和旧算法分别确定的多媒体信息,包括:

向第一分区用户推送基于算法池中的新算法与第一分区用户画像及旧算法与第一分区用户画像分别确定的多媒体信息;

所述向第二分区用户推送由所述新算法确定的多媒体信息,包括:

向第二分区用户推送由所述新算法与第二分区用户画像确定的多媒体信息。

优选的,所述向第一分区用户推送基于算法池中的新算法和旧算法分别确定的多媒体信息包括:

向第一分区用户推送基于新算法确定的第一预设数量的第一多媒体信息及基于旧算法确定的第二预设数量的第二多媒体信息。

进一步的,所述根据所述接受度比较新算法和旧算法的正确率以完成对算法的测试之后,还包括:

当新算法的正确率高于预设值时,在下一次接收到客户端的请求指令时,增加基于新算法确定的第一多媒体信息的第一预设数量。

进一步的,所述根据所述接受度比较新算法和旧算法的正确率以完成对算法的测试之后,还包括:

当新算法的正确率高于旧算法的正确率时,在下一次接收到客户端的请求指令时,增加基于新算法确定的第一多媒体信息的第一预设数量,并减少基于旧算法确定的第二多媒体信息的第二预设数量。

进一步的,所述根据所述接受度比较新算法和旧算法的正确率以完成对算法的测试之后,还包括:

当新算法的正确率低于预设值时,删除算法池中的对应的新算法。

第二方面,本发明提供一种算法测试装置,包括:

算法池模块:用于添加至少一个新算法至算法池,所述算法池中包括至少一个旧算法;

推送模块:用于向第一分区用户推送基于算法池中的新算法和旧算法分别确定的多媒体信息;

统计模块:用于根据第一分区用户对所述多媒体信息的行为数据统计第一分区用户对所述多媒体信息的接受度;

比较模块:用于根据所述接受度比较新算法和旧算法的正确率以完成对算法的测试。

第三方面,本发明提供一种服务器,包括:

一个或多个处理器;

存储器;

一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于:执行第一方面所述的算法测试方法。

与现有技术相比,本发明具备如下优点:

本发明通过向算法池中添加新算法,再向用户推送由新算法确定的多媒体信息,然后根据用户的行为数据统计用户对所推送的多媒体信息的接受度,进而确定新算法的正确率后与正确率预设值进行比较或与旧算法正确率的进行比较,完成算法的测试,将算法测试与业务场景产生的数据结合,由所产生的数据得以最终统计出算法的正确率,再通过比较算法的正确率完成算法的测试,解决现有技术中只关注算法本身的功能及性能测试的问题,进而可根据算法测试的结果为用户提供其更加感兴趣的多媒体信息。

同时,本发明将新算法依次在不同分区用户中进行测试,用户根据用户画像进行分区,当在第一分区用户测试下,新算法的正确率高于预设值时,将新算法在第二分区用户下进行测试,以此得到新算法在不同分区用户下的正确率,为不同分区用户筛选不同的算法以推送相应的多媒体信息。

进一步的,当新算法的正确率高于旧算法时,适当增加新算法确定的多媒体信息而减少旧算法确定的多媒体信息,为用户推送其更感兴趣的多媒体信息。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明算法测试方法的一实施例流程示意图;

图2为本发明算法测试装置的一实施例示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

如图1所示,本发明的一种实施例中提供一种算法测试方法,包括如下步骤:

s100:添加至少一个新算法至算法池,所述算法池中包括至少一个旧算法。

在大数据时代,呈现给用户的内容往往是基于不同算法而确定的,本实施例的功能由程序、进程实现,程序实现最基本的从输入到输出的过程,从输入到输出的过程需要经过算法的筛选,在本实施例中,假定程序中预置有算法池,所有算法存在于算法池中,算法池为一个虚拟的概念,相当于程序代码中的函数/类,本实施例目的在于对新算法进行测试,测试新算法是否能达到要求,首先向算法池中添加至少一个新算法,而原先算法池中已存在的算法定义为旧算法,原先算法池中包括了至少一个旧算法,添加了新算法后,算法池中包括了至少一个新算法及至少一个旧算法。

s200:向第一分区用户推送基于算法池中的新算法和旧算法分别确定的多媒体信息。

在用户量较大的平台上测试新算法时,将该新算法应用于已分区的用户中进行测试,例如将平台上所有用户分为第一、第二到第十总共10个分区,在本实施例中,以第一分区用户来测试新算法,可以理解的是,本实施例中第一分区用户亦可以指平台上的所有用户,在所有用户中测试新算法。本实施例中,基于算法确定多媒体信息,所述多媒体信息包括文章、图片、视频、广告、活动内容等形式,具体的,在算法池中添加新算法后,当第一分区用户的客户端请求下发多媒体信息时,向第一分区用户推送基于算法池中的新算法和旧算法分别确定的多媒体信息。例如算法池中包括了新算法s1,旧算法s2,s3,本实施例应用于视频推送领域,推送的多媒体信息则为视频,基于新算法确定了视频v1、v2,基于旧算法s2确定了视频v3、v4、v5,基于旧算法s3确定了视频v6、v7、v8。

s300:根据第一分区用户对所述多媒体信息的行为数据统计第一分区用户对所述多媒体信息的接受度。

在向用户推送多媒体信息后,用户会对所述多媒体信息进行浏览、观看、转发、评论、收藏等操作,特定的操作产生特定的行为数据,本实施例中根据第一分区用户对所推送的多媒体的行为数据统计第一分区用户对每一多媒体信息的接收度,具体的,特定的操作产生特定的行为数据,而特定的行为数据在接受度的统计中对应着相应的权值,例如浏览(只浏览不观看)操作对应0,观看操作对应0.5-1,观看操作中还可以细分,例如推送的多媒体信息为视频,观看少于一半视频时长为0.5,观看多于一半视频时长为0.6,观看完整视频时长为0.7,一个视频观看2次为0.8,一个视频观看3次以上为1,评论操作对应的权值为1.2,转发、收藏操作对应的权值为1.5,然后统计第一分区用户的所有行为数据即得到第一分区每一个用户对每一个推送的多媒体信息的接受度。

s400:根据所述接受度比较新算法和旧算法的正确率以完成对算法的测试。

在得到第一分区的每一个用户对每一个多媒体信息的接受度后,根据第一分区全部用户对每一个多媒体信息的接受度确定新算法及旧算法的正确率,然后比较新算法和旧算法的正确率完成对新算法的测试。一种实施方式中,以第一分区用户对每一个多媒体信息的接受度的平均值作为所述确定该多媒体信息的算法的正确率,以此计算新算法及旧算法的正确率,然后根据新算法及旧算法的正确率进行比较完成对算法的测试,比较包括算法自身的正确率与预置值比较、两两算法的正确率比较、新旧算法的正确率比较,不同的比较维度可以确定该算法是否适用。

本实施例将算法测试与业务场景产生的数据结合,在业务场景下对算法进行测试,由所产生的数据得以最终统计出算法的正确率,再通过比较算法的正确率完成算法的测试,解决现有技术中只关注算法本身的功能及性能测试的问题,进而可根据算法测试的结果为用户提供其更加感兴趣的多媒体信息。

本发明的实施例中,所述多媒体信息包括基于新算法确定的第一多媒体信息及基于旧算法确定的第二多媒体信息;所述行为数据包括第一分区用户对第一多媒体信息的行为数据及对第二多媒体信息的行为数据。

在本发明实施例中,不同的算法所确定的多媒体信息各不相同,即推送给第一分区用户的多媒体信息中不存在相同的多媒体信息,例如基于旧算法确定的第二多媒体信息中,旧算法为“热度算法”,则确定的第二多媒体信息为当前平台上热度值较高的多媒体信息,而基于新算法确定的第一多媒体信息中,新算法为“时间排序算法”,则确定的第一多媒体信息为当前平台上新增的多媒体信息;相应的,所述行为数据则包括第一分区用户对第一多媒体信息的行为数据,用于统计第一分区用户对第一多媒体信息的接受度以计算新算法的正确率,及对第二多媒体信息的行为数据,用于统计第一分区用户对第二多媒体信息的接受度以计算旧算法的正确率。

本发明的一种实施例中,当需要同时测试2个以上的新算法时,所述新算法包括第一新算法和第二新算法,在将新算法添加至算法池后,执行如下步骤:

向第一分区用户推送包括基于第一新算法确定的多媒体信息;

向第二分区用户推送包括基于第二新算法确定的多媒体信息;

根据用户行为数据统计第一分区用户及第二分区用户对所述多媒体信息的接受度;

根据所述接受度比较第一新算法和第二新算法的正确率以完成对新算法的测试。

具体的,在测试第一新算法a及第二新算法b时,将新算法a置于第一分区用户中测试,将新算法b置于第二分区用户中测试,然后第一分区用户推送基于新算法a及旧算法确定的多媒体信息,向第二用户推送基于新算法b及旧算法确定的多媒体信息,然后获取第一分区用户对新算法a确定的多媒体信息的行为数据,统计第一分区用户对该多媒体信息的接受度,同时获取第二分区用户对新算法b确定的多媒体信息的行为数据,统计第二分区用户对该多媒体信息的接受度,然后通过所述接受度计算新算法a及新算法b的正确率,再比较新算法a及新算法b的正确率,判断新算法a及新算法b孰优孰劣完成对新算法的测试。本领域技术人员可以理解,当需要同时测试新算法a、b、c时,根据本实施例的方式将新算法a、b、c分别置于第一、第二、第三分区用户中进行测试。

在一种实施方式中,所述用户根据用户画像进行分区;在另一种实施方式中,所述用户根据用户id进行分区,例如用户id的最后一位为数字0-9,则根据用户id的最后一位将用户分为10个分区,或用户id的最后两位为数字0-99,则根据用户id的最后一位将用户分为100个分区。在分区用户中测试新算法的效果,避免若新算法的效果不理想而影响多媒体聚合平台所有用户的观看体验,进而影响多媒体聚合平台的口碑的问题。

本发明的一种实施例中,在步骤s400之后,还包括:

当新算法的正确率高于预设值时,向第二分区用户推送由所述新算法确定的多媒体信息,以测试新算法在第二分区用户中的正确率。

本实施例中,在得到新算法及旧算法的正确率后,将新算法的正确率与预设值进行比较,当新算法的正确率高于预设值时,认为该新算法在第一分区用户中的“表现合格”,即第一分区用户对由该新算法确定的多媒体信息的接受度较良好;而平台上存在大量用户,对于第一分区用户而言新算法表现合格,还需测试新算法在第二分区用户的表现是否合格,同样的,向第二分区用户推送由所述新算法确定的多媒体信息,可以知道的是,在向第二分区用户推送的所述多媒体信息同样包括由旧算法确定的多媒体信息,然后获取第二分区用户对所述多媒体信息的行为数据,统计第二分区用户对所述多媒体信息的接受度,计算新算法的正确率,以测试新算法在第二分区用户下的正确率。

进一步的,上述的实施例中,所述第一分区用户与第二分区用户根据用户画像划分,所述向第一分区用户推送基于算法池中的新算法和旧算法分别确定的多媒体信息,包括:

向第一分区用户推送基于算法池中的新算法与第一分区用户画像及旧算法与第一分区用户画像分别确定的多媒体信息;

所述向第二分区用户推送由所述新算法确定的多媒体信息,包括:

向第二分区用户推送由所述新算法与第二分区用户画像确定的多媒体信息。

用户画像是建立在一系列真实数据(marketingdata,usabilitydata)之上的用户模型,是根据用户社会属性、生活习惯和消费行为等信息而抽象出的一个标签化的用户模型,根据用户的目标、行为和观点的差异,将用户分为不同的类型,每种类型中抽取出典型特征作为用户的标签。用户画像对于定向推送信息而言有着至关重要的作用,本实施例中,向用户推送的多媒体信息由用户画像及算法而确定,例如第一分区用户的用户画像标签有“学生、数码”,第二分区用户的用户画像标签有“白领、金融、理财”,当向用户推送多媒体信息时,新算法为“时间排序算法”,向第一分区用户推送的第一多媒体信息为当前平台上新增的有关数码类的多媒体信息,旧算法为“热度算法”,向第一分区用户推送的第二多媒体信息为当前平台上热度值较高的有关数码类的多媒体信息,向第二分区用户推送的多媒体信息为当前平台上新增的有关金融、理财的多媒体信息。根据用户画像及算法确定多媒体信息,向用户推送其更感兴趣的多媒体信息,使得计算出的算法的正确率更具有价值。

本发明的一种实施例中,所述步骤s200包括:

向第一分区用户推送基于新算法确定的第一预设数量的第一多媒体信息及基于旧算法确定的第二预设数量的第二多媒体信息。

在本实施例中,每一次向用户推送的多媒体信息有着固定的数量,在对新算法的测试中,由于不可预知新算法是否能准确地推送用户喜欢的多媒体信息,故一般推送由新算法确定的多媒体信息的数量不会超过旧算法确定的多媒体信息的数量,本实施例中向第一分区用户推送基于新算法确定的第一预设数量的第一多媒体信息及基于旧算法确定的第二预设数量的第二多媒体信息,第一多媒体的数量要少于第二多媒体信息的数量。例如算法池中包括了新算法s1,旧算法s2,s3,s4,基于新算法确定了多媒体信息v1、v2,基于旧算法s2确定了多媒体信息v3、v4,基于旧算法s3确定了多媒体信息v5、v6、v7、v8,基于旧算法s4确定了多媒体信息v9、v10、v11。

进一步的,本发明的一种实施例中,在步骤s400之后,还包括:

当新算法的正确率高于预设值时,在下一次接收到客户端的请求指令时,增加基于新算法确定的第一多媒体信息的第一预设数量。

在计算得到新算法的正确率后,将新算法的正确率与预设值进行比较,当新算法的正确率高于预设值时,认为该新算法的“表现良好”,进而在在下一次接收到客户端的请求指令时,此时可以扩大向用户推送的多媒体信息的数量,增加基于新算法确定的第一多媒体信息的第一预设数量。例如将原本基于新算法s1确定的2个第一多媒体信息增加至3个第一多媒体信息,然后再通过获取用户行为数据,统计出用户对多媒体信息的接受度,继而再得出各算法的正确率,再进行算法正确率的比较,不断优化算法确定的多媒体信息的数量,更好地向用户推送其喜欢的多媒体信息。

本发明一种实施例中,步骤s400之后,还包括:

当新算法的正确率高于旧算法的正确率时,在下一次接收到客户端的请求指令时,增加基于新算法确定的第一多媒体信息的第一预设数量,并减少基于旧算法确定的第二多媒体信息的第二预设数量。

在计算得到新算法及旧算法的正确率后,将新算法的正确率与计算法的正确率进行比较,当新算法的正确率高于旧算法的正确率时,认为该新算法的表现优于旧算法,进而在在下一次接收到客户端的请求指令时,此时向用户推送的多媒体信息的数量固定不变,增加基于新算法确定的第一多媒体信息的第一预设数量,并减少基于旧算法确定的第二多媒体信息的第二预设数量。例如将原本基于新算法s1确定的2个第一多媒体信息增加至3个第一多媒体信息,将原本基于旧算法s4确定了3个第二多媒体信息减少为2个第二多媒体信息,然后再通过获取用户行为数据,统计出用户对多媒体信息的接受度,继而再得出各算法的正确率,再进行算法正确率的比较,不断优化算法确定的多媒体信息的数量,更好地向用户推送其喜欢的多媒体信息。

本发明一种实施例中,步骤s400之后,还包括:

当新算法的正确率低于预设值时,删除算法池中的对应的新算法。

在计算得到新算法的正确率后,将新算法的正确率与预设值进行比较,当新算法的正确率低于预设值时,认为该新算法的“表现不良”,无法为用户推送用户喜欢的多媒体信息,此时将新算法从算法池中删除。在另一种实施方式中,如果新算法在第一分区用户的测试中,正确率低于预设值时,此时不再向第一分区用户推送基于新算法确定的多媒体信息,而将新算法应用于向第二分区用户推送其确定的多媒体信息,测试在第二分区用户下该新算法的正确率是否低于预设值,如果在若干个分区用户的测试中,新算法的正确率一直低于预设值,此时才将新算法完全从算法池中删除。

如图2所示,本发明的一种实施例提供一种潜力主播用户挖掘装置,包括:

算法池模块100:用于添加至少一个新算法至算法池,所述算法池中包括至少一个旧算法。

算法池模块100首先向算法池中添加至少一个新算法,一般地,每一次只对一个新算法进行测试,故优选向算法池中添加一个新算法,而原先算法池中已存在的算法定义为旧算法,原先算法池中包括了至少一个旧算法,添加了新算法后,算法池中包括了至少一个新算法及至少一个旧算法。

推送模块200:用于向第一分区用户推送基于算法池中的新算法和旧算法分别确定的多媒体信息。

本实施例中,基于算法确定多媒体信息,所述多媒体信息包括文章、图片、视频、广告、活动内容等形式,具体的,在算法池中添加新算法后,当第一分区用户的客户端请求下发多媒体信息时,推送模块200向第一分区用户推送基于算法池中的新算法和旧算法分别确定的多媒体信息

统计模块300:用于根据第一分区用户对所述多媒体信息的行为数据统计第一分区用户对所述多媒体信息的接受度。

在推送模块200向用户推送多媒体信息后,用户会对所述多媒体信息进行浏览、观看、转发、评论、收藏等操作,特定的操作产生特定的行为数据,本实施例中统计模块300根据第一分区用户对所推送的多媒体的行为数据统计第一分区用户对每一多媒体信息的接收度,具体的,特定的操作产生特定的行为数据,而特定的行为数据在接受度的统计中对应着相应的权值,例如浏览(只浏览不观看)操作对应0,观看操作对应0.5-1,观看操作中还可以细分,例如推送的多媒体信息为视频,观看少于一半视频时长为0.5,观看多于一半视频时长为0.6,观看完整视频时长为0.7,一个视频观看2次为0.8,一个视频观看3次以上为1,评论操作对应的权值为1.2,转发、收藏操作对应的权值为1.5,然后统计模块300统计第一分区用户的所有行为数据即得到第一分区每一个用户对每一个推送的多媒体信息的接受度。

比较模块400:用于根据所述接受度比较新算法和旧算法的正确率以完成对算法的测试。

统计模块300在得到第一分区的每一个用户对每一个多媒体信息的接受度后,比较模块400根据第一分区全部用户对每一个多媒体信息的接受度确定新算法及旧算法的正确率,然后比较新算法和旧算法的正确率完成对新算法的测试。一种实施方式中,比较模块400以第一分区用户对每一个多媒体信息的接受度的平均值作为所述确定该多媒体信息的算法的正确率,以此计算新算法及旧算法的正确率,然后根据新算法及旧算法的正确率进行比较完成对算法的测试,比较包括算法自身的正确率与预置值比较、两两算法的正确率比较、新旧算法的正确率比较,不同的比较维度可以确定该算法是否适用。

另外,本发明的一实施例还提供一种服务器,该服务器可以理解为算法测试时所使用的服务器,其包括一个或多个处理器;存储器;一个或多个应用程序;所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行上述实施例的方法的步骤。

综上,本发明提供的一种算法测试方法、装置及服务器,用于将算法测试与业务场景产生的数据结合,由所产生的数据得以最终统计出算法的正确率,再通过比较算法的正确率完成算法的测试,解决现有技术中只关注算法本身的功能及性能测试的问题,进而可根据算法测试的结果为用户提供其更加感兴趣的多媒体信息。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1