一线互联网智能推荐系统架构演进
五步教你用AI技术构建智能推荐系统

五步教你用AI技术构建智能推荐系统一、引言智能推荐系统已经成为现代社会中不可或缺的一部分。
它利用人工智能(AI)技术,根据用户的个人偏好和行为数据,提供个性化的推荐内容,从而提升用户体验并增加平台收益。
然而,构建一个高效且准确的智能推荐系统并不是一件容易的事情。
本文将指导您通过五个步骤来使用AI技术构建智能推荐系统。
二、数据收集与预处理在构建智能推荐系统之前,首先需要收集大量的数据。
这些数据可以包括用户的历史行为记录、物品描述信息以及其他相关属性。
常用的数据收集方法包括在线采集、日志分析以及合作伙伴提供等方式。
收集到的原始数据往往需要进行预处理,以便更好地应用于推荐算法中。
预处理包括去除噪声数据、处理缺失值、进行特征选择和降维等操作。
此外,还可以考虑使用机器学习算法对数据进行聚类和分类,以便更好地组织和管理数据。
三、算法选择与实现选择适用于您的智能推荐系统的算法非常重要。
常见的推荐算法包括协同过滤算法、内容推荐算法以及混合推荐算法等。
协同过滤算法基于用户相似性或项目相似性进行推荐,而内容推荐算法则通过分析项目自身的特征与用户偏好进行匹配。
混合推荐算法结合了多种不同的推荐策略,能够更全面地考虑各种因素。
在选择算法之后,您需要实现和优化该算法,并将其应用在您的智能推荐系统中。
可以使用编程语言如Python、Java或R来编写和实现相关代码。
此外,对于大规模数据集和计算需求较高的场景,还可以考虑使用分布式计算框架如Hadoop 或Spark来加速处理。
四、评估与调优构建完智能推荐系统后,必须进行评估和调优。
评估的目标是衡量系统的性能,并从用户反馈中获取改进建议。
常见的评价指标包括准确率、召回率、覆盖率和多样性等。
准确率表示系统给出的推荐结果与用户真实喜好之间的匹配程度;召回率表示系统能够找到用户感兴趣物品所占总体比例;覆盖率表示系统能够覆盖到的物品比例;多样性则表示系统推荐内容的丰富程度。
通过对评价指标进行分析,您可以进一步优化智能推荐系统并改进算法策略。
《2024年个性化推荐系统的研究进展》范文

《个性化推荐系统的研究进展》篇一一、引言随着互联网的飞速发展,信息过载问题日益严重,个性化推荐系统应运而生。
个性化推荐系统通过分析用户的行为、兴趣和需求,为用户提供定制化的信息和服务,有效解决了信息过载问题,提高了用户体验。
本文将介绍个性化推荐系统的发展历程、基本原理及最新研究进展。
二、个性化推荐系统的发展历程个性化推荐系统的发展可以追溯到上世纪90年代初的协同过滤技术。
早期,推荐系统主要基于用户的历史行为和偏好进行推荐,如基于物品的协同过滤和基于用户的协同过滤。
随着大数据和人工智能技术的发展,个性化推荐系统逐渐发展出更多先进的算法和技术,如内容推荐、深度学习推荐等。
三、个性化推荐系统的基本原理个性化推荐系统主要通过分析用户的行为、兴趣和需求,以及物品或服务的特征,为用户提供定制化的推荐。
其基本原理包括协同过滤、内容推荐、预测模型等。
协同过滤通过分析用户的历史行为和偏好,找出与用户兴趣相似的其他用户,从而为用户提供相似的推荐。
内容推荐则通过分析物品或服务的特征以及用户的兴趣,为用户推荐符合其需求的物品或服务。
预测模型则通过机器学习等技术,根据用户的历史行为和物品的属性进行预测,从而为用户提供个性化的推荐。
四、个性化推荐系统的研究进展1. 数据驱动的推荐算法:随着大数据技术的发展,越来越多的研究者开始关注数据驱动的推荐算法。
这些算法通过分析用户的浏览记录、购买记录、搜索记录等数据,挖掘用户的兴趣和需求,从而为用户提供更准确的推荐。
2. 深度学习在推荐系统中的应用:深度学习技术在个性化推荐系统中得到了广泛应用。
通过深度学习技术,可以更好地理解用户的兴趣和行为模式,从而提供更准确的推荐。
同时,深度学习还可以用于处理复杂的非线性关系和噪声数据,提高推荐的稳定性。
3. 上下文感知的推荐系统:上下文感知的推荐系统能够根据用户的上下文信息(如时间、地点、设备等)进行推荐。
这种系统能够更好地理解用户的需求和兴趣,从而提高推荐的准确性和满意度。
完整的推荐系统架构设计(精)

