简历匹配算法

发布于 2024-09-27 01:26:20 字数 215 浏览 1 评论 0 原文

我正在建立一个招聘网站——是的,目前还不够。我在研究中遇到的问题之一是如何将相关简历与感兴趣的招聘人员相匹配。我想到的最无聊的解决方案是使用文本分析来解析简历中招聘人员指定的标签——这有一个缺点:简历可能包含隐藏的关键字或流行语。然后弄清楚如何解决这个问题很有趣。解决这个问题的更有趣的方法是什么? (也许某种机器学习算法?那么你也必须训练这个野兽。)

所以我还不知道该怎么做。我欢迎您提供任何建议。

I am building a job site -- yes, there isn't enough of those yet. One of the problems I came across in my research is how to match the relevant resumes to the interested recruiters. The most boring solution I thought of is to use textual analysis to parse the resumes for tags recruiters specify -- which has a drawback: the resume might be packed with hidden keywords or buzzwords. Then it's interesting to figure out how to get around that. What would be a more interesting way of solving this problem? (Maybe some kind of machine learning algorithm? Then you have to train this beast, too.)

So I don't know how I'll do it yet. I'd welcome any suggestions you could offer.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

月野兔 2024-10-04 01:26:20

不要让候选人写简单的简历。相反,创建一个包含各个字段的表格(获得的学位(哪些机构?)、预期工资、特定技术的经验/技能水平、工作类型(合同式、永久式)、工作距特定地址的距离等)。同样,为雇主创建包含各个相关字段的表格。创建这些表单时应确保一种表单可以与另一种表单进行匹配。保留尽可能多的非必填字段。然后采用与这些形式最相关的算法。应该有两种这样的算法:一种算法可以让候选人搜索工作,另一种算法可以让雇主搜索候选人。

Don't allow the candidates to write plain resume. Instead, create a form with various fields (degrees obtained (which institutions?), expected salary, experience/skill level in specific technology, job type (contractual, permanent), distance of job from specific address etc.). Similarly, create form with various relevant fields for employers. Create these forms in such a way that matching of one form against another is possible. Leave as many fields as possible non-mandatory. Then employ an algorithm that is most relevant to match these forms. There should be two such algorithms: one with which candidate can search job, with another employers can search candidates.

愿得七秒忆 2024-10-04 01:26:20

将自由文本简历解析为单词。
删除停用词(and、or but、the 等)。
将剩余的单词与简历一起存储在数据库中。

首先,您需要一位主题专家,根据招聘人员的要求对简历进行评分。
专家将根据每份简历与给定要求的匹配程度给出评分,例如 0-100。
一旦启动此过程,您就可以使用一种经典的匹配算法来选择看起来与专家好评的简历相近的简历。

可能从简单的 N 最近邻 开始,然后转向更高级的,例如 主成分分析

您可以在 Netflix 大奖论坛 上找到用于实现这些算法的广泛讨论和代码

Parse the free-text résumé into words.
Remove stopwords (and, or but, the, etc).
Store the remaining words in a database with the résumé.

You need, initially, a subject matter expert who will rate CVs against recruiters' requests.
The expert will give a score, say 0-100 on how well each CV matches a given request.
Once this process is boot-strapped, you can use one of the classic matching algorithms to select CVs which seem close to those that were well-rated by the experts.

Probably start with the simple N nearest Neighbours and move on to fancier ones like Principal Component Analysis or Singular Value Decomposition later on.

You can find extensive discussions and code to implement these algorithms on the Netflix Prize Forum

半边脸i 2024-10-04 01:26:20

关键是不要担心匹配,而是完美排序。这就是谷歌的关键——任何人都可以找到 1,000,000 个点击——他们找到了排名靠前的一个。

坦率地说,如果我输入 Java,我真的希望(希望)简历中包含 Java——但是您如何找到我最好的候选人呢?

The key is to not worry about matching and instead perfect sorting. That was the key to google -- anyone could find 1,000,000 hits -- they figured out the top one.

Frankly, if I type Java, I really expect (want) the resume to have Java in it -- how do you find me the best candidate though?

疯狂的代价 2024-10-04 01:26:20

可能会要求候选人在字段中输入数据,但问题是他可能会使用与感兴趣的单词相似的单词,而这些单词可能会被错过,就像 HTML 一样,他可能会输入 HyperTextMarkupLanguage。因此,系统必须能够从无法识别的术语中学习,这可以通过使用感兴趣的单词的同义词来实现。就像说我想要一个了解脚本语言的候选人而不是搜索“脚本语言”我可以获得像 perl、python、ruby 这样的同义词并使用它来比较字段。但这需要您在每次新脚本中输入数据语言出现了。

如果您讨厌将数据输入系统,您可以查询维基百科等网络来查找“Perl”是什么类型的语言并解析它。这使得系统甚至可以适应新技术,因为我们都知道技术不断发展,因此这很有用。

The candidate can be asked to enter the data in fields, but the problem is he might use similars word to the word of interest that might be missed like for HTML, he might enter HyperTextMarkupLanguage. So the system must be such that it learns from unidentifiable jargons, this can be accomplished by using a synonym of words to words of interest. Like say I wanna get a candidate who knows scripting language instead of searching 'scripting language' I can get the synonyms like perl,python,ruby for it and use it to compare fields.But this requires you entering data in each time a new scripting language comes up.

If you hate entering data into system, you can query the Web say Wikipedia to find what kinda language 'Perl' is and parse it.This makes system adaptable even to new technologies, as we all know technology keeps evolving so this can be useful.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文