用机器学习来计算工作技能的匹配度.docxVIP

用机器学习来计算工作技能的匹配度.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用机器学习来计算工作技能的匹配度

本文使用Word2vec结合K-Means聚类,Word2vec结合层次聚类,和隐含狄利克雷分布三种方法描述工作技能的相关性,在评估整体关联性方面它们都是有效的,最终结果在很大程度上取决于实际应用场景。此项目的成员包括Brett Amdur,Christopher Redino和Amy (Yujing) Ma。他们毕业与今年1月11日至4月1日举办的为期十二周的纽约数据科学全职训练营。这篇文章基于他们的终期项目——顶点项目(Capstone Project)而完成。点击此处可见原文。I. 概述此项目的主要内容是应用机器学习方法来判断简历中工作技能的匹配程度。一家机构向纽约数据科学研究院的学生陈述了此项目,他们希望找到合适的学生来完成项目。本文的三个作者接受了这个项目,他们当时都是研究院的全日制学生。作者们与该机构的几名代表合作完成了这篇文章中的分析内容。尽管该机构不愿意我们透露他们的姓名,但是作者仍然想表达对此机构的感谢。这个项目的总体思路是揭示简历上展现的技能背后的语义相似性和关系。一种基于语义的评估工作技能相似性的方法有许多的潜在应用场景,它主要通过理解简历中的文本从而在简历中发现技能之间的关系。虽然有其他方法来判断工作技能之间的语义相关度,但机器学习技术带给我们更有趣和强大的结果。II. 词向量该机构为我们提供了大约250,000份简历的文本数据。在我们的项目开展之前,该机构已经给每份简历加上了是否与“数据”或是“分析”相关的标签。此数据还包括了一份经过机构编译的清单,罗列了大约3000种相关的工作技能。我们决定用Word2vec的词向量技术来评测清单中3000项技能的相似度,这里假设简历的文本数据就是Word2vec的文本集合。也许部分读者还不熟悉Word2vec,Word2vec技术用单词在文本中的相隔距离作为相关性的指标。具体来说,Word2vec创建了一个共现矩阵,用来表示文本集中某个单词在一个“窗口”范围内与另一个单词相邻出现的频率。用户可以调节窗口大小,即相邻单词的个数。然后利用奇异值分解的方法降低共现矩阵的维度。得到的结果是空间中的一个向量,空间的各个维度表示隐语义,因此:在向量空间中相近的两个单词的语义可能更相近;每个维度表示一种特定语义下的含义。一个经常被引用的Word2vec例子就是表示“国王”的词向量减去表示“男人”的词向量,再加上表示“女人”的词向量,计算结果得到的向量与表示“女王”的词向量非常接近。自2013年谷歌研究员公布Word2vec技术以来,它在判断术语相关性方面已经显现出卓越的成绩,而且仍将是一个重要的研究方向。针对这个项目,我们在250k份简历上训练了Word2vec模型,窗口大小设为12,向量空间的维度设为100.我们用Ben Schmidt开发的版本。使用skip-gram方法来创建共现矩阵,使用了8GB的内存和2.5GHz的处理器,整个处理时间大约为3.5个小时。向量空间创建之后,我们下一步任务就是评估向量空间对工作技能相关度的描述准确性。我们在向量空间使用聚类的方法,以评估词向量是否将工作技能聚集到对应的类别中。a. K-Means聚类我们以K-Means聚类方法为例。广义地定义,K-Means方法是将一组样本按照它们在特征空间中的相互距离划分为若干个子类,子类的个数可以自定义,即k的值。我们这里使用3000个技能作为样本来聚类,依据它们在Word2vec向量空间中的词向量(简历文本集和技能列表中的单词都使用Snowball方法提取了词干)。我们武断地决定将词分为15个簇。我们说自己的决定武断是因为我们用R的NbClust包来判断15~25之间的最佳k取值,却没有很好的结论。当然,在评价一个算法识别词的意义时会含有主观性的因素。但基于我们的目测判断,Word2vec对工作技能的聚类结果相对出色。每个簇内的单词的含义与其它簇内的单词含义似乎有明显差别。我们也看到,某些簇内的单词还可以被进一步分为多个子类,但鉴于我们任意选择的K值,这个结果并不奇怪(这表明事实上选择一个更大的k值就会拆散这些簇)。最重要的是,我们没有看到非常多的混合组,这意味着我们没有看到意义相近的词被分配到不同的簇。在评估聚类结果时,我们对这15个簇的含义做了如下的解释:软件开发和数据科学会计/项目管理电信通用技术法律/职业/其它大数据/数据工程医学人力资源一般业务设计与项目管理银行和金融网站开发教育类专题社交媒体体育/艺术/旅游/媒体我们还可以浏览技能列表中任意两个词的距离,以及特征空间中与其最接近的50个词。举个例子,下图是与“机器学习”技能最相近的50个技能:github上有完整的技能列表以及它们分属的类别,还有此部分的R语言代码。b. 分层聚类在K-Means聚类方法的基础上,我们可以进一步对簇运用一种

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档