基于槽序匹配的多条件标签分组方法及系统与流程
本申请涉及计算机软件,尤其是涉及基于槽序匹配的多条件标签分组方法及系统。
背景技术:
1、在游戏大厅、内容平台、营销系统等应用场景中,通常需要根据配置比例将新接入的用户分配到不同分组,并为用户打上相应标签。
2、现有技术方案中,标签分组方式主要采取独立随机抽签方案及简单预生成序列方案,其中,独立随机抽签方案是在每个用户接入时,调用随机函数按配置比例独立抽取分组;该方案实现简单,但在样本量较小时,实际分组比例容易偏离配置比例,例如配置30%的用户进入a组,但前100个用户中可能仅有25个进入a组,导致分组比例失真;简单预生成序列方案则是系统预先按比例生成一个槽位数组,再进行一次洗牌,新用户按顺序消费槽位;该方案能保证长期总量精确,但简单洗牌仅保证全局比例,不能保证任意短滑动窗口内的局部比例稳定,例如长度为100的序列中全局有30个a,但前10个槽位可能一个a都没有,导致短期分组比例波动较大。此外,现有多条件标签规则通常采用硬编码的if-else顺序判断,规则之间的依赖关系隐式存在,容易出现“某标签填在依赖标签上边就相当于必定没有这个标签”的问题,标签的强制移除、条件移除、固定覆盖等状态转移也缺乏统一优先级仲裁,规则热更新时已分配用户容易受到影响。因此,如何提供一种同时满足长期精确配比、短期局部比例稳定、短期顺序不可预测、在线分配开销低、规则依赖显式化、状态转移可仲裁且支持热更新的用户分组与标签分配方法是本发明要解决的根本问题。
技术实现思路
1、为了提供一种同时满足长期精确配比、短期局部比例稳定、短期顺序不可预测、在线分配开销低、规则依赖显式化、状态转移可仲裁且支持热更新的用户分组与标签分配方法,本申请提供了基于槽序匹配的多条件标签分组方法及系统,采用如下的技术方案:
2、第一方面,本发明提供了基于槽序匹配的多条件标签分组方法,包括:
3、根据预设的分组比例参数生成槽位序列,所述槽位序列的长度固定且各分组元素数量精确匹配所述比例参数;
4、对所述槽位序列进行一次随机置乱操作;
5、为每个新接入的用户分配一个按预设规则递增的顺序游标值;
6、根据所述顺序游标值对所述槽位序列的长度取模以获得索引,以所述索引在已置乱的槽位序列中查表得到该用户的标签分组结果。
7、可选地,生成槽位序列的过程包括:
8、获取槽位总数和各分组占比;
9、根据槽位总数和各分组占比计算第i个分组的槽位数量;
10、生成包含所述槽位数量的第i个分组的槽位序列。
11、可选地,所述随机置乱操作采用fisher-yates洗牌算法。
12、可选地,在随机置乱操作之后,所述方法还包括:
13、以长度为w的滑动窗口遍历置乱后的槽位序列,统计每个窗口内各分组元素的实际数量与期望数量的偏差,构建滑动窗口偏差张量;
14、以所述滑动窗口偏差张量、序列随机性度量和标签依赖约束构建目标函数;
15、采用保持各分组元素总数不变的局部搜索算法交换槽位序列中的元素,最小化所述目标函数,得到约束优化槽位序列;
16、所述标签分组结果的查表过程包括:
17、以所述索引在所述约束优化槽位序列中查表得到该用户的标签分组结果。
18、可选地,所述局部搜索算法为模拟退火算法;
19、所述模拟退火算法随机交换两个不同分组元素的位置,计算目标函数变化量,若变化量小于零则接受交换,否则以metropolis准则接受交换,并按降温系数降低温度。
20、可选地,所述滑动窗口长度w根据最小分组元素数量动态调整,满足:
21、
22、其中,round()为四舍五入函数,k为调节系数,base为槽位总数,ming为最小分组元素数量,、分别为窗口长度下限和上限。
23、可选地,所述方法还包括:
24、将所述标签分组结果作为初始分组;
25、获取用户属性,按声明顺序对多条件规则进行求值,首个满足条件的规则命中后终止后续规则评估,得到候选标签及状态转移,所述候选标签包括目标标签集合和禁止标签集合;
26、按状态转移优先级对候选标签进行仲裁,并结合所述初始分组更新用户标签。
27、可选地,按声明顺序对多条件规则进行求值的过程包括:
28、根据标签依赖关系构建标签依赖有向无环图,对所述多条件规则进行拓扑排序;
29、按拓扑排序和声明顺序对多条件规则进行求值;若检测到依赖关系存在环,则输出告警并回退至规则声明顺序。
30、可选地,每条条件规则配置有生效时间戳;按当前时间过滤未生效的条件规则,仅对已生效的条件规则进行求值;
31、若所述查表得到的标签分组结果被所述多条件规则标记为预设禁止分组集合,则递增所述顺序游标值并重新取模查表;记录连续递增次数,当所述连续递增次数超过阈值时,触发调整策略,所述调整策略至少包括槽位序列的约束重排与调整滑动窗口长度中的一种。
32、第二方面,本发明提供了基于槽序匹配的多条件标签分组系统,包括:
33、配置获取模块,用于获取预设的分组比例参数;
34、槽位序列生成模块,用于根据所述分组比例参数生成一个长度固定、各分组元素数量精确匹配所述比例参数的槽位序列;
35、随机置乱模块,用于对所述槽位序列执行一次随机置乱操作;
36、游标管理模块,用于为每个新接入的用户分配一个按预设规则递增的顺序游标值;
37、分组分配模块,用于根据所述顺序游标值对所述槽位序列长度取模得到索引,并以所述索引在已置乱的槽位序列中查表得到该用户的标签分组结果。
38、综上所述,本申请包括以下至少一种有益技术效果:
39、本发明中槽位序列中每个分组元素数量严格等于配置比例对应的数量,因此满足长期精确配比;通过滑动窗口偏差张量约束重排,进一步保证短期局部比例稳定;全局随机置乱和局部搜索中的随机交换保证用户无法预测下一个分组;采用顺序游标取模查表的方式,使得在线开销较低;通过规则依赖显式化,避免隐式顺序导致标签必定缺失;同时满足状态转移可仲裁及热更新支持。
1.基于槽序匹配的多条件标签分组方法,其特征在于,包括:
2.根据权利要求1所述的基于槽序匹配的多条件标签分组方法,其特征在于,生成槽位序列的过程包括:
3.根据权利要求1所述的基于槽序匹配的多条件标签分组方法,其特征在于,所述随机置乱操作采用fisher-yates洗牌算法。
4.根据权利要求1所述的基于槽序匹配的多条件标签分组方法,其特征在于,在随机置乱操作之后,所述方法还包括:
5.根据权利要求4所述的基于槽序匹配的多条件标签分组方法,其特征在于,所述局部搜索算法为模拟退火算法;
6.根据权利要求4所述的基于槽序匹配的多条件标签分组方法,其特征在于,所述滑动窗口长度w根据最小分组元素数量动态调整,满足:
7.根据权利要求4所述的基于槽序匹配的多条件标签分组方法,其特征在于,所述方法还包括:
8.根据权利要求7所述的基于槽序匹配的多条件标签分组方法,其特征在于,按声明顺序对多条件规则进行求值的过程包括:
9.根据权利要求7所述的基于槽序匹配的多条件标签分组方法,其特征在于,每条条件规则配置有生效时间戳;按当前时间过滤未生效的条件规则,仅对已生效的条件规则进行求值;
10.基于槽序匹配的多条件标签分组系统,其特征在于,所述系统用于执行如权利要求1-9中任一项所述的基于槽序匹配的多条件标签分组方法,包括:
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com