工作职位推荐系统的算法与架构

Indeed.com 每个月有两亿不同的访客,有每天处理数亿次请求的推荐引擎。在这篇文章里,我们将描述我们的推荐引擎是如何演化的,如何从最初的基于Apache Mahout建立的最简化可用行产品,到一个在线离线混合的成熟产品管道。我们将探索这些变化对产品性能指标的影响,以及我们是如何通过使用算法、架构和模型格式的增量修改来解决这些挑战的。进一步,我们将回顾在系统设计中的一些相关经验,相信可以适用于任何高流量的机器学习应用中。

从搜索引擎到推荐

Indeed的产品运行在世界各地的许多数据中心上。来自每个数据中心的点击流数据以及其他应用事件被复制到我们在奥斯丁数据中心的一个中心化的HDFS数据仓库中。我们在这个数据仓库上进行计算分析并且构建我们的机器学习模型。
我们的职位搜索引擎是简单而直观的,只有两个输入:关键字和地点。搜索结果页面展示了一个匹配的职位列表,并基于相关性进行了排序。搜索引擎是我们的用户发现职位的主要方式。
我们决定在搜索引擎之上加入职位推荐作为一个新的交互模式是基于以下几个关键原因:

  • Indeed上所有搜索的25%只指定了一个区域,并没有搜索关键字。有许多的求职者并不确定在他们的搜索中应该用什么关键字

  • 当我们发送有针对性的推荐时,求职者的体验是个性化的

  • 推荐可以帮助甚至最复杂的用户来发现额外的未被搜索所涵盖的职位

  • 推荐为亚马逊带来了额外35%的销量为Netflix75%的内容阅览。很显然,推荐能提供额外的价值

推荐职位与推荐产品或者是电影有很显著的区别。这里列举了一些我们在构建推荐引擎时仔细考虑过的因素:

  • (职位)库存快速增长:我们每天要聚合计算几百万新的职位。可以推荐的职位的集合在不断变化

  • 新用户:每天有几百万新的求职者访问我们的网站并开始他们的职位搜索。我们想要能够根据有限的用户数据生成推荐

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
职位推荐系统是一种利用机器学习和数据分析技术,根据用户的需求和背景信息,为其推荐适合的职位的系统。Python是一种广泛应用于数据科学和机器学习领域的编程语言,因此在职位推荐系统的开发中,Python常常被用于数据处理、特征工程、模型训练和评估等方面。 以下是职位推荐系统开发中常用的Python库和技术: 1. Pandas:用于数据处理和清洗,可以对数据进行筛选、排序、合并等操作。 2. Scikit-learn:提供了各种机器学习算法和工具,可以用于特征提取、模型训练和评估。 3. Numpy:用于数值计算和矩阵运算,可以高效地处理大规模数据。 4. TensorFlow或PyTorch:用于构建和训练深度学习模型,可以实现更复杂的特征提取和模型优化。 5. Flask或Django:用于搭建Web应用程序,可以将职位推荐系统部署到服务器上,提供在线推荐服务。 在职位推荐系统的开发过程中,需要进行以下步骤: 1. 数据收集:收集职位信息和用户数据,包括职位描述、用户背景、技能等。 2. 数据预处理:对收集到的数据进行清洗、去重、缺失值处理等操作,确保数据的质量和完整性。 3. 特征工程:根据职位描述和用户信息,提取有意义的特征,如关键词、技能匹配度等。 4. 模型训练:使用机器学习或深度学习算法,根据历史数据训练推荐模型,建立职位和用户之间的关联。 5. 模型评估:使用评估指标,如准确率、召回率等,评估模型的性能和效果。 6. 推荐服务:将训练好的模型部署到服务器上,提供在线的职位推荐服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值