全部产品

数据对接期

KB: 164465

 · 

更新时间:2021-04-25 11:39

数据对接期

1、什么是场景ID,该如果进行埋点,如果在查询中使用,bhv表场景ID是否需要对应,有什么作用?

举例1.1

内容表(item)中有一个itemA,其item_id为1,场景ID字段值为:1001,1002

行为表(behavior)中有两条行为,分别为

item_id=1,scene_id=1001,bhv_type=click;

item_id=1,scene_id=1002,bhv_type=expose

场景是指物品投放的不同地方,可以理解成是对物品的一个分类。如果您没有多场景需求,将该字段(scene_id)置为空即可。如果进行埋点请阅读数据埋点中场景ID埋点部分。如果对场景理解存在歧义,请阅读投放场景使用指南

一个物品可以在多个场景投放,需要在scene_id字段指定时用逗号隔开

查询中如果有多场景ID,则在参数sceneId中带上需要投放的ID即可。如果没有多场景,则不用填充此参数。详情参照获取推荐结果

查询时如果带上1001,则可能会召回该物品(跟进算法模型决定是否推荐该物品),如果带上1003,则永远不会召回该物品

行为表和内容表中的场景ID需要一致,正确的填写场景ID有助于算法模型训练。

行为表中数据表明,该物品在场景1001中有一次点击行为,在1001中有一次曝光行为。算法模型对1001和1002分别训练,也就是说两个场景的行为训练不会相互干扰。合理的填写场景ID有助于提供算法效果。

2、如何确定数据上传成功,如果查询已经上传的数据?

SDK返回结果为true则意味的消息发送成功。是否正确执行,需要通过更新记录查询、数据表查询等功能进行确认。详情文档请见:AIRec控制台—-数据管理

3、类目有什么用处,该如何使用,必须填吗?

类目的合理上报,能提升效果,并能做打散功能。

类目可以仿照淘宝的类目页面,相当于对物品按N级进行归类。目前类目的功能在智能推荐中主要用于打散,也会在排序的时候作为特征考虑到模型中,对算法效果有促进作用。

类目的使用需要视用户的业务逻辑,如果没有打散需求,可以置空。如何使用参见 数据规范 中对类目相关字段的解释,如果埋点参见 数据埋点指南,打散功能参见 通过实例运营策略提升推荐结果多样性。

4、我的数据还没有准备好,如果快速通过构造的数据启动服务,测试相关的SDK?

智能推荐服务提供了可以用来测试的全量数据,可以从如下链接下载对应的数据,用以启动服务,快速测试SDK的推送和查询等相关功能。测试完毕后,可以通过新建数据版本的方式更换掉测试的全量数据,也可以直接通过增量的方式,推送覆盖原来的测试数据。

初始化数据下载地址

5、如何设置tag字段,用户表和物品表中的tag是需要相互关联的吗?

用户A运营了电商类的APP,自己的运营团队维护了一个标签池:红色,黄色,黑色,休闲,正装等。用来定位其商品和用户的偏好。

用户表和物品表中的tag字段是相关联的,其tag池数量建议不要超过50000。

对于传给智能推荐的user和item表,其使用的tag标签需要出自同一个标签池,所有标签个数建议不要大于50000

TAG字段主要是用户对user,item的一种画像的定义,由用户的算法团队或者运营团队人工加上的标签,也可以是user注册是自己的选择。智能推荐算法训练时,会将tag作为输入信息的一种。合理的标签,会对算法效果有正向促进的作用。

如果一个user的标签tag是黑色,正装。那么智能推荐系统会更偏向于像该用户推荐具有该标签的商品。这是一个正向促进的作用。

6、add和update操作的区别是什么?

add为新增操作,update为更新操作。

add操作将新增一条文档,若已存在则替换原本文档。上报需提交主键以及全部字段信息。

update操作将更新一条已有文档,确认主键后仅上报待更新字段即可。如果update一条不存在的文档,将需要等待一个内部调度周期才可生效。

7、标签的数据怎么传?

多个标签通过逗号分隔。单条内容标签数不能超过100个,标签池总个数建议不要超过50000。

8、feature,feature_num是什么含义?

feature:字符串型描述性物料特征。

feature_num:数值型物料特征。自定义的字段特征可传到这两个字段之中。

9、item_type没有我的数据类型,怎么办?

当前已有的类型为:image、article、video、shortvideo、item、recipe、audio。

如果已有的类型中有没用到的,比如audio没用到,想要的类型为专题合辑,那么就用audio代表专题合辑。

10、traceinfo是什么?从哪里拿到?有什么作用?

①trace_info是什么:推荐链路跟踪信息。

②从哪里可以获取到:通过服务端SDK从AIRec获取推荐结果。

③trace_info如何使用:获取后,当推荐出来的item_id被用户产生了行为,需要在上报该条行为数据时,将此trace_info字段原样上报到行为表中。

④trace_info的作用:主要用于智能推荐的算法工程师进行模型调优与排查。测试样例

11、什么是正例数据,什么是负例数据?

正利数据指的是用户的正向反馈行为,主要是点击,点赞,购买等。初始化的时候必须有点击。

负利数据主要是的是曝光,expose。(如该内容仅有曝光而并未发生点击、点赞等行为,即认为负利的反馈。曝光、点击行为为必传行为。)

12、用户、物品、行为都需要实时上报吗?为什么?

用户和物品和行为的增量/存量数据都需要实时上报。

不实时上报的影响:行为数据:因为是实时链路,不实时上报的话做不到实时反馈。用户数据:如果有新用户没及时上报,带着新用户的id来请求智能推荐的时候是无法更精准的进行推荐。物品数据:建议是实时的。有变动的物品信息要实时更新。

13、切换标准版服务需要重新传数据吗?

不用。用入门版测试,如果想迁移正式环境直接升配,平滑升级。

14、通过服务端SDK推动数据的常见错误

①ClientException: DocumentError.MissingField : Missing fields, field names: item_id问题原因:没有上传必填字段如item_id,或者是上传过来的必填字段为空字符串。

②ClientException: BadFormat : null问题原因:需要您检查上报过来的JSON字符串是否拼接错误,导致JSON parse失败。

③ClientException: InstanceNotExist : The specified instance does not exist问题原因:1、实例还未启动成功2、推送数据代码中的regoin区域写错,需要改成已购实例所在区域。

④ServerException:FetchDocumentBackendError:Internal server error问题原因:请检查传过来的JSON数据中固定的字符串是否拼写错误,如field错写成了filed。