程序员学习这篇总结后,你也能做出天天快报一样的推荐系统腾讯云技术社区

推荐系统目前几乎无处不在,主流的app都基本应用到了推荐系统。例如,旅游出行,携程、去哪儿等都会给你推荐机票、酒店等等;点外卖,饿了么、美团等会给你推荐饭店;购物的时候,京东、淘宝、亚马逊等会给你推荐“可能喜欢”的物品;看新闻,今日头条、腾讯新闻等都会给你推送你感兴趣的新闻....几乎所有的app应用或网站都存在推荐系统。

推荐系统就是为了解决这一问题而诞生的,在海量的物品和人之间,架起来一条桥梁。它就像一个私人的专属导购,根据你的历史行为、个人信息等等,为每个人diy进行推荐,千人前面,帮助人们更好、更快地选择自己感兴趣的、自己需要的东西。今日头条系的feed流在推荐算法的加持下,短短几年的用户增长速度和使用时长数据令人咂舌,受到了市场的追捧和高估值。一夜之间,几乎所有的app都开始上feed流、上各种推荐,重要性可见一斑。

我们先把推荐系统简单来看,那么它可以简化为如下的架构。

图1推荐系统一般流程

不管是复杂还是简单的推荐系统,基本都包含流程:

完整的推荐系统还会包括很多辅助模块,例如线下训练模块,让算法研究人员利用真实的历史数据,测试各类不同算法,初步验证算法优劣。线下测试效果不错的算法就会被放到线上测试,即常用的A/Btest系统。它利用流量分发系统筛选特定的用户展示待测试算法生成的推荐列表,然后收集这批特定用户行为数据进行线上评测。

图2蘑菇街推荐系统架构

一个东西做得好还是不好,能不能优化,首要前提是确定评测指标。只有确定了评测指标,才能有优化的方向。评测推荐系统的指标可以考虑以下几个方面:

1.3.1用户满意度

1.3.2预测精确度precision

预测准确度度量一个推荐系统或者推荐算法预测用户行为的能力。这个指标是最重要的离线评测指标。由于离线数据可计算,绝大部分科研人员都在讨论这个指标。

评分预测问题一般使用RMSE、MAE等,TopN预测问题一般使用Recall、Precision等。

图3常见的指标准确率(Precision)、召回率(Recall)、误检率

其实目前国内很多地方和资料混淆了两个指标的叫法,把准确度对应英文precision指标。不过尽量还是用英文比较好。

准确度Accuracy=(TP+TN)/(TP+FP+TN+FN)

精确度Precision=TP/(TP+FP)

1.3.3覆盖率coverage

覆盖率描述一个推荐系统对物品长尾的发掘能力。覆盖率有很多定义方法,最简单的计算就是推荐列表中的物品数量,除以所有的物品数量。

在信息论和经济学中有两个著名的指标用来定义覆盖率,一个是信息熵,一个是基尼系数。具体公式和介绍可以google。

图4长尾曲线

1.3.4多样性

用户的兴趣是多样的,推荐系统需要能覆盖用户各种方面的喜好。这里有个假设,如果推荐列表比较多样,覆盖了用户各种各样的兴趣,那么真实命中用户的兴趣概率也会越大,那么就会增加用户找到自己感兴趣的物品的概率。

1.3.5新颖性

新颖的推荐是指给用户推荐那些他们以前没有听说过的物品。要准确地统计新颖性需要做用户调查。

1.3.6惊喜度

如果推荐结果和用户的历史兴趣不相似,但却让用户觉得满意,那么就可以说推荐结果的惊喜度很高,而推荐的新颖性仅仅取决于用户是否听说过这个推荐结果。

1.3.7信任度

1.3.8实时性

在很多网站中,因为物品(新闻、微博等)具有很强的时效性,所以需要在物品还具有时效性时就将它们推荐给用户。因此,在这些网站中,推荐系统的实时性就显得至关重要。

推荐系统的实时性包括两个方面。首先,推荐系统需要实时地更新推荐列表来满足用户新的行为变化。实时性的第二个方面是推荐系统需要能够将新加入系统的物品推荐给用户。这主要考验了推荐系统处理物品冷启动的能力。

1.3.9健壮性

