全部产品
云市场

常见问题

更新时间:2019-06-20 17:17:22

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埋点部分。

内容表中存储表明该物品可以在1001,1002两个场景投放

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

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

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

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

2、智能推荐是否会更新全量数据源(MaxCompute项目空间)中的数据,是否会更新基础表中的数据?

举例2.1用户A计划接入智能推荐系统,将自己的数据按照要求处理成user,item,behavior三张表结构后,开通了MaxCompute项目,project=airec_test,并上传成了3张全量表:user_airec,item_airec,bhv_airec。

用户在数据导入时填写的MaxCompute数据源,只是智能推荐在初始化时使用的数据,全量数据导入智能推荐系统后,不会再对用户的MaxCompute项目空间做任何回写操作。详情参见智能推荐数据流程

用户A在导入完数据,并生效后。自己空间airec_test中的user_airec,item_airec,bhv_airec不会有任何更新,直接删除也不会影响智能推荐服务。

智能推荐自己系统中会存在三张基础表,初始化时会从用户MaxCompute空间进行导入,后面更新对接用户通过SDK推送的数据。智能推荐在模型训练中,只会以这三张表为基础训练数据,训练出的结果,只会更新中间表,不会影响基础表。

用户A对user表中的一条数据进行更新,userA的tag字段更新成:美妆,也就是意味着该用户偏好美妆类目。但是智能推荐算法模型通过行为分析,对userA的标签定位为体育,也就是该用户在体育类目下的行为更加活跃。则算法模型只会更新中间表,进而影响在线的召回,并不会更新基础表的tag字段。

3、如何确定数据上传成功,如果查询已经上传的数据?目前智能推荐不提供数据查询的功能,用户通过全量数据导入或者SDK增量上传的数据,无法查询基础表中是否存在。SDK返回结果为true则意味的数据上传成功。

数据查询功能近期会在控制台上线,敬请期待。

4、生效了一份新版本的数据,上一版本数据会被清理掉吗,之前的增量数据会如何处理,新的数据多久线上生效?

举例4.1用户A在购买推荐服务并上线后,近期公司业务发生较大调整,所有的用户ID需要做一次更新。原ID区间1-10000需要更换至20000-30000。现考虑如果在推荐系统中进行数据更新

在用户的数据有较大变动的更新,我们建议用户优先使用SDK增量推送的方式。这样算法效果过渡会比较平滑。

用户A可以通过SDK增量推送的方式对user表进行更新,先批量add新的数据(20000-30000),然后对应的bhv行为数据也使用新的userid。平稳一段时间后,再del掉不用的用户ID。

如果用户在考虑到没有足够的quota空间,决定使用全量更换数据版本的方式。在切换了数据版本后,由于智能推荐的后台算法调度周期限制,item数据会在4小时后生效,user和bhv数据会在第二天0点生效。数据实际生效前用户还是会查到老的数据信息。数据实际生效后上一版本数据会被完成清理掉,之前的增量数据会被完全清理。

用户A决定走全量替换的方式,原有数据版本M,他需要新建一个数据版本N,上传最新的user数据。在控制台生效完毕数据版本N后,停掉M的增量,替换成N的数据流程的增量信息。但是数据实际生效在第二天0点,当天查到的数据还是M的userId(1-10000),当天推送的新的增量(20000-30000)不会丢失,会在第二天一起生效。

5、什么是曝光过滤,为什么要有曝光过滤,对使用智能推荐的用户,会有什么影响?

曝光过滤是指,对同一个userId已经推荐过的物品,在接下来一段时间内不会再推荐相同物品。智能推荐设置的曝光过滤的时间为31天,也就是说同样的物品,如果已经被一个指定的userId浏览过,那么31天内,该物品不会再推荐给该userId。注:10小时内依据智能推荐系统记录行为,10小时以后依据用户回传行为

举例5.1用户A通过userid=1查询推荐系统,召回了itemid=N的数据。此时,智能推荐系统会记录该推荐行为,10小时内不再对userid=1推荐itemid=N的数据。如果用户A没有把userid=1,itemid=N,bhv_type=expose的行为实时回传,10小时后,智能推荐有可能对userid=1推荐出itemid=N的数据如果用户A及时回传了数据,那么31天内,都不会出现重复推荐。

在智能推荐中,为了防止给用户反复推送相同的内容,曝光过滤是必不可少的一环,尤其对于新闻这类行业,尤其重要。

对于物品量较少的用户,极有可能一个userId多次访问后,会出现查询SDK的返回空结果。请用户做好抄底准备,不要让前端出现空窗。后期智能推荐会开放控制台,让用户可以定制曝光过滤时间。

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

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

类目的使用需要视用户的业务逻辑,如果没有打散需求,可以置空。如何使用参见 数据规范 中对类目相关字段的解释,如果埋点参见 数据埋点,打散功能参见 通过打散调整推荐结果

7、什么是曝光行为,上传的行为数据必须要有曝光和点击这两种行为吗?

曝光对应的是行为(behavior)表的bhv_type字段,是上传用户行为的一种类型。一条数据展示给用户一次,就算做一条曝光行为。

目前智能推荐只支持曝光和点击两种行为,算法模型训练的目标是用户的点击行为占比更好(CTR)。后期智能推荐会开放更多的行为类型的支持。

关于如何定义曝光行为,如果埋点参见 数据埋点(曝光行为部分)

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

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

初始化数据下载地址

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

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

用户表和物品表中的tag字段是相关联的,其tag池最大容量为50000。

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

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

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

10、新的数据版本生效后,后面对数据的订正,只能通过SDK增量推送吗?是否是实时更新的?

在数据版本生效稳定后,我们建议后面所有的数据更新走SDK增量推送的方式。所有的更新都是实时生效的。

11、超过了设置quota后,推荐系统会如何处理?

如果查询qps超过了购买的配额,智能推荐会做限流处理,禁止掉超过流量部分的访问。

如果文档数和用户数超过了购买的配额,所有通过SDK的ADD和UPDATE消息会失败,DELETE消息正常。

建议用户配置云监控报警,在配额超过后,可以及时作出相应的策略。

12、相关推荐和猜你喜欢的区别是什么?

相关推荐场景侧重于基于用户指定的item进行推荐,对于物品自身属性的完备性有一定要求,最好有title,content,tag等属性,如果物品自身属性过差,用户也可以选择不传入item,此时会退化为猜你喜欢场景;

猜你喜欢场景侧重于基于用户行为进行推荐,无需指定传入item。