完整的推荐系统架构设计推荐系统是移动互联网时代非常成功的人工智能技术落地场景之一。
本文我们将从架构设计的角度回顾和讨论推荐系统的一些核心算法模块,重点从离线层、近线层和在线层三个架构层面讨论这些算法。
1 架构设计概述架构设计是一个很大的话题,本文这里只讨论和推荐系统相关的部分。
更具体地说,我们主要关注的是算法以及其他相关逻辑在时间和空间上的关系——这样一种逻辑上的架构关系。
下面介绍的是一些经过实践检验的架构层面的最佳实践,以及对这些最佳实践在不同应用场景下的分析。
除此之外,还希望能够通过把各种推荐算法放在架构的视角和场景下重新审视,让读者大家对算法间的关系有更深入的理解,从全局的角度看待推荐系统,而不是只看到一个个孤立的算法。
架构设计的本质之一是平衡和妥协。
一个推荐系统在不同的时期、不同的数据环境、不同的应用场景下会选择不同的架构,在选择时本质上是在平衡一些重要的点。
下面介绍几个常用的平衡点。
▊个性化 vs 复杂度个性化是推荐系统作为一个智能信息过滤系统的安身立命之本,从最早的热榜,到后来的公式规则,再到著名的协同过滤算法,最后到今天的大量使用机器学习算法,其主线之一就是为用户提供个性化程度越来越高的体验,让每个人看到的东西都尽量差异化,并且符合个人的喜好。
为了达到这一目的,系统的整体复杂度越来越高,具体表现为使用的算法越来越多、算法使用的数据量和数据维度越来越多、机器学习模型使用的特征越来越多,等等。
同时,为了更好地支持这些高复杂度算法的开发、迭代和调试,又衍生出了一系列对应的配套系统,进一步增加了整个系统的复杂度。
可以说整个推荐逻辑链条上的每一步都被不断地细化分析和优化,这些不同维度的优化横纵交织,构造出了一个整体复杂度非常高的系统。
从机器学习理论的角度来类比,如果把推荐系统整体看作一个巨大的以区分用户为目标的机器学习模型,则可以认为复杂度的增加对应着模型中特征维度的增加,这使得模型的VC维不断升高,对应着可分的用户数不断增加,进而提高了整个空间中用户的个性化程度。
互联网架构的演变过程(一)

互联⽹架构的演变过程(⼀)简介web1.0时代web2.0时代互联⽹时代互联⽹+ --》智慧城市。
2012年提出。
云计算+⼤数据时代背景随着互联⽹的发展,⽹站应⽤的规模不断扩⼤,常规的垂直应⽤架构已⽆法应对,分布式服务架构以及流动计算架构势在必⾏,亟需⼀个治理系统确保架构有条不紊的演进。
1、第⼀时期单⼀应⽤架构all in one(所有的模块在⼀起,技术也不分层)⽹站的初期,也认为互联⽹发展的最早时期。
会在单机部署上所有的应⽤程序和软件。
所有的代码都是写在JSP⾥⾯,所有的代码都写在⼀起。
这种⽅式称为all in one。
特点:1、不具备代码的可维护性。
2、容错性差。
因为我们所有的代码都写在JSP页⾥。
当⽤户或某些原因发⽣异常。
(1、⽤户直接看到异常错误信息。
2、这个错误会导致服务器宕机)容错性,是指软件检测应⽤程序所运⾏的软件或硬件中发⽣的错误并从错误中恢复的能⼒,通常可以从系统的可靠性、可⽤性、可测性等⼏个⽅⾯来衡量。
单体地狱。
:只需⼀个应⽤,将所有功能都部署在⼀起,以减少部署节点和成本。
2 第⼀时期后阶段解决⽅案:1、分层开发(提⾼维护性)【解决容错性】2、MVC架构(Web应⽤程序的设计模式)3、服务器的分离部署特点:1、MVC分层开发(解决容错性问题)2、数据库和项⽬部署分离问题:随着⽤户的访问量持续增加,单台应⽤服务器已经⽆法满⾜需求。
解决⽅案:集群。
3 可能会产⽣的⼏个问题:1.1. ⾼可⽤“⾼可⽤性”(High Availability)通常来描述⼀个系统经过专门的设计,从⽽减少停⼯时间,⽽保持其服务的⾼度可⽤性。
(⼀直都能⽤)1.2. ⾼并发⾼并发(High Concurrency)是互联⽹分布式系统架构设计中必须考虑的因素之⼀,它通常是指,通过设计保证系统能够同时并⾏处理很多请求。
⾼并发相关常⽤的⼀些指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query Per Second),并发⽤户数等。
人工智能推荐系统算法进展与创新要点

