一种推荐算法的测试方法和广告推荐系统与流程

文档序号:30908110发布日期:2022-07-27 01:51阅读:156来源:国知局
一种推荐算法的测试方法和广告推荐系统与流程

1.本技术涉及数据处理领域,具体涉及一种推荐算法的测试方法和广告推荐系统,本技术同时还涉及一种推荐算法的测试装置、电子设备及计算机存储介质。


背景技术:

2.随着互联网技术的发展,网络上承载的信息量也越来越丰富,相关的信息推荐也逐渐成为一种趋势。
3.在具体应用的过程中,向用户推荐的信息通常通过一些推荐算法计算而来。为了获得合适推荐算法以向用户发送推荐信息,现有技术通常采用ab测试实验的方法对推荐算法进行测试,并根据测试结果评价推荐算法的质量。具体而言,就是将用户随机分为a组和b组,两则分别用两个相互对照的推荐算法,通过测试实验的比较,区分推荐算法的优劣,从而选择较为优秀的推荐算法。
4.目前,各种推荐策略以及与伴随推荐策略产生的推荐算法大量涌现,这些推荐算法都需要进行测试实验;此外,各个推荐算法可能都需要对一些关键参数进行调整,每次调整也往往需要进行测试实验;在测试实验需求如此旺盛的情况下,通过专用的测试平台进行测试成为常规选择,然而,如何快速的实现对多种推荐算法的测试,在目前的技术条件下,很难实现。


技术实现要素:

