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

【王树森推荐系统】聚类召回

基本思想

  • 如果用户喜欢一篇笔记,那么他会喜欢内容相似的笔记。比如说我喜欢买房的笔记,系统给我推买房的笔记我可能就会点进去
  • 事先训练一个神经网络,基于笔记的类目和图文内容,把笔记映射到向量。向量的相似度就是笔记内容的相似度
  • 对笔记向量做聚类,划分为 1000 个 cluster,记录每个 cluster 的中心方向(k-means聚类,用余弦相似度)

记录索引

  • 一篇新笔记发布后,用神经网络把它映射到一个特征向量
  • 从 1000 个向量(对应 1000 个cluster)中找到最相似的向量,作为新笔记的 cluster
  • 索引:cluster → 笔记ID列表(按时间倒排)

线上召回

  • 给定用户 ID,找到他的 last-n 交互的笔记列表,把这些笔记作为种子笔记
  • 把每篇种子笔记映射到向量,寻找最相似的 cluster(知道用户对哪些 cluster 感兴趣)
  • 从每个 cluster 的笔记列表中,取回最新的 m 篇笔记
  • 最多取回 mn 篇新笔记
  • 缺点和类目召回一样:只对刚刚发布的新笔记有效,有些笔记过了一两个小时后就不太可能被召回了

内容相似度模型

提取图文特征

  • 用 CNN 提取图片的特征
  • 用 BERT 提取文字的特征
  • 把图片的特征和文字的特征拼接在一起水乳一个全连接层
  • 全连接层输出笔记的特征向量
    在这里插入图片描述

两篇笔记的内容相似度

  • 两个神经网络的参数是相同的
  • 模型中的 BERT 是预训练好的,可以直接用也可以做 fine-tune
  • CNN 也是与训练好的,比如在 image-net 中预训练好的,也可以微调更新参数
  • 全连接层是需要训练的
    在这里插入图片描述

训练内容相似度模型

  • 训练的方法和双塔模型类似

在这里插入图片描述

  • 基本想法:鼓励 cos(a,b+)cos(a,b^+)cos(a,b+) 大于 cos(a,b−)cos(a,b^-)cos(a,b)
    在这里插入图片描述

正样本的选取

  • 方法一:人工标注二元组的相似度:代价太大不划算
  • 方法二:算法自动选正样本
    • 筛选条件:经过这样的筛选,可以过滤到完全不相似的笔记
      • 只用高曝光笔记作为二元组(因为有充足的用户交互信息,算法选的正样本比较准)
      • 两片笔记有相同的二级类目,比如都是菜谱教程
    • 用 ItemCF 的物品相似度选正样本

负样本的选取

  • 从全体笔记中选出满足条件的:
    • 字数较多(神经网络提取的文本信息有效)
    • 笔记质量高,避免图文无关

总结

在这里插入图片描述

http://www.dtcms.com/a/278907.html

相关文章:

  • git 访问 github
  • 多用户图书管理系统
  • 张艺兴探班RED女团一周年舞台,见证21岁的梦想落地生根
  • sqli-labs靶场通关笔记:第11-16关 POST请求注入
  • 文献查找任务及其方法
  • 车载诊断框架 --- 车载诊断GuideLine
  • 【t检验】用奶茶店排队案例解释
  • urlencode、html实体编码、unicode
  • ChatDev 简易指导文档
  • Spring Boot Cucumber 测试报告嵌入方法
  • gitlab-ci.yml
  • ps如何批处理文件(批量裁剪,批量设置文件大小)
  • RNN(循环神经网络)
  • 青岛国瑞 RCV 带来的独特价值
  • MinIo快速入门
  • 13.计算 Python 字符串的字节大小
  • Kubernetes 高级调度 02
  • victoriametrics Operator 安装
  • 雅思练习总结(二十九)
  • 前端docx库实现将html页面导出word
  • AI革命,分布式存储也在革命,全闪化拐点已至
  • 【第一章编辑器开发基础第二节编辑器布局_2GUI中滚动列表(2/4)】
  • Web Socket 学习笔记
  • C# 入门学习教程(三)
  • Python基础语法1:注释与输入输出、变量与简单数据类型、运算符与表达式、条件判断与循环
  • 云原生技术与应用-Containerd容器技术详解
  • MySQL数据库的基础操作
  • AI驱动的软件工程(下):AI辅助的质检与交付
  • nvidia-smi命令参数解释
  • 机器学习(ML)、深度学习(DL)、强化学习(RL):人工智能的三驾马车