The invention relates to a data distribution method and a recommendation system. The specific steps of the method are as follows: call a startup script, which is used to start the initialization of data distribution processing, read the configuration file and analyze it, obtain the following information from it: file name model file, class name module class, policy type module type, cache the file name and class name obtained from the above analysis , policy type, which is passed to the distributor architecture in the form of parameters, starts the distribution policy, loads the distribution policy into the system, and executes the distribution policy. The invention unifies the dispenser architecture, can load the prepared policies into the system, is easy to maintain and update the distribution policies, and has good business compatibility; uses redis cache for inter module communication, and has low response time for data distribution; when distributing, it can push personalized information for old users through the judgment of user score, and new and old users recommend different contents, which is more in line with user requirements.
【技术实现步骤摘要】
一种数据分发方法及推荐系统
本专利技术涉及推荐系统中的数据分发
,具体说是一种数据分发方法及推荐系统。
技术介绍
随着互联网技术的发展,推荐系统(个性化推荐系统)的使用非常普遍,推荐系统的任务是联系用户和信息,一方面帮助用户发现对自己有价值的信息,另一方面让信息能够展示在对它感兴趣的用户面前,实现信息消费者和信息生产者的双赢,解决信息过载的问题。推荐系统可应用在:音乐、电影的推荐,电子商务中商品推荐,个性化阅读(新闻消息),社交网络好友推荐、朋友圈推荐,基于位置的服务推荐,等等。在推荐系统中,第一个环节是分发阶段,合理的分发策略是推荐系统的重点,第二个环节是召回阶段,召回算法是该阶段的关键,第三个环节是排序阶段,将召回阶段得到的候选集进行精准排序,推荐给用户。所谓召回,可以理解为向用户粗选一批待推荐的信息(商品信息,视频信息等等),相当于粗排序,之后再通过排序模型进行精排序,例如使用CTR(Click-ThroughRate,点阅率)预估的rank模型(排名模型),即:召回=>排序(精排)=>后续其他处理步骤。所以召回的目的在于:从原始数据(一般理解为全量信息集合)中触发尽可能多的正确结果(即召回数据),并将正确结果(即召回数据)返回给排序。当数据(指原始数据,一般理解为全量信息集合)接入推荐系统时,通常需要通过数据分发器传输给数据召回器,数据召回器负责完成召回阶段的处理,根据召回策略(即召回算法)的不同,数据召回器不唯一,在一 ...
【技术保护点】
1.一种数据分发方法,其特征在于,包括:/n调用启动脚本,所述启动脚本用于启动数据分发处理的初始化,/n读取配置文件并进行解析,从中获取以下信息:文件名model_file、类名modle_class、策略类型modle_type,/n缓存上述解析得到的文件名、类名、策略类型,以参数的形式传递给分发器架构,启动分发策略,将分发策略加载到系统中,/n执行分发策略。/n
【技术特征摘要】
1.一种数据分发方法,其特征在于,包括:
调用启动脚本,所述启动脚本用于启动数据分发处理的初始化,
读取配置文件并进行解析,从中获取以下信息:文件名model_file、类名modle_class、策略类型modle_type,
缓存上述解析得到的文件名、类名、策略类型,以参数的形式传递给分发器架构,启动分发策略,将分发策略加载到系统中,
执行分发策略。
2.如权利要求1所述的数据分发方法,其特征在于:所述启动脚本包括:
通过调用start函数开始分发模块的启动,
获取启动分发进程的个数,每个分发进程均执行如下步骤:
获取以参数的形式传递的文件名model_file、类名modle_class、策略类型modle_type,
将参数传递给分发器架构server_deliver.py,
调用record函数记录启动的进程号,以及记录启动的时间。
3.如权利要求1所述的数据分发方法,其特征在于:所述数据分发处理的初始化具体包括以下步骤:
将分发器加载到系统中,
连接热门数据推荐缓存队列popredis,用于分发器向热门推荐pop发送数据,
连接个性化数据推荐缓存队列cfredis,用于分发器向个性化推荐cf发送数据,
连接冷门数据推荐缓存队列coldredis,用于分发器向冷门推荐cold发送数据,
连接其他数据推荐缓存队列otherredis,用于分发器向其他推荐other发送数据,作为后补召回数据策略,
连接数据召回器缓存队列filterredis,用于向数据召回器filter发送通知,通知filter有数据需要从召回器召回,并对召回数据进行整合,
连接分发策略deliver接收请求数据的redis缓存。
4.如权利要求1所述的数据分发方法,其特征在于:所述分发器架构,具体包括:
加载层、架构层、业务层,由这三层构成分发器架构,其中:
加载层,在启动时被调用,用于获取配置文件,从中获取文件名model_file、类名modle_class、策略类型modle_type,通过接口的形式,形成分发实例化对象,
架构层,被所有业务使用,用于从redis缓存中接收原始数据作为待处理数据,将待处理数据发送到业务层,所述待处理数据亦存入redis缓存,
业务层,用于根据加载层传入的分发实例化对象,通过分发策略,对架构层传入的原始数据进行分发处理。
5.如权利要求1所述的数据分发方法,其特征在于:所述执行分发策略具体包括:
步骤1,从redis缓存中读取数据,所述数据为架构层接收到的原始数据,
步骤2,解析读取到的原始数据,依次获取以下信息:
获取用户id,
获取设备id,
获取用户请求资源的个数,默认资源为多媒体资源,所述多媒体资源包括以下任意之一:视频资源,音频资源,
获取写历史标识的标记位,所述写历史标识的标记位用于根据用户请求偏好是否重复推送,
步骤3,判断用户id是否存在,
如果存在,则构建用户唯一标识user_id_key,所述用户唯一标识user_id_key格式如下:
ur:用户id,
如果不存在,则构建用户唯一标识user_id_key,所述用户唯一标识user_id_key格式如下:
dr:设备...
【专利技术属性】
技术研发人员:张力,刘永才,
申请(专利权)人:北京酷我科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。