clearwind

clearwind

首页
分类
登录 →
clearwind

clearwind

首页 分类
登录
  1. 首页
  2. 🚀AI
  3. 📈LangChain
  4. 推荐系统服务化:存储选型及API设计

推荐系统服务化:存储选型及API设计

0
  • 📈LangChain
  • 发布于 2024-07-14
  • 74 次阅读
clearwind
clearwind

存储

离线阶段会产生数据按照用途来分,归纳起来一共就有三类:

  1. 特征: 特征数据会是最多的,所谓用户画像,物品画像,这些都是特征数据,更新并不频繁。

  2. 模型: 尤其是机器学习模型,这类数据的特点是它们大都是键值对,更新比较频繁。

  3. 结果: 就是一些推荐方法在离线阶段批量计算出推荐结果后,供最后融合时召回使用。任何一个数据都可以直接做推荐结果,如协同过滤结果。

推荐系统依赖的特征是由各种特征工程得到,这些线下的特征工程和样本数据共同得到模型数据,这些模型在线上使用时,需要让线上的特征和线下的特征一致,因此需要把线下挖掘的特征放到线上去。特征数据有两种,一种是稀疏的,一种是稠密的,稀疏的特征常见就是文本类特征,用户标签之类的,稠密的特征则是各种隐因子模型的产出参数。

数据存在的形态:

正排:以用户 ID 或者物品 ID 作为主键查询(线下从日志中得到曝光和点击样本后,还需要把对应的用户 ID 和物品 ID 展开成各自的特征向量,再送入学习算法中得到最终模型),需要用列式数据库存储

倒排:以特征作为主键查询(已知用户的个人标签,要用个人标签召回推荐信息,需要提前准备好标签对推荐信息的倒排索引),索引需要用 KV 数据库存储

稠密特征向量:例如各种隐因子向量,Embedding 向量,考虑文件存储,采用内存映射的方式,会更加高效地读取和使用

模型数据:相似度矩阵,物品相似度,用户相似度,在离线阶段通过用户行为协同矩阵计算得到,用来对用户或者物品历史评分加权的,这些历史评分就是特征。

候选集:预先计算出来的推荐结果,数据通常是 ID 类,召回方式是用户 ID 和策略算法名称。这种列表类的数据一般也是采用高效的 KV 数据库存储,如Redis。

推荐系统的简单第一版:ElasticSearch分布式搜索引擎,用于日志存储和分析,承担了存储和计算的任务。

列式存储

把数据都想象成为矩阵,行是一条一条的记录,例如一个物品是一行,列是记录的各个字段,例如 ID 是一列,名称是一列等。数据在计算机中,不管行式还是列式,都要以一个一维序列的方式存在内存里或者磁盘上。所以是按照列的方式把数据变成一维,还是按照行的方式把数据变成一维,就是列式数据库和行式数据库的区别。列式数据库有个列族的概念,可以对应于关系型数据库中的表,还有一个键空间的概念,对应于关系型数据库中的数据库。列式数据库适合批量写入和批量查询。

键值存储

Redis 可以简单理解成是一个网络版的 HashMap,但是它存储的值类型比较丰富,有字符串、列表、有序列表、集合、二进制位。

并且,Redis 的数据放在了内存中,所以都是闪电般的速度来读取。

在推荐系统的常常见到 Redis 的使用:

1. 消息队列,List 类型的存储可以满足这一需求;

2. 优先队列,比如兴趣排序后的信息流,或者相关物品,对此 sorted set 类型的存储可以满足这一需求;

3. 模型参数,这是典型的键值对来满足。

API

数据录入API

接口

用途

输入

输出

备注

/User

录入用户信息

userid, attribute, value

可以接受任意多的“属性和值”。

/Item

录入物品信息

itemid, attribute, value

和用户接口类似。

/Relation

录入一个关系数据

from, to, weight,

参考关系数据的存储模型

/Event

录入事件

userid, itemid, eventname, timestamp

参考事件数据的存储模型

推荐服务API

接口

用途

输入

输出

/Recommend

猜你喜欢

  • UserID – 个性化推荐的前提

  • PageID – 推荐的页面 ID,关系到一些业务策略

  • FromPage – 从什么页面来

  • PositionID – 页面中的推荐位 ID

  • Size – 请求的推荐数量

  • Offset – 偏移量,这是用于翻页的

  • Items – 推荐列表,通常是数组形式,每一个物品除了有 ID,还有展示所需的各类元素

  • Recommend_id – 唯一 ID 标识每一次调用,也叫做曝光 ID,标识每一次曝光,用于推荐后追踪推荐效果的,很重要

  • Size – 本次推荐数量

  • Page —— 用于翻页的