人工智能推荐系统算法进展与创新要点人工智能的快速发展使得推荐系统在各个领域都取得了显著的进展和创新。
推荐系统算法根据用户的历史行为数据和其他额外信息,通过分析、计算和预测,为用户提供个性化的推荐结果。
本文将介绍人工智能推荐系统算法的进展和创新要点。
1. 协同过滤算法协同过滤算法是推荐系统中最经典的算法之一。
它基于用户行为数据,通过计算用户之间的相似度,在一个用户集合中找出相似用户的行为,将其推荐给目标用户。
近年来,基于协同过滤算法的一些创新方法获得了很好的效果,如基于矩阵分解的模型、基于深度学习的模型等。
2. 内容过滤算法内容过滤算法是根据物品的内容信息为用户进行推荐的算法。
与协同过滤算法相比,内容过滤算法对用户个性化推荐的依赖更小,可以根据物品的属性、标签、关键词等信息为用户进行推荐。
近年来,随着自然语言处理、图像识别等技术的发展,内容过滤算法取得了重要的进展和创新。
3. 混合推荐算法混合推荐算法是将不同的推荐算法进行组合,提高推荐系统的准确性和效果。
例如,将协同过滤算法和内容过滤算法结合起来,利用它们各自的优点和特征进行推荐;或者将多个不同的协同过滤算法进行算法融合,得到更加准确的推荐结果。
混合推荐算法是当前推荐系统研究的热点之一。
4. 强化学习算法强化学习算法在推荐系统中的应用也有不少创新和进展。
强化学习算法通过与环境进行交互,根据奖励信号来进行学习和决策,从而实现个性化的推荐。
近年来,强化学习算法在推荐系统中取得了一些成功的应用,如基于深度强化学习的推荐算法等。
5. 多目标优化算法传统的推荐系统算法主要关注单一目标,如准确性、覆盖率等。
然而,实际应用中,推荐系统需要满足多个目标,如个性化、多样性、新颖性等。
多目标优化算法能够在不同的目标之间进行权衡和平衡,为用户提供更加全面和个性化的推荐结果。
多目标优化算法在推荐系统的研究和实践中具有重要的价值。
6. 实时推荐算法传统的推荐系统算法通常是离线计算,根据用户的历史数据进行推荐。
互联网架构演进与应用趋势