衡量了一个推荐系统抗击作弊的能力。算法健壮性的评测主要利用模拟攻击。首先,给定一个数据集和一个算法,可以用这个算法给这个数据集中的用户生成推荐列表。然后,用常用的攻击方法向数据集中注入噪声数据,然后利用算法在注入噪声后的数据集上再次给用户生成推荐列表。最后,通过比较攻击前后推荐列表的相似度评测算法的健壮性。如果攻击后的推荐列表相对于攻击前没有发生大的变化,就说明算法比较健壮。

1.3.10商业目标

1.3.11参考资料

推荐算法的演化可以简单分为3个阶段,也是推荐系统由简单到复杂的迭代。

2.1.1人工运营

这个阶段是随机的,人工根据运营目的,手工给特定类别的用户推送特定的内容。

优点是:

缺点是:

2.1.2基于统计的推荐

2.1.3个性化推荐

当前阶段的推荐,会基于协同过滤算法、基于模型的算法、基于社交关系等,机器学习、深度学习逐渐引入,提高了推荐效果。

图5推荐算法分类

Memory-basedtechniquesusethedata(likes,votes,clicks,etc)thatyouhavetoestablishcorrelations(similarities)betweeneitherusers(CollaborativeFiltering)oritems(Content-BasedRecommendation)torecommendanitemitoauseruwho’sneverseenitbefore.Inthecaseofcollaborativefiltering,wegettherecommendationsfromitemsseenbytheuser’swhoareclosesttou,hencethetermcollaborative.Incontrast,content-basedrecommendationtriestocompareitemsusingtheircharacteristics(moviegenre,actors,book’spublisherorauthor…etc)torecommendsimilarnewitems.

Inanutshell,memory-basedtechniquesrelyheavilyonsimplesimilaritymeasures(Cosinesimilarity,Pearsoncorrelation,Jaccardcoefficient…etc)tomatchsimilarpeopleoritemstogether.Ifwehaveahugematrixwithusersononedimensionanditemsontheother,withthecellscontainingvotesorlikes,thenmemory-basedtechniquesusesimilaritymeasuresontwovectors(rowsorcolumns)ofsuchamatrixtogenerateanumberrepresentingsimilarity.

Model-basedtechniquesontheotherhandtrytofurtherfilloutthismatrix.Theytacklethetaskof“guessing”howmuchauserwilllikeanitemthattheydidnotencounterbefore.Forthattheyutilizeseveralmachinelearningalgorithmstotrainonthevectorofitemsforaspecificuser,thentheycanbuildamodelthatcanpredicttheuser’sratingforanewitemthathasjustbeenaddedtothesystem.

SinceI’llbeworkingonnewsrecommendations,thelattertechniquesoundsmuchmoreinteresting.Particularlysincenewsitemsemergeveryquickly(anddisappearalsoveryquickly),itmakessensethatthesystemdevelopssomesmartwayofdetectingwhenanewpieceofnewswillbeinterestingtotheuserevenbeforeotheruserssee/rateit.

Popularmodel-basedtechniquesareBayesianNetworks,SingularValueDecomposition,andProbabilisticLatentSemanticAnalysis(orProbabilisticLatentSemanticIndexing).Forsomereason,allmodel-basedtechniquesdonotenjoyparticularlyhappy-soundingnames.

《携程个性化推荐算法实践》一文中梳理了工业界应用的排序模型,大致经历三个阶段:

图6排序模型演进

本文不对上面的这些算法进行详细的原理探讨,会比较复杂,有兴趣可以再自行学习。

为了学习这块的技术知识,跟着参加了下内部举办的srtc推荐比赛。重在参与,主要是学习整个基本流程,体会下推荐场景,了解腾讯内部做得好的团队和产品是什么样子。

2.3.1(内部敏感资料,删除)

2.3.2CF算法

在web平台上点一点,可能失去了学习的意义。所以本着学习的态度,我在线下自己的机器上实现了一些常用的算法,例如CF等。

推荐算法里CF算是比较常见的,核心还是很简单的。

A.找到和目标用户兴趣相似的的用户集合;B.找到这个集合中的用户喜欢的,且目标用户没听过的物品推荐给目标用户。

A.计算物品之间的相似度;B.根据物品的相似度和用户的历史行为给用户生成推荐列表。

2.3.3收获

以下只是一些重要内容,有兴趣可以阅读原文:

