一种基于双向推荐的在线招聘系统的制作方法

xiaoxiao2021-2-25  284

一种基于双向推荐的在线招聘系统的制作方法
【技术领域】
[0001]本发明涉及一种基于双向推荐的在线招聘系统,具体涉及基于互联网的人力资源快速决策辅助系统,可以有效地为人力资源管理部门提供及时有效的决策辅助依据。
【背景技术】
[0002]当前招聘行业正经历快速发展和变革,一方面,随着互联网和全民创业的浪潮涌现,各个行业都面临产业升级,企业的竞争重点在于人才的竞争,而人才招聘则成为各家企业的头等大事。另一方面,随着移动互联网的普及和大数据技术的成熟,在线招聘成为一种高效便捷的招聘方式。
[0003]在线招聘遇到一个问题:信息过载,也就是说在线招聘的用户不得不面对海量的招聘职位/求职简历,如何从海量的信息中挑选出对用户有用的相关信息是一个难题。
[0004]推荐算法是解决这类问题常用的一种方式,它建立在数据挖掘的基础上,根据用户的信息需求、兴趣等,将用户感兴趣的信息推荐给用户。它是一种由系统研究用户的兴趣偏好,发现用户的兴趣点,从而引导用户发现自己的信息需求的机制。
[0005]推荐系统现已广泛应用于很多领域,传统的推荐算法包括用户建模从而计算用户偏好;物品建模从而计算物品特征;计算用户和物品的匹配度;推荐结果排序和过滤等步骤。常用的推荐方法包括:基于内容的推荐、基于协同过滤的推荐、基于关联规则的推荐、基于标签的推荐和基于混合模型的推荐等。
[0006]与传统领域下的推荐算法不同,招聘领域有其特殊性,表现在:
[0007]在线招聘系统中使用推荐,目标是为招聘者推荐合适的简历,或者为求职者推荐合适的职位,这样的场景下,被推荐的物品具有双重角色,它既是“物品”同时也是另一种类型的“用户”,所以传统推荐算法只考虑单向用户偏好导致推荐效果不好。
[0008]在线招聘系统中用户的“需求紧迫度”不是一成不变的,在不同的时间段上有很大区别,传统推荐算法对于“用户”和“物品”两方面都没有这个维度的考虑。
[0009]求职/招聘用户在同一时间段内能够响应的关注信息是存在上限的。所以对于被推荐方的用户需要考虑“曝光范围”的饱和度。而传统推荐算法中被推荐的是物品,所以推荐效果上会导致推荐方和被推荐方的有效互动过低。

【发明内容】

