APP下载

协同过滤算法在个性化就业推荐系统中研究

2015-05-15黄梅娟

电脑知识与技术 2015年8期

黄梅娟

摘要:传统的就业网站主要是为就业用户提供就业信息的一个空间而已,形式单一、查询功能很简单,对于就业用户群体没有作相应的区分,针对不同的就业用户没有提供相异的服务,因此无法因人而异地满足各类就业用户的个性化需求。由此,很有必要通过数据挖掘等相关技术提出个性化就业推荐系统,如协同过滤推荐算法是目前运用最广泛也是最成功的一种,主要包括User-based和Item-based推荐算法。然而传统的协同过滤推荐算法存在稀疏性等显著问题,必须通过算法改进从而提高推荐质量。

关键词:就业网站;个性化就业推荐系统;协同过滤推荐算法;算法改进

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)08-0020-03

Abstract:The traditional job site is mainly a space to provide employment information for employment user only, the form is single, the query function is very simple, for the employment of user groups did not make the distinction, in view of the different employment users do not provide different services, and therefore cannot be varies from person to person to meet the personalized needs of users all kinds of employment.Therefore, it is necessary to make personalized employment recommendation system through the data mining. Recently, The most popular and successful one is Collaborative Filtering, including User-based and Item-based recommendation arithmetic. However, the traditional collaborative filtering recommendation algorithm sparseness and other significant problems exist,must by improving the algorithm so as to improve the recommend quality.

Key words:employment website; personalized employment recommender system; collaborative filtering recommendation Algorithm; the improved algorithm

就业推荐,是指根据用户的信息和企业的信息,借助相关技术,给用户推荐合适的企业,给企业推荐合适的员工。用户在浏览就业信息网站的时候,面临的企业如此之多,如何在众多的企业中找到自己合适的岗位,要花很长的时间去寻找,同样,企业也面临同样的问题,如何在众多的应聘者中找到自己合适的人选,要花很长的时间去寻找。网站提供了数千万个企业,用户却只能使用分类浏览、分类导航、搜索等此类通用的网站工具来搜索信息。这就要求用户对所要搜索的企业有相当清楚的了解和把握。然而面对如此众多的企业,绝大多数的用户基本不会有效整合网站信息资源的,这就很容易出现所谓的“信息迷航”。诸如此类现象:网站存在有用户需要的企业,然而用户却没有找到,或找到的企业不是最适合自己的。

在这样的背景下,就需要就业网站有这样一种就业推荐功能,根据用户的信息,将其感兴趣的企业主动推荐给用户,同时对所有的用户进行分析,筛选合适的用户推荐给企业,即个性化就业推荐系统。

1 协同过滤算法在个性化就业推荐系统中研究

1.1 个性化推荐相关技术

个性化即指“非同一般”,所谓个性化推荐,即在大众化基础上推荐针对用户独特特性的信息。这就要根据用户的具体要求,比如用户的喜好、性格、年龄结构等,对这些用户个性化信息进行分析,提取针对不同用户所需要的信息或服务,真正实现“以用户为本”的针对性推荐。比如在个性化就业推荐系统中,用户可以在注册时填写个人信息,网站通过用户的注册及访问记录得到不同用户的个人信息、以及浏览的习惯等,然后通过个性化推荐技术不断挖掘从而迎合用户的需求。用户在该站点有种“私人订制”的服务体验。

1.1.1 信息过滤技术

信息过滤技术分为两类:一种是基于内容的过滤;还有一种就是协同过滤。在信息检索技术中,基于过滤技术的推荐系统被逐步应用开来。目前普遍应用的推荐领域有文本信息、Web站点以及娱乐服务产品等。

1.1.2 数据挖掘技术

目前国际上数据库和信息决策领域的最前沿最有成效的研究方向之一就有数据挖掘。数据挖掘(英文叫Data Mining),就是从大量的、不完全的、有噪声的、模糊的、随机的数据集中,提取隐含在此中的、人们预先不晓得的、新颖的、容易被人理解的、然而又是潜在有用的模式的非平凡过程。与数据挖掘相近似的术语还有如从数据库中发现知识(KDD)、数据分析、数据融合(Data Fusion)以及决策支持等。

数据挖掘是各个学科技术的综合应用,它具有很多功能,当前的数据挖掘功能有如下几种:自动预测趋势和行为、关联分组、聚类 、概念描述、偏差检测等等。

1.2 个性化就业推荐系统总体设计

就业个性化服务系统可以分为两大子系统:“就业用户的个性化建模”子系统、“个性化推荐服务”子系统。在两个子系统中,“个性化建模”子系统的目的是为了获取就业信息,分析并挖掘得到用户的个性化信息,有了这些个性化信息,就可以生成针对“就业用户”的个性化兴趣模型,此模型可以分为静态兴趣模型和动态兴趣模型;“个性化推荐服务”子系统则是按照“就业用户”的个性化兴趣模型自动向用户推荐他们有意向的企业,在此子系统中,根据用户注册情况,设计了两个推荐的工作流程:一是新注册用户推荐的工作流程,另一个是已访问用户推荐的工作流程。

1.3 个性化建模设计思路

就业数据的个性化建模系统的工作流程,主要有四个步骤。