/Relative

相关推荐

  • UserID – 个性化推荐的前提

  • PageID – 推荐的页面 ID,关系到一些业务策略

  • FromPage – 从什么页面来

  • PositionID – 页面中的推荐位 ID

  • ItemID – 需要知道正在浏览哪个物品导致推荐相关物品

  • Size – 请求的推荐数量

  • Offset – 偏移量,这是用于翻页的

* Items – 推荐列表,通常是数组形式,每一个物品除了有 ID,还有展示所需的各类元素

* Recommend_ID – 唯一 ID 标识每一次调用,也叫做曝光 ID,标识每一次曝光,用于推

荐后追踪推荐效果的,很重要

* Size – 本次推荐数量

* Page —— 用于翻页的

/hostlist

热门排行

  • UserID – 个性化推荐的前提

  • PageID – 推荐的页面 ID,关系到一些业务策略

  • FromPage – 从什么页面来

  • PositionID – 页面中的推荐位 ID

  • Size – 请求的推荐数量

  • Offset – 偏移量,这是用于翻页的

  • Items – 推荐列表,通常是数组形式,每一个物品除了有 ID,还有展示所需的各类元素

  • Recommend_id – 唯一 ID 标识每一次调用,也叫做曝光 ID,标识每一次曝光,用于推荐后追踪推荐效果的,很重要

  • Size – 本次推荐的数量

  • Page —— 用于翻页的

相关文章
基于 internlm2 和 LangChain 搭建你的知识库

基于 internlm2 和 LangChain 搭建你的知识库 2025-02-27 14:25

环境配置 internlm2 模型部署 创建虚拟环境 conda create -n deepseek_rag python=3.10 -y conda activate deepseek_rag 并在环境中安装运行 demo 所需要的依赖 # 升级pip python -m pip install

超长文本训练 2025-01-03 14:36

在自然语言处理(NLP)任务中,处理超长文本(通常指长度超过模型最大支持长度的文本)是一个常见的挑战。BERT等预训练模型通常具有固定的最大序列长度限制(例如,BERT-base的最大序列长度为512个标记)。当需要处理超过这个长度的文本时,需要采取特定的策略来确保模型能够有效地处理这些数据。 Be

数据集分类均衡问题及其解决方案 2024-12-26 21:58

数据集的类别均衡性对模型的性能有着至关重要的影响。当数据集中某些类别的样本数量远多于其他类别时,就会出现数据不均衡问题。这种不平衡可能导致模型在训练过程中偏向多数类,从而影响对少数类的预测性能。 问题描述 分类数据集统计 import pandas as pd # 读取CSV文件 csv_file

Quick start of LangChain

Quick start of LangChain 2024-12-24 23:39

本文内容 LangChain(大模型能力封装框架) 的基本使用 基于LangChain探索AGI时代原型 需提前安装环境依赖,以及设置环境变量,如果选择openai开放接口需要会上网 export OPENAI_API_KEY="b233095ff.00gIXhXyE8yNc3Hx" export

Netflix个性化和推荐的系统架构

Netflix个性化和推荐的系统架构 2024-07-16 22:00

离线、近线和在线计算 在线计算可以更好地响应最近的事件和用户交互,但必须实时响应请求。这会限制所采用算法的计算复杂性以及可处理的数据量。这个实时响应的过程中,如果发生意外,比如说这个物品 ID 就没有相关的物品,那么这时候服务就需要降级,所谓的降级就是不能达到最好的效果了,但是不能低于最低要求,这里

信息流架构

信息流架构 2024-07-16 20:15

整体框架 信息流,通常也叫作 feed,传统的信息流产品知识简单按照时间排序,而被推荐系统接管后的信息流逐渐成为主流,按照兴趣排序,也叫作“兴趣 feed”。 这张架构图划分成几个大的模块:日志收集、内容发布、机器学习、信息流服务、监控 日志收集,是所有排序训练的数据来源,要收集的最核心数据就是用户

目录
  • clearwind
  • 微信小程序

导航菜单

  • 首页
  • 分类
Copyright © 2024 your company All Rights Reserved. Powered by clearwind.
皖ICP备19023482号