我在队列中有n个东西,我必须根据开放标准类别C{ X,Y,Z)找到最佳可能的东西(这里的X,Y,Z是C变体)。在最小的时间复杂度下,什么是最好的建议通用算法?
例如:
假设一家公司在C++,C,银行域名,STL,5-10 Year...so上发布了一份工作。有100人申请了同样的职位。有的用C语言编写exp,有的用C++、Java语言编写。有些有C,C++,电信domain...and等等。我的问题是:如何找到最好的员工?如何对它们进行排名?
发布于 2011-03-11 16:03:23
您可能需要某种词干处理,将每个条件词转换为规范的条件词,以获得更好的匹配条件。
例如:
<代码>H19 Java => Java <代码>H210<代码>H111 JSE => Java+Swing<代码>H212<代码>H113J2SE => JSE => Java+Swing<代码>H214<代码>H115 RHEL => RHEL+linux<代码>H216<代码>F217
我将从Lucene English词干分析器开始并对其进行扩展。
发布于 2011-03-11 16:25:32
粗略的想法,
将公司需求作为搜索向量,将简历作为文档进行排名。
要微调选择,-赋予候选人的位置和工作位置权重-当前员工-当前CTC /预期CTC-与其他候选人的得分标准化/创建百分位数
使用洞察力(如果你真的想把候选人卖给公司),-根据公司选择的候选人类型进行加权-对活跃的候选人进行加权,如何找到他们?-另一个问题:)
发布于 2011-03-11 15:25:39
我现在没有一个真正的算法,但计算排名的一种方法可能是计算每个员工拥有的与工作标准相同的项目数量,并将其与项目总数进行比较。例如:如果一个职位的条件是:Java, SQL, PHP (3个项目),而一个员工只有PHP和Java (2个项目),那么等级r可以计算为:r = (employee_items) / (total_items) = 2 / 3
您还可以为工作描述中的每个项目添加权重,以确定更重要的项目。所以也许Java是重要的-它得到1.5,SQL normal -1,PHP不那么重要的0.8。则employee_items可能为1.5 * 1 + 0.8 * 1
这就是我尝试开始的方式
https://stackoverflow.com/questions/5269940
复制相似问题