离线数据源
调用RES之前,您需要准备3种基础数据包并上传至OBS,离线数据源目前支持CSV和JSON。具体数据包请参见表1 基础数据表。
- 用户需要自己手工创建整理这些表并存储到OBS上。
- 每张表的表结构必须符合推荐系统的要求,列名和字段类型需要和规范中保持一致(参考下面的表结构说明)。
- 每张表中填充的数据,必须符合推荐引擎的要求。
- 对于业务数据中无法提供的字段可以填NULL。
用户属性表
用户属性表记录用户的属性信息,例如地域、爱好等,属性名和属性值成对出现。
字段名 |
类型 |
描述 |
是否必选 |
---|---|---|---|
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" }
物品属性表
物品属性表记录物品的属性信息,例如类别、长度等,属性名和属性值成对出现。
字段名 |
类型 |
描述 |
是否必选 |
---|---|---|---|
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" }
用户操作行为表
字段名 |
类型 |
描述 |
是否必选 |
---|---|---|---|
userId |
String |
用户ID。 |
是 |
objectType |
String |
发生行为对象的名称。 item:是用户和物品本身发生的行为。 |
是 |
actionObject |
String |
对应行为发生对象的值,如果是和物品发生关系,则是物品的id(itemId)的值。 |
是 |
actionType |
String |
行为类型:
|
是 |
actionMeasure |
String |
发生行为的度量,金额,评分,次数(整数)等。 默认值:
|
是 |
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" }