当前位置: 首页 > java >正文

召回11:地理位置召回、作者召回、缓存召回

GeoHash 召回

属于地理位置召回,用户可能对附近发生的事情感兴趣。GeoHash 是一种对经纬度的编码,地图上每个单位矩形的 GeoHash 的前几位是相同的,GeoHash 编码截取前几位后,将相同编码发布的内容按时间顺序(先是时间更晚的)呈现,还需要经过排序模型的选择。这种方式并没有个性化,从另一个角度来说,用户本就对附近的事有一定的兴趣。

假设你在北京中关村,GeoHash 编码是 wx4g0ec1,那周边几百米范围内的位置可能都是以 wx4g0ec 开头。
所以,如果你想查“附近的人”或“附近的商店”,只要查 GeoHash 以 wx4g0ec 开头的就行。

同城召回

与 GeoHash 召回类似,范围更大,按照当前的城市和以前居住过的城市的内容推荐。

作者召回

用户对关注的作者发布的笔记感兴趣。系统会维护两个索引,一个是关注的作者,另一个是作者发布的笔记,同样是按时间顺序倒排。召回时对用户的 id 查询关注的作者,然后再查找这些作者最新的笔记。

有交互的作者召回

如果用户对某笔记感兴趣(点赞、收藏、转发),那么用户可能对该作者的其他笔记也感兴趣。维护用户交互过的作者的索引,长时间未交互的就删除,维护最近交互过的作者,类似 lru。召回时对用户的 id 查询有交互的作者,然后再查找这些作者最新的笔记。

相似作者召回

和 itemcf 原理类似,如果用户喜欢某作者,那么用户也很有可能喜欢类似的作者。对作者维护相似作者的索引。召回时对用户查询其感兴趣的作者,然后再查询相似的作者,最后返回最新的笔记。例如用户有 n n n 个关注的作者,每个作者有 k k k 个相似的作者,这就会有 n k nk nk 个作者,每个作者都返回其最新的笔记也能有 n k nk nk 篇笔记了。

缓存召回

精排没有被曝光的笔记中排名靠前的,比如前 50,直接丢弃很浪费,缓存起来作为一条召回通道。
会遇到的问题:缓存大小固定,需要退场机制。
退场机制也和 lru 的思想类似。比如一旦笔记成功曝光,就从缓存退场;超过缓存大小移除最早进入的笔记;笔记召回上限为 10 次,一旦超过就退场;笔记最多保存 3 天,超过三天就退场。这些是相对暴力的方法,还有更精细的方法,比如想要多扶持低曝光的笔记可以设置动态的阈值,曝光次数较低的退场时间更长。

http://www.xdnf.cn/news/6279.html

相关文章:

  • Maven clean 提示文件 java.io.IOException
  • 【网工】华为配置基础篇①
  • AI 时代, 需要什么样的数据底座?
  • 新型智慧园区技术架构深度解析:数字孪生与零碳科技的融合实践
  • STL?list!!!
  • 驱动-定时-秒-字符设备
  • 高频交直流电流测量技术:射频PA与MEMS测试的简单解决方案
  • kafka调优
  • 漏洞修复:tomcat 升级版本 spring-boot-starter-tomcat 的依赖项
  • 【抽丝剥茧知识讲解】引入mybtis-plus后,mapper实现方式
  • 从理论到实战:模糊逻辑算法的深度解析与应用实践
  • RabbitMQ高级篇-MQ的可靠性
  • 精益数据分析(62/126):从客户访谈评分到市场规模估算——移情阶段的实战进阶
  • 深入理解 Dijkstra 算法:原理、实现与优化
  • 【MCP教程系列】SpringBoot 搭建基于 Spring AI 的 SSE 模式 MCP 服务
  • 数字信号处理-大实验1.3
  • 为什么我不能获取到镜像,ImagePullBackoff
  • 观测云:从云时代走向AI时代
  • 二叉树(中序遍历)
  • 海信璀璨505U6真空冰箱闪耀“国家德比”
  • 从零开始完成“大模型在牙科诊所青少年拉新系统中RAG与ReACT功能实现”的路线图
  • 【Python】对象生命周期全解析
  • 【Python-Day 13】Python 元组 (Tuple) 详解:从创建、操作到高级应用场景一网打尽
  • springboot AOP 接口限流(基于IP的接口限流和黑白名单)
  • 万字解析:Java字符串
  • vue3基础学习(上) [简单标签] (vscode)
  • “redis 目标计算机积极拒绝,无法连接” 解决方法,每次开机启动redis
  • 图表制作-基础饼图
  • Nightingale监控系统介绍与部署(可离线部署)
  • sql server 2019 将单用户状态修改为多用户状态