题目:
有A、B、C、D、E五家美食餐馆需要推荐给用户,初始被推荐的概率依次为40%、30%、10%、15%、5%。
每次根据推荐概率随机推荐一家,推荐给用户的餐馆用户可以给其好评,也可以不给。
需求:通过多次推荐进行动态调整每家美食餐馆被推荐的概率,提高用户给好评次数多的餐馆被推荐的概率。
补充说明:
1,初始给出的概率是后台通过大数据得出的,但是实际上每个用户喜欢的不一样,所以每个用户客户端还需要通过长期对用户的操作(给好评)进行统计分析,调整概率。最终的目的是为了尽可能的推荐用户喜欢的餐馆;
2,在对用户行为统计的时候会受到当前概率的影响,比如推荐概率为40%的A餐馆出现的机会远大于概率为5%的E餐馆,所以简单的统计好评是不行的,需要将这种因素给排除掉。
这是个开放性的问题。动态调整标准应尽量避免历史的影响,及时反映最新的客户认可度。不妨定义客户对餐馆的当前认可度为两次动态调整期间,该餐馆在推荐后获得好评的比率。动态调整推荐概率正比于当前认可度即可。
例如,本次动态调整时,5家餐馆距离上次调整的好评情况为:
A: 10/40(推荐了40次,获得好评10次)= 0.25
B: 20/30 = 0.67
C: 3/10 = 0.3
D: 10/15 = 0.67
E: 2/5 = 0.4
则调整后的推荐概率更新为:
A: 0.25 / (0.25 + 0.67 + 0.3 + 0.67 + 0.4) = 0.25 / 2.29 = 11%
B: 0.67 / 2.29 = 29%
C: 0.3 / 2.29 = 13%
D: 0.67 / 2.29 = 29%
E: 0.4 / 2.29 = 18%