今日头条算法架构师曹欢欢博士,做过一次《今日头条算法原理》的报告。主要涉及4部分:系统概览、内容分析、用户标签、评估分析。

但因为头条目前的内容量非常大,加上小视频内容有千万级别,推荐系统不可能所有内容全部由模型预估。所以需要设计一些召回策略,每次推荐时从海量内容中筛选出千级别的内容库。召回策略最重要的要求是性能要极致,一般超时不能超过50毫秒。

A/Btest系统原理

这是头条A/BTest实验系统的基本原理。首先我们会做在离线状态下做好用户分桶,然后线上分配实验流量,将桶里用户打上标签,分给实验组。举个例子,开一个10%流量的实验,两个实验组各5%,一个5%是基线,策略和线上大盘一样,另外一个是新的策略。

商品个性化推荐算法主要包含Match和Rank两个阶段:Match阶段也称为商品召回阶段,在推荐系统中用户对商品的行为称为用户Trigger,通过长期收集用户作用在商品上的行为,建立用户行为和商品的矩阵称为X2I,最后通过用户的Trigger和关系矩阵X2I进行商品召回。Rank阶段利用不同指标的目标函数对商品进行打分,根据推荐系统的规则对商品的多个维度进行综合排序。下面以闲鱼的首页feeds为例,简单介绍闲鱼的个性化推荐流程。

所示步骤1.1,利用用户的信息获取用户Trigger,用户信息包括用户的唯一标识userId,用户的设备信息唯一标识uttid。

所示步骤1.2,返回用户Trigger其中包括用户的点击、购买过的商品、喜欢的类目、用户的标签、常逛的店铺、购物车中的商品、喜欢的品牌等。

所示步骤1.3,进行商品召回,利用Trigger和X2I矩阵进行join完成对商品的召回。

所示步骤1.4,返回召回的商品列表,在商品召回中一般以I2I关系矩阵召回的商品为主,其他X2I关系矩阵召回为辅助。

步骤2.1,进行商品过滤,对召回商品进行去重,过滤购买过的商品,剔除过度曝光的商品。

所示步骤2.2,进行商品打分,打分阶段利用itemInfo和不同算法指标对商品多个维度打分。

步骤2.3,进行商品排序,根据规则对商品多个维度的分数进行综合排序。

步骤2.4,进行返回列表截断,截断TopN商品返回给用户。

闲鱼通过以上Match和Rank两个阶段八个步骤完成商品的推荐,同时从图中可以看出为了支持商品的个性化推荐,需要对X2I、itemInfo、userTrigger数据回流到搜索引擎,这些数据包含天级别回流数据和小时级别回流数据。

小商品池存在以下几个特点。

实时性:在闲鱼搭建的小商品池中要求商品可以实时的流入到该规则下的商品池,为用户提供最新的优质商品。

周期性:在小商品池中,很多商品拥有周期属性,例如免费送的拍卖场景,拍卖周期为6小时,超过6小时后将被下架。

在上文中利用全站X2I数据对小商品池的商品进行推荐过程中,发现在Match阶段,当小商品池过小时会造成商品召回不足的问题,为了提升小商品池推荐过程中有效召回数量,提出了如下三种解决方案。

提前过滤法:数据回流到搜索引擎前,小商品池对数据进行过滤,产生小商品池的回流数据,在商品进行召回阶段,利用小商品池的X2I进行商品召回,以此提升商品的召回率。

商品向量化法:在Match阶段利用向量相似性进行商品召回,商品向量化是利用向量搜索的能力,把商品的特性和规则通过函数映射成商品向量,同时把用户的Trigger和规则映射成用户向量,文本转换向量常用词袋模型和机器学习方法,词袋模型在文本长度较短时可以很好的把文本用词向量标识,但是文本长度过长时受限于词袋大小,如果词袋过小效果将会很差,机器学习的方法是利用Word2Vector把文本训练成向量,根据经验值向量维度一般为200维时效果较好。然后利用向量搜索引擎,根据用户向量搜索出相似商品向量,以此作为召回的商品。如图5所示商品的向量分两部分,前20位代表该商品的规则,后200位代表商品的基本特征信息。

商品搜索引擎法:在Match阶段利用商品搜索引擎对商品进行召回,如图6所示在商品进入搜索引擎时,对商品结构进行理解,在商品引擎中加入Tag和规则,然后根据用户的Trigger和规则作为搜索条件,利用搜索引擎完成商品的召回。搜索引擎的天然实时性解决了小商品池推荐强实时性的问题。

