如何在构建(另一个)远程作业板时使用ML

如何在构建(另一个)远程作业板时使用ML

时间:2021-2-23 作者:admin

这是一个美好的一天,在2020年年底,我们突然决定为远程职位空缺创建另一个聚合器,专门用于IT职位。如果市场上已经有足够的产品,为什么还要再做一次,这是合乎逻辑的。答案很简单–我们理解了如何在至少五个参数内改进当前的解决方案:

  • 数量:达到世界上最多的总和;
  • “真的”远程空缺:不仅“远程至新冠肺炎”;
  • 相关性:通常,在类似的网站上,你可以找到大量不相关的空缺;
  • 搜索引擎的力量(我认为,在现有空缺已删除的网站上的搜索是2005年的水平);
  • 通过公民身份过滤。

事实上,这是我今天想告诉你们的最后一个参数。

问题

对于任何曾经寻找过远程工作的人来说,很明显,公司通常提供远程工作,但只为某些国家的公民提供。

页面上没有包含职务说明的单独字段,大部分时间都可以显示这些限制。没有搜索/过滤。因此,申请人必须仔细阅读每个空缺的文本,以了解是否有意义对其作出答复,还是他/她肯定不会以公民身份通过。

我们决定解决这个问题,基本上是向用户展示那些他/她能够真正申请的职位空缺,因为他们的公民身份。

分析

首先,我们考虑用简单的算法方法来解决这个问题。基本想法是:

步骤1

我们正在寻找文本中的某些关键字,例如:“只”、“远程in”、“授权在其中工作”等。

步骤2

我们正在寻找一个“位置”旁边的关键字,作为一个规则,是一个字与大写字母。如果找到这样的位置,那就是限制。

一般来说,如果空缺说的是“只在美国”,那么这个逻辑就完美了。然而,在对大约500个空缺进行分析后,可以清楚地看出,这些限制可以用不同的方式表示,例如:

  • 这个角色很遥远,你可以在英国的任何地方工作。
  • 生活在欧洲是必须的。
  • 这一机会目前只对加拿大境内的候选人开放。
  • 地理位置:阿根廷(阿根廷的任何一部分对我们来说都很棒!)
  • 还有数以百计的其他描述。

显然,这些算法无法解决这个问题,因此决定尝试使用ML的强大功能。

任务

以防万一,我会再次宣布这个问题。在输入中,我们有一个描述空缺的文本,其中通常包含公司的描述、技术栈、要求、条件、效益等。在输出中,我们应该有参数:

限制:0(NO)/1(是)

如果限制=1,则还必须突出显示对其有限制的国家。

溶液结构

正如我上面所写的,我们在输入时有一个很大的文本,它通常包含很多东西,因此任务比只编写一个常规分类器要困难一些。首先,有必要找到准确的分类方法。

考虑到我们正在寻找位置限制,我们决定首先找到所有的文本位置。然后选择包含这些位置的所有句子,并为它们编写一个分类器。

查找地点

我们还试图解决“面对面”的问题:找到所有国家和城市的名单,只需搜索它们的文本发生情况。但同样,这项任务并不是那么容易。

首先,这些限制适用于世界各国和首都以及小城市和州(例如,“可以在Eugene,OR/Hammond,IN全职工作”)。列出世界上每个城市的名单已经够困难的了。

其次,空缺地点的书写往往与标准不同(例如,“LATAM中的100%远程”)。

因此,我们决定使用NER来突出位置。我们尝试了不同的现有方法:

  • 2.1.4
  • 斯坦福纳
  • 神经NER
  • 空间实体识别器

这个选择落在了空间上,因为EntityRecognizer在现成的和免费的选项中显示出了最好的结果。

总计:我们设法突出了文本中的位置。

分裂成句子

我们还使用spacy将空缺的文本分割成句子中的位置。在输出时,我们收到了它们的列表。以下是这类句子的例子:

  • 这个职位很遥远,所以唯一的问题是他们必须在美国工作,并在东部或中央时间工作。
  • 这份工作位于我们的芝加哥办事处之外,但在美国偏远的申请人仍然被鼓励申请。
  • 这是一个遥不可及的角色,但我们正在寻找加拿大蒙特利尔的候选人。

分类器

这个模型是用来标记这些句子的。这是很重要的-我们没有机会用成千上万这样的句子制作数据集(这需要很长的时间),所以在选择模型时,我们必须考虑到这些限制。

我们决定尝试几种模式,包括更简单的CNN和LSTM以及更现代的变压器。可以预见的是,后者的效果更好,其训练基本上被简化为精细调优,这绝对适合我们,因为正如我前面所说的,数据集并不大。

在变压器中,Roberta体系结构(Roberta-base)对我们的数据集的准确率为94%,显示了最好的结果。

正规化地点

根据每个空缺的分类器和NER,我们收到以下附加字段:

限制:1(是);地点:伦敦

分类器给了我们限制。但是给出了位置。由于位置字段可能有不同的城市和国家拼写,我们还通过GoogleAPI进行了额外的规范化。我们决定实行国家限制。

所以,输出结果是这样的:

限制:1(是);地点:联合王国

摘要

因此,我们现在知道如何做到这一点,候选人可以过滤不适合他们的空缺。

我不想在这里推广聚合器,所以我就把它作为参考。

如何在构建(另一个)远程作业板时使用ML

福州小程序开发

版权所有:https://www.eraycloud.com 转载请注明出处