Take-home assignment: Machine Learning Engineer
The purpose of this assignment is to demonstrate your problem - solving skills and how you
would go about performing some critical tasks in the role. We would expect this task to take
between 4-6 hours to complete. In case of any technical queries, please drop a mail at
[Link]@[Link]
Problem statement:
This assignment is part of a problem we are currently solving at our organisation for one of our
products. Our Applicant Tracking System is used by companies to recruit talent. While recruiters
do frame up a well written job description, applicants sometimes fail to understand the role or
their competency for it. Evaluation of unsuitable candidates could lead to wastage of a recruiter’s
time. Our aim is to build a system intelligent enough to identify the most potential candidates
matching a job requirement and recommend them to the recruiter.
One of the initial steps in doing so will be to clearly understand what the candidate’s experience
and skills are, based on his resume. Hence extracting details from a resume and figuring out what
the background of the candidate is becomes a crucial part of our intelligent system. Since there
are 1000s of formats of resumes out there it becomes difficult to accurately build a model which
could achieve this.
Your task:
You are given a small dataset of 20 resumes randomly selected from a bunch that we had. Some of
the personal details are masked out to make them anonymous.
We would like you to:
• Tell us how you would go about extracting some of the crucial information present in
resumes which would help us with the task. To minimise the scope of the task, we have
narrowed down a few data points which you should attempt to extract. These data points are
given in the next section. Your solution can be a set of rules which can easily identify the
details. But make sure that these are general enough. Or it can be a machine learning model
(ensemble will also work).
• Usage of any sort of python libraries which extract resume related details directly (like
pyresparser) or any existing solutions available on the internet is not entertained. Other than
that you can use any other libraries.
• A question to address is, what NLP methods can be utilised to improve the performance of
the system? You don’t need to build a model. What we are looking for is answers to the
following questions
o What techniques make sense to use?
o How will you go about building a model?
o What evaluation metrics will you use to assess the performance of the model?
o If you are given more time and data, how will you use it to make a better model? Be
as specific as possible here, highlighting what data you will need and if you would be
able to do something more sophisticated, given more time.
• A POC is not mandatory, but it will be a bonus if you can quickly demonstrate what you are
proposing to build. You should be able to perform the task on the given set of resumes and
get a satisfactory number of details extracted correctly (we don’t expect you to come up with
a solution which can perform equally well on all the resumes, but it should be able to give
good results on most of them).
• Your evaluation of results should be on the test dataset provided.
• Usage of any sort of python libraries which extract details directly or any existing solutions
available on the internet is not entertained.
• Remember that this is a research problem and you should approach it the same way as a
researcher does, addressing caveats of your approach and how you could improve upon
them.
What to extract:
• Names of organizations they have worked in and the years they were working in them.
Certain resumes might not have this information, so you can ignore them.
• Names of institutions and colleges they have studied in and the associated years.
Deliverables:
• A detailed report of your proposal in a doc format. We would expect around 2-3 pages of it. It
should contain responses to some of the questions posed above.
• (Optional) A POC (proof-of-concept) which shows the code you have used to evaluate your
hypothesis. You can give a demo of some of the NLP techniques which you have mentioned
above. This should be submitted in a jupyter notebook.
• You should zip/tar/7z your files and name the resulting file as <Your
Name>_FTL_ML.<extension>
Dataset:
ML Assignment test dataset