对于任何一个外部请求,系统都会构建一个QueryInfo(查询请求),同时从各种数据源提取UserInfo(用户信息)、ShopInfo(商户信息)、FoodInfo(食物信息)以及ABTest配置信息等,然后调用Ranker排序。以下是排序的基本流程(如下图所示):

#调取RankerManager,初始化排序器Ranker:

#调取InstanceBuilder,汇总所有打分器Scorer的特征,计算对应排序项EntityInfo(餐厅/食物)排序所需特征Features;

#对EntityInfo进行打分,并按需对Records进行排序。

这里需要说明的是:任何一个模型Model都必须以打分器Scorer形式展示或者被调用。主要是基于以下几点考虑:

我们的推荐系统主要分为两个阶段,召回阶段和排序阶段。

召回阶段根据用户的兴趣和历史行为,同千万级的视频库中挑选出一个小的候选集(几百到几千个视频)。这些候选都是用户感兴趣的内容,排序阶段在此基础上进行更精准的计算,能够给每一个视频进行精确打分,进而从成千上万的候选中选出用户最感兴趣的少量高质量内容(十几个视频)。

推荐系统的整体结构如图所示,各个模块的作用如下:

用户画像:包含用户的人群属性、历史行为、兴趣内容和偏好倾向等多维度的分析,是个性化的基石

特征工程:包含了了视频的类别属性,内容分析,人群偏好和统计特征等全方位的描绘和度量,是视频内容和质量分析的基础

召回算法:包含了多个通道的召回模型,比如协同过滤,主题模型,内容召回和SNS等通道,能够从视频库中选出多样性的偏好内容

排序模型:对多个召回通道的内容进行同一个打分排序,选出最优的少量结果。

除了这些之外推荐系统还兼顾了推荐结果的多样性,新鲜度,逼格和惊喜度等多个维度,更能够满足用户多样性的需求。

然后,介绍了推荐排序系统架构、推荐机器学习排序算法演进。

推荐流程大体上可以分为3个部分,召回、排序、推荐结果生成,整体的架构如下图所示。

召回阶段,主要是利用数据工程和算法的方式,从千万级的产品中锁定特定的候选集合,完成对产品的初步筛选,其在一定程度上决定了排序阶段的效率和推荐结果的优劣。

业内比较传统的算法,主要是CF1、基于统计的Contextual推荐和LBS,但近期来深度学习被广泛引入,算法性取得较大的提升,如:2015年Netflix和GravityR&DInc提出的利用RNN的Session-based推荐[5],2016年Recsys上提出的结合CNN和PMF应用于Context-aware推荐[10],2016年Google提出的将DNN作为MF的推广,可以很容易地将任意连续和分类特征添加到模型中[9],2017年IJCAI会议中提出的利用LSTM进行序列推荐[6]。2017年携程个性化团队在AAAI会议上提出的深度模型aSDAE,通过将附加的sideinformation集成到输入中,可以改善数据稀疏和冷启动问题[4]。

Google在2013年提出基于L1正则化的LR优化算法FTRL-Proximal[15]。2010年提出的FactorizationMachine算法[17]和进一步2014年提出的Filed-awareFactorizationMachine[18]旨在解决稀疏数据下的特征组合问题,从而避免采用LR时需要的大量人工特征组合工作。

阿里于2011年提出MixtureofLogisticRegression直接在原始空间学习特征之间的非线性关系[19]。Facebook于2014年提出采用GBDT做自动特征组合,同时融合LogisticRegression[20]。

近年来,深度学习也被成功应用于推荐排序领域。Google在2016年提出wideanddeeplearning方法[21],综合模型的记忆和泛化能力。进一步华为提出DeepFM[15]模型用于替换wdl中的人工特征组合部分。阿里在2017年将attention机制引入,提出DeepInterestNetwork[23]。

携程在实践相应的模型中积累了一定的经验,无论是最常用的逻辑回归模型(LogisticRegression),树模型(GBDT,RandomForest)[16],因子分解机(FactorizationMachine),以及近期提出的wdl模型。同时,我们认为即使在深度学习大行其道的今下,精细化的特征工程仍然是不可或缺的。

