Quick BI DataV 推荐引擎 云服务器ECS 對(duì)象存储 OSS CDN 数加 · MaxCompute

推荐引擎(Recommendation Engine,以下简称RecEng,特匠窗指阿裡(lǐ)云推荐引擎)是在阿裡(lǐ)云计算环境下建立的一套推友小荐服务框架,目标是让广大中小互联网企业能(néng)够在這(zhè)套框架上快老我速的搭建满足自身业务需求的推荐服务。


推荐服务通常由三部分组成(chéng):日志采集,推荐计算和产品對年去(duì)接。推荐服务首先需要采集产品中记录的用户行为日志到(會都dào)离线存储,然後(hòu)在离线环境下利用推荐算法進(jìn)行用户和亮時物品的匹配计算,找出每个用户可能(néng)感兴趣的物品集合後(hòu),將(花弟jiāng)這(zhè)些预先计算好(hǎo)的结果推送到(dà器通o)在线存储上,最终产品在有用户访问時(shí)通過(guò)在线API呢科向(xiàng)推荐服务發(fā)起(qǐ)请求,获得该用户可能(néng)業議感兴趣的物品,完成(chéng)推荐业务。



RecEng的核心是推荐算法的定制。RecEng为推荐业务定义了一套完整的规拿月范,从输入,到(dào)计算,到(dào)输出,客户可以在這(銀朋zhè)个框架下自定义算法和规则,以此满足各種(zhǒng)行微子业的需求,包括电商,音乐,视频,社交,新闻,阅读等。同時(s問算hí),RecEng也提供了相应的方法供客户便捷的接入用户访去外问日志,以及自定义满足其自身业务需求的在线API。



离线计算

离线计算模块包含推荐业务、场景、离线算法流程的创建、编辑、删除操作,支持快文算法流程任务的启动、停止和日志查看,提供默认的离线推荐算法模板和创建自定劇藍义算法模板。推荐引擎中,离线流程和效果流程都(dōu)是在离线山那计算的,离线数据规范中定义了這(zhè)兩(liǎng)类流熱紅程的数据规范。一般情况下,离线计算的输入和输出都(dōu)是Max哥友Compute(原ODPS)表,所以离线数据规范其实上是一组Max個快Compute表的格式规范,包括接入数据、中间数据和输出数据三类数据的格式规范月樂。接入数据指客户离线提供的用户、物品、日志等数据,中间数据是在离线算法流程票什中产生的各種(zhǒng)中间性质的结果数据表,输出数据是指唱看推荐结果数据表,该结果最终將(jiāng)會(huì)被(bèi)导入到廠是(dào)在线存储中,供在线计算模块使用。


在线计算

推荐引擎的的在线计算负责的任务是推荐API接收到(dào)API请求時要有(shí),实時(shí)對(duì)离线和近线修正产生的推荐结果進(低弟jìn)行過(guò)滤、排重、补足等处理;後(hòu)者主要处但不理用户行为發(fā)生变化、推荐物品發(fā)生更新時(shí),對(du劇熱ì)离线推荐结果進(jìn)行更新。


近线计算

推荐引擎的的近线计算主要处理用户行为發(fā)生变化、推荐物品發(fā)生她業更新時(shí),對(duì)离线推荐结果進(jìn)行更新。不像离线算法,天他費然以MaxCompute(原ODPS)表作为输入和输出,近线程序的得的输入数据可以来自多个数据源,如在线的表格存储(原OTS),以及用户的API请求雪地,又或者是程序中的变量;输出可以是程序变量,或者写回在线存储,或者返回技報给用户。出于安全性考虑,推荐引擎提供了一组SDK供客户自定义在线代码读票也写在线存储(Table Store),不允许直接访问,所以需要爸下定义每类在线存储的别名和格式。對(duì)于需要频繁使用的在线計離数据,无论其来自在线存储還(hái)是用户的API请求,RecEng錯身會(huì)预先读好(hǎo),保存在在线程序的变量中,客户音的自定义代码可以直接读写這(zhè)些变量中的数据。


A/B 测试
       支持推荐算法流程的輛舞A/B测试,辅助推荐算法优化提升。允许一个场景下存在多条推荐流程(內爸rec_path),A/B 测试也是针對(duì)同属于一个知章场景的不同推荐流程来進(jìn)行的,在進(jìn)行A/B 测试時(s外一hí),同一个场景下的每个推荐流程都(dōu)會(huì)被(bè爸她i)分配一定的流量比例,這(zhè)个比例是可以在产品界面(miàn)從女中配置的。在执行推荐API時(shí),推荐引擎第一步就(jiù腦我)會(huì)按照比例随机分配流量,把当前用户分配到(dào)某个推荐流程睡綠中,然後(hòu)再执行這(zhè)个推荐流程的在线流程。RecEng在麗男分配流量時(shí)是完全随机的,不遵从任何规则,如某个用户一定要器術分配到(dào)某一条推荐流程中這(zhè)樣(yàng)的规则。


API

推荐引擎提供多个API供客户用于业务系统對(duì)接,包括:启动数据预处理一聽任务API、启动离线任务API、启动效果计算任务API、查询票件任务状态API、在线获取推荐结果API(推荐API)、在线数拍又据更新API、系统日志采集API(日志API)。這(zhè)些從來API需要客户集成(chéng),RecEng建议客户端將(jiāng)這(路鄉zhè)些API统一集成(chéng)在自己搭建的服务器上。