1) 获取就业信息:这里的就业信息包括两个方面,一方面是采用显式收集方式,要求用户指出自己的基本信息以及就业兴趣,包括姓名,性别,年龄,学校,专业,毕业时间,就业经历,对哪方面的企业感兴趣等基本信息;另一方面利用隐式收集方式时,推荐系统依据Web日志,收集与分析用户的上网数据,如浏览的页面、在页面上滞留的时间、页面点击次序等信息,获取用户的浏览兴趣。所有的数据资料存放到数据库中。

2) 兴趣的提取:得到了上面的就业信息,紧接着利用分类技术分析、挖掘在这些信息中隐含的各用户兴趣,分析用户的基本信息和浏览行为,得到这些用户在各企业岗位中所体现出的兴趣类别等信息。当我们分析完全部的数据之后,才能获知用户对不同的企业及岗位兴趣的权值。

3) 个性化建模:通过就业用户的兴趣提取,产生就业用户的各兴趣模型,所产生的兴趣模型可以分为:静态兴趣模型(用户的)与动态兴趣模型。比如:静态的用户兴趣模型采用协同过滤技术,根据对用户的分析,将具有相似兴趣的用户聚集一个类别,识别出这一类别的用户感兴趣的企业。动态兴趣模型可以采用贝叶斯网络技术根据对就业信息的分析进行建立贝叶斯网络。

4)模型输出:模型输出的目的是给用户供应一个用户模型的表达方式,体现用户的兴趣变更。在个性化建模之后,向用户提供模型的输出方式,然后将数据库中关于用户模型的数据重新组织,最后以不同的多样化方式输出。

1.4 个性化推荐子系统设计思路

1.4.1 新注册用户推荐的工作流程

对于新注册用户我们采用显式收集方式,获得用户提供的基本信息以及就业兴趣,包括姓名,性别,年龄,学校,专业,毕业时间,就业经历,对哪方面的企业感兴趣等基本信息。获取了该用户的信息后,用户的分类模型对用户进行分类,识别出用户所属类别,接着采用基于用户的协同过滤推荐技术搜索该类别的若干最近邻居,然后根据最近邻居对项目的评分来预测目标用户对项目的评分,产生对应的推荐列表。静态兴趣模型中用户模型的特征向量, {(c1,w1), (c2,w2),… , (cn, wn),},可以看成用户对于相应兴趣类别的评分,

依据上述的协同过滤推荐算法,最终生成该类别用户在所有兴趣类别的权值,依据权值的大小结合概率选择算法推荐相应的企业,权值的大小与推荐相应类别的企业的个数成正比 ,同一兴趣类别内的企业采取随机选择算法进行选择。

1.4.2 已访问用户推荐的工作流程

对于已访问用户,我们不仅可以采用显式收集方式获取用户的基本信息,还可以采用隐式收集方法收集用户的访问信息。一方面按照上述的方式识别出该用户的类别,另一方面对该用户访问记录进行处理得到用户的兴趣记录,以该记录中包含的兴趣类别为输入,将它们与用户动态模型的节点相匹配,得到相应的证据节点,经过推理算法得到该用户对所有兴趣节点的兴趣概率。综合两种方式的得到的兴趣类别的权值,依据权值的大小推荐相应的企业。

1.5 协同过滤推荐算法研究

目前国内外互联网上已经有大量的大型网站应用协同过滤技术为用户更加智能地进行推荐,可见该技术的广泛性和被认可性。协同过滤的基本思想是:招聘者的岗位设定是根据求职者的求职意向进行分类的,同类招聘者具有非常相似的求职意愿,因此可以由其他招聘者的资料协同过滤得到对目标用户的推荐。

1.5.1 User-based协同过滤

基于用户的(User-based)推荐技术中的一种典型算法是——最近邻居协同过滤推荐算法,它的基本思想是:根据学历、专业、年龄等相似性生成最近邻居的就业求职意向数据,然后根据这些数据对目标用户计算产生推荐。我们可以得出这样一个推论:如果同是计算机专业毕业本科生用户群,他们中对软件开发等岗位有意向的,则这群毕业生也会对系统开发等岗位感兴趣的。

关于最近邻居的预测,协同过滤推荐技术使用统计技术搜索目标用户的若干最近邻居;然后根据最近邻居对工作岗位的兴趣度来预测目标用户对工作岗位的兴趣,产生对应的推荐列表,叫做“top-N”推荐。

1.5.2 Item-based协同过滤

Item-based(基于项目的)协同过滤推荐算法定义:首先得到一个相似性结果(目标用户u评价过的岗位和目标岗位i之间),再根据这个相似性挑选出数个最邻近的岗位集合,由此计算出相应岗位之间的相似度,有了这两个结果就可以得到两个值——用户u对数个最邻近的岗位的评分、最邻近岗位集与岗位i的相似度,对目标岗位i的预测评分就是把这两个结果加权和的平均值。

1.6 协同过滤推荐改进算法的提出

1.6.1 传统过滤算法存在问题

虽然协同过滤推荐算法在众多个性化推荐中算得上是最早且最成功的,但是每一种算法都有其自身的缺陷和不足之处,协同过滤推荐算法也不例外,在算法的可扩展性问题、在大数据背景下产生的数据稀疏性的问题以及冷开始的问题等,这些问题的暴露也让日益普遍应用的推荐系统面临选择和优化。