推荐基础- 数据踩点和格式

#推荐基础- 数据踩点和格式

一、数据埋点

(1)登录类
记录用户相关的tag信息,

参数 字段类型 描述 isRequired
action string 取值:login y
user_id string 用户唯一id y
tag object 用户标签,  格式为:{’tag_key’:’tag_value’} n

示例:

{
"action":"login",
"user_id":"710005",
"tags":{"age":"1","gender":"1","channel":"xxtt"}
}

(2)物品注册
注册物品相关的信息,

参数 字段类型 描述 isRequired
action string 取值:item y
item_id string 唯一id y
channel_id string  item 频道 y
sub_channel_id string item 子频道 n
item_type string feed item type y
tags object/array 物品关键词,格式为:{“word”:”word_weight”} 或者 [“word1”,”word2”],不允许嵌套 y
description string 描述 n
properties object 物品属性,格式为:{“key”:”value”},不允许嵌套 n
bizinfo object 物品业务属性,格式为:{“key”:”value”},不允许嵌套 n
is_deleted boolean 从离线数据中删除item n

示例:

{
"action":"item",
"item_id":"173242342523401",
"channel_id":"1",
"sub_channel_id":"2",
"item_type":"1",
"tags":["a","b","c"],
"description":"",
"properties":{"key","value"},
"bizinfo":{"key","value"},
"is_deleted":false
}

(3)行为类
每种行为都需要的埋点参数,

参数 字段类型 描述 isRequired
user_id string user id y
item_id item_id item唯一id y
batch_id string 如果行为的item是推荐引擎引导,取值为同推荐列表一起返回的batch_id n
bhv_datetime string 行为时间,’yyyy-MM-dd HH:mm:ss’ y
post_type string 行为发生的位置类型,有三种取值 <br> ll:经纬度格式的位置信息 <br>gh:geohash格式的位置信息 <br>poi:poi格式的位置信息 n
position string 行为发生的位置,根据pos_type有不同的取值格式: <br>如果pos_type=ll position格式’longitude:latitude’ <br>如果pos_type=gh,position格式 ‘geohashcode’ <br>如果pos_type=poi,position格式’poi_string’ n
env object 环境参数,类似于clientinfo n

(4)物品曝光类
item展现在用户面前

参数 字段类型 描述 isRequired
action string 取值:view y

示例:

{
"action":"view",
"user_id":"u1",
"item_id":"i1",
"channel":"0"
"batch_id":"xxx",
"bhv_datetime":"2016-05-06 11:11:11"
}

(5)物品点击类

参数 字段类型 描述 isRequired
action string 取值:click y
user_id string use id y
item_id string item_id y
batch_id string 如果是推荐引导,则填写返回的该batch id n
env_amt int 如果是推荐引导,取值推荐列表的展现次序 n
bhv_datetime string 发生时间 n

示例:

{
"action":"click",
"bhv_amt": 1,
"user_id":"u1",
"item_id":"i1",
"batch_id":"xxx",
"bhv_datetime":"2016-05-06 11:11:11"
}

(6)物品使用类
物品使用,包括阅读时长、观看时长

参数 字段类型 描述 isRequired
action string 取值:use y
user_id y
item_id y
batch_id n
bhv_amt int 观看时长(毫秒数) y
bhv_cnt int 观看次数 y
{
"action":"click",
"bhv_amt": 100456,
"bhv_cnt": 1,
"user_id":"u1",
"item_id":"i1",
"batch_id":"xxx",
"bhv_datetime":"2016-05-06 11:11:11"
}

(8)用户点赞、点踩

参数 字段类型 描述 isRequired
action string 取值:like 或者 unlike y
{
"action":"like",
"user_id":"u1",
"item_id":"i1",
"batch_id":"xxx",
"bhv_datetime":"2016-05-06 11:11:11"
}

(9)用户收藏、取消收藏

参数 字段类型 描述 isRequired
action string 取值:collect 或者 uncollect y
{
"action":"collect",
"user_id":"u1",
"item_id":"i1",
"batch_id":"xxx",
"bhv_datetime":"2016-05-06 11:11:11"
}

(10)用户分享

参数 字段类型 描述 isRequired
action string 取值:share y
media_type string 通过何种渠道分享(短信:sms,邮件:email,微博:sina_wb,微信好友:wechat_friend,微信朋友圈:wechat_circle,QQ空间:qq_zone,来往好友:laiwang_friend,来往动态:laiwang_circle) y
{
"action":"share",
"media_type":"email",
"user_id":"u1",
"item_id":"i1",
"batch_id":"xxx",
"bhv_datetime":"2016-05-06 11:11:11"
}

(11)用户评论

参数 字段类型 描述 isRequired
action string 取值:comment y
content string 评论内容 y
{
"action":"comment",
"content":"good",
"user_id":"u1",
"item_id":"i1",
"batch_id":"xxx",
"bhv_datetime":"2016-05-06 11:11:11"
}

(12)搜索结果点击

参数 字段类型 描述 isRequired
action string 取值:search_click y
content string 搜索词 y
{
"action":"search_click",
"content":"book",
"user_id":"u1",
"item_id":"i1",
"batch_id":"xxx",
"bhv_datetime":"2016-05-06 11:11:11"
}

(13)用户选择频道

参数 字段类型 描述 isRequired
action string 取值:channel 或者 unchannel y
channel string 频道id y
{
"action":"search_click",
"channel":"35",
"user_id":"u1",
"bhv_datetime":"2016-05-06 11:11:11"
}

(待添加):物品评分、物品消费

二、推荐系统的基础数据模型:


分别来看:

1. user_meta (用户信息表)

(1)表结构:

2. user_meta_config (用户属性维度表 )

(1)表结构

3. item_meta (物品表)

(1)表结构

4. item_meta_config (物品属性维度表)

(1)表结构

5. rec_item_info (可推荐物品表)

(1)表结构

6. user_behaivor (行为表)

(1)表结构


注释:

特征的数值类型分为mv_enum,kv_num,sv_enum,sv_num,分别代表多值枚举型,KV数值型,单值枚举型,单值数值型四种标签取值类型
举例:
单值数值型,如信用,只能取一个值,但这个值是不可枚举的
单值枚举型,如性别,只能取一个值,但这个值是可以枚举的(男,女)
KV数值型,如用户的类目偏好,用户对某几个类目有偏好分,如3298:0.89,3456:0.98..这里3298和3456是类目id,0.89和0.98是偏好分
多值枚举型,如用户的标签,美包控、准妈妈等可以枚举,但是每个用户可以取多个
在特征串中,不同key之间用\002分隔,key和value之间用\003分隔,多值key的value之间用\004连接。以上述4个例子为例,如果把它们串起来,则形式为
信用 \003 98
\002
性别 \003 男
\002
类目偏好 \003 3298 \004 0.89 \003 3456 \004 0.98
\002
标签 \003 美包控 \004 准妈妈

推荐策略

(1)ITEM_ITEM_REC_LIST 物品-物品推荐候选集
(2)USER_ITEM_REC_LIST 用户-物品推荐候选集
(3)DEFAULT_REC_LIST 默认推荐候选集
(4)TAG_ITEM_REC_LIST 基于标签的推荐候选集
(5)RANKING_MODEL LTR模型数据

tips

(1)新闻分类是文本挖掘领域较为常见的场景,通过PLDA算法挖掘文章的主题,通过主题权重的聚类,实现新闻自动分类。包括了分词、词型转换、停用词过滤、主题挖掘、聚类等流程