5.本技术提供一种推荐算法的测试方法和广告推荐系统,以解决背景技术中存在的上述技术问题。
6.本技术提供的推荐算法的测试方法,包括:
7.基于待测试的推荐算法,构造相互之间为正交关系的至少两个算法测试实验,其中,每个算法测试实验中包括需相互比较的至少两种推荐算法;
8.在每一个算法测试实验中,将参与实验人群中的目标用户以随机方式平均分配至所述算法测试实验的各个推荐算法中,其中,每个算法测试实验基于相同的实验人群;
9.根据所述目标用户对应的推荐算法,生成向各个所述目标用户推送的推荐内容;
10.搜集所述实验人群中各个目标用户针对所述推荐内容的反馈操作的数据,对各推荐算法的算法质量进行评估。
11.可选的,所述将参与实验人群中的目标用户平均分配至所述算法测试实验的各个推荐算法中的步骤中,根据目标用户被分配的推荐算法,为所述目标用户分配算法标签;
12.所述根据所述目标用户对应的推荐算法,生成向各个所述目标用户推送的推荐内容的步骤,包括:
13.获得所述目标用户的算法标签;
14.根据所述目标用户的算法标签,将该目标用户归入相应的推荐算法的目标人群中;对于一个目标用户,可归属于不同算法测试实验的一个以上的推荐算法的目标人群;
15.各个广告推荐算法,在归属于该推荐算法的目标人群内推送所述推荐内容。
16.可选的,所述方法还包括:
17.获得为推荐内容设置的推广预算,将所述推广预算平均分配至各所述算法测试实验的各个推荐算法中,其中,每个算法测试实验均对应全量的所述推广预算;
18.对应于所述目标用户对所述推荐内容的反馈操作,在所述目标用户对应的推荐算法的推广费用中进行相应的扣除操作。
19.可选的,包括:
20.获得预设的推广计划;
21.根据所述推广计划,选择所述待测试的推荐算法;
22.根据所选择的与所述推广计划对应的所述待测试的推荐算法,以及所述推广计划提供的约束条件,构造相应的算法测试实验;对应所述推广计划,所述算法测试实验可以是一个或者多个。
23.可选的,所述搜集所述实验人群中各个目标用户针对所述推荐内容的反馈操作,包括获取所述目标用户对应的推荐算法。
24.可选的,每个所述算法测试实验中,包含一个基准推荐算法。
25.可选的,所述根据所述目标用户对应的推荐算法,生成向各个所述目标用户推送的推荐内容,包括:
26.确定算法测试实验的预设时间段;
27.将所述参与实验人群中的各个目标用户随机分配至所述预设时间段的各个时间点出处;
28.在测试时间到达所述目标用户对应的时间点时,根据所述目标用户对应的推荐算法,生成向所述目标用户推送的推荐内容。
29.本技术同时提供一种广告推荐系统,包括:
30.广告主模块,用于基于待测试的推荐算法,构造至少两个相互之间为正交关系的算法测试实验,其中,每个算法测试实验中包括需相互比较的至少两种推荐算法;
31.流量分配模块,用于在每一个算法测试实验中,将参与实验人群中的目标用户平均分配至所述算法测试实验的各个推荐算法中,其中,每个算法测试实验基于相同的实验人群;
32.广告推荐模块,用于根据所述目标用户对应的推荐算法,生成向各个所述目标用户推送的推荐广告。
33.本技术同时提供一种推荐算法的测试装置,包括:
34.实验构建单元,用于基于待测试的推荐算法,构造相互之间为正交关系的至少两个算法测试实验,其中,每个算法测试实验中包括需相互比较的至少两种推荐算法;
35.用户分配单元,用于在每一个算法测试实验中,将参与实验人群中的目标用户平均分配至所述算法测试实验的各个推荐算法中,其中,每个算法测试实验基于相同的实验人群;
36.内容推荐单元,用于根据所述目标用户对应的推荐算法,生成向各个所述目标用户推送的推荐内容;
37.算法评估单元,用于搜集所述实验人群中各个目标用户针对所述推荐内容的反馈
操作的数据,对各推荐算法的算法质量进行评估。
38.本技术同时提供一种电子设备,包括:
39.处理器;
40.存储器,用于存储方法的程序,所述程序被处理器读取执行时执行以下步骤:基于待测试的推荐算法,构造相互之间为正交关系的至少两个算法测试实验,其中,每个算法测试实验中包括需相互比较的至少两种推荐算法;在每一个算法测试实验中,将参与实验人群中的目标用户平均分配至所述算法测试实验的各个推荐算法中,其中,每个算法测试实验基于相同的实验人群;根据所述目标用户对应的推荐算法,生成向各个所述目标用户推送的推荐内容;搜集所述实验人群中各个目标用户针对所述推荐内容的反馈操作的数据,对各推荐算法的算法质量进行评估。
41.本技术同时提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述程序被执行时执行以下步骤:
42.基于待测试的推荐算法,构造相互之间为正交关系的至少两个算法测试实验,其中,每个算法测试实验中包括需相互比较的至少两种推荐算法;在每一个算法测试实验中,将参与实验人群中的目标用户平均分配至所述算法测试实验的各个推荐算法中,其中,每个算法测试实验基于相同的实验人群;根据所述目标用户对应的推荐算法,生成向各个所述目标用户推送的推荐内容;搜集所述实验人群中各个目标用户针对所述推荐内容的反馈操作的数据,对各推荐算法的算法质量进行评估。
43.与现有技术相比,本技术具有以下优点:
44.本技术提供的推荐算法的测试方法,通过构建多个互为正交关系的算法测试实验以比较不同的推荐算法,可以对多个不同的推荐算法在相同的时间段进行测试,使测试实验具有并发性,从而保证了测试的高效性;并且,本技术通过将参与实验的人群在不同的算法测试实验中,分别以随机方式平均分配至该算法测试实验的各个推荐算法中,确保了不同算法测试实验中的实验对象相互之间不会由于某些相关性对不同算法测试实验的实验结果造成影响,确保了每一个算法测试实验的准确度。
附图说明
45.图1为本技术场景实施例提供的广告推荐系统结构示意图;
46.图2为本技术场景实施例提供的目标用户与广告推荐系统之间的交互关系图;
47.图3为本技术第一实施例提供的推荐算法的测试方法流程图;
48.图4为本技术第三实施例提供的推荐算法的测试装置结构图;
49.图5为本技术第三实施例提供的电子设备结构示意图。
具体实施方式
50.在下面的描述中阐述了很多具体细节以便于充分理解本技术。但是,本技术能够以很多不同于在此描述的其他方式来实施,本领域技术人员可以在不违背本技术内涵的情况下做类似推广,因此,本技术不受下面公开的具体实施例的限制。
51.本技术实施例提供一种推荐算法的测试方法和广告推荐系统,在下面的实施例中将逐一详细说明。
52.为了便于理解本技术提供的推荐算法的测试方法,本技术首先结合具体的使用场景对所述广告推荐系统进行介绍。应当说明,尽管本技术的具体使用场景的重点在于广告推荐,但该技术方案同样可以用于各种其他内容的推荐上。以下以广告推荐为主对本技术实施例进行介绍。
53.请参考图1,图1为本技术场景实施例提供的广告推荐系统结构示意图。
54.图1中包括:广告主模块101、流量分配模块102、广告推荐模块103。
55.其中,广告主模块101,用于基于待测试的推荐算法,构造至少两个相互之间互为正交关系的算法测试实验,其中,每个算法测试实验中包括需相互比较的至少两种推荐算法。
56.具体的,算法测试实验具体是指针对所述推荐算法设置的ab测试实验。所述待测试的推荐算法,包括:推荐算法1、推荐算法2、推荐算法3、推荐算法4,根据上述算法能够构建算法测试实验1和算法测试实验2,其中,算法测试实验1中包括a1组和b1组,其中,a1组使用推荐算法1,b1组使用推荐算法2,推荐算法1和推荐算法2之间是可以进行相互比较的关联算法,并且,一般情况下,其中一个算法可以是基准算法,另一个算法是实际需要测试的算法;同理,算法测试实验2中包括a2组和b2组,其中,a2组使用推荐算法3,b2组使用推荐算法4;推荐算法3和推荐算法4相互之间是可以进行相互比较的关联算法,并且,一般情况下,其中一个算法可以是基准算法,另一个算法是实际需要测试的算法。所述基准算法可以是一种已经了解其效果的算法,作为被测试算法的比较基准,在本实施例中,假设b1组和b2组分别为算法测试实验1和算法测试实验2的基准算法。
57.进一步的,所述广告主模块还包括:预算分配模块1011。
58.预算分配模块1011,用于获得为推荐广告设置的推广预算,将所述推广预算平均分配至各所述算法测试实验的各个推荐算法中,其中,每个算法测试实验均对应全量的所述推广预算。
59.比如说,假设广告主针对本次广告推广预定的推广预算为1000元,则算法测试实验1中的a1组和b1组分别能够分配500元(50%)的预算。并且,同时进行的算法测试实验2中的a1组和b1组分别也分配500元(50%)的预算。两组算法测试实验中的预算各自独立计算,均对推广预算1000元进行消费。
60.流量分配模块102,用于在每一个算法测试实验中,将参与实验人群中的目标用户平均分配至所述算法测试实验的各个推荐算法中,其中,每个算法测试实验基于相同的实验人群。
61.比如说,假设参与实验的实验人群共计1000人,对于算法测试实验1,将这1000人随机分配至算法测试实验1的a1组和b1组中;同样的,对于算法测试实验2,将这1000人再随机分配至算法测试实验2的a2组和b2组中。
62.进一步的,所述实验人群中的目标用户1携带有与其被分配的算法对应的算法标签,比如说,假设目标用户1在算法测试实验1中被分配至b1组,并且在算法测试实验2中被分配至a2组,则目标用户1的算法标签则为b1a2。算法标签的作用在于,对每个目标用户先打上算法标签后,一旦提取了该目标用户,就可以通过算法标签了解对其采用的推荐算法。例如,对于目标用户1采用b1对应的推荐算法2和a2对应的推荐算法3;由于推荐算法2和推荐算法3是处于两个算法实验中的算法,相互之间为正交关系——所谓正交关系,即相互之
间不会产生影响——因此,对于目标用户1可以同时采用两种推荐算法为其推荐广告。例如,可以将两种推荐算法共同推荐的广告提供给目标用户1,也可以将两种推荐算法的推荐力度按照相同的权重计算推荐值,根据推荐值大小推荐给用户。
63.广告推荐模块103,用于根据所述目标用户对应的推荐算法,生成向各个所述目标用户推送的推荐广告。
64.进一步的,广告推荐模块103具体用于根据所述目标用户对应的算法标签,确定与所述算法标签对应的推荐算法;根据所述推荐算法向目标用户进行广告推荐。
65.比如说,对于直接推荐的广告而言,所述推荐算法可以根据所述目标用户的偏好信息确定符合用户偏好的广告,又比如,对于基于搜索词进行推荐的广告而言,所述推荐算法可以根据目标用户在搜索引擎中输出的关键词向所述目标用户进行广告推荐。
66.进一步的,广告推荐模块103包括:算法接入层、推荐内容召回层、推荐内容排序层等。
67.其中,所述算法接入层用于根据目标用户的算法标签在所述广告推荐模块中导入相应的推荐算法;所述推荐内容召回层,用于根据所述推荐算法,获得待推荐的推荐内容;所述推荐内容排序层,用于对所述推荐内容进行排序。
68.在本技术场景实施例中,为了验证所述推荐算法的质量,上述广告推荐系统还包括:算法评估模块104,用于搜集实验人群中各个目标用户针对所述推荐内容的反馈操作数据,对各推荐算法的算法质量进行评估。
69.具体的,所述对各推荐算法的算法质量进行评估具体是根据预算分配模块1011中每个推荐算法测试实验对应的测试算法剩余的预算获得的。
70.在具体的而应用过程中,如果具有所述算法标签b1a2的目标用户1获得了根据算法标签b1a2对应的推荐算法推荐的广告,并且目标用户1对推荐的广告进行了浏览或点击操作,则可以分别扣除算法测试实验1的b1组一次广告宣传对应的预算金额和算法测试实验2的a2组一次广告宣传对应的预算金额。
71.进一步的,为了便于理解上述场景实施例所描述的场景中,目标用户与所述广告推荐系统之间的交互关系,以下结合图2对目标用户与广告推荐系统之间的交互过程进行介绍。
72.请参考图2,图2为本技术场景实施例提供的目标用户与广告推荐系统之间的交互关系图。
73.如图2所示,目标用户在与广告推荐系统进行交互的过程中执行步骤s201至步骤s205,所述广告推荐系统执行步骤s206至步骤s208。
74.首先,在交互流程开始前,首先,通过以下步骤创建所述广告推荐系统中的测试实验。
75.步骤s206,根据广告主预设的推广计划,设置本次广告推广所需的推广预算和待测试的推荐算法;
76.步骤s207,基于待测试的推荐算法,构造相互之间为正交关系的至少两个算法测试实验,其中,每个算法测试实验中包括需相互比较的至少两种推荐算法;
77.步骤s208,基于获得为推荐内容设置的推广预算,将所述推广预算以随机方式平均分配至各所述算法测试实验的各个推荐算法中,其中,每个算法测试实验均对应全量的
所述推广预算。
78.待所述广告推荐系统创建完成后,目标用户的终端设备和所述广告推荐系统依次执行以下步骤:
79.步骤s201,所述目标用户通过终端设备向广告推荐系统发送用于获得所述目标用户对应的算法标签的第一请求信息;
80.步骤s202,所述广告推荐系统响应于获得第一请求信息,向所述目标用户的终端设备返回与所述目标用户对应的算法标签;
81.步骤s203,所述目标用户通过终端设备向所述广告推荐系统发送携带有所述算法标签的广告推荐第二请求信息;
82.步骤s204,所述广告推荐系统对所述第二请求信息进行解析,获得所述算法标签,并根据所述算法标签向所述目标用户的终端设备发送对应的推荐广告;
83.步骤s205,所述目标用户的终端设备接收并展示所述推荐广告,并且在所述目标用户选择点击所述推荐广告后,向所述广告推荐系统发送携带有所述算法标签的扣费请求信息。
84.步骤s206,所述广告推荐系统对所述扣费请求信息进行解析,获得所述算法标签,并根据所述算法标签确定各个算法测试实验中需扣费的测试算法,完成扣费操作。
85.在实验结束时,工作人员通过对比算法测试实验的不同组内剩余的广告预算,判断所述不同组对应的测试算法的质量,比如说,对于算法测试实验1,如果a1组的剩余广告预算低于b1组的剩余广告预算,则说明a1组对应的算法1的算法质量高于b1组对应的算法2;对于算法测试实验2,如果a2组的剩余广告预算高于b2组的剩余广告预算,则说明a2组对应的算法3的算法质量低于b2组对应的算法4。此外,通过预算分配,也可以在某一方预算被扣减完毕后,退出试验,结束测试;这样就获得了结束试验的条件。
86.需要说明的是,以上对本技术场景实施例的描述并非用于限定本技术提供的推荐算法测试方法的应用场景,比如说,在其他场景实施例中,对所述算法测试实验的构建不局限于本技术提供两个算法测试实验,对于需要同时测试更多组测试算法的情况,可以根据推荐算法的数量确定算法测试实验的个数;又比如,本技术提供的推荐算法的测试方法的还可以用于测试搜索引擎中的推荐算法,并在对算法进行测试的同时为用户提供相应的内容推荐,对此,本技术不作限制。
87.本技术第一实施例提供一种推荐算法的测试方法,请参考图3,图3为本技术第一实施例提供的推荐算法的测试方法流程图。所述推荐算法的测试方法包括以下步骤s301至步骤s304。该实施例的执行主体为广告推荐系统。
88.步骤s301,基于待测试的推荐算法,构造相互之间为正交关系的至少两个算法测试实验,其中,每个算法测试实验中包括需相互比较的至少两种推荐算法。
89.所述待推荐的测试算法可以理解为计算机系统中为用户进行内容推荐的算法,在具体的应用构成中,所述推荐算法的形式可以是多种多样的,例如:所述推荐算法可以是部署在计算机系统内部的用于向目标用户进行内容推荐的程序,也可以是通过机器学习获得的、能够根据目标用户在搜索引擎中输入的搜索关键词或者所述目标用户的浏览记录,输出向推荐内容的神经网络等。对此,本技术不作限制。
90.在本技术的一种实施场景中,所述算法测试实验具体用于向用户进行广告推荐以
及对推荐的广告进行排序;当然,算法测试实验也可以用于进行其他内容的推荐。
91.在本技术第一实施例中,所述算法测试实验包括多组同时进行的算法测试实验,每个算法测试实验具有相同的测试周期,具体的,所述测试周期可以以天/周为单位,对此,本技术不作限制。进一步的,不同的算法测试实验之间相互正交,即,不同的算法测试实验测试的算法相互之间不会产生干涉,即某一个算法测试实验会对另一个算法测试实验的试验效果产生影响。在构造正交关系的算法测试实验时,需要对被测试算法的原理有深刻了解,避免同时进行的算法测试实验中存在相互之间的结果存在影响的试验,以避免测试结果失真。
92.在本技术第一实施例中,所述算法测试实验具体是指针对所述推荐算法设置的ab测试实验。ab测试实验是为web(world wide web,全球广域网)或app(application,手机软件)界面或流程制作两个(a/b)或多个(a/b/n)不同版本,在同一时间维度,分别让组成成分相同(或相似)的访问人群随机访问这些版本,之后收集各版本访问用户的用户体验数据和业务数据,最后经过分析、评估,得出最好的版本正式采用。
93.比如说,所述算法测试实验可以包括:算法测试实验1、算法测试实验2、算法测试实验3。
94.其中,算法测试实验1包括:a1组和b1组,其中,a1组用于测试算法1,a2组用于测试算法2;
95.算法测试实验2包括:a2组和b2组,其中,a2组用于测试算法3,a2组用于测试算法4;
96.算法测试实验3包括:a3组和b3组,其中,a3组用于测试算法5,a3组用于测试算法6。
97.在实际应用的构成中,所述算法测试实验的构造与具体的应用场景相关,例如:在本技术的一种可选实施方式中,所述算法测试实验主要用于选择合适的推荐算法为广告主进行广告推荐。
98.所述广告主是指为推销商或提供服务,自行或者委托他人设计、制作、发布广告的法人、经济组织或个人,广告主是广告活动的发起者,包括:在销售或者宣传自己产品和服务的商家。
99.具体的,如果需要为某个广告主的推广进行先期测试,以便为其选择最合适的算法,则上述为广告主设计的算法测试实验可以通过以下方法获得:
100.首先,获得预设的推广计划;
101.其次,根据所述推广计划,选择候选推荐算法;
102.最后,根据所选择的与所述推广计划对应的候选推荐算法,以及所述推广计划提供的约束条件,构造相应的算法测试实验,其中,每个推广计划对应一个或者多个算法测试实验。
103.其中,所述预设的推广计划可以包括:广告中宣传产品的用户群体信息、广告的投放策略信息、广告的宣传形式信息、广告的总预算信息等与广告宣传密切相关的信息。由于所述预设的推广计划的内容并不是本技术请求保护的重点,因此,本技术实施例对所述推广计划的内容并不做限制。
104.进一步的,所述根据所述推广计划,选择候选推荐算法,可以根据输入为推广计划
信息、输出为推荐算法信息的候选算法选择模型获得。在具体的而应用过程中,所述候选算法选择模型可采用机器学习(machine learning,ml)训练获得,具体的,所述机器学习的学习样本可以采用所述推广计划的具体内容和所述推广计划对应的合适的推荐算法。机器学习(是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科)专门用于研究计算机如何模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有知识结构使之不断改善自身性能。机器学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习等技术。而性能机器学习属于人工智能(artificial intelligence,ai)技术的一个分支。
105.需要说明的是,上述获得所述候选推荐算法的方式只是本技术的一种可选实施方式,在本技术的其他实施方式中,所述候选推荐算法也可以采用其他方式获取,比如说,可以根据所述推广计划的特点,选择合适的候选推荐算法。对此本技术不作限制。
106.另外,对于推荐广告这一场景下的算法测试而言,所述推广计划中通常包括广告的推广预算,即,广告主对其广告宣传的投入。在具体应用过程中,如果向用户推荐广告,且用户通过点击广告等方式浏览广告后,就意味着成功对广告进行了一次宣传,需要在全量的推广预算中扣除一次宣传所需的广告推广费用。进一步的,对于所述推广预算在本技术第一实施例中的具体应用参考对步骤s203的介绍即可,此处不再进行赘述。
107.进一步的,构造由推荐算法为主体的算法测试实验后,还需要对所述算法测试实验添加对应的约束条件,在本技术实施例中,所述约束条件包括:实验人群、推广预算以及算法测试时间。
108.以下,结合对所述算法的具体测试过程对上述约束条件分别进行介绍。
109.本技术第一实施例采用步骤s302的方法分配实验人群中的目标用户,即,通过步骤s302的方式限制算法实验中不同测试算法的测试人数。
110.步骤s302,在每一个算法测试实验中,将参与实验人群中的目标用户平均分配至所述算法测试实验的各个推荐算法中,其中,每个算法测试实验基于相同的实验人群;
111.比如说,算法测试实验1包括:a1组和b1组,其中,a1组用于测试算法1,b1组用于测试算法2;测试实验2包括:a2组和b2组,其中,a2组用于测试算法3,a2组用于测试算法4。
112.那么,对于算法测试实验1,如果所述实验人群一共为100人,那么这100人将随机分为2组,分别分配至a1组和b1组。对于算法测试实验2,重新对这100人进行随机分组,分别分配至a2组合b2组。(即,算法测试实验1和算法测试实验2为并列的两个实验,其中算法测试实验1分为两组分别以实验人群总人数的二分之一对算法1和算法2进行测试,算法测试实验2也分为两组分别以实验人群总人数的二分之一对算法3和算法4进行测试)。
113.对于推广预算:在本技术实施例中,所述推广计划中通常包括广告的推广预算,即,广告主对其广告宣传的投入。比如说,对于广告推荐的场景,如果向用户推荐广告,且用户通过点击广告等方式浏览广告后,就意味着成功对广告进行了一次宣传,需要在全量的推广预算中扣除一次宣传所需的广告推广费用。
114.在具体应用的过程中,采用与上述步骤s202类似的方法限制所述算法测试实验中不同算法测试实验中不同测试算法对应的广告预算。
115.具体的,对所述推广预算的分配包括以下步骤s1和步骤s2.
116.步骤s1,获得为推荐内容设置的推广预算,将所述推广预算平均分配至各所述算
法测试实验的各个推荐算法中,其中,每个算法测试实验均对应全量的所述推广预算;
117.比如说,算法测试实验1包括:a1组和b1组,其中,a1组用于测试算法1,a2组用于测试算法2;算法测试实验2包括:a2组和b2组,其中,a2组用于测试算法3,a2组用于测试算法4。
118.那么,如果所述推广预算为1000元,则分配至算法测试实验1的总预算为1000元、分配至算法测试实验2的总预算也为1000元;
119.分配至所述算法测试实验1的a1组实验的推广预算为500元,分配至b1组实验的推广预算也为500元;
120.分配至所述算法测试实验2的a2组实验的推广预算为500元,分配至b2组实验的推广预算也为500元(即,算法测试实验1和算法测试实验2为并列进行的两个实验,其中,算法测试实验1用于测试算法1和算法2,算法测试实验2用于测试算法3和算法4)。
121.步骤s2,对应于所述目标用户对所述推荐内容的反馈操作,在所述目标用户对应的推荐算法的推广费用中进行相应的扣除操作。
122.具体的,对于上述步骤s2的相关介绍参考下文对步骤s203的描述即可,此处不再赘述。
123.进一步的,为了准确无误的确定所述目标用户对应的算法,上述步骤s202还包括根据目标用户被分配的推荐算法,为目标用户分配算法标签。
124.具体的,所述目标用户的算法标签主要用于表示为所述目标用户提供推荐内容时,所采用的算法。比如说,仍以上述算法测试实验1和算法测试实验2为例,假设为算法测试实验1进行目标用户分配的过程中,目标用户1分配到算法测试实验1中的测试算法2(即,被分配到了算法测试实验1中的b1组),并且,在未算法测试实验2进行目标用户分配的过程中,目标用户1被分配到了算法测试实验2中的测试算法3(即,被分配到了算法测试实验2中的a2组),则所述目标用户1对应的算法标签为b1a2。
125.步骤s303,根据所述目标用户对应的推荐算法,生成向各个所述目标用户推送的推荐内容。
126.具体的,上述步骤s303包括以下步骤s3至步骤s5。
127.步骤s3,获得所述目标用户的算法标签;
128.步骤s4,根据所述目标用户的算法标签,将该目标用户归入相应的推荐算法的目标人群中;对于一个目标用户,可归属于不同算法测试实验的一个以上的推荐算法的目标人群;
129.步骤s5,各个广告推荐算法,在归属于该推荐算法的目标人群内推送所述推荐内容。
130.比如说,假设所述目标用户1的算法标签为b1a2,则所述目标用户1在算法测试实验1中应归入b1组,在算法测试实验2中应归入a2组。
131.在本技术的一种可选实施方式中,上述步骤s203中还包括在时间维度上对实验人群中的各个目标用户的分配,以便于使所述算法测试实验更趋近于真实状况。
132.具体的,上述步骤s303还包括以下步骤s6至步骤s8。
133.步骤s6,确定算法测试实验的预设时间段;
134.所述算法测试实验的时间段,即,为各个算法测试实验预设的测试周期,具体的,
所述预设时间段可以以天/周为单位,对此,本技术不作限制。
135.步骤s7,将所述参与实验人群中的各个目标用户随机分配至所述预设时间段的各个时间点出处;
136.比如说,假设所述实验人群中包括100个目标用户,所述预设时间段为1天,则可以将上述100个目标用户随机分配至预设时间段的各个时间点。
137.步骤s8,在测试时间到达所述目标用户对应的时间点时,根据所述目标用户对应的推荐算法,生成向所述目标用户推送的推荐内容。
138.步骤s304,搜集所述实验人群中各个目标用户针对所述推荐内容的反馈操作的数据,对各推荐算法的算法质量进行评估。
139.在本技术的一种可选实施方式中,所述反馈操作包括有效操作和无效操作,仍以上述算法测试实验1和算法测试实验2为例,假设目标用户1的算法标签b1a2,且根据算法标签向所述目标用户1推荐的推荐内容包括广告1和广告2。那么如果所述目标用户针对广告1和广告2中的任意一个进行了点击操作则该点击操作即为有效操作,如果所述目标用户未对广告1和广告2进行点击操作,而选择关闭上述广告或执行其他操作,则说明此次操作为无效操作。
140.需要说明的是,上述对于反馈操作的介绍仅限于推荐广告的场景,对于其他场景,所述反馈操作的有效操作和无效操作的界定可以根据实际情况进行设定,比如说,如果所述推荐算法具体用于根据目标用户在搜索引擎中输入的关键词,向目标用户推荐与所述关键词相关的内容;那么如果用户选择点击推荐内容,进入推荐内容的介绍界面后,在所述介绍界面停留的时间长度大于或等于预设的时间阈值时,则认为目标用户的点击操作为有效操作;如果目标用户选择点击推荐内容,并进入推荐内容的介绍界面后,在所述介绍界面停留的时间长度小于预设的时间阈值,或者用户未点击该推荐内容,则认为用户的操作为无效操作。
141.进一步的,对应于所述目标用户对所述推荐内容的反馈操作中的有效操作,则在所述目标用户对应的推荐算法的推广费用中进行相应的扣除操作。
142.具体的,以下仍以上述算法测试实验1和算法测试实验2为例对所述广告场景下的推广费用扣除操作进行说明。
143.算法测试实验1包括:a1组和b1组,其中,a1组用于测试算法1,a2组用于测试算法2;算法测试实验2包括:a2组和b2组,其中,a2组用于测试算法3,a2组用于测试算法4,同时算法测试实验1的a1组和b1组,以及算法测试实验的a2组和b2组各分配有500元的预算,实验人群的总量为500人,其中,算法测试实验1的a1组随机分配有250人和b1组分别随机分配有250人,算法测试实验2的a2组和b2组分别随机分配有250人。
144.则假设实验人群中的目标用户1的算法标签为b1a2,则与算法标签b1a2对应的测试算法为测试算法2和测试算法3。
145.进一步的,根据测试算法2和测试算法3向目标用户1推荐了广告1和广告2,并将推荐的广告展示于所述目标用户的终端设备中,此时,如果目标用户1针对广告1和广告2进行了点击操作,则说明根据测试算法2和测试算法3向目标用户1进行了1次成功的广告推荐。
146.进一步的,成功进行一次广告推荐后,根据算法标签b1a2,扣除算法测试实验1的b1组和算法测试实验2的a2组中的广告预算。比如说,假设如果广告推荐成功一次消耗的费
用为1元,则分别扣除所述b1组和a2组各1元的预算。
147.对于每个算法测试实验而言,由于其中相互比较的推荐算法分配的人数、预算均相同,因此,对于不同推荐算法比较的是相同的,因此,只需在算法测试实验结束后,不同推荐算法所剩的预算金额,即可确定不同的推荐算法质量。
148.比如说,假设算法测试实验结束后,如果算法测试实验1对应的a1组中剩余100元的预算,b1组中剩余50元的预算,则可以确定所述算法测试实验1中推荐算法2的推荐质量高于推荐算法1;与之类似的,如果算法测试实验2对应的a2组剩余25元的预算,b2组剩余35元的预算,则可以确定所述算法测试实验2中推荐算法3的推荐质量高于推荐算法4。
149.基于上述对本技术第一实施例的描述可知,本技术提供的推荐算法的测试方法,通过构建多个互为正交关系的算法测试实验以比较不同的推荐算法,确保了对多个不同的推荐算法进行测试的高效性;并且,本技术通过将参与实验的人群平均分配至所述算法测试实验的各个推荐算法中,确保了算法测试实验中相互对比的测试算法不会出现争抢实验对象的问题,大大提高了测试的准确度。
150.本技术第三实施例提供一种推荐算法的测试装置,请参考图4,图4为本技术第二实施例提供的推荐算法的测试装置结构图。
151.所述推荐算法的测试装置,包括:
152.实验构建单元401,用于基于待测试的推荐算法,构造相互之间为正交关系的至少两个算法测试实验,其中,每个算法测试实验中包括需相互比较的至少两种推荐算法;
153.用户分配单元402,用于在每一个算法测试实验中,将参与实验人群中的目标用户以随机方式平均分配至所述算法测试实验的各个推荐算法中,其中,每个算法测试实验基于相同的实验人群;
154.内容推荐单元403,用于根据所述目标用户对应的推荐算法,生成向各个所述目标用户推送的推荐内容;
155.算法评估单元404,用于搜集所述实验人群中各个目标用户针对所述推荐内容的反馈操作的数据,对各推荐算法的算法质量进行评估。
156.可选的,所述将参与实验人群中的目标用户平均分配至所述算法测试实验的各个推荐算法中的步骤中,根据目标用户被分配的推荐算法,为目标用户分配算法标签;
157.所述根据所述目标用户对应的推荐算法,生成向各个所述目标用户推送的推荐内容的步骤,包括:
158.获得所述目标用户的算法标签;
159.根据所述目标用户的算法标签,将该目标用户归入相应的推荐算法的目标人群中;对于一个目标用户,可归属于不同算法测试实验的一个以上的推荐算法的目标人群;
160.各个广告推荐算法,在归属于该推荐算法的目标人群内推送所述推荐内容。
161.可选的,所述装置还用于:
162.获得为推荐内容设置的推广预算,将所述推广预算平均分配至各所述算法测试实验的各个推荐算法中,其中,每个算法测试实验均对应全量的所述推广预算;
163.对应于所述目标用户对所述推荐内容的反馈操作,在所述目标用户对应的推荐算法的推广费用中进行相应的扣除操作。
164.可选的,所述装置还用于:
165.获得预设的推广计划;
166.根据所述推广计划,选择候选推荐算法;
167.根据所选择的与所述推广计划对应的候选推荐算法,以及所述推广计划提供的约束条件,构造相应的算法测试实验;对应所述推广计划,所述算法测试实验可以是一个或者多个。
168.可选的,所述搜集所述实验人群中各个目标用户针对所述推荐内容的反馈操作,包括获取所述目标用户对应的推荐算法。
169.可选的,每个所述算法测试实验中,包含一个基准推荐算法。
170.可选的,所述根据所述目标用户对应的推荐算法,生成向各个所述目标用户推送的推荐内容,包括:
171.确定算法测试实验的预设时间段;
172.将所述参与实验人群中的各个目标用户随机分配至所述预设时间段的各个时间点处;
173.在测试时间到达所述目标用户对应的时间点时,根据所述目标用户对应的推荐算法,生成向所述目标用户推送的推荐内容。
174.本技术第5实施例提供一种电子设备,请参考图5,图5为本技术第三实施例提供的电子设备结构示意图。
175.所述电子设备,包括:处理器501;
176.存储器502,用于存储方法的程序,所述程序被处理器501读取执行时执行本技术第一实施例所述的方法。
177.本技术另一实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述程序被执行时执行本技术第一实施例所述的方法。
178.需要说明的是,本技术实施例提供的点在设备和计算机存储介质的详细描述可以参考本技术提供的第一实施例的相关描述,这里不再赘述。
179.本技术虽然以较佳实施例公开如上,但其并不是用来限定本技术,任何本领域技术人员在不脱离本技术的精神和范围内,都可以做出可能的变动和修改,因此本技术的保护范围应当以本技术权利要求所界定的范围为准。
180.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
181.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
182.1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照
本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
183.2、本领域技术人员应明白,本技术的实施例可提供为系统或电子设备。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1