基于排序后的列表,在综合考虑多样性、新颖性、Exploit&Explore等因素后,生成最终的推荐结果。

推荐系统是能在几乎所有产品中存在的载体,它几乎可以无延时地以用户需求为导向,来满足用户。其代表的意义和效率,远远超过传统模式。毋庸置疑,牛逼的推荐系统就是未来。但这里有个难点就在于,推荐系统是否做得足够的好。而从目前来看,推荐算法和推荐系统并没有达到人们的预期。因为人的需求是极难猜测的。

回到推荐系统上,从现实中客观的原因就可以看到,真正能拟合出用户的需求和爱好确实是很困难的事情。甚至有时候用户都不知道自己想要的是啥,作为中国人,没有主见和想法是正常的,太有主见是违背标准答案的。但推荐系统背后代表的意义是:你的产品知道用户的兴趣,能满足用户的兴趣,那么必定用户就会离不开你。用户离不开的产品,肯定会占领市场,肯定就有极高的估值和想象空间。这也就是大家都在做推荐系统,虽然用起来傻傻的,效果也差强人意,依然愿意大力投入的根本原因。

几句胡诌,前期学习过后的简单总结,自己还有很多东西和细节需要继续学习和研究。能力有限,文中不妥之处还请指正~

THE END
1.基于协同过滤算法图书推荐系统的设计与实现.pdf本科毕业设计 论文题目:基于协同过滤算法的图书推荐系统的 设计与实现 摘要 随着网络和信息技术的飞速发展,电子图书资源的数量也在以惊人的速度增 长,越来越多的用户通过图书购买网站购买图书或在图书阅读网站上阅读电子书, 不管是网上购书还是网上读书都会面临一个相同的问题,如何从海量的图书资源 ...https://max.book118.com/html/2024/0217/7053136045006042.shtm
2.基于Hadoop平台的个性化新闻推荐系统的设计AET该系统设计的目的是为广大网民在浏览新闻时提供一个个性化的新闻推荐系统,实现对新闻数据的协同过滤推荐处理。系统利用Hadoop的MapReduce模型实现并行快速地聚类海量新闻数据,大大提高了数据处理的速度,聚类使得新闻之间的相似度得以体现,再利用不同的协同过滤算法实现个性化的新闻推荐。http://www.chinaaet.com/article/3000056950
3.JavaWeb实现协同过滤推荐算法的电影推荐系统eclipse+mysql5.7+jdk1.8 功能:推荐引擎利用特殊的信息过滤(IF,Information Filtering)技术,将不同的内容(例如电影、音乐、书籍、新闻、图片、网页等)推荐给可能感兴趣的用户。通常情况下,推荐引擎的实现是通过将用户的个人喜好与特定的参考特征进行比较,并试图预测用户对一些未评分项目的喜好程度。参考特征的选取可能是...https://www.iteye.com/resource/u012998306-12589813
4.什么是智能推荐?智能推荐的原理是什么?所以,CF依赖于“群体共性”“群体智慧”挖掘出那些潜在的、可能会被用户喜欢的内容并推荐给用户。CF算法也是最早、最经典的推荐算法之一,可以这么说,CF算法是推荐算法的鼻祖。我们后续很多推荐算法都是基于CF的协同过滤思想延伸而来。有两类基于协同的推荐算法:基于用户的协同过滤算法、基于物品的协同过滤算法。https://www.niaogebiji.com/article-106383-1.html
1.深入探索协同过滤:从原理到推荐模块案例在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于协同过滤算法,这一实现个性化推荐的核心技术。我们将探讨基于用户和基于物品的两种协同过滤方法,并分析它们的优缺点。同时,深入讨论相似度计算方法,这是影响推荐效果的关键。通过两个具体案例——基于文章和基于用户的协同过滤推荐功能,我们将...https://blog.csdn.net/m0_48173416/article/details/141938942
2.算法推荐算法协同过滤腾讯云开发者社区2 协同过滤算法如何预测? 什么是协同过滤 协同过滤推荐(Collaborative Filtering recommendation)是在信息过滤和信息系统中正迅速成为一项很受欢迎的技术。与传统的基于内容过滤直接分析内容进行推荐不同,协同过滤分析用户兴趣,在用户群中找到指定用户的相似(兴趣)用户,综合这些相似用户对某一信息的评价,形成系统对该指定用户...https://cloud.tencent.com/developer/article/1170685
3.基于协同过滤算法的推荐系统框架设计与实现【摘要】:现如今网络世界中一个用户可以通过电子商务系统获得很多便利,很多电子商务系统引入推荐引擎以求得类似实际生活中推销员的作用。推荐引擎的使用加快了协同过滤算法的研究,一个合适的算法将会为电子商务系统带来更多的收益。然而面对林林总总有关协同过滤的研究,大多只注重算法层,且研究过于理论,忽略了其在实际应...https://cdmd.cnki.com.cn/Article/CDMD-10248-1014008544.htm
4....的通用设计与参考实现.涵盖了70多种排序预测与评分预测算法...专注于解决信息检索领域的基本问题:推荐与搜索. 提供满足工业级别场景要求的推荐引擎设计与实现. 提供满足工业级别场景要求的搜索引擎设计与实现. 特性 1.跨平台 2.串行与并行计算 3.CPU与GPU硬件加速 4.模型保存与装载 5.丰富的推荐与搜索算法 6.丰富的脚本支持 Groovy JS Lua MVEL Python Ruby 7.丰富的评估...https://github.com/HongZhaoHua/jstarcraft-rns/
5.基于Hadoop的推荐系统的设计与实现本文通过对推荐系统理论的研究和应用以及对Hadoop的研究,确定了推荐系统的架构,并详细设计了推荐系统,同时还阐述了推荐系统的主要部分的实现。 本文的主要贡献有以下几点: 1)设计了一个水平扩展推荐算法的推荐系统框架,可以动态添加和修改推荐引擎,并根据主流的协同重点分析和设计了基于协同过滤的引擎。 2)使用基于用户...https://wap.cnki.net/touch/web/Dissertation/Article/-1014152168.html
6.基于协同过滤的推荐引擎(理论部分)整个算法学习是通过图灵程序设计丛书的《Machine Learning in Action》学习的。 什么是协同过滤 协同过滤(collaborative filtering)是通过将用户和其他用户的数据进行对比来实现推荐的算法。 协同过滤流程图 协同过滤流程图.jpg 图用Grafio 3画的,看着好有成就感哈哈哈哈哈哈哈:-):-):-),但是上传了以后这个分辨率好像...https://www.jianshu.com/p/861b66164b53/
7.1000个大数据/人工智能毕设选题推荐51CTO博客基于协同过滤算法的推荐引擎的设计与实现 基于Spark-Streaming的网站点击流分析的设计与实现 基于Spark-Streaming的电商商品关注度的设计与实现 用户移动轨迹的分析与研究 评论热点分析系统的设计与实现 基于Akka的分布式计算平台的设计与实现 基于FP-Growth算法的热门新闻挖掘的设计与实现 ...https://blog.51cto.com/u_15277063/4896670
8.基于Mahout的个性化推荐系统1系统设计进而实现更为科学合理的个性化推荐。 详细设计传送门: 5、推荐算法模块 此模块是本系统的核心部分,除了采用 Mahout 提供的 Taste 协同过滤推荐算法(本系统采用基于用户的协同过滤推荐、基于物品的协同过滤推荐、SlopeOne 的协同过滤推荐)外,还另外实现了基于用户标签的推荐、热门推荐、时令推荐进行解决冷启动问题。 详细...https://hacpai.com/article/1561799936858
9.希冀基于Apriori算法的投票模式挖掘 基于Apriori算法发现毒蘑菇相似特征 FP-Growth算法 基于FP-Growth算法Twiter数据挖掘 基于FP-Growth算法新闻网站点击流挖掘 数据降维 PCA算法 基于PCA算法的半导体制造数据降维 SVD算法 基于SVD的图像压缩 推荐系统 协同过滤算法 https://www.educg.com/ai.html
10.智能推荐系统,个性化推荐引擎,精准营销,个性化推送达观智能推荐系统已合作上百家企业,内置深度学习、协同过滤等几十种算法,同时已针对不同行业特点进行深度优化,有效提升转化率、点击率、留存率等业务核心指标。 达观首创“召回+排序+后处理+兜底”四段式推荐流程,可根据业务场景和指标要求对各个流程进行推荐策略配置,让厂商自主掌控推荐结果 ...https://www.datagrand.com/recommend.html