GPT AI for score candidates based on skills

I am working on an IT recruitment platform. I want to give a score to each candidate when they apply for a job based on his skills. When matching I have identified different use cases as follows

It should be case-insensitive.
Eg:- JavaScript and JAVASCRIPT should identify as one thing.

Should be able to detect the similar words
Eg:- MUI and Material UI should be identify as a one thing
HTML and HTML5 should be able to identify a one thing

Spelling mistakes should be able to locate as well
Eg:- Java script and JavaScript is identified as one thing
Java script and javascript identify as one thing

Edge cases
Eg:- Java and java script should be identified as two things
React and React native should be identified as two things

This is my candidates array

const candidates = [

{

name:'pathum',

skills:['JS','MUI','React.js','CSS']

},

{

name:'Malith',

skills:['JavaScript','Material UI','React']

},{

name:'Saman',

skills:['React native','Node.js']

}

]

this is my jobDescription object

const jd = {

requriedSkills:['JAVASCRIPT','MATERIAL UI','REACT','CSS','NODEJS']

}

my algorithm is

skillsWeight = (100/requriedSkills.length) = 16.66

each and every skill the user has he will score 16.66.

So the score would be

pathum 66%

malith 49%

Saman 16%

I tried GPT-3-turbo AI. The problem with that is that can not identify the context (As far as I know). Also, there is everything we need to pass a text. I do want to pass these to the JS array and JobDescription object and get the results.

What is the most suitable ai for my use case?

I am actually thinking whether LLM will be the best solution to solve this problem. Have you tried lexical search + semantic reranking or just embedding/cosine distance search. For example, you can embed your job description store it in a DB. Then do a similarity search with the candidate profile.