I am looking for a potential matching algorithm to apply to 2 datasets (DS1,DS2), that would provide a score for all DS1 x DS2.

To exemplifies the problem: imagine a pool of job seekers are looking for jobs. What would the jobs that match the job seeker profile, and what could the job seekers that match a job.

Any pointer or documentation you could direct me to help me with this?


jobseekers (DS1)

ID | name | skills | bio | ...
u1 | alex | C#     | candidate bio blah ...
u2 | john | JVM,AWS| ...
u3 | emma | AWS,CSS| ...

jobs (DS2)

ID | name            | spec                | skills needed | ...
j1 | C# engineer     | a job spec blah ... | C#,AWS
j2 | Java developer  | a job spec blah ... | JVM,AWS
j3 | VueJS developer | a job spec blah ... | CSS


scoring matrix

   j1  j2  j3
u1 0.2 0.1 0.3
u2 0.3 0.4 0.5
u3 0.6 0.1 0.3

1 Answer 1


Welcome to the site! It is hard to answer this without more details (how much data do you have? On what parameters do you want to score the data?).

If you have some previous training data, you can look at recommendation algorithms with side information.

If you don't have any training data, then you essentially want to compute text similarity between the job spec and candidate's skills. For this read up on text similarity measures, cosine similarity etc. The first step in building such unsupervised algorithms is representing your text data in terms of vectors, basics of which are explained here.

  • $\begingroup$ Thanks a lot for the answer @hssay, a deeper dive into recommendation algorithms documentation material was a great to help me formalize the problem. I assume the output of a collaborative filtering approach using ALS or so, would be a user x item matrix. If I would like to combine it with a content filtering process. Does the content filtering also output a user x item matrix, and then I would have to combine the 2 matrices to get the overall ranking? $\endgroup$
    – thierryx
    Mar 18, 2021 at 1:05

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.