CN112148584A - 账户信息的处理方法、装置、电子设备及存储介质 - Google Patents
账户信息的处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112148584A CN112148584A CN201910580611.0A CN201910580611A CN112148584A CN 112148584 A CN112148584 A CN 112148584A CN 201910580611 A CN201910580611 A CN 201910580611A CN 112148584 A CN112148584 A CN 112148584A
- Authority
- CN
- China
- Prior art keywords
- accounts
- division
- account
- group
- groups
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 11
- 230000010365 information processing Effects 0.000 title claims abstract description 9
- 238000012360 testing method Methods 0.000 claims abstract description 138
- 238000012545 processing Methods 0.000 claims abstract description 90
- 239000011159 matrix material Substances 0.000 claims abstract description 64
- 238000000034 method Methods 0.000 claims abstract description 55
- 238000002474 experimental method Methods 0.000 claims description 55
- 238000004891 communication Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 14
- 238000000638 solvent extraction Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000003446 memory effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
Abstract
本公开是关于一种账户信息的处理方法、装置、电子设备及存储介质,涉及通信技术领域,用以解决相关技术中采用随机正交的方式对账户进行多次划分时容易造成划分不均匀的问题,本公开方法包括:使用拉丁方矩阵对多个子集合中的账户进行多次分组处理;每次使用拉丁方矩阵进行分组处理都执行下列过程:针对本次分组处理使用的拉丁方矩阵的任意一个元素,根据元素从元素对应的包含多组账户的子集合中选择一组账户;将根据位于同一行或同一列上的元素选择的多组账户组成至少一个测试组。由于本公开实施例所使用的拉丁方矩阵相互正交,因而任意两次分组处理得到的测试组间也相互正交,减小了账户划分不均匀造成的影响。
Description
技术领域
本公开涉及通信技术领域,尤其涉及一种账户信息的处理方法、装置、电子设备及存储介质。
背景技术
随着互联网的发展,对用户的重视程度也越来越大,无论是优惠活动,还是页面改版需要对比不同的方案时一般都需要做进行分组测试实验,常见的分组测试实验为ab实验,例如通过ab实验来验证产品策略对于用户来说是否可行,但是传统的ab实验产品策略是对用户账户进行对半拆分,实验效果成功之后则对全量用户实行该产品策略。
简单来说,就是为同一个目标制定两个方案(比如两个页面),将产品的用户账户分割成A/B两组,一组实验组,一组对照组,两组用户特点类似,并且同时运行。实验运行一段时间后分别统计两组用户的表现,再将数据结果进行对比,就可以科学的帮助决策。比如50%用户看到A版本页面,50%用户看到B版本页面,结果A版本用户转化率23%,高于B版本的11%,在实验中用户账户足够大的情况下,我们就可以判定A版本胜出,然后将A版本页面推送给所有的用户。
在互联网行业中,对账户进行正交划分进行ab实验获得观测因素的效果是一种非常通用的方法,例如,一些企业给出的解决方案是使用随机正交,即对账户进行多次划分,每次划分都会对全部账户进行随机打散。这个方案在期望上能够满足正交性原则,但依赖于每一次的具体实现,很有可能出现不满足要求的情形。
综上所述,相关技术中采用随机正交的方式对账户进行多次划分时容易造成划分不均匀,对实验结果产生影响。
发明内容
本公开提供一种账户信息的处理方法、装置、电子设备及存储介质,以至少解决相关技术中采用随机正交的方式对账户进行多次划分时容易造成划分不均匀,对实验结果产生影响的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种账户信息的处理方法,包括:
使用拉丁方矩阵对多个子集合中的账户进行多次分组处理,其中任意两次分组处理使用的拉丁方矩阵相互正交,所述多个子集合是对账户集合进行逐级划分后得到的,且同一个子集合中包含的多组账户是对上一级划分后得到的同一组账户继续进行划分得到的;
每次使用拉丁方矩阵进行分组处理都执行下列过程:
针对本次分组处理使用的拉丁方矩阵的任意一个元素,根据所述元素从所述元素对应的包含多组账户的子集合中选择一组账户;
将根据位于同一行或同一列上的元素选择的多组账户组成至少一个测试组。
在一种可能的实现方式中,所述逐级划分中第一级划分是将账户集合等分为n组账户,后续每一级划分是对上一级划分得到的每组账户继续等分为n组账户,n为素数。
在一种可能的实现方式中,所述拉丁方矩阵为n阶。
在一种可能的实现方式中,所述根据所述元素从所述元素对应的包含多组账户的子集合中选择一组账户的步骤包括:
针对本次分组处理使用的拉丁方矩阵的任意一个元素,根据所述元素所在的行号和/或列号确定子集合标识;
根据所述子集合标识确定所述元素对应的包含多组账户的子集合,其中所述子集合标识是根据所述逐级划分中除最后一级划分外的每一级划分得到的每组账户的标识确定的;
根据所述元素的值确定账户标识,并从所述元素对应的包含多组账户的子集合中选择确定的所述账户标识对应的一组账户;
其中,所述账户标识是在划分得到所述每组账户的过程中利用随机种子分配的,所述逐级划分中不同级划分所使用的随机种子不同,且除第一级划分外的每一级划分中所使用的随机种子不同。
在一种可能的实现方式中,若所述逐级划分的级数为两级,则所述子集合标识为所述元素所在的行号或列号。
在一种可能的实现方式中,所述账户划分方法还包括:
从同一次分组处理得到的至少一个测试组中选择目标账户;
使用所述目标账户进行本次分组测试实验;其中,所述目标账户为在本次分组测试实验之前锁定时长内未使用的账户。
根据本公开实施例的第二方面,提供一种账户信息的处理装置,包括:
处理单元,被配置为执行使用拉丁方矩阵对多个子集合中的账户进行多次分组处理,其中任意两次分组处理使用的拉丁方矩阵相互正交,所述多个子集合是对账户集合进行逐级划分后得到的,且同一个子集合中包含的多组账户是对上一级划分后得到的同一组账户继续进行划分得到的;
每次使用拉丁方矩阵进行分组处理都执行下列过程:
针对本次分组处理使用的拉丁方矩阵的任意一个元素,根据所述元素从所述元素对应的包含多组账户的子集合中选择一组账户;
将根据位于同一行或同一列上的元素选择的多组账户组成至少一个测试组。
在一种可能的实现方式中,所述逐级划分中第一级划分是将账户集合等分为n组账户,后续每一级划分是对上一级划分得到的每组账户继续等分为n组账户,n为素数。
在一种可能的实现方式中,所述拉丁方矩阵为n阶。
在一种可能的实现方式中,所述处理单元具体用于:
针对本次分组处理使用的拉丁方矩阵的任意一个元素,根据所述元素所在的行号和/或列号确定子集合标识;
根据所述子集合标识确定所述元素对应的包含多组账户的子集合,其中所述子集合标识是根据所述逐级划分中除最后一级划分外的每一级划分得到的每组账户的标识确定的;
根据所述元素的值确定账户标识,并从所述元素对应的包含多组账户的子集合中选择确定的所述账户标识对应的一组账户;
其中,所述账户标识是在划分得到所述每组账户的过程中利用随机种子分配的,所述逐级划分中不同级划分所使用的随机种子不同,且除第一级划分外的每一级划分中所使用的随机种子不同。
在一种可能的实现方式中,若所述逐级划分的级数为两级,则所述子集合标识为所述元素所在的行号或列号。
在一种可能的实现方式中,所述账户划分装置还包括:
测试单元,被配置为执行从同一次分组处理得到的至少一个测试组中选择目标账户;
使用所述目标账户进行本次分组测试实验;其中,所述目标账户为在本次分组测试实验之前锁定时长内未使用的账户。
根据本公开实施例的第三方面,提供一种存储介质,当所述存储介质中的指令由账户信息的处理装置的处理器执行时,使得账户信息的处理装置能够执行本公开实施例第一方面中任一项所述的账户信息的处理方法。
根据本公开实施例的第四方面,提供一种计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行实现本公开实施例上述第一方面以及第一方面涉及的任一可能涉及的方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
对于两个正交拉丁方矩阵,在同一位置上的数依次配置成对时,这两个有序数对恰好各不相同,在本公开实施例中,由于任意两次分组处理中采用的拉丁方矩阵正交,因而在一次分组处理中根据某一行或某一列上的元素选择的多组账户组成的至少一个测试组,例如测试组1,与另一次分组处理根据某一行或某一列上的元素选择的多组账户组成的至少一个测试组,例如测试组2,则测试组1与测试组2中的账户一定不完全相同,即任意两次分组处理得到的测试组之间也是相互正交的,使得多个分组处理之间能够实现对账户的均匀划分,减小对实验结果的影响。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种账户信息的处理方法的流程图;
图2是根据一示例性实施例示出的一种使用拉丁方矩阵进行分组处理的方法的流程图;
图3是根据一示例性实施例示出的第一种账户集合逐级划分的示意图;
图4是根据一示例性实施例示出的第二种账户集合逐级划分的示意图;
图5是根据一示例性实施例示出的第一种采用拉丁方矩阵进行分组处理的示意图;
图6A是根据一示例性实施例示出的第二种采用拉丁方矩阵进行分组处理的示意图;
图6B是根据一示例性实施例示出的第三种采用拉丁方矩阵进行分组处理的示意图;
图7是根据一示例性实施例示出的一种账户信息处理的完整方法的流程图;
图8是根据一示例性实施例示出的一种账户信息的处理装置的框图;
图9是根据一示例性实施例示出的另一种账户信息的处理装置的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
下面对文中出现的一些词语进行解释:
1、本公开实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
2、本公开实施例中术语“拉丁方矩阵”是一种采用拉丁方设计得到的矩阵,二维拉丁方矩阵是一种n×n的方阵,在这种n×n的方阵里,恰有n种不同的元素,每一种不同的元素在同一行或同一列里只出现一次。在统计抽样中,拉丁方矩阵是指每行、每列仅包含一个样本的方阵。当拉丁方矩阵的维度超过二维,在多维中推广时则可表示为拉丁超立方体,拉丁超立方抽样中每个与轴垂直的超平面最多含有一个样本。
3、本公开实施例中术语“正交拉丁方”指两个n阶拉丁方(矩阵)在同一位置上的数依次配置成对时,这两个有序数对恰好各不相同(一般处理方法为把当中某些行或列对调)(这种相同即经过有限次旋转和镜像对称后不重合)。
4、本公开实施例中术语“随机种子”是计算机专业术语,一种以随机数作为对象的以真随机数(种子)为初始条件的随机数。一般计算机的随机数都是伪随机数,以一个真随机数(种子)作为初始条件,然后用一定的算法不停迭代产生随机数。
5、本公开实施例中术语“历史记忆效应”指一部分账户上执行实验之后,会有一定的效果,这个效果会影响后续的实验,这种影响被称为历史记忆效应。
本公开实施例描述的应用场景是为了更加清楚的说明本公开实施例的技术方案,并不构成对于本公开实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本公开实施例提供的技术方案对于类似的技术问题,同样适用。其中,在本公开的描述中,除非另有说明,“多个”的含义。
图1是根据一示例性实施例示出的一种账户信息的处理方法的流程图,包括以下步骤。
在S11中,将账户集合进行逐级划分得到多个子集合,其中同一个子集合中包含的多组账户是对上一级划分后得到的同一组账户继续进行划分得到的;
在S12中,使用拉丁方矩阵对多个子集合中的账户进行多次分组处理,其中任意两次分组处理使用的拉丁方矩阵相互正交。
对于两个正交拉丁方矩阵,在同一位置上的数依次配置成对时,这两个有序数对恰好各不相同,在本公开实施例中,由于任意两次分组处理中采用的拉丁方矩阵正交,因而在一次分组处理中根据某一行或某一列上的元素选择的多组账户组成的至少一个测试组,例如测试组1,与另一次分组处理根据某一行或某一列上的元素选择的多组账户组成的至少一个测试组,例如测试组2,则测试组1与测试组2中的账户一定不完全相同,即任意两次分组处理得到的测试组之间也是相互正交的,使得多个分组处理之间能够实现对账户的均匀划分,减小对实验结果的影响。
图2是根据一示例性实施例示出的一种使用拉丁方矩阵进行分组处理的方法的流程图,在本公开实施例中的S12中每次使用拉丁方矩阵进行分组处理都执行下列过程:
S121,针对本次分组处理使用的拉丁方矩阵的任意一个元素,根据所述元素从所述元素对应的包含多组账户的子集合中选择一组账户,其中同一子集合包含的多组账户是由同一组账户划分得到的;
S122,将根据位于同一行或同一列上的元素选择的多组账户组成至少一个测试组。
上述方案,对于两个正交拉丁方矩阵,在同一位置上的数依次配置成对时,这两个有序数对恰好各不相同,在本公开实施例中,由于任意两次分组处理中采用的拉丁方矩阵正交,因而在一次分组处理中根据某一行或某一列上的元素选择的多组账户组成的至少一个测试组,例如测试组1,与另一次分组处理根据某一行或某一列上的元素选择的多组账户组成的至少一个测试组,例如测试组2,则测试组1与测试组2中的账户一定不完全相同,即任意两次分组处理得到的测试组之间也是相互正交的,使得多个分组处理之间能够实现对账户的均匀划分,减小对实验结果的影响。
在本公开实施例中,对账户集合进行逐级划分的过程中,第一级划分是将账户集合等分为n组账户,后续每一级划分都是将上一级划分得到的每组账户继续等分为n组账户,n为素数。
在本公开实施例中,对账户集合进行逐级划分时的级数最小为2,即最少进行两级划分,在每一级划分中都可以使用cityhash算法,或是其他同样可以将账户进行等分的算法,并且在同一级划分中的不同账户进行划分时也可以采用不同的账户划分算法。
在本公开实施例中的账户指用户的账户,账户集合即全网的用户账户组成的集合,例如注册某短视频应用的所有的用户账户组成的集合。
在本公开实施例中,采用拉丁方矩阵将账户集合划分为至少一个测试组之后,可采用划分得到的测试组进行分组测试实验,例如采用某一次分组处理得到的测试组进行ab实验。
以对某短视频应用的账户信息进行处理为例,假设注册该应用的账户共有四亿个,在针对该应用推送给用户的A/B页面进行ab实验测试时,则可从中选取一亿个注册账户进行测试,首先将这一亿个账户作为一个账户集合进行两级划分,第一级划分是将这一亿个账户等分为100组账户,每一组账户中包含100万个账户的账户信息,第二级划分是将第一级划分得到的100组账户中的每一组账户再次划分为100组,再次划分得到的每一组账户中包含1万个账户的账户信息,将第二级划分中的针对同一组账户划分得到的100组账户作为一个子集合,最终通过两级划分可以得到100个子集合,且每一个子集合中包含100组账户,每一组账户中包含1万个账户对应的账户信息,在对账户集合进行两级划分后则可通过拉丁方矩阵对这100个字集合中的账户进行分组处理,假设一次分组处理得到100个测试组(1个测试组中包含100万个账户),针对任意一次分组处理得到的100个测试组,则可从这100个测试组中选择账户进行ab实验的测试。
例如,选择50个测试组进行A版本页面的测试,选择另外的50个测试组进行B版本页面的测试,根据转化率确定向所有用户推送页面,假设A版本用户转化率为23%(即5000万账户中有1150万账户点击了A版本的页面进行浏览),B版本用户转化率为11%(即5000万账户中有550万账户点击了B版本的页面进行浏览),则可确定A版本更受用户喜爱,最终将A版本页面推送给这四亿账户。
图3是根据一示例性实施例示出的一种对账户集合进行逐级划分的方法的示意图,如图所示,其中对账户集合进行逐级划分的级数为2,第一级是采用cityhash算法将账户集合划分为互不相交的n组,标识分别为0~n-1,第二级划分是将第一级划分得到的n组账户中的每一组再次等分为n组,即将账户组0、账户组1、账户组2、…、账户组n-1中每一组账户都等分为n组,由图2可知,经过第二级划分,账户组0被划分为标识分别为(0,0)、(0,1)、(0,2)、…、(0,n-1)的n组账户,其中小括号中的第一位标识是第一级划分时分配的,第二位标识是第二级划分时分配的,例如(0,1)中0是第一级划分得到的,1是第二级划分得到的。对账户集合进行两级划分后可以得到n个包含n组账户的子集合。
图4是根据一示例性实施例示出的一种对账户集合进行逐级划分的方法的示意图,如图所示,其中对账户集合进行逐级划分的级数为3,即在图3的基础上再进行一级划分,将图3中第二级划分得到的n*n组账户中的每一组账户都再划分为互不相交的n组,如图所示,其中小括号中的第一位标识是第一级划分时分配的,第二位标识是第二级划分时分配的,第三位标识是在第三级划分时分配的,例如(n-1,0,1)中n-1是第一级划分得到的,0是第二级划分得到的,1是第三级划分得到的,对账户集合进行三级划分后可以得到n*n个包含n组账户的子集合。
其中,账户标识是在划分得到每组账户的过程中利用随机种子分配的,需要说明的是,本公开实施例中所列举的账户标识是指0~n-1中的任意一个整数,但本公开实施例中所列举的方式只是举例说明,任何一种表示账户标识的方式都适用于本公开实施例。
在本公开实施例中,通过cityhash算法对账户集合进行划分过程中不同级划分所使用的随机种子不同,且除第一级划分外的每一级划分中所使用的随机种子不同。
具体的,随机设置一个随机种子,例如当前的时间,使用cityhash算法将账户集合S映射至{0,1,2,…,n-1}共n个数字,映射后数字相同的id(identity,标识)为一组(即根据随机种子为每组账户分配标识),每组账户大小相等。其中账户集合一般是指一组不重复的id的账户子集合,账户中的每个实体(可以理解为账户指用户账户的话,实体为用户)有一个唯一的标识id,符号n是一个素数,例如n=1003。
例如账户集合是一组id分别为1~1000的1000个账户,通过随机种子将id为1~100的账户映射后账户标识为1,将id为101~200的账户映射后账户标识为2,等等,则id为1~100的账户组成账户标识为1的一组账户,id为101~200的账户组成账户标识为2的一组账户,等。
可选的,上述过程可通过如下数学符号描述:
其中,S表示账户集合,Si表示将账户集合划分后的一组账户。
在本公开实施例中,对每一组账户Si,再通过cityhash算法等分为n组,用Aij表示,其中i是第一级划分时分配的账户标识,j是第二级划分时分配的账户标识,将一组账户Si等分为n组,分别为Aij(其中j=0,1,2,…,n-1),用数学符号表示为:
在本公开实施例中的第二级划分是指对第一级划分得到的n组账户中的每一组账户都进行一次划分,并且每一次划分所使用的随机种子不相同,因此在对S进行两级划分的过程中共需要n+1个随机种子。
在本公开实施例中通过拉丁方矩阵对多组账户进行分组处理时的多组账户是经过对账户集合的逐级划分得到的,每一轮划分都是严格的正交划分。
可选的,可以设置一个随机种子集合,在每一次划分时从随机种子集合中选取一个随机种子,并在每次选取随机种子后,在该集合中删除所选取的随机种子,则可保证每次选取的随机种子不相同。
例如,随机种子集合为{1,2,3,4,5,…,n},采用如图3所示的方式对账户集合进行逐级划分,在第一级划分时,选取随机种子1,并在该集合中删除随机种子1,得到的新的随机集合为{2,3,4,5,…,n};在第二级划分时,具体的,对账户组0划分时从新随机种子集合中选取随机种子3,并在新的随机种子集合中删除随机种子3,之后得到的随机种子集合为{2,4,5,…,n}。
在本公开实施例中,拉丁方矩阵的阶数为n,最多可以设计n-1个两两正交的n阶拉丁方矩阵,具体过程如下:对k∈{1,2,3,…,n-1},所有的i,j∈{1,2,3,…,n},第k个拉丁方LSk的生成算法如下,第(i,j)个元素ak(i,j)为:
ak(i,j)=k·(i-1)+(j-1)mod n
其中,mod表示取余运算符号。
例如,k=1时生成的n阶拉丁方矩阵为:
0 | 1 | 2 | 3 | … | n-3 | n-2 | n-1 |
1 | 2 | 3 | 4 | … | n-2 | n-1 | 0 |
2 | 3 | 4 | 5 | … | n-1 | 0 | 1 |
… | … | … | … | … | … | … | … |
n-3 | n-2 | n-1 | 0 | … | n-6 | n-5 | n-4 |
n-2 | n-1 | 0 | 1 | … | n-5 | n-4 | n-3 |
n-1 | 0 | 1 | 2 | … | n-4 | n-3 | n-2 |
表1 n阶拉丁方矩阵举例
需要说明的是,本公开实施例中所列举的计算正交拉丁方矩阵的方式只是举例说明,任何一种可以计算正交拉丁方矩阵的方式都适用于本公开实施例。
在本公开实施例中,使用拉丁方矩阵对进行分组处理时,具体的:
针对本次分组处理使用的拉丁方矩阵的任意一个元素,根据该元素所在的行号和/或列号确定子集合标识;根据该子集合标识确定该元素对应的包含多组账户的子集合;根据所述元素的值确定账户标识,并从所述元素对应的包含多组账户的子集合中选择确定的所述账户标识对应的一组账户;其中子集合标识是根据逐级划分过程中除最后一级划分外的每一级划分得到的每组账户的标识确定的。
针对图3所示对账户集合进行逐级划分后得到的子集合1至子集合n,采用上述表1给出的n阶拉丁方矩阵进行分组处理时,多个子集合即子集合1~子集合n,其中子集合1的标识即第1次划分时为账户0分配的标识,因而子集合标识为0,同理子集合2的标识为1,子集合n的标识为n-1,在采用表1中的第一行的元素从子集合1~n中选取n组账户时,具体的,考虑到元素0~n-1对应的列号分别为1~n,而子集合1~n的标识为0~n-1,因而在根据元素所在的列号确定子集合标识时,选取的子集合标识为列号-1,例如元素0所在的列号为1(即第1列),则子集合标识为1-1=0,则从子集合标识为0的子集合中选账户标识(即最后一级划分时为每组账户分配的标识)为0(元素的值)的账户,即选择账户(0,0),将根据位于同一行上的元素选择的n组账户组成一个测试组(即图3所示测试组1),则这一测试组中包含的n组账户分别为(0,0),(1,1),…,(n-1,1n-1),假设将根据位于同一行上的元素选择的多组账户组成一个测试组,最终则可得到如图5所示的n个测试组。
具体的,每次使用拉丁方矩阵进行分组处理时,假设n阶拉丁方矩阵的行号i或列号j∈{0,1,2,…,n-1},例如由第k个拉丁方LSk对账户集合进行一次分组处理如下:
对所有i∈{0,1,2,…,n-1},获得LSk的第j列第i行的元素的值ak(i,j),从对账户集合进行划分后得到的多个账户子集合中选取以该元素的的行号为子集合标识的子集合Aij,从Aij中选取以该元素的值为账户标识的一组账户根据位于同一列的元素选择的n组账户合并构成测试组
则根据第k个拉丁方矩阵将账户集合进行分组处理后得到的测试组为:
在本公开实施例中,可选的,n也可以是除素数以外的其他自然数,例如n=4。
假设,n=4时的选取两个正交拉丁方矩阵为:
在对账户集合进行两级划分之后得到16组账户(对应4个子集合),如图6A所示,其中采用第一个4阶矩阵,根据第一行的元素从4个子集合中选取4组账户组成测试组1,具体的,根据元素4所在的列号(列号为j=1)选择子集合1(子集合标识为1),从子集合1中选择以该元素的值为账户标识的账户,即选择账户标识为4的账户,如图所示,即选取账户(1,4),同理根据第一行其他元素从子集合中选择账户,最终将根据第一行的元素选择的4组账户组成一个测试组,即测试组1包含的4组账户为:(1,4),(2,3),(3,2),(4,1);同理,根据第2行的元素选择4组账户组成测试组2,则测试组2包含的4组账户为:(1,2),(2,1),(3,4),(4,3);根据第3行的元素选择4组账户组成测试组3,则测试组3包含的4组账户为:(1,1),(2,2),(3,3),(4,4);根据第4行的元素选择4组账户组成测试组4,则测试组4包含的4组账户为:(1,3),(2,4),(3,1),(4,2)。
同理,根据第二个4阶矩阵,如图6B所示,根据位于同一行的上元素选择的4组账户组成一个测试组,可知测试组1包含的4组账户为:(1,1),(2,3),(3,4),(4,2);测试组2包含的4组账户为:(1,2),(2,4),(3,3),(4,1);测试组3包含的4组账户为:(1,3),(2,1),(3,2),(4,4);测试组4包含的4组账户为:(1,4),(2,2),(3,1),(4,3)。
可知,图6A中的4个测试组与图6B中的4个测试组之间相互正交(任意两个测试组中包含的账户不相同)。
在本公开实施例中,进行分组测试实验时选择的账户应该是同一次分组处理得到的测试组中的账户,具体的,在选择账户进行实验时有两种选择方式:
选择方式一、在根据任意一个拉丁方矩阵对账户集合进行一次分组处理后,从分组得到的多个测试组中选择至少一个测试组进行ab实验;
例如,一共有n-1个n阶拉丁方矩阵,假设根据第1个拉丁方矩阵对账户集合进行分组处理得到n个测试组,则可从这n个测试组中选取m个没有被其他实验占用的测试组进行m/n大小的ab实验。
需要说明的是,在本公开实施例中,每一组账户是否被实验占用是会被标记的,被标记为占用的账户无法再进行其他实验;新的实验只能在未被占用的账户中进行。
选择方式二、在对账户集合进行n-1次分组处理后,从任意次一次分组处理得到的多个测试组中选择至少一个测试组进行ab实验。
例如,一共有n-1个n阶拉丁方矩阵,并根据这n-1个拉丁方矩阵对账户集合进行了n-1次分组处理,则可从第3次分组处理得到n个测试组中选取m个没有被其他实验占用的测试组进行m/n大小的ab实验。
需要说明的是,本公开实施例中所列举的选择方式只是举例说明,从采用拉丁方矩阵对账户集合进行同一次分组处理的结果中选择账户的方式都适用于本公开实施例。
可选的,考虑到历史记忆效应的影响,在进行ab实验时,从同一次分组处理得到的至少一个测试组中选择目标账户,并使用目标账户进行本次分组测试实验时,目标账户应为在本次分组测试实验之前锁定时长内未使用的账户。
具体的,可以通过设置账户锁的方式将进行过分组测试实验的账户锁住锁定时长。
例如,在一次ab实验中选取了m个测试组进行实验,则实验结束之后,将这m个测试组锁住一个期限,例如7天,在锁定时长内这m个测试组中的账户不能被新的ab实验选取。
在本公开实施例中的分组测试实验指需要对几种不同方案对比的实验,例如ab实验,ab实验是一种常见的分组测试实验。
在本公开实施例中,提供严格正交的账户划分方法,保证了不同的ab实验之间使用的账户严格正交,使得不同实验之间因账户划分不均匀造成的影响降到最低,严格消除了多个ab实验之间因为账户划分不均匀造成的影响,并且通过设置账户锁极大地降低历史记忆效应的影响。
图7是根据一示例性实施例示出的一种账户划分的完整方法流程图,具体包括以下步骤:
S71,随机设置一个随机种子,使用cityhash算法将账户集合S划分为5组账户Si(i=1,2,…,5);
S72,针对每一组Si,再随机选取1个随机种子,使用cityhash算法将Si等分为5组,最后得到5个子集合;
S73,设计4个两两正交的5阶拉丁方矩阵;
S74,根据得到的4个拉丁方矩阵中的其中一个进行1次分组处理得到4个测试组;
S75,从S74得到的4个测试组中选取2个测试组,分别为测试组1和测试组2;
S76,选取测试组1进行1号ab实验中A1页面的测试,选取测试组2进行1号ab实验中B1页面的测试;
S77,在1号实验测试完成后,再从S73得到的4个拉丁方矩阵中选取另一个拉丁方矩阵,根据该拉丁方矩阵再进行1次分组处理得到4个测试组;
S78,从S76得到4个测试组中选取2个测试组,分别为测试组5和测试组6;
S79,选取测试组5进行2号ab实验中A2页面的测试,选取测试组6进行2号ab实验中B2页面的测试。
在本公开实施例中所描述的对账户的划分的方法同样适用于在进行ab实验时对流量的划分,只是描述方式不同。
采用本公开中的账户信息处理方法,应用到流量划分场景下时,在ui(用户界面)改进主要体现有:
例如某段视频应用,该应用在某些特定内容的作品的播放界面下方增加了可点击的入口功能:“选集”,通过点击这个功能后可进入到一个聚合场景,里面的内容都是相似的内容,例如小连续剧(一种视频的类型)。在随机流量划分场景下,因为历史试验的关系,流量之间存在超过1%以上的历史差异。通过使用本公开提到的方法,由于对流量进行多次分组处理后得到的测试组之间严格正交,因而在采用测试组进行ab实验验证时,以对两个小连续剧进行ab实现的验证,假设在对第一个小连续剧进行ab测试时采用对流量第一次分组处理得到的测试组1和测试组2,对第二个小连续剧进行ab测试时采用对流量第二次分组处理得到的测试组1和测试组2,可以保证第一次分组处理中的测试组中的流量对象均匀分布到第二次分组处理得到的多个测试组中,因此可以保证在对第二个小连续剧进行ab测试时测试组中的流量对象对测试结果的影响减小,使得历史差异消除在0.1%以下。
图8是根据一示例性实施例示出的一种账户信息的处理装置框图。参照图8,该装置包括处理单元800和测试单元801。
处理单元800,被配置为执行使用拉丁方矩阵对多个子集合中的账户进行多次分组处理,其中任意两次分组处理使用的拉丁方矩阵相互正交,所述多个子集合是对账户集合进行逐级划分后得到的,且同一个子集合中包含的多组账户是对上一级划分后得到的同一组账户继续进行划分得到的;
每次使用拉丁方矩阵进行分组处理都执行下列过程:
针对本次分组处理使用的拉丁方矩阵的任意一个元素,根据所述元素从所述元素对应的包含多组账户的子集合中选择一组账户;
将根据位于同一行或同一列上的元素选择的多组账户组成至少一个测试组。
可选的,所述逐级划分中第一级划分是将账户集合等分为n组账户,后续每一级划分是对上一级划分得到的每组账户继续等分为n组账户,n为素数。
可选的,所述拉丁方矩阵为n阶。
可选的,所述处理单元800具体用于:
针对本次分组处理使用的拉丁方矩阵的任意一个元素,根据所述元素所在的行号和/或列号确定子集合标识;
根据所述子集合标识确定所述元素对应的包含多组账户的子集合,其中所述子集合标识是根据所述逐级划分中除最后一级划分外的每一级划分得到的每组账户的标识确定的;
根据所述元素的值确定账户标识,并从所述元素对应的包含多组账户的子集合中选择确定的所述账户标识对应的一组账户;
其中,所述账户标识是在划分得到所述每组账户的过程中利用随机种子分配的,所述逐级划分中不同级划分所使用的随机种子不同,且除第一级划分外的每一级划分中所使用的随机种子不同。
可选的,若所述逐级划分的级数为两级,则所述子集合标识为所述元素所在的行号或列号。
可选的,所述账户划分装置还包括:
测试单元801,被配置为执行从同一次分组处理得到的至少一个测试组中选择目标账户;
使用所述目标账户进行本次分组测试实验;其中,所述目标账户为在本次分组测试实验之前锁定时长内未使用的账户。
关于上述实施例中的装置,其中各个单元执行请求的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图9是根据一示例性实施例示出的一种用于账户信息的处理装置900的框图,该装置包括:
处理器910;
用于存储所述处理器910可执行指令的存储器920;
其中,所述处理器910被配置为执行所述指令,以实现本公开实施例中的任一账户信息的处理方法。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器920,上述指令可由装置900的处理器910执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本公开实施例还提供一种计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行实现本公开实施例上述第一方面以及第一方面涉及的任一可能涉及的方法。
需要说明的是,该方案中,涉及的用户设备信息(如,用户设备信息、设备上存储的信息等)、用户个人信息(如用户生物信息、用户姓名、昵称、地理位置等)、与第三方软件交互的信息、以及用户的操作行为信息等,均是经用户授权而采集并进行后续处理或分析的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种账户信息的处理方法,其特征在于,包括:
使用拉丁方矩阵对多个子集合中的账户进行多次分组处理,其中任意两次分组处理使用的拉丁方矩阵相互正交,所述多个子集合是对账户集合进行逐级划分后得到的,且同一个子集合中包含的多组账户是对上一级划分后得到的同一组账户继续进行划分得到的;
每次使用拉丁方矩阵进行分组处理都执行下列过程:
针对本次分组处理使用的拉丁方矩阵的任意一个元素,根据所述元素从所述元素对应的包含多组账户的子集合中选择一组账户;
将根据位于同一行或同一列上的元素选择的多组账户组成至少一个测试组。
2.根据权利要求1所述的账户信息的处理方法,其特征在于,所述逐级划分中第一级划分是将账户集合等分为n组账户,后续每一级划分是对上一级划分得到的每组账户继续等分为n组账户,n为素数。
3.根据权利要求2所述的账户信息的处理方法,其特征在于,所述拉丁方矩阵为n阶。
4.根据权利要求1所述的账户信息的处理方法,其特征在于,所述根据所述元素从所述元素对应的包含多组账户的子集合中选择一组账户的步骤包括:
针对本次分组处理使用的拉丁方矩阵的任意一个元素,根据所述元素所在的行号和/或列号确定子集合标识;
根据所述子集合标识确定所述元素对应的包含多组账户的子集合,其中所述子集合标识是根据所述逐级划分中除最后一级划分外的每一级划分得到的每组账户的标识确定的;
根据所述元素的值确定账户标识,并从所述元素对应的包含多组账户的子集合中选择确定的所述账户标识对应的一组账户;
其中,所述账户标识是在划分得到所述每组账户的过程中利用随机种子分配的,所述逐级划分中不同级划分所使用的随机种子不同,且除第一级划分外的每一级划分中所使用的随机种子不同。
5.根据权利要求4所述的账户信息的处理方法,其特征在于,若所述逐级划分的级数为两级,则所述子集合标识为所述元素所在的行号或列号。
6.根据权利要求1~5任一所述的账户信息的处理方法,其特征在于,所述账户划分方法还包括:
从同一次分组处理得到的至少一个测试组中选择目标账户;
使用所述目标账户进行本次分组测试实验;其中,所述目标账户为在本次分组测试实验之前锁定时长内未使用的账户。
7.一种账户信息的处理装置,其特征在于,包括:
处理单元,被配置为执行使用拉丁方矩阵对多个子集合中的账户进行多次分组处理,其中任意两次分组处理使用的拉丁方矩阵相互正交,所述多个子集合是对账户集合进行逐级划分后得到的,且同一个子集合中包含的多组账户是对上一级划分后得到的同一组账户继续进行划分得到的;
每次使用拉丁方矩阵进行分组处理都执行下列过程:
针对本次分组处理使用的拉丁方矩阵的任意一个元素,根据所述元素从所述元素对应的包含多组账户的子集合中选择一组账户;
将根据位于同一行或同一列上的元素选择的多组账户组成至少一个测试组。
8.根据权利要求7所述的账户信息的处理装置,其特征在于,所述处理单元具体用于:
针对本次分组处理使用的拉丁方矩阵的任意一个元素,根据所述元素所在的行号和/或列号确定子集合标识;
根据所述子集合标识确定所述元素对应的包含多组账户的子集合,其中所述子集合标识是根据所述逐级划分中除最后一级划分外的每一级划分得到的每组账户的标识确定的;
根据所述元素的值确定账户标识,并从所述元素对应的包含多组账户的子集合中选择确定的所述账户标识对应的一组账户;
其中,所述账户标识是在划分得到所述每组账户的过程中利用随机种子分配的,所述逐级划分中不同级划分所使用的随机种子不同,且除第一级划分外的每一级划分中所使用的随机种子不同。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现根据权利要求1至权利要求6中任一项所述的账户信息的处理方法。
10.一种存储介质,其特征在于,当所述存储介质中的指令由账户划分的电子设备的处理器执行时,使得账户信息的处理装置能够执行根据权利要求1至权利要求6中任一项所述的账户信息的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910580611.0A CN112148584A (zh) | 2019-06-28 | 2019-06-28 | 账户信息的处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910580611.0A CN112148584A (zh) | 2019-06-28 | 2019-06-28 | 账户信息的处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112148584A true CN112148584A (zh) | 2020-12-29 |
Family
ID=73891280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910580611.0A Pending CN112148584A (zh) | 2019-06-28 | 2019-06-28 | 账户信息的处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112148584A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101047402A (zh) * | 2006-03-28 | 2007-10-03 | 华为技术有限公司 | 扩展拉丁方族序列产生方法/装置和通信控制方法/*** |
CN104827339A (zh) * | 2015-04-10 | 2015-08-12 | 南通大学 | 基于正交试验分析的机床主轴热误差优工况确定方法 |
CN104933261A (zh) * | 2015-06-29 | 2015-09-23 | 北京理工大学 | 一种高效序列拉丁超立方试验设计方法 |
US20150323512A1 (en) * | 2014-05-09 | 2015-11-12 | Mks Instruments, Inc. | Computer-Implemented Systems and Methods for Generating Generalized Fractional Designs |
CN109636509A (zh) * | 2018-11-20 | 2019-04-16 | 华中科技大学 | 一种基于非对称距离构建子矩阵的评分预测方法 |
CN109710511A (zh) * | 2018-12-04 | 2019-05-03 | 北京达佳互联信息技术有限公司 | Ab测试方法、装置、服务器及存储介质 |
-
2019
- 2019-06-28 CN CN201910580611.0A patent/CN112148584A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101047402A (zh) * | 2006-03-28 | 2007-10-03 | 华为技术有限公司 | 扩展拉丁方族序列产生方法/装置和通信控制方法/*** |
US20150323512A1 (en) * | 2014-05-09 | 2015-11-12 | Mks Instruments, Inc. | Computer-Implemented Systems and Methods for Generating Generalized Fractional Designs |
CN104827339A (zh) * | 2015-04-10 | 2015-08-12 | 南通大学 | 基于正交试验分析的机床主轴热误差优工况确定方法 |
CN104933261A (zh) * | 2015-06-29 | 2015-09-23 | 北京理工大学 | 一种高效序列拉丁超立方试验设计方法 |
CN109636509A (zh) * | 2018-11-20 | 2019-04-16 | 华中科技大学 | 一种基于非对称距离构建子矩阵的评分预测方法 |
CN109710511A (zh) * | 2018-12-04 | 2019-05-03 | 北京达佳互联信息技术有限公司 | Ab测试方法、装置、服务器及存储介质 |
Non-Patent Citations (3)
Title |
---|
WEIXIN_30900589: "测试用例设计之正交表法详解", Retrieved from the Internet <URL:http://www.cnblogs.com/1737623253zhang/p/10859419.html> * |
刘晓路;陈英武;荆显荣;陈盈果;: "优化拉丁方试验设计方法及其应用", 国防科技大学学报, no. 05 * |
吴新丽;李仁旺;张思荣;徐兴;罗昊;: "QFD与正交试验混合方法在大批量定制中的应用研究", 中国机械工程, no. 05, 10 March 2011 (2011-03-10) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104424263B (zh) | 一种数据记录的处理方法及装置 | |
CN110795603B (zh) | 一种基于树模型的预测方法和装置 | |
CN106815226A (zh) | 文本匹配方法和装置 | |
CN110209551B (zh) | 一种异常设备的识别方法、装置、电子设备及存储介质 | |
WO2017118335A1 (zh) | 一种映射方法和设备 | |
CN111552509A (zh) | 一种接口间依赖关系的确定方法及装置 | |
Moin et al. | Hybrid genetic algorithm with multiparents crossover for job shop scheduling problems | |
Canary et al. | Summary goodness‐of‐fit statistics for binary generalized linear models with noncanonical link functions | |
CN106227881B (zh) | 一种信息处理方法及服务器 | |
EP3452916A1 (en) | Large scale social graph segmentation | |
CN106599291B (zh) | 数据分组方法及装置 | |
CN106909619B (zh) | 一种基于偏移调节和竞价的混合社交网络聚类方法及*** | |
WO2020234515A1 (en) | Compatible anonymization of data sets of different sources | |
CN112148584A (zh) | 账户信息的处理方法、装置、电子设备及存储介质 | |
Gąsieniec et al. | Efficiently correcting matrix products | |
CN111078413B (zh) | 一种定时任务的执行方法、装置、计算机设备及存储介质 | |
CN106657128B (zh) | 基于通配符掩码规则的数据包过滤方法及装置 | |
US20230359769A1 (en) | Systems and Methods for Anonymizing Large Scale Datasets | |
CN109993338B (zh) | 一种链路预测方法及装置 | |
CN106803202B (zh) | 一种待测试交易记录的提取方法和装置 | |
Gossmann et al. | Identification of significant genetic variants via SLOPE, and its extension to group SLOPE | |
DK178764B1 (en) | A computer-implemented method for carrying out a search without the use of signatures | |
CN109949070B (zh) | 用户黏度评估方法、装置、计算机设备及存储介质 | |
Haroutunian et al. | Multiple hypotheses LAO testing for many independent objects | |
CN112507710A (zh) | 估计差分隐私保护数据中分词频度的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |