一种个性化推荐方法和系统与流程

文档序号:18903101发布日期:2019-10-18 22:14阅读:915来源:国知局
一种个性化推荐方法和系统与流程

本申请涉及计算机技术领域,具体而言,本申请涉及一种个性化推荐方法和系统。



背景技术:

随着信息技术和互联网行业的发展,信息过载成了人们处理信息的挑战。对于用户而言,如何在以指数增长的资源中快速、准确地定位到自己需要的内容是一个非常重要且极具挑战的事情。对于商家而言,如何把恰当的物品及时呈现给用户,从而促进交易量和经济增长,也是一件颇具难度的事情。推荐系统的诞生极大地缓解了这个困难。个性化推荐系统是互联网和电子商务发展的产物。个性化推荐,一方面从用户角度,可以基于用户特征过滤掉“无效”物品/信息,推荐符合用户口味的物品/信息,从而提升用户体验,进一步也增加用户点击率,从而为转化提供更多的可能性;另一方面从系统的角度,也可以让更多长尾的物品/信息被曝光,从而最大效率的利用资源。

目前,个性化推荐是通过收集和分析用户信息来学习用户的兴趣和行为,从而实现主动推荐的目的。一个用户行为的数据集一般由一个三元组的集合表示,其中记录{u,i,b}表示用户u给物品i打上了标签b(当然实际中会包含用户属性、物品属性等,更为复杂)。给用户提供标签一般有4种方法:给用户推荐一个系统中最热门的标签;给用户推荐物品i上最热门的标签;给用户推荐他自己经常使用的标签;将方法2和方法3融合,通过一个系数将上面的推荐结果线性加权,生成最终的推荐结果。除了用户行为数据外,还会收集用户基本信息、位置信息、搜索等信息建立完整的用户画像。

但是,现有的个性化推荐存在的问题在于,无论是用户画像还是收集的用户过往的行为数据,都仅仅是跟用户相关的部分信息,且这些信息中来源于用户过往行为的部分本身就存在滞后性。依赖这种不完整的信息去对用户将来的行为做预测,其所做出的推荐往往存在精确度不够高,且存在推荐相对于需求的滞后性问题。



技术实现要素:

本申请提供了一种个性化推荐方法和系统,用于提高个性化推荐的精确度,并大大减少滞后性问题,本申请采用的技术方案如下:

第一方面,提供了一种个性化推荐方法,该方法包括,

收集用户从终端的各个业务系统产生的行为数据,并进行预处理;

根据已定义好的行为模型,对所述预处理后的数据进行分析,得到用户分析信息;

根据推荐策略对推送内容及所述用户分析信息进行检索并匹配,实时生成个性化推荐服务。

第二方面,提供了一种个性化推荐系统,该系统包括:行为收集系统、实时计算系统、后台管理系统、推送系统,其中:

所述后台管理系统,用于对行为模型进行定义;

所述行为收集系统,用于监控用户通过终端产生的行为数据,所述行为收集系统从所述终端的各个业务系统获取数据,并进行预处理;

所述实时计算系统,经过预处理后的数据以流的方式进入所述实时计算系统,所述实时计算系统根据已定义好的行为模型,对所述预处理后的数据进行分析,得到用户分析信息;

所述推送系统,根据推荐策略对推送内容及所述用户分析信息进行检索并匹配,实时生成个性化推荐服务。

本申请提供了一种个性化推荐方法和系统,与现有技术通过收集和分析用户信息来学习用户的兴趣和行为相比,本申请采用大数据分析系统基于大量样本对金融领域的用户群建立行为链条的模型,从而当某用户实施一个行为时,可以直接基于该模型判断其大概率的下一步行动。本申请的实时计算系统将特定用户自身的特点、过往行为等信息与该金融领域的用户群的行为链条模型结合,分析计算出该特定用户在该金融领域的标签性信息。该标签性信息结合了金融领域的群体特征和个性化特征,弥补了单纯收集个别用户信息的片面性,从而使得推荐精确度大幅提高;同时解决了在特定用户行为发生后才能采集数据的滞后性问题。

本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本申请实施例的一种个性化推荐方法的流程示意图;

图2为本申请实施例的一种个性化推荐系统的热点同步模块的示意图;

图3为本申请实施例的一种个性化推荐系统的结构图。

具体实施方式

下面详细描述本申请的实施例,各实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

本申请实施例提供了一种个性化推荐方法,如图1所示,该方法可以包括以下步骤:

步骤一,收集用户从终端的各个业务系统产生的行为数据,并进行预处理。