[0010]为解决上述问题,本发明的目的在于提供一种基于双向推荐的在线招聘系统,用于解决现有技术中推荐结果不能很好的解决在线招聘推荐中用户具有双向偏好、用户求职/招聘意愿强烈程度随时间而变化、用户同一时间段内的“曝光范围”存在饱和度等问题。[0011 ]为实现上述目的,本发明使用了以下几种关键特征:
[0012]用户‘需求紧迫度’:使用招聘系统的用户,在不同时机上他的强烈程度和紧迫感不同,这种不同会体现在他的行为记录和关注的内容上,比如招聘方紧急缺人时,活跃度明显上升,且对人才的要求也会适当放松,求职方也同样。本发明通过‘需求紧迫度’的挖掘和使用提升了用户体验。
[0013]用户偏好的双向匹配度:传统场景下的推荐是把“物品”推荐给“人”,所以只考虑接受方的偏好就可以。但招聘场景下,被推荐的信息有双重角色,既是“物品”也是另一种类型的“人”,只考虑单向偏好,会导致用户间的有效互动降低,本发明使用双向匹配度,同时兼顾了招聘方和求职方的双向偏好,明显提升了用户间的有效互动率。
[0014]用户“曝光范围”的饱和度:传统推荐把“物品”推荐给“人”,物品可以无限次曝光,但招聘场景下的推荐,被推荐的一方本身也是“人”,他对于关注信息的响应能力是有上限的,“曝光范围”过大,就无法跟关注他的另一方用户有效互动。本发明通过挖掘用户“曝光范围”的饱和度来动态控制“曝光范围”,明显提升了用户间的有效互动率。
[0015]为实现上述目的,本发明实现了一种基于双向推荐的在线招聘系统,包括:离线分析模块,推荐中心模块,在线服务模块离线分析模块:用于对用户静态信息和用户行为记录做离线挖掘和特征计算,包括数据收集模块,数据预处理模块,特征提取模块,模型训练模块;数据收集模块主要用于收集各种用户信息和用户日志,收集完成并整理入库;数据预处理模块涉及对数据的整理,清洗,用户信息按字段做格式化,用户行为按时间序列分块;特征提取模块从整理完成的数据中抽取各种特征,用户后续的模型训练;模型训练模块收集特征和训练集,训练学习出一系列模型,包括用户兴趣模型,用户内容特征模型,用户需求紧迫度模型,用户曝光饱和度模型等。
[0016]推荐中心模块:用于对请求用户计算相应的推荐列表,包括数据检索模块、推荐计算模块、实时反馈分析模块;数据检索模块主要从海量数据召回初步推荐候选集,主要通过建立倒排索引和内存缓存实现;推荐计算模块主要从已召回的推荐候选集中挑选出最符合需求的推荐结果,使用了融合模型做推荐计算,主要基于双向匹配度,需求紧迫度和曝光范围饱和度等特征;实时反馈分析模块主要是收集线上用户的实时反馈,通过这些反馈信息动态调整已计算出的用户特征,且相应调整最终的推荐结果。
[0017]在线服务模块:用于处理用户拿到推荐列表之后所发生的查看、收藏、对话等各种行为,包括用户交互模块和反馈收集模块;用户交互模块用于所有用户客户端与服务端之间的通信,消息转发以及用户间互动等;反馈收集模块用于实施收集用户行为反馈且传给推荐中心模块做反馈分析。
[0018]本发明的有益效果为:
[0019]1、挖掘用户的‘需求紧迫度’,对招聘|求职需求紧迫的人,推荐人选放宽匹配度,强调主动性,从而有效提升用户互动率和招聘成功率;
[0020]2、推荐算法使用基于双向偏好的匹配度,所以推荐效果上同时兼顾了推荐方和被推荐方的双向偏好,从而提升了用户体验;
[0021]3、通过用户“曝光范围”饱和度动态控制用户“曝光范围”,使得用户有能力响应被动关注的信息,减少无效曝光,从而有效提升推荐和被推荐双方的体验。
【附图说明】
[0022]图1是本发明整体框架图;
[0023]图2是本发明离线数据预处理及特征抽取流程图;
[0024]图3是本发明双向匹配度计算流程图;
[0025]图4是本发明对于多个推荐模型结果的个性化融合策略流程图。
【具体实施方式】
[0026]下面通过具体的实施例并结合附图对本发明做进一步的详细描述。
[0027]本发明具体涉及一种基于双向推荐的在线招聘系统,包括:离线分析模块,推荐中心模块,在线服务模块离线分析模块:用于对用户静态信息和用户行为记录做离线挖掘和特征计算,包括数据收集模块,数据预处理模块,特征提取模块,模型训练模块;数据收集模块主要用于收集各种用户信息和用户日志,收集完成并整理入库;数据预处理模块涉及对数据的整理,清洗,用户信息按字段做格式化,用户行为按时间序列分块;特征提取模块从整理完成的数据中抽取各种特征,用户后续的模型训练;模型训练模块收集特征和训练集,训练学习出一系列模型,包括用户兴趣模型,用户内容特征模型,用户需求紧迫度模型,用户曝光饱和度模型等。
[0028]推荐中心模块:用于对请求用户计算相应的推荐列表,包括数据检索模块、推荐计算模块、实时反馈分析模块;数据检索模块主要从海量数据召回初步推荐候选集,主要通过建立倒排索引和内存缓存实现;推荐计算模块主要从已召回的推荐候选集中挑选出最符合需求的推荐结果,使用了融合模型做推荐计算,主要基于双向匹配度,需求紧迫度和曝光范围饱和度等特征;实时反馈分析模块主要是收集线上用户的实时反馈,通过这些反馈信息动态调整已计算出的用户特征,且相应调整最终的推荐结果。
[0029]在线服务模块:用于处理用户拿到推荐列表之后所发生的查看、收藏、对话等各种行为,包括用户交互模块和反馈收集模块;用户交互模块用于所有用户客户端与服务端之间的通信,消息转发以及用户间互动等;反馈收集模块用于实施收集用户行为反馈且传给推荐中心模块做反馈分析。
[0030]如图1所示,描述了基于双向推荐的在线招聘系统整体框架,具体包括:离线分析模块、推荐中心模块和在线服务模块三大模块,这三个模块都位于后台服务器。其中在线服务模块和推荐中心模块用于线上实时计算,离线分析模块用于离线的数据挖掘。
[0031]离线分析模块:处理、分析、存贮离线的海量数据,从中抽取出有用的特征,并且使用训练集数据采用机器学习的方式学习出几个关键模型,包括:用户兴趣模型,用户内容特征模型,用户需求紧迫度模型,用户“曝光范围”饱和度模型,这些模型可以用于线上推荐算法的计算。
[0032]离线分析模块使用的计算环境需适应分布式大数据处理,所以本发明使用了Hadoop (Hadoop是一个由Apache基金会所开发的分布式系统基础架构)计算环境,便于较好的把大数据量划分到多台机器上运算;使用的存贮环境也同样适应分布式集群,且结合不同的数据特点,需要支持磁盘级存1C和内存级存1C,所以本实施例 使用了MongoDB结合Redis的分布式存贮方案(其中MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案,Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API)。
[0033]离线分析模块使用有监督的机器学习方式训练用户兴趣模型,该模型用于描述用户所有历史关注信息中的统计学规律,根据用户兴趣模型,可以很方便的得出该用户的偏好特征向量,本实施例采用逻辑回归方法训练用户兴趣模型。
[0034]离线分析模块使用有监督的机器学习方式训练用户特征模型,该模型用于描述所有用户的内容描述中的统计学规律,根据用户特征模型,可以很方便的得出该用户最有代表性的内容特征向量,本实施例采用逻辑回归方法训练用户特征模型。
[0035]离线分析模块使用有监督的机器学习方式训练用户需求紧迫度模型,该模型用于描述所有用户需求紧迫度的统计学规律,根据用户需求紧迫度模型,可以很方便的得出该用户当前的需求紧迫度,本实施例采用逻辑回归方法训练用户需求紧迫度模型。
[0036]离线分析模块使用有监督的机器学习方式训练用户“曝光范围”饱和度模型,该模型用于描述所有用户历史行为中表现出的“曝光范围”饱和度的统计学规律,根据用户“曝光范围”饱和度模型,可以很方便的得出该用户当前的“曝光范围”饱和度,本实施例采用逻辑回归方法训练用户“曝光范围”饱和度模型。
[0037]离线分析模块的数据输入是用户行为日志和用户静态信息,结果输出是挖掘出的特征库以及训练出的各种模型。离线分析模块计算全量用户数据,数据每天更新一次。
[0038]推荐中心模块:用于为线上用户计算出适合的推荐结果,主要基于两部分基础数据:离线分析模块生成的全量特征库和线上用户实时反馈生成的实时特征库。全量特征库是根据离线的全量数据计算,但由于数据量较大,只能一天更新一次,不足以反映实时性变化。实时特征库是实时收集用户反馈,只计算少部分的增量数据,用于弥补全量特征库中的缺失。
[0039]推荐中心模块主要处理两大功能:实时反馈分析和推荐结果计算。实时反馈分析模块通过消息通信机制与在线服务模块对接,负责实时接收用户产生的新动作。对其进行分析,特征抽取,从而更新实时特征库。推荐结果计算部分使用了融合模型的方式来计算推荐,包括协同过滤推荐和基于内容的推荐,最后将这两者产生的推荐列表使用个性化融合策略进行融合得到最后的推荐结果。
[0040]推荐中心模块用于线上服务,采用的存贮机制也需要有较快的响应速度,全量特征库只有读操作,且涉及到大量查找操作,所以采用了mysql结合memcache的存贮机制,实时特征库需要有大量的读写操作,且数据量较小,所以采用redis的存贮机制。
[0041]在线服务模块:用于处理招聘系统与用户交互的功能,包括:推荐结果展现,用户交互模块和用户反馈通信模块。推荐结果展现模块用于将推荐中心模块计算出的推荐结果推送给客户端用户;用户交互模块用于处理多用户之间的交互,包括用户的查看、收藏、对话等各种行为;用户反馈通信模块用于将收集到的用户行为作为反馈信息发送给推荐中心模块来更新实时特征。
[0042]为了实现用人单位一侧对海量求职数据的分析,最好在系统中使用标准化的表格供求职者进行填写,以便对其中的数据进行读取和抽取、分析和统计,并最终根据所述统计信息结合用人单位的侧重偏好进行排序、记分,使得双方都可以更便捷的获得自己所需要的人才/岗位,节约双方的时间,对不符合条件的,就无需再安排面试等。
[0043]如图2所示,描述了离线数据预处理及特征抽取的流程,包括对行为日志的处理和对用户静态信息的处理两个部分。最后这两部分都输出特征,且写入统一的特征库中。
[0044]对于用户的行为日志,处理流程如下:先将行为日志按时间排序,使其成为有上下文信息的行为序列;然后根据具体的行为特点将行为序列分割成一个个的行为单元;最后对每个行为单元抽取行为特征,并将行为特征入库。抽取到的行为特征包括以下这些:用户查看次数,收藏次数,对话次数,查看到对话的比例,查看到收藏的比例,用户活跃总次数,用户活跃时间段是否在上班时间,用户被关注次数,用户响应关注信息的积极性等。
[0045]对于用户静态信息,处理流程如下:先将用户的静态信息按不同字段分成单元块;将各种单元块的内容统一格式化;对格式化后的字段单元块抽取各种特征;特别地,对于标签信息,可以基于关联规则计算出标签的扩展列表来;最后将抽取到的特征入库。抽取到的静态特征包括以下这些:职位,工作所在地点,工作年限,技能要求,以往项目经验,其他软技能,相关标签等。
[0046]如图3所示,描述了双向匹配度的计算流程,双向匹配度时本发明中推荐算法的核心,其计算过程同时兼顾招聘方的偏好和求职方的偏好,且使用用户需求紧迫度作为权重。本实施例采用的流程如下:
[0047]招聘方的单向匹配度:先从特征库中查找招聘方的相关特征,根据招聘方兴趣模型计算出招聘方的偏好向量;同样的从特征库中查找求职方的相关特征,根据求职方内容特征模型计算出求职方的内容特征向量;计算招聘方偏好向量与求职方内容特征向量之间的匹配度,就得到招聘方的单向匹配度。
[0048]求职方的单向匹配度:先从特征库中查找求职方的相关特征,根据求职方的兴趣模型计算出求职方的偏好向量;同样地从特征库中查找招聘方的相关特征,根据招聘方内容特征模型计算出招聘方的内容特征向量;计算求职方偏好向量与招聘方内容特征向量之间的匹配度,就得到求职方的单向匹配度。
[0049]双向匹配度:以招聘方需求紧迫度和求职方需求紧迫度作为权重,将招聘方单向匹配度和求职方单向匹配度做加权线性求和,即可得到双向匹配度。
[0050]如图4所示,描述了推荐算法中对多模型结果的个性化融合流程,包括:选取,过滤,排序。选取是指结果从两个推荐列表中按一定比例做选择,选择策略主要是参考用户需求紧迫度,动态调整匹配度和活跃度阈值,对紧迫度较高的用户,适当放松候选推荐人的匹配度要求,提高活跃度要求;过滤步是对选取步中初筛出的推荐结果做控制,主要是控制候选推荐人的曝光范围,过滤策略是基于曝光范围饱和度动态调整过滤阈值;排序是最终的结果筛选,使用了匹配度,活跃度,饱和度等各种特征综合调整,最后按排序结果输出前几名作为最终推荐结果。
[0051]用户‘需求紧迫度’:使用招聘系统的用户,在不同时机上他的强烈程度和紧迫感不同,这种不同会体现在他的行为记录和关注的内容上,比如招聘方紧急缺人时,活跃度明显上升,且对人才的要求也会适当放松,求职方也同样。本发明通过‘需求紧迫度’的挖掘和使用提升了用户体验。
[0052]用户偏好的双向匹配度:传统场景下的推荐是把“物品”推荐给“人”,所以只考虑接受方的偏好就可以。但招聘场景下,被推荐的信息有双重角色,既是“物品”也是另一种类型的“人”,只考虑单向偏好,会导致用户间的有效互动降低,本发明使用双向匹配度,同时兼顾了招聘方和求职方的双向偏好,明显提升了用户间的有效互动率。
[0053]用户“曝光范围”的饱和度:传统推荐把“物品”推荐给“人”,物品可以无限次曝光,但招聘场景下的推荐,被推荐的一方本身也是“人”,他对于关注信息的响应能力是有上限的,“曝光范围”过大,就无法跟关注他的另一方用户有效互动。本发明通过挖掘用户“曝光范围”的饱和度来动态控制“曝光范围”,明显提升了用户间的有效互动率。
[0054]本发明提出一种双向推荐算法,技术方案如下:
[0055]步骤1.利用用户提交的静态信息和用户行为记录,分别对招聘方和求职方建立兴趣模型和特征模型,计算双向偏好、用户‘需求紧迫度’、饱和度。包括:
[0056]1.1收集求职方和招聘方的静态信息,从静态信息中挖掘出一系基于内容的特征,包括:招聘I求职岗位、工作年限、所在城市、教育背景、工作经验、软技能等;
[0057]1.2收集求职方和招聘方提交的标签信息,通过关联规则的方法挖掘出扩展标签,用于匹配度计算;
[0058]1.3收集用户历史行为信息(包括用户的查看、收藏、对话记录),按时间顺序组成行为序列,从中挖掘出一系列行为特征,包括:用户活跃度,用户活跃时间分布,用户偏好特征,用户需求紧迫度,用户“曝光范围”饱和度等;
[0059]1.4对用户关注过(查看、收藏、对话)的相关信息,通过协同过滤的方法计算出兴趣度矩阵;
[0060]步骤2.推荐过程:
[0061]2.1使用混合模型(包括协同过滤推荐和基于内容推荐)召回候选人列表,分别对每个候选人计算他与推荐请求人的双向匹配度;根据双向匹配度和其他特征做排序;
[0062]2.2对多个模型的初步推荐结果做个性化融合,融合策略基于以下特征:用户活跃度,用户“曝光范围”饱 和度,用户是否新注册;
[0063]步骤3.收集用户反馈
[0064]3.1实时收集用户的查看,收藏,对话记录,通过消息队列发给线上做实时反馈;
[0065]3.2周期性同步用户查看,收藏,对话记录,用于离线数据分析;
[0066]在上述步骤1.3中,用户偏好特征的挖掘和计算方法如下:
[0067]1.3.1收集招聘方历史关注过的求职者信息,对这些求职者信息抽取特征向量,使用这些求职者信息样本及其特征训练招聘方兴趣模型;
[0068]1.3.2收集求职方历史关注过的招聘者信息,对这些招聘者信息抽取特征向量,使用这些招聘者信息样本及其特征训练求职方兴趣模型;
[0069]1.3.3在离线环境下使用兴趣模型对全量用户计算偏好特征后,导入线上存贮,用于线上的匹配度计算;
[0070]在上述步骤1.3中,用户对某个候选信息的单向匹配度计算方法如下:
[0071 ] 1.3.4使用兴趣模型计算用户的偏好特征;
[0072]1.3.5读取候选信息的内容特征向量,该特征向量在上述步骤1.1中离线计算得到;
[0073]1.3.6计算用户偏好特征与候选信息内容特征向量之间的相似度,得到用户对该候选信息的单向匹配度;
[0074]在上述步骤1.3中,用户‘需求紧迫度’挖掘方法如下:
[0075]1.3.7挖掘用户近期活跃频度,抽取活跃度特征;挖掘用户近期活跃时间,抽取活跃时间分布特征;
[0076]1.3.8计算所有用户近期内关注的候选信息的单向匹配度,计算单向匹配度方差;
[0077]1.3.9将上述计算的结果作为训练集,训练用户‘需求紧迫度,回归模型,用回归模型计算出每个用户的‘需求紧迫度’;
[0078]在上述步骤1.3中,用户“曝光范围”饱和度的挖掘方法如下:
[0079]1.3.10挖掘该用户近期活跃频度,以及该用户近期‘查看’数,‘收藏’数,‘对话’数等特征;
[0080]1.3.11挖掘该用户近期“曝光范围”,以及该用户近期‘被查看’次数,‘被收藏’次数,‘被对话’次数等特征;
[0081 ] 1.3.12挖掘该用户近期‘响应查看’次数,‘响应收藏’次数,‘响应对话’次数等特征;
[0082]1.3.13将上述结果做为训练集,学习饱和度回归模型,用这个回归模型计算出所有用户的“曝光范围”饱和度来;
[0083]在上述步骤2.1中,双向匹配度的计算方法如下:
[0084]2.1.1对请求用户选择最可能的候选集列表,先计算该用户对每个候选信息的单向匹配度;
[0085]2.1.2读取该请求用户的‘需求紧迫度’,‘需求紧迫度’在步骤1.3中已经离线计算得出,该‘需求紧迫度’将作为步骤2.1.1中单向匹配度的权重来使用;
[0086]2.1.3对每个候选信息,反向计算该候选信息用户对请求用户的单向匹配度;
[0087]2.1.4对每个候选信息用户,读取该候选信息用户的‘需求紧迫度’,该‘需求紧迫度’在步骤1.3中已经离线计算得出,该‘需求紧迫度’将作为步骤2.1.3中单向匹配度的权重来使用;
[0088]2.1.5将双方的匹配度分别按照‘需求紧迫度’的权重做线性加和,得出双向匹配度;
[0089]在上述步骤2.2中,对多个模型推荐结果的个性化融合策略如下:
[0090]2.2.1读取请求用户的‘需求紧迫度,,“曝光范围”饱和度,近期活跃度等特征;
[0091 ] 2.2.2读取每个候选推荐结果用户的“曝光范围“饱和度,近期活跃度,近期曝光次数等特征,对其按“曝光范围”动态打分过滤;
[0092]2.2.3对于‘需求紧迫度’较高的用户,需要放宽匹配度,调高对方用户的主动性,且强调新颖性,所以适当放宽匹配度过滤阈值,增加候选用户的活跃度和‘需求紧迫度’的权重,且适当调高基于协同过滤的推荐结果比例;
[0093]2.2.4筛选后的结果,按以上各种特征排序后给出最终的推荐融合结果。当然,本发明还有许多其他实施例,在不违背本发明精神和其实质的情况下,可根据本发明做出各种相应的改变和变形。
[0094]虽然先前的描述和附图描述了本发明的优选实施例,但是可以理解:在不脱离本发明的精神的情况下,在此可以产生各种附加、修改和替换。本领域普通技术人员很清楚:在不脱离本发明的精神或本质特性的情况下,可以以其他特殊形式、结构、布置、比例、以及利用其他元件、材料和部件来实现本发明。本领域的技术人员将意识到:本发明可以使用发明实际中使用的结构、布置、比例、材料以及部件和其他的许多修改,这些修改在不脱离本发明的原理的情况下而特别适应于特殊环境和操作需求。因此,当前公开的实施例在所有方面应被理解为说明性的而非对其请求保护的范围的限制。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种基于双向推荐的在线招聘系统,其特征在于,包括:离线分析模块、推荐中心模块、在线服务模块离线分析模块,其中: 在线服务模块离线分析模块用于对用户静态信息和用户行为记录做离线挖掘和特征计算,具体包括数据收集模块、数据预处理模块、特征提取模块、模型训练模块;数据收集模块主要用于收集各种用户信息和用户日志,收集完成并整理入库;数据预处理模块涉及对数据的整理、清洗,用户信息按字段做格式化,用户行为按时间序列分块;特征提取模块从整理完成的数据中抽取各种特征,用户后续的模型训练;模型训练模块收集特征和训练集,训练学习出一系列模型,包括用户兴趣模型、用户内容特征模型、用户需求紧迫度模型、用户曝光饱和度模型; 推荐中心模块用于对请求用户计算相应的推荐列表,包括数据检索模块、推荐计算模块、实时反馈分析模块;数据检索模块主要从海量数据召回初步推荐候选集,主要通过建立倒排索引和内存缓存实现;推荐计算模块主要从已召回的推荐候选集中挑选出最符合需求的推荐结果,使用了融合模型做推荐计算,主要基于双向匹配度,需求紧迫度和曝光范围饱和度等特征;实时反馈分析模块主要是收集线上用户的实时反馈,通过这些反馈信息动态调整已计算出的用户特征,且相应调整最终的推荐结果; 在线服务模块用于处理用户拿到推荐列表之后所发生的查看、收藏、对话等各种行为,包括用户交互模块和反馈收集模块;用户交互模块用于所有用户客户端与服务端之间的通信,消息转发以及用户间互动;反馈收集模块用于实施收集用户行为反馈且传给推荐中心模块做反馈分析。2.如权利要求1所述的基于双向推荐的在线招聘系统,其中离线分析模块使用的计算环境需适应分布式大数据处理,使用了Hadoop计算环境,便于较好的把大数据量划分到多台机器上运算;使用的存贮环境也同样适应分布式集群,且结合不同的数据特点,需要支持磁盘级存贮和内存级存贮,使用MongoDB结合Redis的分布式存贮方案。3.如权利要求1所述的基于双向推荐的在线招聘系统,其中离线分析模块使用有监督的机器学习方式训练用户兴趣模型,该模型用于描述用户所有历史关注信息中的统计学规律,根据用户兴趣模型,可以很方便的得出该用户的偏好特征向量,采用逻辑回归方法训练用户兴趣模型,离线分析模块使用有监督的机器学习方式训练用户特征模型,该模型用于描述所有用户的内容描述中的统计学规律,根据用户特征模型,能很方便的得出该用户最有代表性的内容特征向量,采用逻辑回归方法训练用户特征模型。4.如权利要求1所述的基于双向推荐的在线招聘系统,其中离线分析模块使用有监督的机器学习方式训练用户“曝光范围”饱和度模型,该模型用于描述所有用户历史行为中表现出的“曝光范围”饱和度的统计学规律,根据用户“曝光范围”饱和度模型,能很方便的得出该用户当前的“曝光范围”饱和度,采用逻辑回归方法训练用户“曝光范围”饱和度模型。5.如权利要求1所述的基于双向推荐的在线招聘系统,其中离线分析模块的数据输入是用户行为日志和用户静态信息,结果输出是挖掘出的特征库以及训练出的各种模型,离线分析模块计算全量用户数据,数据每天更新一次。6.如权利要求1所述的基于双向推荐的在线招聘系统,其中推荐中心模块用于为线上用户计算出适合的推荐结果,主要基于两部分基础数据:离线分析模块生成的全量特征库和线上用户实时反馈生成的实时特征库,全量特征库是根据离线的全量数据计算,但由于数据量较大,只能一天更新一次,不足以反映实时性变化,实时特征库是实时收集用户反馈,只计算少部分的增量数据,用于弥补全量特征库中的缺失。7.如权利要求1所述的基于双向推荐的在线招聘系统,其中推荐中心模块主要处理两大功能:实时反馈分析和推荐结果计算,实时反馈分析模块通过消息通信机制与在线服务模块对接,负责实时接收用户产生的新动作,对其进行分析,特征抽取,从而更新实时特征库,推荐结果计算部分使用了融合模型的方式来计算推荐,包括协同过滤推荐和基于内容的推荐,最后将这两者产生的推荐列表使用个性化 融合策略进行融合得到最后的推荐结果.8.如权利要求1所述的基于双向推荐的在线招聘系统,其中推荐中心模块用于线上服务,采用的存贮机制也需要有较快的响应速度,全量特征库只有读操作,且涉及到大量查找操作,所以采用了 Mysql+MemCache的存贮机制,实时特征库需要有大量的读写操作,且数据量较小,所以采用Red i s的存机制。9.如权利要求1所述的基于双向推荐的在线招聘系统,其中在线服务模块用于处理招聘系统与用户交互的功能,包括:推荐结果展现,用户交互模块和用户反馈通信模块,推荐结果展现模块用于将推荐中心模块计算出的推荐结果推送给客户端用户;用户交互模块用于处理多用户之间的交互,包括用户的查看、收藏、对话等各种行为;用户反馈通信模块用于将收集到的用户行为作为反馈信息发送给推荐中心模块来更新实时特征。10.如权利要求1所述的基于双向推荐的在线招聘系统,其中对于用户的行为日志,处理流程如下:先将行为日志按时间排序,使其成为有上下文信息的行为序列;然后根据具体的行为特点将行为序列分割成一个个的行为单元;最后对每个行为单元抽取行为特征,并将行为特征入库,抽取到的行为特征包括以下这些:用户查看次数,收藏次数,对话次数,查看到对话的比例,查看到收藏的比例,用户活跃总次数,用户活跃时间段是否在上班时间,用户被关注次数,用户响应关注信息的积极性等。11.如权利要求1所述的基于双向推荐的在线招聘系统,其中对于用户静态信息,处理流程如下:先将用户的静态信息按不同字段分成单元块;将各种单元块的内容统一格式化;对格式化后的字段单元块抽取各种特征;特别地,对于标签信息,可以基于关联规则计算出标签的扩展列表来;最后将抽取到的特征入库,抽取到的静态特征包括以下这些:职位,工作所在地点,工作年限,技能要求,以往项目经验,其他软技能,相关标签等。12.如权利要求1所述的基于双向推荐的在线招聘系统,其中招聘方的单向匹配度:先从特征库中查找招聘方的相关特征,根据招聘方兴趣模型计算出招聘方的偏好向量;同样的从特征库中查找求职方的相关特征,根据求职方内容特征模型计算出求职方的内容特征向量;计算招聘方偏好向量与求职方内容特征向量之间的匹配度,就得到招聘方的单向匹配度; 求职方的单向匹配度:先从特征库中查找求职方的相关特征,根据求职方的兴趣模型计算出求职方的偏好向量;同样地从特征库中查找招聘方的相关特征,根据招聘方内容特征模型计算出招聘方的内容特征向量;计算求职方偏好向量与招聘方内容特征向量之间的匹配度,就得到求职方的单向匹配度; 双向匹配度:以招聘方需求紧迫度和求职方需求紧迫度作为权重,将招聘方单向匹配度和求职方单向匹配度做加权线性求和,即可得到双向匹配度。13.如权利要求1所述的基于双向推荐的在线招聘系统,其中推荐算法中对多模型结果的个性化融合流程,包括:选取、过滤、排序,选取是指结果从两个推荐列表中按一定比例做选择,选择策略主要是参考用户需求紧迫度,动态调整匹配度和活跃度阈值,对紧迫度较高的用户,适当放松候选推荐人的匹配度要求,提高活跃度要求;过滤步是对选取步中初筛出的推荐结果做控制,主要是控制候选推荐人的曝光范围,过滤策略是基于曝光范围饱和度动态调整过滤阈值;排序是最终的结果筛选,使用了匹配度、活跃度、饱和度等各种特征综合调整,最后按排序结果输出前几名作为最终推荐结果。14.如权利要求1-13所述的基于双向推荐的在线招聘系统,其中推荐算法进行计算的具体步骤如下: 步骤1.利用用户提交的静态信息和用户行为记录,分别对招聘方和求职方建立兴趣模型和特征模型,计算双向偏好、用户‘需求紧迫度’、饱和度, 包括: .1.1收集求职方和招聘方的静态信息,从静态信息中挖掘出一系基于内容的特征,包括:招聘I求职岗位、工作年限、所在城市、教育背景、工作经验、软技能等;. 1.2收集求职方和招聘方提交的标签信息,通过关联规则的方法挖掘出扩展标签,用于匹配度计算; . 1.3收集用户历史行为信息(包括用户的查看、收藏、对话记录),按时间顺序组成行为序列,从中挖掘出一系列行为特征,包括:用户活跃度,用户活跃时间分布,用户偏好特征,用户需求紧迫度,用户“曝光范围”饱和度等;. 1.4对用户关注过(查看、收藏、对话)的相关信息,通过协同过滤的方法计算出兴趣度矩阵; 步骤2.推荐过程: .2.1使用混合模型(包括协同过滤推荐和基于内容推荐)召回候选人列表,分别对每个候选人计算他与推荐请求人的双向匹配度;根据双向匹配度和其他特征做排序; . 2.2对多个模型的初步推荐结果做个性化融合,融合策略基于以下特征:用户活跃度,用户“曝光范围”饱和度,用户是否新注册; 步骤3.收集用户反馈. 3.1实时收集用户的查看,收藏,对话记录,通过消息队列发给线上做实时反馈; . 3.2周期性同步用户查看,收藏,对话记录,用于离线数据分析; 在上述步骤1.3中,用户偏好特征的挖掘和计算方法如下:. 1.3.1收集招聘方历史关注过的求职者信息,对这些求职者信息抽取特征向量,使用这些求职者信息样本及其特征训练招聘方兴趣模型; .1.3.2收集求职方历史关注过的招聘者信息,对这些招聘者信息抽取特征向量,使用这些招聘者信息样本及其特征训练求职方兴趣模型; . 1.3.3在离线环境下使用兴趣模型对全量用户计算偏好特征后,导入线上存贮,用于线上的匹配度计算; 在上述步骤1.3中,用户对某个候选信息的单向匹配度计算方法如下: . 1.3.4使用兴趣模型计算用户的偏好特征; .1.3.5读取候选信息的内容特征向量,该特征向量在上述步骤1.1中离线计算得到; .1.3.6计算用户偏好特征与候选信息内容特征向量之间的相似度,得到用户对该候选信息的单向匹配度; 在上述步骤1.3中,用户‘需求紧迫度’挖掘方法如下: . 1.3.7挖掘用户近期活跃频度,抽取活跃度特征;挖掘用户近期活跃时间,抽取活跃时间分布特征; . 1.3.8计算所有用户近期内关注的候选信息的单向匹配度,计算单向匹配度方差; . 1.3.9将上述计算的结果作为训练集,训练用户‘需求紧迫度’回归模型,用回归模型计算出每个用户的‘需求紧迫度 在上述步骤1.3中,用户“曝光范围”饱和度的挖掘方法如下: .1.3.10挖掘该用户近期活跃频度,以及该用户近期‘查看’数,‘收藏’数,‘对话’数等特征; . 1.3.11挖掘该用户近期“曝光范围”,以及该用户近期‘被查看’次数,‘被收藏’次数,‘被对话’次数等特征; . 1.3.12挖掘该用户近期‘响应查看’次数,‘响应收藏’次数,‘响应对话’次数等特征; . 1.3.13将上述结果做为训练集,学习饱和度回归模型,用这个回归模型计算出所有用户的“曝光范围”饱和度来; 在上述步骤2.1中,双向匹配度的计算方法如下:. 2.1.1对请求用户选择最可能的候选集列表,先计算该用户对每个候选信息的单向匹配度; .2.1.2读取该请求用户的‘需求紧迫度’,‘需求紧迫度’在步骤1.3中已经离线计算得出,该‘需求紧迫度’将作为步骤2.1.1中单向匹配度的权重来使用; .2.1.3对每个候选信息,反向计算该候选信息用户对请求用户的单向匹配度; . 2.1.4对每个候选信息用户,读取该候选信息用户的‘需求紧迫度’,该‘需求紧迫度’在步骤1.3中已经离线计算得出,该‘需求紧迫度’将作为步骤2.1.3中单向匹配度的权重来使用;. 2.1.5将双方的匹配度分别按照‘需求紧迫度’的权重做线性加和,得出双向匹配度; 在上述步骤2.2中,对多个模型推荐结果的个性化融合策略如下: . 2.2.1读取请求用户的‘需求紧迫度’,“曝光范围”饱和度,近期活跃度等特征; . 2.2.2读取每个候选推荐结果用户的“曝光范围“饱和度,近期活跃度,近期曝光次数等特征,对其按“曝光范围”动态打分过滤; .2.2.3对于‘需求紧迫度’较高的用户,需要放宽匹配度,调高对方用户的主动性,且强.调新颖性,所以适当放宽匹配度过滤阈值,增加候选用户的活跃度和‘需求紧迫度’的权重,且适当调高基于协同过滤的推荐结果比例; . 2.2.4筛选后的结果,按以上各种特征排序后给出最终的推荐融合结果。
【专利摘要】本发明公开了一种基于双向推荐的在线招聘系统,该系统使用的双向推荐算法包括:收集招聘方和求职方用户各自提交的静态信息;收集双方用户的动态行为信息;计算推荐匹配度时需要考虑如下因素:兼顾双方的双向偏好、兼顾用户需求紧迫度、兼顾用户被推荐的“曝光范围”饱和度;算法采用混合模型实现,对多模型的结果采用个性化融合策略。本发明的有益效果为:很好的解决了招聘场景下的用户具有双向偏好、用户需求紧迫度随时间变化、以及用户对“曝光范围”的响应能力有饱和度的问题。
【IPC分类】G06F17/30, G06Q10/10, H04L29/08
【公开号】CN105488662
【申请号】CN201610008852
【发明人】赵鹏
【申请人】北京歌利沃夫企业管理有限公司
【公开日】2016年4月13日
【申请日】2016年1月7日

最新回复(0)