新Alpha前端页面


短期兴趣表合并逻辑

<p><strong>计算短期对象兴趣表</strong></p> <ol> <li>提取指定时间范围,最多不超过N条的用户浏览的对象主键。</li> <li>根据对象的浏览时长进行排序,去重,统计对象的饿浏览次数+点赞数+评论数+收藏数作为权重值</li> <li>遍历剩余对象,判断对象的类型,如果不是一般对象,则通过关联对象,找到对应的一般对象主键。通过relation_stat(排除数字等非一般有序概念,提取peers中概念)、关联强度(从高到低)、排序挑选出权重从高到低一定数量的的一般对象主键。</li> <li>得到某一个时间范围的短期兴趣表</li> <li>写入到mysql表</li> </ol> <p><strong>合并短期对象兴趣表</strong></p> <ol> <li>检查该用户之前是否已存在短期对象兴趣表,如果不存在,直接写入</li> <li>如果有,合并短期对象兴趣表,旧短期兴趣表a 新短期兴趣表b</li> <li>a与b 交集部分的对象,使用权重加权计算 (a1/a+b1/b)/2*(a+b) a与b 只有a独有的对象 原来的权重上固定百分比削减 (如10%) a与b 只有b独有的对象 直接赋值</li> <li>检查c中对象数量是否超过该用户本身对象上限,如果超过,按照权重从高到低,移除多余的对象主键</li> </ol> <p><strong>计算短期概念表</strong></p> <ol> <li>从计算出的短期对象兴趣表中的数据加工出短期概念表。</li> <li>概念的权重是对象主键权重累加</li> </ol> <p><strong>从资源对象主键提取一般对象主键</strong></p> <ol> <li>实例化主键,提取主键的relation_stat数据,</li> <li>优先计算relation_snapshat的数据,如果没有再提取relation_stat中除了资源对象数据(可以包括数值对象),按照关联强度从多到小 提取关联的主键列表</li> <li>根据主键的权重排序,提取前10个主键(原始权重/对象主键数量)</li> </ol> <p><strong>触发计算用户兴趣表</strong></p> <ol> <li>由前端请求后端指定接口,后端异步执行计算该用户的对象短期兴趣表,合并对象短期兴趣表,和对象长期兴趣表 url: /api/user/v1/recommend/ 使用模块:celery</li> </ol> <p><strong>推荐方式-综合模式</strong></p> <ol> <li>获取用户短期概念表,然后按照概念类型生成对象。 1.1 根据不同概念权重生成不同数量的对象主键(对象的来源 用户短期对象兴趣表和用户短期概念表随机抽取对象) 1.2 从选择的对象中,随机选择部分对象根据对象的relation_stat中获取articles、peers、img、video、audio。优先提取img、video、audio、然后提取相似对象。 1.3 整理获取到主键,然后过滤掉已经被推荐过用户主键 2 根据主键提取数据</li> </ol> <p>垂类-新闻推荐 从全局变量中提取新闻所属的概念,随机抽取概念,根据概念抽取对象 垂类-图集</p> <p>垂类-视频</p> <p>垂类-音频</p>

页面列表

ITEM_HTML