曾泽明 陈志轩 邓一星
摘 要: 岗位与简历的自动化和智能化匹配在人力资源开发与管理中具有重要意义,目前的主流方法是根据与岗位有关的几个关键字词来匹配查询,未能考虑岗位描述中的有关职责、技能和成果等方面的综合要求。针对此问题,提出了一种基于词向量和行业近义词表的岗位匹配与推荐方法。该方法利用Skip-gram模型进行了词向量学习,然后依据词向量相似度对简历进行行业分类,最后考虑专业近义词的近义程度指数和岗位描述与简历文本的匹配结果提出岗位推荐。
关键词: 词向量;神经网络;岗位描述;岗位匹配
中图分类号: TP391.3 文献标识码: A DOI:10.3969/j.issn.1003-6970.2020.01.011
本文著录格式:曾泽明,陈志轩,邓一星. 词向量在岗位描述与简历中的分布特征及其应用[J]. 软件,2020,41(01):5054
【Abstract】: It is of great significance in the development and management of human resources in organizations to automatic and intelligent in pre-screening resumes and matching to the job descriptions of opening positions. The current mainstream method is still to match the query according to several key words related to the job, but fails to consider the comprehensive requirements such as responsibilities, skills and achievements. To solve this problem, a position matching and recommendation method based on word vector and industry synonym table is proposed. This method uses skip gram model to learn the word vector, and then classifies the resume according to the word vector similarity. Finally, it proposes the position recommendation considering the similarity index of the professional synonyms and the matching result of the position description and the resume text.
【Key words】: Word vector; Neural network; Job description; Job matching
0 引言
隨着互联网的日益普及,招聘网站及网上社交媒体已经为人才招聘的主要来源[1],岗位的招聘信息与各种求职简历数量也呈爆炸型增长。对雇主和求职者而言,分析和匹配岗位信息显得愈发困难。传统的关键词查询很难达到精准匹配的要求,而招聘信息与求职简历这类短文本所具有的信息稀疏等特点使得智能化处理与分析更为复杂。本文用基于神经网络和词向量的方法,通过对不同行业的相同的词的词向量在向量空间上的分布规律的研究,进而对简历以行业为类别进行分类、结合简历和岗位描述文本的特点探索简历和岗位描述之间的近义词表,以及计算简历与岗位描述之间的匹配度,为智能化职业推荐提供依据。
1 文本特点和表示学习
本文的研究对象是岗位描述及求职者简历的短文本。根据Harris等提出的分布假说,文本分析的对象是词和上下文。并且认为具有相似上下文的词,会有相似的语义,并且其词向量的向量空间相对距离会更接近。因此,针对本文的研究场合,首先对文本特点进行分析,进而选择表示学习的模型。
1.1 文本特点
本文所使用的文本数据来源于招聘平台上的实时招聘信息中的岗位描述和求职者的简历,此两者的文本长度较短,都具有相应行业的语言信息,其中职位描述专业词较多,而简历文本偏口语化。通过对岗位描述和简历内容的比对,发现其中岗位职能的描述与简历中技能的表述不尽相同。文本特点的比较如表1所示,比如专业词汇和职位的公司发展描述在简历里是没有的,而简历中的项目经历和未来愿景在职位描述中也是没有与之对应的,只有岗位能力要求与知识点能相互对应。
1.2 表示学习与词向量
目前在使用深度学习处理NLP任务上,词向量的表示方法应用广泛。词向量是一种分布式的词表示方式,它能从大量无标注的语料中学习到词与词之间的语言信息,能够表示词与词之间存在的“距离”概念和包含更多信息,并且每一维都有特定的含义。与传统的词袋模型(bag of words, BOW)表示相比,词向量具有低维度和稠密的特点[2]。目前已有很多开源工具可以训练学习词向量,如word2vec和GolVe等。
1.3 Skip-gram模型和CBOW模型
Mikolov等人在文献中,同时提出了CBOW (Continuous Bag of Words)和Skip-gram模型,图1为两个模型的模型图。
CBOW模型的训练输入是某一个特征词的上下文相关的词对应的词向量,而输出就是这特定的一个词的词向量。
Skip-Gram模型和CBOW的思路是反着来的,即输入是特定的一个词的词向量,而输出是特定词对应的上下文词向量。
根据来斯惟等的实验结论,一个领域相似的语料,语料越大越好。语料小的时候用Skip-gram模型效果要优于CBOW模型。根据岗位描述和简历的短文本和数据量少的特点,本文选用Skip-gram模型进行训练,选用50维的词向量表示。
2 文本匹配过程
本文认为文本相似度就是词向量的相似度,即词向量相似的文本,其文本语义也是相似的。通过特定行业的词向量库与从简历训练出的词向量计算相似度并分类,得到分类后的简历,然后通过行业近义词表计算简历与所属行业的岗位描述的相似度,最后做出岗位推荐。
2.1 文本预处理
文本预处理是在训练词向量前必要的一步,其主要包括分词、去停用词和无效的字[4-8]。中文分词处理的优劣直接影响到后续自然语言处理任务的优劣。现今的分词算法主要分为传统的机器学习模型和神经网络分词模型。神经网络分词模型短短数年间取得长足进步,但整体上仍然不敌传统模型。无论是分词精度还是计算效率上,和传统方法相比并不具有显著优势。Jieba是比较好的分词开源工具,本文采用的分词算法使用jieba开源工具实现。该算法基于前缀词典实现词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG),采用动态规划查找最大概率路径,找出基于词频的最大切分组合。对于未登录词,采用了基于汉字成词能力的HMM模型,采用Viterbi算法进行计算。然后使用哈尔滨工业大学停用词表去除停用词和无效的字符(比如,标点符号等),最后得到分词后的行业语料库。
2.2 文本词向量的获取
为了获得高质量的词向量,将其按行业分类得到行业岗位描述的语料库,随后利用word2vec开源工具中Skip-gram模型对语料库进行训练,获得了50维的词向量表示,这些词向量就作为特定行业的词向量库。
2.3 相似度计算
将简历训练成词向量后与各个行业的词向量进行相似度计算。将简历分词后的每个词在行业语料库中找与之相同的词,将匹配的词的词向量进行相似度计算累加后平均,计算公式为:
2.5 职位推荐方法
由于岗位描述和简历相对应的文本较短,故直接使用传统词向量的方法效果较差。对此本文提出基于岗位描述与简历在特定行业的相似度确定行业内的词与词的近义程度,量化了行业知识点之间的相似度。图2描述了岗位推荐的过程,将岗位描述和简历中的知识点关键词提取出来,逐一查该领域的近义词表累加得分,最终得到与该简历较为相似的职位排名,取前n个做出推荐。
3 实验分析
3.1 数据来源
本文数据来源于前程无忧(NASDAQ:JOBS,https://www.51job.com)网上平台的公开数据,包括行业、职能、公司基本情况和岗位描述等文本信息。本文使用了2018年1月至2019年6月期间的招聘信息,包括IT、教育、金融和财务、医疗卫生和房地产5行业400000条岗位描述。表2展示了数据集的构成。
3.2 实验设置
根据表3描述的数据集,本文模型使用的实验参数如表3。
3.3 实验结果
本文首先对训练出来的行业词向量进行分析,确定行业近义词表。表4是IT和医疗卫生行业的部分近义词和近义程度的示例。
医疗卫生和房地产两大行业词向量库进行比对,提取出相同的30个词的词向量使用PCA (Principal Component Analysis)降维,在二维平面上可视化,如图3所示。
从这两张图的对比可知,不同行业的相同的词的词向量分布(空间上的方向和长度)表示不同,这意味着它们所携带的语言信息不同。
本文进一步对医疗卫生和房地产两大行业词向量库中的单个词进行分析,针对相同的词与其相似的词的词向量进行可视化分析。图3是在医疗卫生行业和房地产行业中关键词“销售”及空间分布相近15个词的词向量分布的比较。
从图4可知,词与之相近词的词向量分布因行业不同有很大差异,其相近词的词向量分布也截然不同。这表明某个词在不同行业的语言意义也不同,与之相近词的关系也具有很大差异。
基于以上分析结论,不同行业的简历对特定行业的描述也具有偏向性。因此,可先将简历用词向量来表示,再与各行业词向量做相似度计算,来对简历进行行业分类。本文采用了欧式距离、曼哈顿距离和余弦相似度等3种计算向量相似度的函数进行了相似度计算。对于相同行业3种相似度函数的相似度计算结果的比较如表5所示。
该对比试验中,不同的函数计算行业语料库与简历文本相似度的结果有较大的差异,其中使用曼哈顿距离作为衡量相似度的函数准确率最高。本文所使用的岗位描述和简历实质上是短文本类型语料,其训练出的词向量,特征较为稀疏,对特定行业有偏向性,而曼哈顿距离函数只对特定维度的距离进行计算。而余弦相似度函数更注重向量在方向上的差异,而对距离或长度不敏感,欧式距离在数据较为稠密且连续时效果会更好,从而导致两者效果较差。
分类后的简历与行业中的岗位描述,通过行业近义词表计算相似度、排序、做出推荐。系统推荐的岗位与简历的理想岗位基本吻合,岗位所要求的知识点技能全都具备。表6展示了计算机、数据、房地产和金融行业的部分实验结果。
4 總结与展望
通过神经网络词向量的计算,以及不同行业的相同词的词向量分布的比较,发现由于不同行业词的文本语义不同在其词向量分布特征上表现出明显的差异,并对特定行业有显著的偏向性。据此特性,采用词向量曼哈顿距离函数相似度进一步对简历进行了行业分类。本文还对相同行业中的近义词的近义程度指数做了初步探讨,结合神经网络词向量的分布特征,量化了岗位描述和简历之间的关联关系,并应用于简历与岗位描述的匹配,进一步提出了基于词向量的岗位推荐流程。实验表明,基于词向量相似度的岗位推荐方法的计算结果与实际比较吻合,该方法及流程对短文本信息稀疏的智能化处理与分析有较好的参考意义。
参考文献
[1] Spherion Staffing Services. Latest Emerging Workforce Study Discovers New Workplace Realities and Signifi-cant Employer/Employee Disconnects.www.Spherion. com/Documents/ 2013EWSQ1_FINAL. pdf, January 2013.
[2] 于政. 基于深度学习的文本向量化研究与应用[D]. 华东师范大学, 2016.
[3] 王彬宇, 刘文芬, 胡学先, 魏江宏. 基于余弦距离选取初始簇中心的文本聚类研究[J]. 计算机工程与应用, 2018(10):
13-17.
[4] 陳磊磊. 不同距离测度的K-Means 文本聚类研究[J]. 软件, 2015, 36(1): 56-61.
[5] 谢子超. 非结构化文本的自动分类检索平台的研究与实现[J]. 软件, 2015, 36(11): 112-114.
[6] 刘腾飞, 于双元, 张洪涛, 等. 基于循环和卷积神经网络的文本分类研究[J]. 软件, 2018, 39(01): 64-69.
[7] 陈海红. 多核SVM文本分类研究[J]. 软件, 2015, 36(5): 7-10.
[8] 张晓明, 尹鸿峰. 基于卷积神经网络和语义信息的场景分类[J]. 软件, 2018, 39(01): 29-34.
[9] 于政. 基于深度学习的文本向量化研究与应用[D]. 华东师范大学, 2016.
[10] Mikolov T, Sutskever I, Chen K, et al. Distributed Representations of Words and Phrases and their Compositionality[J]. Advances in Neural Information Processing Systems, 2013, 26: 3111-3119.
[11] Pennington J, Socher R, Manning C. Glove: Global vectors for word representation[C]. Proc of the 2014 Conf on Empirical Methods in Natural Language Processing(EMNLP), 2014: 1532-1543.
[12] Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. Efficient estimation of word representations in vector space. International Conference on Learning Representations Workshop Track, CoRR abs/1301. 3781 2013.
[13] 来斯惟. 基于神经网络的词和文档语义向量表示方法研究[D]. 2016.
[14] 黄昌宁, 赵海. 中文分词十年回顾[J]. 中文信息学报, 2007, 21(3): 8-19.