互联网架构演进与应用趋势在当今数字化的时代,互联网已经成为我们生活和工作中不可或缺的一部分。
从简单的信息浏览到复杂的在线交易,从社交媒体的互动到智能物联网的应用,互联网的发展可谓日新月异。
而这背后,互联网架构的不断演进起着至关重要的支撑作用,同时也引领着各种新的应用趋势。
早期的互联网架构相对简单,主要是基于客户端服务器模型。
用户通过浏览器向服务器发送请求,服务器处理请求并返回相应的网页内容。
这种架构在当时能够满足基本的信息传播需求,但随着用户数量的增加和应用场景的多样化,其局限性也逐渐显现出来。
为了应对不断增长的访问量和数据处理需求,分布式架构应运而生。
通过将系统拆分成多个独立的模块,并分布在不同的服务器上,实现了负载均衡和高可用性。
这意味着即使某个服务器出现故障,系统仍然能够正常运行,不会导致整个服务的中断。
而且,通过合理的任务分配,可以大大提高系统的处理能力和响应速度。
随着云计算技术的兴起,互联网架构又迎来了一次重大变革。
云计算提供了弹性的计算和存储资源,使得企业能够根据实际需求灵活地扩展或收缩其基础设施。
不再需要提前预估业务的增长规模,从而避免了资源的浪费或不足。
同时,云服务提供商还提供了一系列的管理和维护工具,减轻了企业的运维负担。
微服务架构则是近年来互联网架构领域的热门话题。
它将一个大型的应用拆分成多个小型的、独立的服务,每个服务都可以独立部署、扩展和维护。
这种架构方式提高了开发的效率,降低了系统的复杂度,使得团队能够更加专注于每个服务的功能实现和优化。
在互联网架构不断演进的同时,各种应用趋势也如雨后春笋般涌现。
移动互联网的普及彻底改变了人们获取信息和进行交流的方式。
智能手机和平板电脑成为人们接入互联网的主要设备,各种移动应用层出不穷。
从社交娱乐到移动支付,从在线教育到远程医疗,移动应用已经渗透到了生活的方方面面。
为了提供更好的用户体验,移动应用的开发者们需要考虑网络连接的不稳定性、设备性能的差异以及用户界面的友好性等诸多因素。
智能推荐系统的设计与实现
智能推荐系统的设计与实现智能推荐系统是一种利用人工智能和大数据技术为用户提供个性化推荐服务的系统。
随着互联网的迅猛发展以及数据量的不断增加,智能推荐系统在各个领域的应用也越来越广泛。
本文将介绍智能推荐系统的基本原理、设计流程以及实现方法。
一、智能推荐系统的基本原理智能推荐系统是一种基于协同过滤、关联挖掘以及自然语言处理等技术实现的个性化推荐系统。
其基本原理可以归纳为三个方面:1.数据采集和处理。
智能推荐系统需要收集用户的历史行为数据和个人信息,如浏览记录、搜索记录、购买记录、社交网络等。
通过对数据的预处理和清洗,为模型建立提供可靠的数据支持。
2.算法建模和分析。
智能推荐系统需要通过机器学习、深度学习和聚类等算法构建模型,对用户行为进行分析和提炼,为后续推荐做出准确的判断和预测。
3.推荐评估和优化。
智能推荐系统需要对推荐结果进行评估和优化,以提高推荐效果并满足用户需求。
二、智能推荐系统的设计流程智能推荐系统的设计流程主要包括以下几个环节:1.需求分析和用户画像。
明确系统的目标和功能需求,并根据用户的个人信息和行为建立用户画像,为后续推荐策略做出准确的定向。
2.数据采集和处理。
收集用户的历史数据并进行预处理和清洗,构建用户行为和偏好模型。
3.算法建模和分析。
通过机器学习和深度学习等技术构建模型,对用户行为进行分析和挖掘,提取出用户的潜在兴趣和需求。
4.推荐策略和算法选择。
根据用户画像和挖掘结果选择合适的推荐策略和算法,比如协同过滤、分类算法和基于内容分析等策略。
5.推荐结果生成和展现。
根据用户需求和偏好生成推荐结果,以用户友好的方式呈现,如推荐列表、推荐图谱、推荐标签等。
6.推荐效果评估和优化。
根据用户反馈和推荐效果进行评估,并不断优化算法和推荐策略,提高推荐效果和用户满意度。
三、智能推荐系统的实现方法智能推荐系统是一种高度复杂的技术,其实现需要运用多种技术和工具。
下面我们将介绍几种常见的实现方法:1.基于Python语言和机器学习框架的实现方法。
智能推荐的发展历程
智能推荐的发展历程智能推荐系统是基于机器学习和人工智能技术的应用,旨在为用户提供个性化的推荐内容。
它的发展历程可以追溯到20世纪90年代中期。
首先,早期的智能推荐系统主要基于协同过滤算法。
这种算法通过分析用户的历史行为和偏好,找到与之相似的其他用户,并向其推荐该用户可能感兴趣的内容。
然而,这种方法存在一个明显的缺点,即需要大量的用户行为数据才能得出准确的推荐结果。
随着互联网的快速发展,对于个性化推荐的需求也日益增加。
于是,研究人员开发了基于内容的推荐算法。
这种算法主要通过分析物品的特征和用户的偏好,来预测用户可能感兴趣的内容。
相比于协同过滤算法,基于内容的推荐算法能够更好地解决数据稀疏的问题。
然而,即便是基于内容的推荐算法,也存在一些局限性。
例如,如果用户只对某个特定类型的物品感兴趣,那么这种算法可能会无法捕捉到用户的兴趣领域,导致推荐结果不准确。
为了解决这个问题,研究人员引入了基于深度学习的推荐算法。
基于深度学习的推荐算法可以通过自动学习用户和物品之间的复杂关系,得出更准确的推荐结果。
这种算法利用神经网络对大规模的数据进行建模,能够更好地挖掘数据中的隐藏信息和模式。
例如,通过使用卷积神经网络(CNN)来提取图像特征,或者使用长短期记忆网络(LSTM)来捕捉序列数据中的时间依赖关系。
此外,为了更好地理解用户的兴趣和需求,智能推荐系统还引入了情感分析、人群聚类等技术。
这些技术可以帮助系统更精确地了解用户的情感状态和社交关系,以提供更加个性化的推荐内容。
总的来说,智能推荐系统的发展历程经历了从协同过滤算法到基于内容的推荐算法,再到基于深度学习的推荐算法的演进。
未来,随着人工智能技术的不断发展,智能推荐系统将会越来越准确和智能化。
智能推荐系统的发展特征
智能推荐系统的发展特征智能推荐系统是一种利用计算机科学和人工智能技术来为用户提供个性化推荐的系统。
它可以根据用户的历史行为、偏好、兴趣等信息,自动筛选出用户可能喜欢的产品、内容或服务,从而提供更好的用户体验和满足用户需求。
随着人工智能技术的不断发展,智能推荐系统也在不断进化和改进,呈现出一些明显的发展特征。
首先,智能推荐系统的发展趋势是个性化推荐。
传统的推荐系统主要基于用户的群体特征进行推荐,忽略了用户个体的差异性。
而现在的智能推荐系统通过深度学习、强化学习等技术,可以精确地分析用户的行为和偏好,给用户提供更加个性化的推荐结果,增加用户的满意度和粘性。
其次,智能推荐系统的发展特征是多元化推荐。
过去的推荐系统主要依托于单一维度的数据,如用户历史行为或内容的标签,容易导致推荐结果的局限性。
而现在的智能推荐系统开始融合多种数据源,如用户的社交网络信息、地理位置信息、用户生成的内容等,使得推荐结果更加多样化和全面化。
再次,智能推荐系统的发展特征是实时推荐。
传统的推荐系统主要是基于离线计算和离线模型构建的,导致推荐结果更新的速度较慢,不能及时反映用户的最新需求。
而现在的智能推荐系统可以利用实时流数据和在线学习算法,实现实时的个性化推荐,能够根据用户行为的变化及时调整推荐策略,提高推荐的准确性和时效性。
最后,智能推荐系统的发展特征是跨平台推荐。
随着移动互联网的普及和发展,用户使用不同的设备和平台来访问互联网资源,如手机、平板电脑、电视等。
传统的推荐系统只能在特定平台上进行推荐,不能实现跨平台的个性化推荐。
而现在的智能推荐系统可以通过用户的身份信息和设备信息,对用户在多个平台上的行为进行关联分析,实现跨平台的个性化推荐,提高用户体验和推荐效果。
综上所述,智能推荐系统的发展特征主要包括个性化推荐、多元化推荐、实时推荐和跨平台推荐。
这些特征的实现离不开人工智能技术的支持,未来随着技术的不断创新和推进,智能推荐系统将会在个性化、多元化、实时化和跨平台化方面实现更加全面的发展。
互联网的网络架构和系统框架
互联网的网络架构和系统框架互联网的网络架构和系统框架(下文简称“互联网架构”)是指互联网系统中各个组成部分的结构和组织方式。
它是连接全球各个计算机网络的基础,为信息的传输和共享提供了基础设施和技术支持。
本文将从互联网架构的发展历程、关键技术和未来趋势等方面进行探讨。
1. 互联网架构的发展历程互联网架构经历了多个阶段的演进。
最初的互联网架构是中心化的,即一个主中心连接多个边缘网络。
这种架构存在单点故障和性能瓶颈的问题。
随着技术的发展,分布式架构逐渐兴起,互联网被划分为多个自治系统(AS),每个自治系统内部采用自己的网络协议。
这种架构提高了系统的可伸缩性和可靠性。
2. 互联网架构的关键技术(1)TCP/IP协议:作为互联网的核心协议,TCP/IP协议奠定了互联网通信的基础。
它将数据分割成小包进行传输,并通过IP地址进行路由,确保数据的可靠传递。
(2)域名系统(DNS):域名系统是将域名转换为IP地址的关键技术。
它以层次化的方式管理和解析域名,为用户提供便捷的访问方式。
(3)路由器和交换机:路由器和交换机是互联网中的核心设备。
路由器通过选择最佳路径来转发数据包,实现网络间的互联互通。
交换机用于在局域网内传输数据包,提高数据传输效率。
(4)防火墙和安全技术:由于互联网的不安全性,防火墙和安全技术起到了至关重要的作用。
它们通过过滤和监控网络流量,保护系统免受恶意攻击和未经授权的访问。
3. 互联网架构的未来趋势(1)软件定义网络(SDN):SDN是一种新兴的网络架构,通过将网络控制平面和转发平面分离,实现了网络的灵活性和可编程性。
它将网络管理和配置的控制交给了集中的控制器,简化了网络管理任务。
(2)边缘计算:边缘计算是一种将计算和存储资源靠近用户和数据源的架构,提供低延迟和大带宽的服务。
它通过将计算任务分发到靠近用户的边缘设备上,减少了数据传输的开销。
(3)物联网架构:随着物联网的兴起,互联网架构也在发生变化。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一线互联网智能推荐系统架构演进作者:fisherman,时任推荐部门推荐系统负责人,负责推荐部门的架构设计及相关研发工作。
Davidxiaozhi,时任推荐部门推荐系统架构师,负责推荐系统的架构设计和系统升级。
来自:《决战618:探秘京东技术取胜之道》零,题记在电商领域,推荐的价值在于挖掘用户潜在购买需求,缩短用户到商品的距离,提升用户的购物体验。
京东推荐的演进史是绚丽多彩的。
京东的推荐起步于2012年,当时的推荐产品甚至是基于规则匹配做的。
整个推荐产品线组合就像一个个松散的原始部落一样,部落与部落之前没有任何工程、算法的交集。
2013年,国内大数据时代到来,一方面如果做的事情与大数据不沾边,都显得自己水平不够,另外一方面京东业务在这一年开始飞速发展,所以传统的方式已经跟不上业务的发展了,为此推荐团队专门设计了新的推荐系统。
随着业务的快速发展以及移动互联网的到来,多屏(京东App、京东PC商城、M站、微信手Q等)互通,推荐类型从传统的商品推荐,逐步扩展到其他类型的推荐,如活动、分类、优惠券、楼层、入口图、文章、清单、好货等。
个性化推荐业务需求比较强烈,基于大数据和个性化推荐算法,实现向不同用户展示不同内容的效果。
为此,团队于2015年底再次升级推荐系统。
2016年618期间,个性化推荐大放异彩,特别是团队开创的“智能卖场”,实现了活动会场的个性化分发,不仅带来GMV的明显提升,也大幅降低了人工成本,大大提高了流量效率和用户体验,从而达到商家和用户双赢,此产品获得了2016年度的集团优秀产品。
为了更好地支撑多种个性化场景推荐业务,推荐系统一直在迭代优化升级,未来将朝着“满屏皆智能推荐”的方向发展。
一、推荐产品用户从产生购买意向,到经历购买决策,直至最后下单的整个过程,在任何一个购物链路上的节点,推荐产品都能在一定程度上帮助用户决策。
1.1、推荐产品发展过程推荐产品发展历程主要经历了几个阶段(图1),由简单的关联推荐过程到个性化推荐,逐步过渡到场景智能推荐。
从相关、相似的产品推荐过渡到多特征、多维度、用户实时行为、结合用户场景进行的全方位智能推荐。
图1 推荐产品发展历程1.2、多屏多类型产品形态多类型主要指推荐类型覆盖到多种类型,如商品、活动、分类、优惠券、楼层、入口图、文章、清单、好货等。
在移动互联时代,多屏场景非常普遍,整合用户在多屏的信息,能使个性化推荐更精准。
多屏整合的背后技术是通过前端埋点,用户行为触发埋点事件,通过点击流系统进行多屏的行为信息收集。
这些行为数据通过实时流计算平台来计算用户的兴趣偏好,从而根据用户兴趣偏好对推荐结果进行重排序,达到个性化推荐的效果。
京东多屏终端如图2所示。
图2 京东多屏终端二、推荐系统架构2.1、整体业务架构推荐系统的目标是通过全方位的精准数据刻画用户的购买意图,推荐用户有购买意愿的商品,给用户最好的体验,提升下单转化率,增强用户黏性。
推荐系统的业务架构如图3所示。
图3 推荐系统的业务架构系统架构。
对外提供统一的HTTP推荐服务,服务京东所有终端的推荐业务。
模型服务。
为了提高个性化的效果而开发的一系列公共的个性化服务,用户维度有用户行为服务和用户画像服务,商品维度有商品画像,地域维度有小区画像,特征维度有特征服务。
通过这些基础服务,让个性化推荐更简单、更精准。
机器学习。
算法模型训练阶段,尝试多种机器学习模型,结合离线测评和在线A/B,验证不同场景下的算法模型的效果,提高推荐的转化率。
数据平台。
数据是推荐的源泉,包括数据收集和数据计算。
数据虽然是整体推荐架构的最底层,却是非常重要的,因为数据直接关系到推荐的健康发展和效果提升。
2.2、个性化推荐架构在起步初期,推荐产品比较简单,每个推荐产品都是独立服务实现。
新版推荐系统是一个系统性工程,其依赖数据、架构、算法、人机交互等环节的有机结合。
新版推荐系统的目标,是通过个性化数据挖掘、机器学习等技术,将“千人一面”变为“千人千面”,提高用户忠诚度和用户体验,提高用户购物决策的质量和效率;提高网站交叉销售能力,缩短用户购物路径,提高流量转化率(CVR)。
目前新版推荐系统支持多类型个性化推荐,包括商品、店铺、品牌、活动、优惠券、楼层等。
新版个性化推荐系统架构如图4所示。
图4 新版个性化推荐系统架构个性化推荐系统架构图中不同的颜色代表不同的业务处理场景:数据处理部分(最底层绿色模块),包括离线数据预处理、机器学习模型训练,以及在线实时行为的接入、实时特征计算。
推荐平台(蓝色模块),主要体现响应用户请求时推荐系统的各服务模块之间的交互关系。
推荐系统核心模块:推荐网关。
推荐服务的入口,负责推荐请求的合法性检查、请求分发、在线Debug以及组装请求响应的结果。
调度引擎。
负责推荐服务按策略调度及流量分发,主要根据配置中心的推荐产品的实验配置策略进行分流,支持按用户分流、随机分流和按关键参数分流。
支持自定义埋点,收集实时数据;支持应急预案功能,处理紧急情况,秒级生效。
推荐引擎。
负责推荐在线算法逻辑实现,主要包括召回、过滤、特征计算、排序、多样化等处理过程。
个性化基础服务。
目前主要个性化基础服务有用户画像、商品画像、用户行为、预测服务。
用户画像包括用户的长期兴趣、短期兴趣、实时兴趣。
兴趣主要有性别、品牌偏好、品类偏好、购买力等级、自营偏好、尺码颜色偏好、促销敏感度、家庭情况等。
商品画像主要包括商品的产品词、修饰词、品牌词、质量分、价格等级、性别、年龄、标签等。
用户行为主要获取用户近期行为,包括用户的搜索、点击、关注、加入购车、下单等。
预测服务主要是基于用户的历史行为,使用机器学习训练模型,用于调整召回候选集的权重。
特征服务平台。
负责为个性服务提供特征数据和特征计算,特征服务平台主要针对特征数据,进行有效的声明、管理,进而达到特征资源的共享,快速支持针对不同的特征进行有效的声明、上线、测试以及A/B实验效果对比。
个性化技术(橙色模块),个性化主要通过特征和算法训练模型来进行重排序,达到精准推荐的目的。
特征服务平台主要用于提供大量多维度的特征信息,推荐场景回放技术是指通过用户实时场景特征信息反馈到推荐排序,在线学习(Online-Learning)和深度学习都是大规模特征计算的个性化服务。
个性化推荐系统的主要优势体现为支持多类型推荐和多屏产品形态,支持算法模型A/B实验快速迭代,支持系统架构与算法解耦,支持存储资源与推荐引擎计算的解耦,支持预测召回与推荐引擎计算的解耦,支持自定义埋点功能;推荐特征数据服务平台化,支持推荐场景回放。
三、数据平台京东拥有庞大的用户量和全品类的商品以及多种促销活动,可以根据用户在京东平台上的行为记录积累数据,如浏览、加购物车、关注、搜索、购买、评论等行为数据,以及商品本身的品牌、品类、描述、价格等属性数据的积累,活动、素材等资源的数据积累。
这些数据是大规模机器学习的基础,也是更精确地进行个性化推荐的前提。
3.1、数据收集用户行为数据收集流程一般是用户在京东平台(京东App、京东PC网站、微信手Q)上相关操作,都会触发埋点请求点击流系统(专门用于收集行为数据的平台系统)。
点击流系统接到请求后,进行实时消息发送(用于实时计算业务消费)和落本地日志(用于离线模型计算),定时自动抽取行为日志到大数据平台中心。
算法人员在数据集市上通过机器学习训练模型,这些算法模型应用于推荐服务,推荐服务辅助用户决策,进一步影响用户的购物行为,购物行为数据再发送到点击流,从而达到数据收集闭环。
3.2、离线计算目前离线计算平台涉及的计算内容主要有离线模型、离线特征、用户画像、商品画像、用户行为,离线计算主要在Hadoop上运行MapReduce,也有部分在Spark平台上计算,计算的结果通过公共导数工具导入存储库。
团队考虑到业务种类繁多、类型复杂以及存储类型多样,开发了插件化导数工具,降低离线数据开发及维护的成本。
数据离线计算架构如图5所示。
图5 数据离线计算架构3.3、在线计算目前在线计算的范围主要有用户实时行为、用户实时画像、用户实时反馈、实时交互特征计算等。
在线计算是根据业务需求,快速捕捉用户的兴趣和场景特征,从而实时反馈到用户的推荐结果及排序,给用户专属的个性化体验。
在线计算的实现消息主要来源于Kafka集群的消息订阅和JMQ消息订阅,通过Storm集群或Spark集群实时消费,推送到Redis集群和HBase集群存储。
数据在线计算框架如图6所示。
图6 数据在线计算架构四、关键技术推荐系统涉及的技术点比较多,考虑到篇幅有限,这里重点介绍个性化推荐中比较重要的部分。
推荐引擎个性化推荐系统的核心是推荐引擎,推荐引擎的一般处理过程是召回候选集,进行规则过滤,使用算法模型打分,模型融合排序,推荐结果多样化展示。
主要使用的技术是机器学习模型,结合知识图谱,挖掘商品间的关系,按用户场景,通过高维特征计算和海量召回,大规模排序模型,进行个性化推荐,提升排序效果,给用户极致的购物体验。
推荐引擎处理逻辑主要包括分配任务,执行推荐器,合并召回结果。
推荐器负责召回候选集、业务规则过滤、特征计算、排序等处理。
推荐引擎技术架构如图7所示。
图7 推荐引擎技术架构分配。
根据推荐场景,按召回源进行任务拆分,关键是让分布式任务到达负载均衡。
推荐器。
推荐引擎的核心执行组件,获取个性化推荐结果,推荐器的实现如图8所示。
图8 推荐器架构召回阶段。
获取候选集,一般从基于用户画像、用户偏好、地域等维度进行召回,如果是新用户的召回资源不够,会使用冷启动服务进行召回。
规则过滤阶段。
对人工规则、一品多商、子母码、邮差差价等进行过滤。
特征计算阶段。
结合用户实时行为、用户画像、知识图谱、特征服务,计算出召回的候选集的特征向量。
排序阶段。
使用算法模型对召回候选集打分,根据召回源和候选集的分值,按一定的策略对候选集进行重新排序。
合并。
归并多个推荐器返回的推荐结果,按业务规则进行合并,考虑一定的多样性。
举例来说,京东App 首页“猜你喜欢”的实现过程如图9所示。
首先根据用户画像信息和用户的近期行为及相关反馈信息,选择不同的召回方式,进行业务规则过滤;对满足要求的候选商品集,提取用户特征、商品特征、用户和商品的交叉特征;使用算法模型根据这些特征计算候选商品的得分;根据每个商品的得分对商品进行排序,同时会丰富推荐理由,考虑用户体验,会对最终排好序推荐结果进行微调整,如多样性展示。
图9 猜你喜欢实现过程图五、用户画像京东大数据有别于其他厂商的地方就是京东拥有最长的价值链和全流程的数据积累。
京东数据的特征非常全面,数据链记录着每个用户的每一步操作:从登录到搜索、浏览、选择商品、页面停留时间、评论阅读、是否关注促销,以及加入购物车、下订单、付款、配送方式,最终是否有售后和返修,整个用户的购物行为完整数据都被记录下来。