更新时间:2024-04-17 GMT+08:00
分享

离线数据源

调用RES之前,您需要准备3种基础数据包并上传至OBS,离线数据源目前支持CSV和JSON。具体数据包请参见表1 基础数据表

表1 基础数据表

数据类型

表名

用户类数据

用户属性表

物品类数据

物品属性表

行为类数据

用户操作行为表

  1. 用户需要自己手工创建整理这些表并存储到OBS上。
  2. 每张表的表结构必须符合推荐系统的要求,列名和字段类型需要和规范中保持一致(参考下面的表结构说明)。
  3. 每张表中填充的数据,必须符合推荐引擎的要求。
  4. 对于业务数据中无法提供的字段可以填NULL。

用户属性表

用户属性表记录用户的属性信息,例如地域、爱好等,属性名和属性值成对出现。

表2 字段描述

字段名

类型

描述

是否必选

userId

String

被推荐用户的唯一标识符。例如,用户的登录账号、imei号等。

userProperties

String

用户属性kv串。不同属性之间用\002(ASCII值)分隔,属性的key和value之间用\003(ASCII值)分隔,多值枚举型属性的不同值之间以\004(ASCII值)分隔,kv数值型属性的不同键值对同样以\004(ASCII值)分隔,每一个键值对内部用冒号(:)将键和值分隔。

基本格式:k1\003v1\002k2\003v2\k3\003v1\004v2\004v3\002k4\003\k1:v1\004k2:v2\004k3:v3

例子:比如用户有四个标签,分别是年龄、性别、爱好、画像,取值分别为18、1、[read,gym,music]、{morality:0.8,iq:0.7,art:0.9},则这条记录可编码为age\00318\002gender\0031\002hobbies\003read\004gym\004music\002profile\003morality:0.8\004iq:0.7\004art:0.9。

userProperties字段每个KV组中value的取值类型信息由user_meta_config给出。

用户属性JSON格式示例

{
    "userId":"user1",
    "userProperties":"provinceId\u00035147\u0002cityId\u00035148\u0002districtId\u00035154\u0002streetId\u0003130533\u0002payment_type\u00031\u0002payment_method\u0003CMBLIFE_CMBLIFE\u0002payment_channel\u000312"
}

物品属性表

物品属性表记录物品的属性信息,例如类别、长度等,属性名和属性值成对出现。

表3 字段描述

字段名

类型

描述

是否必选

itemId

String

物品ID,唯一标识。

itemProperties

String

描述物品的key-value信息,key标识描述名称,value标识值。基本格式同用户属性表中userProperties。

物品属性示例

{
    "itemId":"item1",
    "itemProperties":"product_name\u0003wyf-name\u0002order_price\u0003500.00\u0002weight\u0003130.00\0002volume\u0003v1"
}

用户操作行为表

用户-物品行为表,每行记录用户的单次行为信息,包含用户标识符、行为对象标识符、行为类型和行为时间等信息。
表4 字段描述

字段名

类型

描述

是否必选

userId

String

用户ID。

objectType

String

发生行为对象的名称。

item:是用户和物品本身发生的行为。

actionObject

String

对应行为发生对象的值,如果是和物品发生关系,则是物品的id(itemId)的值。

actionType

String

行为类型:

  • view:物品曝光
  • click:用户点击物品
  • collect:用户收藏了某个物品
  • uncollect:用户取消收藏某个物品
  • search_click:用户点击搜索结果中的物品
  • comment:用户对物品的评论
  • share:分享
  • like:点赞
  • dislike:点衰
  • grade:评分
  • consume:消费
  • use:观看视频/听音乐/阅读。

actionMeasure

String

发生行为的度量,金额,评分,次数(整数)等。

默认值:

  • 评分和观看视频/听音乐/阅读由用户根据实际情况自行定义,如观看两分钟,值为 “0.5”,观看5分钟,值为“0.8”。
  • 其余行为的默认值为1.0。

actionContent

String

发生行为为评论时,需要记录评论内容。

当是search_click时,需要记录搜索的关键字。

actionDateTime

String

行为发生的时间,采用UTC标准时间,单位以秒计。

actionLocation

String

行为发生的位置和精度维度。

格式:[latitude, longitude]

context

String

动作发生的上下文信息,内容为json格式字符串,也可作为行为表的扩展字段。

例如,用户当前的设备id,ip地址等信息。

subSite

String

行为发生的位置ID。例如,在首页推荐里面点击,在详情页里面浏览。

traceId

String

用于追踪每个被推荐物品的唯一ID。用于效果的计算。

flowId

String

用于计算每一个在线服务的效果。flowId由推荐系统的API返回给用户,用户需把flowId写到用户行为日志中。

用户操作行为示例

{
    "userId":"user1",
    "objectType":"item",
    "actionObject":"item1",
    "actionType":"collect",
    "actionMeasure":"1.0",
    "actionDateTime":"1512689700"
}

相关文档