I am trying to find an automated way to assign job titles to categories.

My input data consists of job titles that are already assigned to a category and I want to be able to assign new job titles to one of those categories that fits best according to the already categorized ones.

The titles are not standardized. So one title could be "Marketing manager" that is already assigned to category A and a new title that should be assigned could be "Head of marketing". Therefore a simple 1:1 mapping of title to category will not be possible.

I appreciate any hints into the right direction.


The prerequisites have now changed so that I have specific job codes rather than varying job titles. So the dataset looks something like this:

category, jobCode, seniority, location
1, 1, CXO, us
1, 4, intern, us
2, 3, manager, uk
2, 4, intern, us

So the task is now to provide a function that uses the components jobCode, seniority and location to output the most suitable category based on the existing assignments.

I used word2vec to assign job titles to the jobCodes. Is this something I should expand on. E.g. just concatenate jobcode seniority and location and treat them as an input for word2veb?

I suppose there as a much more straight forward and suitable algorithm for this kind of problem.


1 Answer 1


This is regular text classification, but with very little text (only the job title). You could start with a simple one-hot encoding over the words in the job title, then apply your favourite algorithm (e.g. Naive Bayes, Decision Trees, etc). It will probably work better with some form of normalization of the words (at least using the lemma in order to mach variants of the same word).

Word embeddings are probably a good choice too, but my guess is that this would help only if you have a quite high amount of examples.

  • $\begingroup$ Thank you for your response. The prerequisites have now changed so that I have already classified job codes. I have updated the question. Would you now suggest another approach? $\endgroup$
    – Chris
    Sep 22, 2020 at 17:21
  • $\begingroup$ @Chris it looks like you just have simple categorical features now, I assume seniority is standardized right? If yes you don't need any text processing, you go directly to supervised classification. I like to recommend decision trees because it gives an interpretable answer, you can even look at the full decision tree and explain it to non-experts. $\endgroup$
    – Erwan
    Sep 22, 2020 at 22:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.