Список сотрудников - PullRequest
       20

Список сотрудников

3 голосов
/ 11 марта 2011

У меня есть n вещей в очереди, и я должен найти наилучшие возможные вещи по категориям открытых критериев C (X, Y Z) (здесь X, Y, Z - C варианты). Какой будет наилучший предлагаемый универсальный алгоритм при минимальной сложности?

Например:

Допустим, компания опубликовала вакансию в C ++, C, Банковском домене, STL, 5-10 Year ... и так далее. 100 человек подали заявки на одну и ту же должность. У некоторых есть exp на C, некоторые на C ++, Java .. У некоторых есть C, C ++, телекоммуникационный домен ... и так далее. Мой вопрос здесь: как найти лучшего сотрудника? Как их ранжировать?

Ответы [ 3 ]

1 голос
/ 11 марта 2011

Вам, вероятно, понадобится какой-то ствол , который переводит каждое слово (слова) критерия в слово (а) канонического критерия, чтобы получить критерии для лучшего соответствия.

ДляНапример:

  • Банк => Банк
  • Банки => Банк
  • Банковский => Банк
  • Финансовый сектор => Банк
  • Java => Java
  • JSE => Java + Swing
  • J2SE => JSE => Java + Swing
  • RHEL => RHEL + linux

Я бы начал с английского языка Lucene и расширил его.

1 голос
/ 11 марта 2011

Грубая идея,

Рассматривать требования компании как вектор поиска и возобновлять как документы для ранжирования.

  • Присваивать вес каждому элементу требования (C ++: 100, C: 80, 12 лет: 120, 10 лет: 100, 8 лет: 80, 5 лет: 0 и т. Д.)
  • На основе весов рассчитайте оценку для каждого резюме.
  • Сортировка по убыванию на основе оценки.

Чтобы точно настроить выбор, - Укажите вес места и места работы кандидата - Текущий сотрудник - Текущий CTC / Ожидаемый CTC - Нормализуйте счет с другим кандидатом / Создайте процентиль

Используйте идеи (если вы действительно хотите продать кандидата в компанию), - Определите вес, основанный на том, каких кандидатов выбирает компания. - Определите вес активных кандидатов, как их найти?- другой вопрос :) 1015 *

0 голосов
/ 11 марта 2011

У меня сейчас нет реального алгоритма, но способ подсчета ранга может состоять в том, чтобы подсчитать количество предметов, которые у каждого сотрудника есть общие с критериями для работы, и сопоставить их с общим количествомПредметы.Например: если задание имеет критерии: Java, SQL, PHP (3 элемента) и у emplyoyee есть только exp в PHP и Java (2 элемента), ранг r может быть вычислен как: r = (employee_items) / (total_items) = 2 / 3
Вы также можете добавить веса ккаждый элемент в описании работы, чтобы определить более важные элементы.Поэтому, возможно, важна Java - она ​​получает 1,5, SQL нормальный - 1, а PHP менее важен - 0,8.Тогда employee_items может быть 1.5 * 1 + 0.8 * 1

Вот как я бы попытался начать

...