`
jjfat
  • 浏览: 283687 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

LinkedIn个性化推荐模型及建模原理

阅读更多

推荐系统是一种自动化的计算机应用程序,它可以根据不同的内容对用户进行匹配。这种系统的应用很普遍,并且已经成为我们日常生活中不可缺少的一部分。常见的例子像亚马逊给用户推荐产品,雅虎给访问网站的用户推荐内容,Netflix给用户推荐电影,LinkedIn给用户推荐工作等等。考虑到用户偏好存在明显的差异性,提供个性化推荐就成为这种系统成功的关键。

 

为了实现这个目标,通过机器学习模型从收集的反馈信息中估计用户偏好至关重要。这些模型是基于用户历史交互信息中获取的大量高频数据而构建的。本质上它们都是统计模型,需要克服序列决策过程、高维数据的交互建模,开发可伸缩的统计方法等诸多困难。在这个领域,新方法论的诞生需要各方面的紧密合作,包括计算机科学家、机器学习专家、统计学家、优化专家、系统专家、以及领域专家。这是大数据行业最令人兴奋的应用之一。


 

LinkedIn的许多产品都应用了推荐系统,这些系统的核心组件是一个灵活的机器学习库,叫Photon-ML,这是提升我们的生产力、敏捷性以及开发人员幸福感的关键。目前我们已经开源了Photon-ML使用的大部分算法。 在本文中,我们将重点关注个性化推荐模型,并解释建模原理以及如何通过Photon–ML来实现,使其惠及数亿用户。

 

Photon-ML的个性化模型构建

 

LinkedIn通过应用Photon-ML,显著提升了许多产品的用户参与度和业务指标。下面举例说明如何使用广义可加混合效应模型(GAME)进行个性化的工作推荐。在我们的在线对照实验中,该模型为求职者提供了比平时高出20%~40%的工作申请机会。

 

作为全球最大的职业社交网络,LinkedIn为其5亿多的用户提供了一个独特的价值定位,为他们的职业发展提供了各种各样的机会。我们提供的最重要的产品之一是“求职主页”,它是那些想要申请一份好工作的用户的服务中心。


图1 LinkedIn求职主页的快照

 

图1页面的一个主要功能模块是“您可能感兴趣的工作”,这个页面会根据用户的公开资料和历史活动记录向他们推荐相关的工作简介。如果用户对推荐的工作感兴趣,他/她可以点击进入工作详情页面,进一步了解这个工作的职位、描述、职责、要求的技能和任职资格。工作详情页面也会提供“申请”按钮,可以让用户通过LinkedIn或者公司的招聘网站一键申请到这个工作。LinkedIn业务成功的关键指标之一就是工作申请的点击总量(即“申请”按钮的点击次数)。

 

我们模型的目标是准确预测一个用户申请系统推荐工作的概率。直观地来说,该模型由三个组件/子模型组成:

 

  • 一个全局模型,用来捕获用户申请工作的常规行为;

  • 一个特定用户模型,其参数(从数据中学习获得)针对特定用户,以捕获其偏离常规行为的个人行为;

  • 一个特定职业模型,其参数(从数据中学习获得)针对特定职业,以捕获其偏离常规工作的独特行为。

 

与很多推荐系统应用程序一样,我们在大量的用户或者职业数据中观察到许多差异性。在求职网站上既有新用户加入(因此几乎没有相关数据),也有那些拥有很强求职意向并在过去多次申请工作的用户。同样的,对比不同类型的工作,既有受欢迎的,也有比较冷门的。对于拥有很多工作申请数据的用户,我们希望应用特定用户模型来计算,另一方面,如果用户没有很多历史数据,我们会选择全局模型来捕获用户常规行为。

 

接下来让我们深入研究一下这个广义可加混合效应模型(GAME)是如何基于上述情况实现个性化推荐的。

 

首先,用 ymjt 表示用户m在上下文t的条件下是否申请工作j的二进制结果,其中上下文内容通常包括工作时间和位置。我们用qm表示用户m的特征向量,其中包括从用户公开的资料中得到的特征信息,例如用户的工作岗位、工作职能、教育背景、所属行业等。我们用sj表示工作j的特征向量,其中包括工作的特征信息,例如职位名称、所需技能和工作经验等。

 

然后用xmjt表示三维变量(m, j, t)的整体特征向量,包括qm和sj特征的主要影响,qm和sj的外积用来表示用户、工作特征以及上下文的特征。其中xmjt不包含用户ID和项目ID,这些ID将会受到与常规特性不同的处理方法。利用逻辑回归法预测用户m申请工作j的可能性的GAME模型如下:


 

其中


 

是关联函数,b是全局系数向量(在统计学文献中也叫固定效应系数),αm和βj是特定于用户m和工作j的系数向量,也叫随机效应系数,用来表示用户m在不同项目上的偏好和工作j对不同用户的吸引力。对于一个在过去申请很多职位的用户,我们能够准确地估计他/她的个人系数向量αm并提供个性化的预测。另一方面,如果用户m过去没有申请记录,αm的后验平均值将会接近0,针对用户m的模型将会退回到全局固定效应x'mjtb,同样的道理也适用于工作系数向量βj。

 

Photon-ML:构建个性化推荐模型的可伸缩平台

 

为了在 Hadoop集群上使用大量数据对模型进行训练,我们在Apache Spark上层开发了Photon-ML。设计可伸缩算法的一个主要挑战是要从数据中学习海量的模型参数(例如数百亿),如果我们简单地利用标准机器学习方法来训练模型(比如 Spark 提供的 MLlib),那么更新大量参数带来的网络通信成本太高,在实际计算中不可行。其中大量参数主要来自于特定用户模型和特定职业模型,因此,使算法具有可伸缩性的关键是避免在上述模型中向集群传送或广播大量参数。

 

我们使用并行块坐标下降法(PBCD)来解决大规模的模型训练问题,在这个方法中,通过迭代法训练全局模型、特定用户模型以及特定职位模型最终达到收敛的状态。其中使用标准分布式梯度下降法对全局模型进行训练,对于特定用户模型和特定职业模型,我们设计了一个模型参数更新方案,这样上述模型中的参数不需要通过集群里的机器进行通信。但是,每个训练示例的部分评分是通过机器之间的通信完成的,这样大大降低了通信成本。同时PBCD也可以很容易地应用到拥有不同类型子模型的模型中。

 


0
0
分享到:
评论

相关推荐

    大规模机器学习在LinkedIn预测模型中的应用.pdf

    例如,LinkedIn Feed通过个性化推荐为用户展示相关内容,确保他们能够看到与自己职业发展相关的信息。Jobs You May Be Interested In (JYMBII)功能利用预测模型来推荐可能感兴趣的职位,从而帮助用户找到理想的工作...

    AI科技大本营在线公开课《达观数据个性化推荐系统实践》 共40页.pptx

    推荐系统主要有个性化推荐、相关推荐和热门推荐等形式,其中个性化推荐尤其重要,它能显著提升用户转化率,如亚马逊、YouTube和LinkedIn等公司都从中受益。个性化推荐系统通过快速响应用户反馈,确保推荐内容的时效...

    个性化推荐,招聘网站的未来方向.docx

    4. **个性化推荐**:借鉴LinkedIn等平台的成功经验,通过数据分析实现对求职者的个性化职位推荐。 #### 四、案例分析 几家典型公司正在引领这一趋势的发展: - **Talentbin**:利用社交媒体数据识别潜在的求职者...

    Linkedin接口 API 调用 实例

    LinkedIn接口API调用实例是一个关于如何与LinkedIn的开发平台交互的实际应用示例。LinkedIn API允许开发者访问LinkedIn的数据,包括用户信息、公司数据、职位发布等,以便构建与LinkedIn相关的应用程序和服务。下面...

    LinkedIn的数据处理架构

    本分析基于公开的演讲资料及LinkedIn技术架构设计。 首先,LinkedIn产品的数据处理需求表现在几个方面:用户档案、通讯、人脉推荐等,这些服务要求系统能够处理大数据量(Large dataset)、中到高写入(Medium ...

    LinkedinSpider, Linkedin爬虫,根据公司名字抓取员工的linkedin信息.zip

    LinkedIn Spider 是一个开源项目,专为爬取LinkedIn网站上的公开信息而设计,特别是针对特定公司的员工资料。这个爬虫能够帮助研究人员、数据分析师或者招聘人员批量获取与指定公司相关的LinkedIn用户资料,以便进行...

    linkedin api for php

    2. **社交网络**:可以查询用户的好友、连接,甚至推荐新的联系人。 3. **职位发布**:发布或检索LinkedIn上的职位信息,帮助企业招聘。 4. **公司信息**:获取公司的基本信息,如公司规模、行业、员工评价等。 5. *...

    Linkedin入门教程.pdf

    首先,LinkedIn与其他社交媒体工具相比有着自己的个性。例如,Facebook像是一家当地酒吧,是人们可以去那里聊天、讲笑话和放松身心的场所。而LinkedIn则更像是一个正式的贸易展会,穿着正装,不需要在上面提到你的...

    Linkedin开发客户方法总结

    ### LinkedIn开发客户方法详解 #### 一、LinkedIn平台概述 LinkedIn作为一家面向商业客户的社交网络服务网站,成立于2002年12月,并于2003年正式启动。其核心价值在于帮助用户管理和扩展其专业关系网络。通过...

    PyPI 官网下载 | linkedin_scraper-2.7.5.tar.gz

    **PyPI 官网下载 | linkedin_scraper-2.7.5.tar.gz** `linkedin_scraper` 是一个Python库,专门用于从LinkedIn网站上抓取数据。在Python的生态系统中,PyPI(Python Package Index)是官方的第三方库分发平台,...

    01+Linkedin商业分析部如何运用大数据实现商业价值-吴继业-可公开

    例如,通过数据分析,企业可以提升营销效率,个性化推荐,改进产品设计,以及优化运营流程。 6. **中国云计算大会**:这样的行业大会是专业人士交流最新技术和实践的平台,有助于推动技术创新,促进企业和个人的...

    LinkedIn职业网络中的数据挖掘应用.pdf

    在LinkedIn这样的职业社交网络中,聚类技术有助于识别和分析不同用户群体的职业和兴趣特征,提供个性化推荐和匹配服务。 知识点六:社交网络数据分析与数据挖掘的结合 将社交网络的数据分析与数据挖掘技术相结合,...

    Linkedin社交媒体网站模板

    **LinkedIn社交媒体网站模板详解** LinkedIn社交媒体网站模板是专为企业打造的一款风格鲜明的在线交流和招聘平台模板。这款模板设计简洁而专业,旨在提供一个高效、直观的环境,让企业和求职者能够有效地进行互动和...

    数字化趋势分析linkedin.pdf

    数字化趋势分析 LinkedIn 在数字化时代,人才趋势分析变得越来越重要。LinkedIn 作为全球最大的职业社交平台,提供了丰富的数据和分析工具,帮助企业和个人更好地理解人才市场的发展趋势和变化。 Talent Trend 在...

    LinkedIn 免费开发客户的十大方法

    十大领英开发客户方法,图文并茂: 1. 导入邮箱联系人 2. 巧用”People you may know” 3. 巧用 “Who viewed your profile” 4. 巧用”People also viewed ” 5. 搜索框搜索People ...10. 利用Linkedin SEO

    Play at Linkedin

    Linkedin是一家商业客户导向的社交网络服务网站,成立于2002年12月并于2003年启动。2011年1月,LinkedIn有超过9000万的注册用户。到2012年1月,LinkedIn已经超过1.5亿的注册用户。 这是Linkedin分享的他们使用Play...

    linkedin模拟登录

    linkedin 是国外的一个职业社交网站,在哪里可以查看注册用户的个人简历信息,但是如果想要实现开发任务,则需要模拟浏览器进行操作

    俞晨杰:LinkedIn大数据应用和Azkaban

    LinkedIn采取平台化的思路,使用Hadoop作为主要的数据处理工具,这些数据产品直接影响了LinkedIn终端产品的用户体验。 在A/B测试方面,LinkedIn构建了一个通用化的试验平台,用Hadoop计算A/B试验用户群体,并用...

    LinkedIn数据地图

    作为LinkedIn公司产品与客户体验部门的副主管,尼沙尔负责梳理追溯到几十年前的工作记录,同时关注站内用户每分钟内形成的2,500种新关系。他需要审视美国的经济史(从1970到2000年,跳槽率增加了将近一倍,平均每...

Global site tag (gtag.js) - Google Analytics