具体地,对用户行为进行记录,需要满足大量并发的性能需求。本实施例基于百度私有云存储优化型服务器来提供大吞吐量;hadoop级群;通过对业务系统实行埋点式操作,利用kafka进行高并发写入;使用aigo(使用go语言实现自主开发的无锁并发框架)框架,满足大量并发;压测结果单台理论可实现百万级别的qps,平均响应时间在100ms以下。

现有的数据收集系统或者大数据框架一般采用的埋点方式为植入代码,etl,springaop,以上方式或多或少都会对相关的业务系统造成影响,或增加开发量,或引起不必要的异常。本实施例使用cglib实现动态代理,业务系统只需要引入cglib和我们的扩展类,即可实现无感埋点,同时对老旧系统无任何影响。

现有的并发框架都以java开发为主,性能并不是特别优秀,为了应对收集系统的高性能要求,我们使用go语言(并发效率最高)实现了一套高性能无锁并发框架,采用cas代替了锁的开销,同时提供了java的调用,温室环境压测可达到单机百万级别的并发。

步骤二,根据已定义好的行为模型,对所述预处理后的数据进行分析,得到用户分析信息。

具体地,实时计算系统根据行为收集系统记录并经过预处理的数据,结合已定义好的金融领域的行为模型,给用户打上“标签”。

这里已定义好的金融领域的行为模型,是指对在金融领域的用户群,由于用户在该领域可实施的行为及产生的需求都相对特定和集中,采用大数据分析系统可以基于大量样本对该金融领域的用户群建立行为链条的模型。从而当某用户实施一个行为时,可以直接基于该模型判断其大概率的下一步行动。

因此,本申请实施例的实时计算系统将特定用户自身的特点、过往行为等与该金融领域的用户群的行为链条模型结合,分析计算出该特定用户在该金融领域的标签性信息。

具体地,基于百度私有云计算优化型服务器提供计算能力;采用流式计算系统的设计对海量数据进行实时处理;基于storm框架的二次开发,保证消息在框架内不落地,处理非常高效,高并发下无异常;在计算的同时,采用离线索引技术、用户特征计算、预测用户计算等,将用户当前偏好与预测偏好记录。

实时计算系统对性能的需求可以说是非常极端,为了应对未来数据量过大,响应速度变慢的情况,本申请实施例采用了storm流式处理框架进行实时计算,原生storm框架虽然性能可以满足需求,但是却存在各种各样的缺陷,比如调度太简单,无法定制化;高并发下出现rpcoom异常;监控过于简单等。

本申请实施例在storm的基础上做了二次开发,增加了分布式调度模块,数据监控模块。同时,结合netty+aigo(自主开发无锁并发框架)彻底解决oom异常,让计算系统更高效,更稳定。

步骤三,根据推荐策略对推送内容及所述用户分析信息进行检索并匹配,实时生成个性化推荐服务。

其中,对于推送内容的存储,在将其存储到数据库的同时,将热点内容实时推送给高速缓存。

具体地,基于百度私有云存储优化型服务器,采用mysql和redis来存储推送内容和热点推送内容;使用open-replicator来保证mysql与redis之间热点信息的同步。

数据库与缓存同步的方案,业内普遍采用阿里的canel来实现,但是canel存在一定局限性,其通过读取mysql的binlog来模拟其从机的工作方式,虽然可以保证数据的一致性,但是却增加了性能的开销。

如图2所示,本实施例利用open-replicator框架来读取binlog,效率更加高效;采用发布/订阅的模式、精确到字段级别的配置,从而能够减少内存的过度损耗;通过多种渠道通知各个业务系统数据的变化,同时有选择性的将热点数据存入redis中。本实施例通过以上方式优化了信息同步过程,使得性能大幅提升。

其中,推荐策略采用了包括基于规则的过滤、基于内容的过滤以及协作过滤等技术。

图3为本申请实施例提供的一种个性化推荐系统,该系统包括:行为收集系统、实时计算系统、后台管理系统、推送系统,其中:

所述后台管理系统,用于对行为模型进行定义;

所述行为收集系统,用于监控用户通过终端产生的行为数据,所述行为收集系统从所述终端的各个业务系统获取数据,并进行预处理;

所述实时计算系统,经过预处理后的数据以流的方式进入所述实时计算系统,所述实时计算系统根据已定义好的行为模型,对所述预处理后的数据进行分析,得到用户分析信息;

所述推送系统,根据推荐策略对推送内容及所述用户分析信息进行检索并匹配,实时生成个性化推荐服务。其中,推送系统还包括资源管理系统,所述资源管理系统将热点内容实时推送给高速缓存。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

以上仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1