Home
Resume parser

Select a resume in MS Word format in the form below and press "Parse" button. We will try to extract some information from the resume. Only available languages are english and russian.

Resume:  


Алгоритм разбора резюме

Разбор резюме проводится в предположение, что оно составлено в соответствие с некоторым набором правил:

  • вся информация сгруппирована в блоки;
  • личные данные располагаются или в начале, или в конце документа;
  • ФИО написано в соответствии с правилами русского/английского языка;
  • Резюме представлено в виде plane text.

Разбор резюме состоит из выделения ключевых полей из текста резюме. Все поля выделяются независимо друг от друга. Такими полями являются:

  • ФИО претендента
  • дата рождения (возраст)
  • контактна информация:
    • телефон
    • факс
    • e-mail
    • почтовый адрес
  • образование
  • опыт работы
  • навыки
  • личные качества

Выделение ФИО

ФИО претендента в резюме как правило удовлетворяет следующим критериям:

  • располагается в начале резюме;
  • каждое из его составных частей начинается с заглавной буквы;
  • таких составных частей как минимум две.

Соответственно в первых строчках резюме (до 10 строк) выбираются все последовательности слов, которые идут подряд и начинаются с "большой буквы" (или полностью состоят из заглавных букв). Далее каждую последовательность следует проверить на соответствие, чтобы с большей вероятностью утверждать, что найденное и есть ФИО.

В русском языке возможно только пять варианта написания ФИО:

  1. Иванов Иван Иванович
  2. Иван Иванович Иванов
  3. Иван Иванов
  4. Иванов Иван
  5. Иван И. Иванов

Последний вариант для проверки самый простой. Надо убелиться, что в конце второго слова стоит точка, и что само второе "слово" состоит из одной буквы (в случае написания транслитом возможно две буквы).

Первый и второй вариант можно разделить по отчеству. Так в русском языке все отчества заканчиваются либо на "вич" (мужские имена), либо на "вна" (женские имена). Выделив отчество в полученной последовательности можно легко получить им и фамилию.

Третий и четвертый вариант разделить несколько сложнее. Хотя в русском языке большинство фамилий и заканчивается на "ов", "ова", "вой", "вая", "ко". Но можно встретить и такие фамилии как "Вайсман" или "Фенстер", которые также надо уметь выделять. Здесь может помочь база данных имен. Т.е. разбор вести не от фамилии, а от имени. Однако проверка имени по базе данных может потребовать существенного времени, но за качество надо платить.

Наличие базы данных имен может помочь для осуществления дополнительных проверок на остальные варианты представления ФИО и для определения пола кандидата.

Выделение даты рождения

Дата рождения может быть указана в одном из следующих форматов: ("DD.MM.YYYY",

  • D[D].M[M].YY[YY]
  • YYYY.DD.MM
  • D[D] 'месяц' YYYY
  • D[D] 'месяц' YY.
Кроме того можут быть указаны только возраст (в этом случае строка должна содержать какое-нибудь из слов ("age", "возраст", "возр.")), или только год рождения (тогда строка также должна содержать последовательность "г.р.", или "год рождения"). Если что-то было найдено, то это что-то проверяется на корректность, т.е. принадлежит ли месяц промежутку от 1 до 12 и т. п. И только в случае успеха проверки на корректность дата признается датой.

Выделение контактной информации
Телефон/факс

Строка с телефоном должна содержать что-либо из перечисленного: "тел", "сот", "сотов", "моб.", "д.т.", "tel", "phone", "mobile", "cell" (Список может быть расширен). Если что-нибудь из этого списка встретилось, то в строке удаляются символы "-", "_", ")", "(", "#" и пробелы. В результате доджны получиться только последовательности цифр. Начинается проверка каждой такой последовательности: если длина не считая первой восьмерки равна от 5 до 9, то счиатем, что это домашний телефон, если длана равна 10 или 11, то это мобильный телефон.

E-mail

Выделение e-mail из текста резюме пожалуй одна из самых простых операций. Из высказанного в начале текста предположения следует, что вся персональная информация находится или в начале резюме, или в его конце. Соответственно только там и стоит искать эту информацию. Однако при поиске e-mail в конце письма стоит быть осторожным, поскольку это может быть контакт рекомендателя.

В попытках защититься от нежелаемого спама в написание одного и того же e-mail могут встречаться различные замены. Так e-mail может иметь следующее представление:

     i.ivanov@gmail.com
     i.ivaniv @ gmail.com (наличие пробелов)
     i.ivanov[at]gmail.com
     i[dot]ivanov[at]gmail[dot]com 

Чтобы не усложнять дальнейший разбор рекомендуется в первых строчка резюме выполнить замену:

  1. удалить все пробельные символы
  2. '[at]' заменить на '@'
  3. '[dot]' заменить на '.' (точку)

Далее в этих строчках необходимо найти последовательность (последовательности), которая удовлетворяет следующему шаблону:

     ([a-z0-9][-a-z0-9_.]+)@([a-z0-9_][-a-z0-9_.]+[a-z0-9])

Иногда бывает, что сам e-mail сопровождается словами "еmail", "e-mail", по которым его местоположение в резюме можно определить.

Почтовый адрес

Если строка содержит что-либо из следующего списка ("адрес проживания", "адрес", "место проживания", "место жительства", "address", "home address"), а далее продолжается символьная строка, то это продолжение с большой долей вероятности и будет являться адресом. Однако стоит учесть, что в некоторых случаях адрес может располагаться на нескольких строчках. В этом случае необходимо считать адресом все, что находится между найденым ключевым словом и концом абзаца.

В качестве дополнительных проверок можно порекомендовать в выделенном блоке поискать ключевые слова такие как "ул.", "пр.", и пр.

ICQ

Если строка содержит слова "icq" или "аська" (встречалось и такое!), а также цифры от 0 до 9, возможно, разделенные знаками "-" или "_", или пробелами, причем количество символов должно быть не менее 5, то последовательность этих цифр расценивается как icq.

Выделение прочей информации
Образование

Образование ищем по 4-ем группам. Каждая группа состоит из ключей. Вот эти группы:

  1. "университет", "институт", "академия", "училище", "колледж", "техникум", "учебное заведение", "university", "institut", "academy", "college"
  2. "факультет", "faculty"
  3. "специальност", "специализация", "speciality", "special interest", "specialization"
  4. "диплом", "diploma"

Если ключ найден в строке, то вся строка относится к образованию. Блок - это 3(?) последовательно идущие строки. Если ключ из одной группы был найден в первой строке блока и ключ из другой группы найден в 3-ей строке блока, то считается, что весь блок относится к описанию образования.