Abstract: The present disclosure provides a system for matching job descriptions with candidate resumes, that facilitate streamlined recruitment processes. The system (102) includes an input unit (104) and a controller (202), and the system executes operations such as filtering objective criteria from job descriptions, extracting suitable candidates, and generating real-time embeddings for both experience and skill sections. By applying cosine similarity, the system quantifies the similarity between candidate embeddings and job descriptions, resulting in experience and hard skill scores. These scores are weighted and combined to produce a total score for selected high-scoring candidates. Additionally, the system (102) integrates sentence embedding models for experience sections and fine-tuned Word2Vec models for skill sections. Moreover, this system (102) incorporates comprehensive filters encompassing diverse criteria such as experience level, education, and industry knowledge. Consequently, the proposed system (102) enhances recruitment efficiency by accurately identifying and ranking top candidates aligned with job requirements. [FIG. 1 will be the reference figures]
Description:TECHNICAL FIELD
[0001] The present disclosure pertains to the field of talent acquisition and recruitment technology. More specifically, it relates to a system and method for optimizing matching of job descriptions with candidate resumes using advanced natural language processing (NLP) techniques and machine learning algorithms.
BACKGROUND
[0002] Background description includes information that may be useful in understanding the present disclosure. It is not an admission that any of the information provided herein is prior art or relevant to the presently claimed disclosure, or that any publication specifically or implicitly referenced is prior art.
[0003] Recruitment processes traditionally rely on manual comparison methods to match job descriptions with candidate resumes. This manual approach often involves HR personnel reviewing resumes and job descriptions to identify suitable candidates based on subjective criteria, leading to inefficiencies and biases in the selection process.
[0004] Manual comparison methods involve human evaluators reviewing resumes against job descriptions to assess candidate suitability. Evaluators typically focus on keywords, qualifications, and experience mentioned in the job description and match them with corresponding sections in candidate resumes. However, this process is time-consuming, prone to errors, and lacks consistency across evaluators.
[0005] Several existing technologies attempt to automate the recruitment process using algorithms and machine learning models. These technologies often involve keyword matching, resume parsing, and basic similarity calculations to identify potential candidates. However, they may lack sophistication in understanding context, fail to capture nuanced criteria, and struggle with scalability and adaptability.
[0006] Existing technologies may suffer from limited accuracy in candidate selection, especially when dealing with complex job descriptions or diverse candidate profiles. They may also struggle to handle unstructured data, leading to incomplete or inaccurate assessments. Additionally, these technologies may require significant manual intervention for customization and maintenance, limiting their effectiveness and scalability.
[0007] There is, therefore, a need for an improved solution that can automate the recruitment process while addressing limitations of existing methods.
OBJECTS OF THE PRESENT DISCLOSURE
[0008] Some of the objects of the present disclosure, which at least one embodiment herein satisfies are as listed herein below.
[0009] It is an object of the present disclosure to provide a system that enhances accuracy by leveraging advanced natural language processing techniques and machine learning algorithms, ensuring more precise matching of job descriptions with candidate resumes.
[0010] It is an object of the present disclosure to provide a system that streamlines recruitment process by automating the matching of job requirements with candidate qualifications, thereby improving efficiency and saving time and resources for hiring teams.
[0011] It is an object of the present disclosure to provide a system that is scalable to meet the needs of organizations of all sizes, with the capability to handle large volumes of data and process multiple job descriptions and resumes simultaneously.
[0012] It is an object of the present disclosure to provide a system that offers customizable features, allowing organizations to tailor the matching criteria and filters according to their specific requirements and preferences.
[0013] It is an object of the present disclosure to provide a system that can adapt to evolving job market trends and changing hiring needs, ensuring organizations can stay agile and responsive in their recruitment efforts.
[0014] It is an object of the present disclosure to provide a system that helps minimize unconscious bias in candidate selection by relying on objective criteria and advanced algorithms, thereby promoting diversity and inclusivity in the workforce.
[0015] It is an object of the present disclosure to provide a system that enhances the overall candidate experience by accurately matching candidates with relevant job opportunities, thereby improving satisfaction and retention rates.
[0016] It is an object of the present disclosure to provide a system that offers valuable insights into recruitment trends, candidate preferences, and hiring patterns, enabling organizations to make data-driven decisions and continuously improve their recruitment strategies.
SUMMARY
[0017] Various aspects of present disclosure pertain to the field of talent acquisition and recruitment technology. More specifically, it relates to a system and method for optimizing the matching of job descriptions with candidate resumes using advanced natural language processing (NLP) techniques and machine learning algorithms. The proposed system offers improved accuracy, scalability, and adaptability by leveraging advanced algorithms, natural language processing techniques, and deep learning models. Also provides customizable features to accommodate diverse job requirements and candidate profiles, reducing manual intervention and enhancing efficiency in candidate selection.
[0018] An aspect of the present disclosure pertains to a system for efficient matching of job descriptions with candidate resumes through a comprehensive process. The system includes an input unit for receiving job descriptions and candidate resumes, and a controller. The controller executes instructions to extract objective criteria from job descriptions, identify suitable candidates, and generate embeddings for experience and skill sections. By applying cosine similarity, the system evaluates candidate suitability and generates experience and hard skill scores.
[0019] Further, the system customizes filtering criteria and adapts thresholding mechanisms to refine candidate selection.
[0020] Furthermore, utilizing advanced embedding models, such as sentence and word embeddings, the system ensures accuracy in scoring. Further, the system ranks high-scoring candidates based on total scores, presenting top candidates for consideration against the input job descriptions. Through advanced features and methodologies, the system streamlines recruitment processes, enhances accuracy, and improves candidate selection efficiency.
[0021] Another aspect of the present disclosure pertains to a method for matching job descriptions and candidate resumes involves a systematic process executed by a processing unit. The method begins with receiving input data, including job descriptions and candidate resumes. The method applies filters to extract objective criteria from the job descriptions and identifies candidates that meet these criteria. Real-time embeddings are generated for experience sections from candidate resumes and job descriptions. Cosine similarity is applied to quantify similarity between candidate embeddings and job descriptions, resulting in an experience score. Candidates with scores within a predefined range are identified. Skill sections from candidate resumes and job descriptions are also embedded, and cosine similarity is applied to generate hard skill scores for high-scoring candidates. Weighted experience and skill scores are summed to evaluate a total score for high-scoring candidates.
[0022] Additional steps include refining objective criteria, fine-tuning embedding models, dynamically adjusting score thresholds, and utilizing total scores for candidate ranking. This method ensures accurate and efficient matching of candidates with job requirements, enhancing the recruitment process.
[0023] Various objects, features, aspects, and advantages of the inventive subject matter will become more apparent from the following detailed description of preferred embodiments, along with the accompanying drawing figures in which like numerals represent like components.
BRIEF DESCRIPTION OF DRAWINGS
[0024] The accompanying drawings are included to provide a further understanding of the present disclosure, and are incorporated in, and constitute a part of this specification. The drawings illustrate exemplary embodiments of the present disclosure, and together with the description, serve to explain the principles of the present disclosure.
[0025] FIG. 1 illustrates an exemplary network architecture of a proposed system for matching job descriptions with candidate resumes, in accordance with an embodiment of the present disclosure.
[0026] FIG. 2 illustrates an exemplary architecture of a proposed system for matching job descriptions with candidate resumes, in accordance with an embodiment of the present disclosure.
[0027] FIG. 3 illustrates an exemplary view of a flow diagram of a proposed method for matching job descriptions with candidate resumes, in accordance with some embodiments of the present disclosure.
DETAILED DESCRIPTION
[0028] The following is a detailed description of embodiments of the disclosure depicted in the accompanying drawings. The embodiments are in such detail as to clearly communicate the disclosure. However, the amount of detail offered is not intended to limit the anticipated variations of embodiments; on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present disclosure as defined by the appended claims.
[0029] References to “an embodiment”, “an exemplary embodiment”, “”, “an example”, “for instance”, and so on, indicate that the embodiment(s) or example(s) may include a particular feature, structure, characteristic, property, element, or limitation, but that not every embodiment or example necessarily includes that particular feature, structure, characteristic, property, element, or limitation. Furthermore, repeated use of the phrase “in an embodiment” does not necessarily refer to the same embodiment.
[0030] Embodiments of present disclosure pertain to the field of talent acquisition and recruitment technology. More specifically, it relates to a system and method for optimizing the matching of job descriptions with candidate resumes using advanced natural language processing (NLP) techniques and machine learning algorithms.
[0031] An embodiment of the present disclosure pertains to a system for efficient matching of job descriptions with candidate resumes through a comprehensive process. The system includes an input unit for receiving job descriptions and candidate resumes, and a controller. The controller executes instructions to extract objective criteria from job descriptions, identify suitable candidates, and generate embeddings for experience and skill sections. By applying cosine similarity, the system evaluates candidate suitability and generates experience and hard skill scores.
[0032] Further, the system customizes filtering criteria and adapts thresholding mechanisms to refine candidate selection.
[0033] Furthermore, utilizing advanced embedding models, such as sentence and word embeddings, the system ensures accuracy in scoring. Further, the system ranks high-scoring candidates based on total scores, presenting top candidates for consideration against the input job descriptions. Through advanced features and methodologies, the system streamlines recruitment processes, enhances accuracy, and improves candidate selection efficiency.
[0034] Another embodiment of the present disclosure pertains to a method for matching job descriptions and candidate resumes involves a systematic process executed by a processing unit. The method begins with receiving input data, including job descriptions and candidate resumes. The method applies filters to extract objective criteria from the job descriptions and identifies candidates that meet these criteria. Real-time embeddings are generated for experience sections from candidate resumes and job descriptions. Cosine similarity is applied to quantify similarity between candidate embeddings and job descriptions, resulting in an experience score. Candidates with scores within a predefined range are identified. Skill sections from candidate resumes and job descriptions are also embedded, and cosine similarity is applied to generate hard skill scores for high-scoring candidates. Weighted experience and skill scores are summed to evaluate a total score for high-scoring candidates.
[0035] Additional steps include refining objective criteria, fine-tuning embedding models, dynamically adjusting score thresholds, and utilizing total scores for candidate ranking. This method ensures accurate and efficient matching of candidates with job requirements, enhancing the recruitment process.
[0036] The manner in which the proposed system works is described in further detail in conjunction with FIGs. 1 to 3. It may be noted that these figure is only illustrative, and should not be construed to limit the scope of the subject matter in any manner.
[0037] FIG. 1 illustrates an exemplary network architecture of proposed system for matching job descriptions with candidate resumes, in accordance with an embodiment of the present disclosure.
[0038] In an embodiment, referring to FIG. 1, a network architecture 100 of a system 102 to match job descriptions and candidate resumes is disclosed. The system 102 includes one or more input units 104-1, 104-2,…. and 104-N (interchangeably referred to as input unit 102) to receive input data including at least one job description, and a set of resumes from candidates. the input unit 104 communicates with the system 102 using a set of executable instructions that are compatible with any operating system. These instructions enable the input unit to receive job descriptions submitted by companies and resumes from candidates who have applied for the job. For example, the input unit 104 facilitates this communication by checking the job description and ensuring that the received resumes correspond to the advertised job requirements.The input unit 104 can be communicatively cupled to the system 102 through a network 106. The network 106 may include, but not be limited to, a wireless network, a wired network, an internet, an intranet, a public network, a private network, a packet-switched network, a circuit-switched network, an ad hoc network, an infrastructure network, a Public-Switched Telephone Network (PSTN), a cable network, a cellular network, a satellite network, a fiber optic network, or some combination thereof.
[0039] In an embodiment, the system 102 can be configured to apply filters to extract objective criteria from each section of the received job description, and extract the candidates that fit the objective criteria. Further, generate embeddings in real-time for experience sections from the associated resumes of the extracted candidates, and generate embeddings in real-time for experience sections in the received at least one job description. Apply cosine similarity to quantify similarity between the generated embeddings of the extracted candidates and the at least one job description, and correspondingly generate an experience score for the extracted candidates. Further, sort high-scoring candidates in a descending order, and a pre-defined number of candidates “n” are selected from the sorted list.
[0040] In an embodiment, the system 102 can be further configured to generate embeddings of one or more skill sections from the associated resumes of the selected high-scoring candidates. Additionally, the system 102 generates embeddings of one or more skill sections from the at least one job description. Further, the system 102 applies cosine similarity to quantify similarity between the generated embeddings of the selected high-scoring candidates and the at least one job description, and correspondingly generate a hard skill score for the high-scoring candidates.
[0041] Furthermore, the system 102 applies a pre-defined weight to the evaluated experience score and the evaluated hard skill score, and sums the weighted experience score and the weighted hard skill score to evaluate a total score for the selected high-scoring candidates. The total score serves as a comprehensive measure that takes into account both the candidate's relevant experience and proficiency in required skills. This provides hiring managers with a single, unified metric for comparing candidates and making informed decisions about whom to consider further in the recruitment process.
[0042] Although FIG. 1 shows exemplary components of the network architecture 100, in other embodiments, the network architecture 100 may include fewer components, different components, differently arranged components, or additional functional components than depicted in FIG. 1. Additionally, or alternatively, one or more components of the network architecture 100 may perform functions described as being performed by one or more other components of the network architecture 100.
[0043] FIG. 2 illustrates an exemplary architecture of proposed system for matching job descriptions with candidate resumes, in accordance with an embodiment of the present disclosure.
[0044] In an aspect, referring to FIG. 2, a system 102 may comprise one or more controller(s) 202 (interchangeably referred to as controller 202, hereinafter). The controller 202 may be implemented as one or more microprocessors, microcomputers, microcontrollers, edge or fog microcontrollers, digital signal processors, central processing units, logic circuitries, and/or any devices that process data based on operational instructions. Among other capabilities, the processor) 202 may be configured to fetch and execute computer-readable instructions stored in a memory 204 of the system 102. The memory 204 may be configured to store one or more computer-readable instructions or routines in a non-transitory computer readable storage medium, which may be fetched and executed to create or share data packets over a network service. The memory 204 may comprise any non-transitory storage device including, for example, volatile memory such as Random Access Memory (RAM), or non-volatile memory such as Erasable Programmable Read-Only Memory (EPROM), flash memory, and the like.
[0045] The system 102 may include an interface(s) 206. The interface(s) 206 may comprise a variety of interfaces, for example, interfaces for data input and output devices, referred to as I/O devices, storage devices, and the like. The interface(s) 206 may facilitate communication to/from the system 102. The interface(s) 206 may also provide a communication pathway for one or more components of the system 102. Examples of such components include but are not limited to, processing unit/engine(s) 208 and a database 210.
[0046] In an embodiment, the processing unit/engine(s) 208 may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processing engine(s) 208. In examples described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the processing engine(s) 208 may be processor-executable instructions stored on a non-transitory machine-readable storage medium and the hardware for the processing engine(s) 208 may comprise a processing resource (for example, one or more processors), to execute such instructions. In the present examples, the machine-readable storage medium may store instructions that, when executed by the processing resource, implement the processing engine(s) 208. In such examples, the system 102 may comprise the machine-readable storage medium storing the instructions and the processing resource to execute the instructions, or the machine-readable storage medium may be separate but accessible to the system 102 and the processing resource. In other examples, the processing engine(s) 208 may be implemented by electronic circuitry.
[0047] In an embodiment, the database 210 may include data that may be either stored or generated as a result of functionalities implemented by any of the components of the controller 202 or the processing engine 208. In an embodiment, the database 210 may be separate from the system 102.
[0048] In an exemplary embodiment, the processing engine 208 may include one or more engines selected from any of a data collection module 212, a data filteration module 214, a experience score generation module 216, a hard skill generation module 218, a total score generation module 220, a training and testing module 222, and other module(s) 224. The other module(s) 226 has functions that may include but are not limited to testing, storage, and peripheral functions, such as wireless communication unit for remote operation, audio unit for alerts and the like.
[0049] In an embodiment, the data collection module 212 may be configured to receive input data including job description, and a set of resumes from candidates, and stores in the database 210. Additionally, resume embeddings can be stored in the database 210. For example, Job descriptions provide information about the roles and responsibilities sought by employers, while candidate resumes contain details about their qualifications, experiences, and skills.
[0050] In an embodiment, the system implements Hierarchical Navigable Small World (HNSW) indexing while retrieving data. This includes creating an HNSW index on a vector database where resume embeddings are stored. The HNSW indexing facilitates the retrieval of relevant candidates based on the job description using the Nearest-Neighbor Algorithm. Initially, the system fetches the top 1000 relevant candidates from the database utilizing HNSW indexing. Subsequently, filters are applied to these candidates to refine the selection process further. This approach ensures that the system efficiently identifies and retrieves candidates closely matching the requirements specified in the job description, contributing to the effectiveness of the matching process.
[0051] In an embodiment, data filteration module 214 may be configured to apply filters to extract objective criteria from each section of the received at least one job description. The filters applied to extract objective criteria include job title, experience level criteria, educational qualification filters, industry knowledge filters, location preferences, availability filters, employment status, employment type, and salary filter. These filters help to specify the desired qualifications and attributes for the job, allowing the system to effectively assess candidates against these criteria. Once the objective criteria are extracted, the data filtration module proceeds to identify and extract candidates who meet these criteria. This ensures that only candidates who possess the necessary qualifications and attributes specified in the job description are considered further in the matching process.
[0052] In an embodiment, experience score generation module 216 may be configured to generate embeddings in real-time for one or more experience sections from the associated resumes of the extracted candidate that can be stored in the database 210. Additionally, generate embeddings in real-time for experience sections in the received job description. The embeddings for the experience sections are generated using sentence embeddings models. For example, for a job description for a software engineer position that emphasizes skills in Java programming and experience with web development frameworks. The experience score generation module first generates embeddings (numerical representations capturing semantic meaning) for the experience sections (e.g., work experience, projects) from the resumes of candidates who have applied for the position. This also generates embeddings for the experience sections mentioned in the job description.
[0053] For example, if a candidate's resume mentions experience with Java programming and web development frameworks, the module creates embeddings representing these experiences.
[0054] Further, apply cosine similarity to quantify similarity between the generated embeddings of the extracted candidates and the job description, and correspondingly generate an experience score for the extracted candidates. The experience score is calculated, by taking into consideration, the embeddings of the one or more experience sections of the resumes and the corresponding one or more experience sections in the at least one job description, using the sentence embedding models. The sentence embedding model used for calculating the experience score is an adaptation of text-embedding-ada-002 model.
[0055] In an exemplary embodiment, the sentence embedding model is a type of natural language processing (NLP) model that converts textual sentences into numerical vectors, capturing the semantic meaning of the text in a multi-dimensional space. These vectors can then be used for various NLP tasks, such as similarity calculations. The "text-embedding-ada-002" model is a particular variant or version of the sentence embedding model that has been developed or adapted for this specific application. It likely represents a trained model that has been fine-tuned or customized for the task of analyzing resumes and job descriptions to calculate experience scores.
[0056] For instance, if experience of a candidate closely matches the skills and experience specified in the job description, the cosine similarity score may be high, indicating a strong alignment. The experience score generation module 216 further generates an experience score for each candidate based on the calculated similarity scores. This score reflects how well-suited each candidate's experience is to the job requirements.
[0057] For example, a candidate with extensive experience in Java programming and web development frameworks would receive a higher experience score compared to a candidate with less relevant experience.
[0058] In an exemplary embodiment, a job description for a software developer position that lists skills such as "Java programming," "web development," and "SQL database management”is utilized here. A resume that include experience with Java programming and web development is utilized to calculate cosine similarity score.
[0059] Step 1: Convert Text to Vectors (Embeddings):
Convert text from the job description and the candidate's resume into numerical vectors using a sentence embedding model. These embeddings represent the semantic meaning of the text in a multi-dimensional space.
[0060] For example:
[0061] Job description embedding: [0.2, 0.5, 0.8, ...]
[0062] Candidate's resume embedding: [0.3, 0.4, 0.7, ...]
[0063] Step 2: Calculate Cosine Similarity:
Calculate the cosine similarity between the two vectors. The formula for cosine similarity between vectors A and B is:
[0064] Cosine Similarity = (A • B) / (||A|| * ||B||)
[0065] Where:
[0066] (A • B) represents the dot product of vectors A and B.
[0067] ||A|| represents the Euclidean norm (magnitude) of vector A.
[0068] ||B|| represents the Euclidean norm (magnitude) of vector B.
[0069] For example:
[0070] Dot product (A • B) = (0.2 * 0.3) + (0.5 * 0.4) + (0.8 * 0.7) + ...
[0071] Magnitude of vector A (||A||) = sqrt(0.2^2 + 0.5^2 + 0.8^2 + ...)
[0072] Magnitude of vector B (||B||) = sqrt(0.3^2 + 0.4^2 + 0.7^2 + ...)
[0073] Step 3: Interpret the Cosine Similarity Score :
The resulting cosine similarity score ranges from -1 to 1:
A score of 1 indicates that the two vectors are identical.
A score of -1 indicates that the two vectors are opposite.
A score of 0 indicates that the two vectors are orthogonal (i.e., they have no similarity).
[0074] For example, if the calculated cosine similarity score is 0.85, it indicates a high degree of similarity between the job description and the candidate's resume in terms of the mentioned qualifications.
[0075] Furthermore, the experience score generation module 216 sorts high-scoring candidates in a descending order based on their scores. This indicates that candidates with the highest scores are placed at the top of the list, while those with lower scores are placed further down. Further, a pre-defined number of candidates “n” can be selected from the sorted list for further processing. This means that system can automatically identify and prioritize a specific number of top-scoring candidates for further consideration.
[0076] In another embodiment, the experience score generation module 216 is further configured to search for at least one keyword inputted by an entity such as employer or the like. The experience score generation module 216 further includes filtering the resumes of candidates containing the inputted at least one keyword, and subsequently identifying high-scoring candidates from the filtered resumes. Only the candidates who have the mandatory keyword are considered, while the rest are filtered out. From the remaining candidates, high-scoring candidates are identified within a predefined number of candidates.
[0077] In an embodiment, the hard skill generation module 218 may be configured to generate embeddings (numerical representations capturing semantic meaning) from the skill sections of the resumes submitted by the selected high-scoring candidates that can be store in the database 210. These skill sections contain information about the specific skills, competencies, qualifications possessed by the candidates, or the likes. Similarly, the the hard skill generation module 218 generates embeddings from the skill sections mentioned in the job description. The skill sections in the job description indicates specific skills or qualifications required for the position. These embeddings serve as numerical representations that facilitate further analysis, such as similarity comparisons between candidate skills and job requirements.
[0078] For instance, if job description emphasizes skills such as "proficiency in Java programming," "experience with web development frameworks," and "knowledge of SQL database management," the hard skill generation module create embeddings for these skills.
[0079] Further, apply cosine similarity to quantify similarity between the generated embeddings of the selected high-scoring candidates and job description. Based on the calculated cosine similarity scores, the system generates a hard skill score for each high-scoring candidate. The hard skill generation module 218 is calculated based on the embeddings of the skill sections of the selected high-scoring candidates and the corresponding skill sections in the at job description using a fine-tuned Word2Vec model. This score reflects the degree of alignment between the candidate's skills and the skills required for the job. For instance, if a candidate's skills closely match those specified in the job description, the cosine similarity score may be higher, resulting in a higher hard skill score for that candidate. Conversely, candidates whose skills diverge significantly from the job requirements may receive lower hard skill scores.
[0080] In an embodiment, the total score generation module 220 applies a pre-defined weight to the evaluated experience score and the evaluated hard skill score. These weights represent the relative importance or significance assigned to each aspect (experience and hard skills) in determining a candidate's suitability for the job. For example, if experience is considered more critical for the position than hard skills, the the total score generation module 220 may assign a higher weight to the experience score and a lower weight to the hard skill score.
[0081] After applying the weights, the total score generation module 220 calculates the weighted sum of the experience score and the hard skill score for each candidate. This process ensures that both aspects contribute to the total score in accordance with their assigned importance. The resulting total score represents an aggregated measure of a candidate's suitability for the job, taking into account both their experience and hard skills. Candidates with higher total scores are deemed more aligned with the job requirements and are therefore ranked higher in the evaluation process. Further, the total score generation module 220 ranks the selected high-scoring candidates in descending order based on their total scores. This ranking allows recruiters or hiring managers to easily identify and prioritize the top candidates who best match the input job description.
[0082] In an exemplary embodiment, a job description for a software developer position emphasizing both experience and hard skills is provided as input. The job description specifies candidates should have at least 5 years of experience in Java programming and web development, along with proficiency in SQL database management.
[0083] Checking two high-scoring candidates:
Candidate A:
Experience Score: 0.9
Hard Skill Score: 0.8
Candidate B:
Experience Score: 0.8
Hard Skill Score: 0.9
[0084] For this example, a weight of 0.6 is assigned to the experience score, and a weight of 0.4 is assigned to the hard skill score, indicating experience is slightly more important than hard skills.
[0085] For Candidate A: Total Score = (0.6 * Experience Score) + (0.4 * Hard Skill Score) = (0.6 * 0.9) + (0.4 * 0.8) = 0.54 + 0.32 = 0.86
[0086] For Candidate B: Total Score = (0.6 * Experience Score) + (0.4 * Hard Skill Score) = (0.6 * 0.8) + (0.4 * 0.9) = 0.48 + 0.36 = 0.84
[0087] Candidate A has a total score of 0.86, while Candidate B has a total score of 0.84. Since Candidate A has a higher total score, they are ranked higher than Candidate B. Therefore, Candidate A is considered the top candidate for further evaluation against the job description.
[0088] In an embodiment, the training and testing module 222 is responsible for training embedding models used to convert textual data into numerical representations (embeddings). This training process ensures that the embeddings effectively capture the semantic meaning of the input data. Additionally, the training and testing module 222 trains the models responsible for calculating the experience score and skill score. This involves feeding labeled data (e.g., resumes with associated experience and skill levels) into the models to learn the patterns and relationships between different features and scores. Once trained, the module evaluates the performance of the embedding models, experience score models, and skill score models on unseen data. This testing phase helps assess the models' generalization capabilities and ensures they can accurately process new input data. Similarly, the training and testing module 222 trains and tests the model responsible for calculating the total score. This includes training the model to combine the experience score and skill score using predefined weights and testing its performance on unseen candidate data.
[0089] FIG. 3 illustrates an exemplary view of a flow diagram of proposed method for matching job descriptions with candidate resumes, in accordance with some embodiments of the present disclosure.
[0090] In an embodiment, a method 300 for matching job descriptions with candidate resumes is disclosed. At step 302, a controller 202, receiving input data including at least one job description and a set of resumes from candidates by an input unit 102. The input unit 102 acts as the interface through which this data is received by the controller, facilitating the subsequent steps of the matching process.
[0091] At step 304, applying filters, by the controller 202, to extract objective criteria from each section of the received at least one job description. Subsequently, the method 300 includes an additional step where the extracted objective criteria are further refined. This refinement is achieved by applying additional filters, such as job title, experience level criteria, educational qualification filters, industry knowledge filters, location preferences, and availability filters. These additional filters allow for a more detailed and precise extraction of relevant information from the job description. Further, refining the extracted objective criteria enhances the accuracy and specificity of the matching process by ensuring that only the most relevant and important criteria are considered when comparing job descriptions with candidate resumes.
[0092] At step 306, the controller 202, extracting, candidates that fit the objective criteria based on the filtered job description, by analyzing the objective criteria identified in the job description and comparing them to the qualifications and attributes of the candidates available in the received resumes. By extracting candidates based on the objective criteria derived from the filtered job description, the method ensures that only relevant candidates are considered for further evaluation.
[0093] At step 308, the controller 202, generating embeddings in real-time for one or more experience sections from the associated resumes of the extracted candidates. The experience sections include such as but not limited to work experience, internships, projects, roles and responsibilities.
[0094] This step utilizing pre-trained sentence embeddings models to generate embeddings for the one or more experience sections.
[0095] At step 310, the controller 202 generating, embeddings in real-time for one or more experience sections in the received at least one job description. Ths step utilizing pre-trained sentence embeddings models to generate embeddings for the one or more experience sections. This step further includes fine-tuning the sentence embedding model used for calculating the experience score, wherein the fine-tuning process is based on adapting text-embedding-ada-002 model.
[0096] At step 312, the controller 202 applying, cosine similarity to quantify the similarity between the generated embeddings of the extracted candidates and the at least one job description, and generating an experience score for the extracted candidates. By applying cosine similarity, the method computes a numerical score that quantifies the similarity between each candidate's qualifications and the requirements specified in the job description. This score reflects the degree of match between the candidate experience and what the job demands.
[0097] At step 314, sorting, by the controller 202, high-scoring candidates in a descending order, wherein a pre-defined number of candidates are selected from the sorted list.
[0098] In another aspect, the method 300 is further configured to search for at least one keyword inputted by an entity such as employer or the like. The method 300 further includes filtering the resumes of candidates containing the inputted at least one keyword, and subsequently identifying high-scoring candidates from the filtered resumes. Only the candidates who have the mandatory keyword are considered, while the rest are filtered out. From the remaining candidates, high-scoring candidates are identified within a predefined number of candidates.
[0099] At step 316, generating, by the controller 202, embeddings of one or more skill sections i.e. hard skills from the associated resumes of the selected high-scoring candidates. By generating embeddings for skill sections, the method quantify the proficiency and relevance of the skills possessed by the selected high-scoring candidates. These embeddings provide a standardized and computationally efficient way to compare the skill sets of different candidates.
[00100] At step 318, generating, by the controller 202, embeddings of one or more skill sections from the at least one job description. This step utilizing pre-trained word embeddings models to generate embeddings for the one or more skill sections.
[00101] At step 320, applying, cosine similarity, by the controller 202, to quantify the similarity between the generated embeddings of the selected high-scoring candidates and the at least one job description, thereby generating a hard skill score for the high-scoring candidates. Further, the the controller 202 utilizing a fine-tuned Word2Vec model to calculate the hard skill score based on the embeddings of the one or more skill sections of the selected high-scoring candidates and the corresponding sections in the at least one job description.
[00102] At step 322, applying, by the controller 202, applying, by the controller, a pre-defined weight to the evaluated experience score and the evaluated hard skill score. For instance, assigning weights allows the system to prioritize certain factors over others when determining the suitability of candidates for a particular job. For example, the organization may decide that experience is more critical than specific hard skills for a given position and thus assign a higher weight to the experience score.
[00103] At step 324, summing, by the controller 202, the weighted experience score and the weighted hard skill score to evaluate a total score for the selected high-scoring candidates. Once the total scores are calculated, the controller utilizes them to rank the candidates in descending order. Candidates with higher total scores are ranked higher, indicating their stronger alignment with the job requirements.
[00104] Further, the proposed system and method presents top-ranked candidates against the input job description. This allows hiring managers or recruiters to easily identify and focus on the most promising candidates who are best suited for the position.
[00105] Thus the present disclosure provides system and method that utilizing advanced embedding models and cosine similarity calculations, it ensures accurate matching of candidates with job descriptions, minimizing manual errors. Additionally, the dynamic adjustment of score thresholds enhances the adaptability of the method to varying recruitment needs. Fine-tuning of embedding models further improves the accuracy of candidate evaluation, leading to more informed hiring decisions. Moreover, this system and method streamlines recruitment workflows, saves time and resources, and enhances the quality of candidate selection.
[00106] The disclosed methods and systems, as illustrated in the ongoing description or any of its components, may be embodied in the form of a computer system. Typical examples of a computer system include a general-purpose computer, a programmed microprocessor, a micro-controller, a peripheral integrated circuit element, and other devices, or arrangements of devices that are capable of implementing the steps that constitute the method of the disclosure.
[00107] The computer system includes a computer, an input device, a display unit, and the internet. The computer further includes a microprocessor. The microprocessor is connected to a communication bus. The computer also includes a memory. The memory may be RAM or ROM. The computer system further comprises a storage device, which may be a HDD or a removable storage drive such as a floppy-disk drive, an optical-disk drive, and the like. The storage device may also be a means for loading computer programs or other instructions onto the computer system. The computer system also includes a communication unit. The communication unit allows the computer to connect to other databases and the internet through an input/output (I/O) interface, allowing the transfer as well as reception of data from other sources. The communication unit may include a modem, an Ethernet card, or other similar devices that enable the computer system to connect to databases and networks, such as, LAN, MAN, WAN, and the internet. The computer system facilitates input from a user through input devices accessible to the system through the I/O interface.
[00108] To process input data, the computer system executes a set of instructions stored in one or more storage elements. The storage elements may also hold data or other information, as desired. The storage element may be in the form of an information source or a physical memory element present in the processing machine.
[00109] The programmable or computer-readable instructions may include various commands that instruct the processing machine to perform specific tasks, such as steps that constitute the method of the disclosure. The systems and methods described can also be implemented using only software programming or only hardware, or using a varying combination of the two techniques. The disclosure is independent of the programming language and the operating system used in the computers. The instructions for the disclosure can be written in all programming languages, including, but not limited to, ‘C’, ‘C++’, ‘Visual C++’, ‘Visual Basic’, ‘Java’, ‘Python’. Further, software may be in the form of a collection of separate programs, a program module containing a larger program, or a portion of a program module, as discussed in the ongoing description. The software may also include modular programming in the form of object-oriented programming. The processing of input data by the processing machine may be in response to user commands, the results of previous processing, or from a request made by another processing machine. The disclosure can also be implemented in various operating systems and platforms, including, but not limited to, ‘Unix’, ‘DOS’, ‘Android’, ‘Symbian’, and ‘Linux’.
[00110] The programmable instructions can be stored and transmitted on a computer-readable medium. The disclosure can also be embodied in a computer program product comprising a computer-readable medium, or with any product capable of implementing the above methods and systems, or the numerous possible variations thereof.
[00111] Various embodiments of the system and method for matching job descriptions with candidate resumes have been disclosed. However, it should be apparent to those skilled in the art that modifications in addition to those described are possible without departing from the inventive concepts herein. Moreover, in interpreting the disclosure, all terms should be understood in the broadest possible manner consistent with the context. In particular, the terms “comprises” and “comprising” should be interpreted as referring to elements, components, or steps, in a non-exclusive manner, indicating that the referenced elements, components, or steps may be present, or used, or combined with other elements, components, or steps that are not expressly referenced.
[00112] Those having ordinary skills in the art will appreciate that the systems, modules, and sub-modules have been illustrated and explained to serve as examples and should not be considered limiting in any manner. It will be further appreciated that the variants of the above disclosed system elements, modules, and other features and functions, or alternatives thereof, may be combined to create other different systems or applications.
[00113] Those skilled in the art will appreciate that any of the aforementioned steps and/or system modules may be suitably replaced, reordered, or removed, and additional steps and/or system modules may be inserted, depending on the needs of a particular application. In addition, the systems of the aforementioned embodiments may be implemented using a wide variety of suitable processes and system modules, and are not limited to any particular computer hardware, software, middleware, firmware, microcode, and the like.
[00114] The claims can encompass embodiments for hardware and software, or a combination thereof.
[00115] It will be appreciated that variants of the above disclosed, and other features and functions or alternatives thereof, may be combined into many other different systems or applications. Presently unforeseen or unanticipated alternatives, modifications, variations, or improvements therein may be subsequently made by those skilled in the art, which are also intended to be encompassed by the following claims.
ADVANTAGES OF THE PRESENT DISCLOSURE
[00116] The present disclosure provides a system that improves precision through the utilization of sophisticated natural language processing methods and machine learning algorithms, leading to more accurate alignment of job descriptions with candidate resumes.
[00117] The present disclosure provides a system that simplifies the recruitment process by automating the comparison of job requirements with candidate qualifications, thereby enhancing efficiency and reducing the time and resources required by hiring teams.
[00118] The present disclosure provides a system that adjusts to the needs of organizations of varying sizes, possessing the ability to manage extensive data volumes and process numerous job descriptions and resumes concurrently.
[00119] The present disclosure provides a system with customizable functionalities, permitting organizations to adjust matching criteria and filters to suit their specific needs and preferences.
[00120] The present disclosure provides a system capable of adapting to evolving trends in the job market and shifting demands in hiring, ensuring organizations can maintain agility and responsiveness in their recruitment endeavors.
[00121] The present disclosure provides a system that aids in reducing unconscious bias in candidate selection by relying on objective criteria and advanced algorithms, thereby fostering diversity and inclusivity within the workforce.
[00122] The present disclosure provides a system that enhances experience of candidates by accurately aligning them with relevant job opportunities, ultimately improving satisfaction levels and retention rates.
[00123] The present disclosure provides a system that provides valuable insights into recruitment patterns, candidate preferences, and hiring trends, empowering organizations to make informed, data-driven decisions and continually refine their recruitment strategies.
, Claims:We Claim:
1. A system (102) to match job descriptions and candidate resumes, the system (102) comprising:
an input unit (104) configured to receive input data including at least one job description, and a set of resumes from candidates, wherein the received input data is stored in a database (210);
a controller (202) in communication with the input unit (104), and the controller (202) comprising one or more processors, wherein the one or more processors are operatively coupled with a memory (204), the memory storing instructions executable by the one or more processors to:
apply filters to extract objective criteria from each section of the received at least one job description;
extract the candidates that fit the objective criteria;
generate embeddings in real-time for one or more experience sections from the associated resumes of the extracted candidates;
generate embeddings in real-time for one or more experience sections in the received at least one job description;
apply cosine similarity to quantify similarity between the generated embeddings of the extracted candidates and the at least one job description, and correspondingly generate an experience score for the extracted candidates;
sort high-scoring candidates in a descending order, wherein a pre-defined number of candidates are selected from the sorted list;
generate embeddings of one or more skill sections from the associated resumes of the selected high-scoring candidates;
generate embeddings of one or more skill sections from the at least one job description;
apply cosine similarity to quantify similarity between the generated embeddings of the selected high-scoring candidates and the at least one job description, and correspondingly generate a hard skill score for the high-scoring candidates; and
apply a pre-defined weight to the evaluated experience score and the evaluated hard skill score, and sum the weighted experience score and the weighted hard skill score to evaluate a total score for the selected high-scoring candidates.
2. The system (102) as claimed in claim 1, wherein the embeddings for the one or more experience sections are generated using sentence embeddings models.
3. The system (102) as claimed in claim 1, wherein the embeddings for the one or more skill sections are generated using word embeddings models.
4. The system (102) as claimed in claim 1, wherein the filters applied to extract objective criteria include job title, experience level criteria, educational qualification filters, industry knowledge filters, location preferences, availability filters, employment status, employment type, and salary filter.
5. The system (102) as claimed in claim 1, wherein the one or more experience sections comprise at least one of work experience, internships, projects, roles and responsibilities.
6. The system (102) as claimed in claim 1, wherein the one or more skill sections comprise hard skills.
7. The system (102) as claimed in claim 2, wherein the experience score is calculated, by taking into consideration, the embeddings of the one or more experience sections of the resumes and the corresponding one or more experience sections in the at least one job description, using the sentence embedding models.
8. The system (102) as claimed in claim 7, wherein the sentence embedding model used for calculating the experience score is an adaptation of text-embedding-ada-002 model.
9. The system (102) as claimed in claim 1, wherein the skill score is calculated based on the embeddings of the one or more skill sections of the selected high-scoring candidates and the corresponding one or more skill sections in the at least one job description using a fine-tuned Word2Vec model.
10. The system (102) as claimed in claim 1, wherein the total score for the selected high-scoring candidates is used to rank the candidates in descending order, presenting the top candidates against the input at least one job description.
11. The system (102) as claimed in claim 1, wherein upon evaluation of the experience score, the controller (202) is further configured to search for at least one keyword inputted by an entity, wherein the resumes of the candidates having the inputted at least one keyword are filtered and from the filtered candidates high scoring candidates are identified.
12. A method (300) for matching job descriptions and candidate resumes, comprising:
receiving (302) input data including at least one job description and a set of resumes from candidates by an input unit;
applying filters (304), by a controller, to extract objective criteria from each section of the received at least one job description;
extracting (306), by the controller, candidates that fit the objective criteria;
generating (308), by the controller, embeddings in real-time for one or more experience sections from the associated resumes of the extracted candidates;
generating (310), by the controller, embeddings in real-time for one or more experience sections in the received at least one job description;
applying (312), by the controller, cosine similarity to quantify the similarity between the generated embeddings of the extracted candidates and the at least one job description, and generating an experience score for the extracted candidates;
sorting (314), by the controller, high-scoring candidates in a descending order, wherein a pre-defined number of candidates are selected from the sorted list;
generating (316), by the controller, embeddings of one or more skill sections from the associated resumes of the selected high-scoring candidates;
generating (318) embeddings of one or more skill sections from the at least one job description;
applying cosine similarity (320), by the controller, to quantify the similarity between the generated embeddings of the selected high-scoring candidates and the at least one job description, and correspondingly generating a hard skill score for the high-scoring candidates;
applying (322), by the controller, a pre-defined weight to the evaluated experience score and the evaluated hard skill score; and
summing (324), by the controller, the weighted experience score and the weighted hard skill score to evaluate a total score for the selected high-scoring candidates.
13. The method (300) as claimed in claim 11, utilizing sentence embeddings models to generate embeddings for the one or more experience sections.
14. The method (300) as claimed in claim 11, utilizing word embeddings models to generate embeddings for the one or more skill sections.
15. The method (300) as claimed in claim 11, wherein the filters applied to extract objective criteria include job title, experience level criteria, educational qualification filters, industry knowledge filters, location preferences, availability filters, employment status, employment type, and salary filter.
16. The method (300) as claimed in claim 11, wherein the one or more experience sections comprise at least one of work experience, internships, projects, roles and responsibilities.
17. The method (300) as claimed in claim 11, wherein the one or more skill sections comprise hard skills.
18. The method (300) as claimed in claim 12, further comprising the step of fine-tuning the sentence embedding models used for calculating the experience score, wherein the fine-tuning process is based on adapting text-embedding-ada-002 model.
19. The method (300) as claimed in claim 11, utilizing a fine-tuned Word2Vec model to calculate the hard skill score based on the embeddings of the one or more skill sections of the selected high-scoring candidates and the corresponding sections in the at least one job description.
20. The method (300) as claimed in claim 11, further comprising the step of utilizing the total score for the selected high-scoring candidates to rank the candidates in descending order and present the top candidates against the input at least one job description.
21. The method (300) as claimed in claim 11, wherein upon evaluating the experience score, the controller (202) is further configured to search for at least one keyword inputted by an entity. The method further includes filtering the resumes of candidates containing the inputted at least one keyword, and subsequently identifying high-scoring candidates from the filtered resumes.
| # | Name | Date |
|---|---|---|
| 1 | 202411036308-REQUEST FOR EARLY PUBLICATION(FORM-9) [08-05-2024(online)].pdf | 2024-05-08 |
| 2 | 202411036308-POWER OF AUTHORITY [08-05-2024(online)].pdf | 2024-05-08 |
| 3 | 202411036308-MSME CERTIFICATE [08-05-2024(online)].pdf | 2024-05-08 |
| 4 | 202411036308-FORM28 [08-05-2024(online)].pdf | 2024-05-08 |
| 5 | 202411036308-FORM FOR SMALL ENTITY(FORM-28) [08-05-2024(online)].pdf | 2024-05-08 |
| 6 | 202411036308-FORM 3 [08-05-2024(online)].pdf | 2024-05-08 |
| 7 | 202411036308-FORM 18A [08-05-2024(online)].pdf | 2024-05-08 |
| 8 | 202411036308-FORM 1 [08-05-2024(online)].pdf | 2024-05-08 |
| 9 | 202411036308-EVIDENCE FOR REGISTRATION UNDER SSI(FORM-28) [08-05-2024(online)].pdf | 2024-05-08 |
| 10 | 202411036308-ENDORSEMENT BY INVENTORS [08-05-2024(online)].pdf | 2024-05-08 |
| 11 | 202411036308-DRAWINGS [08-05-2024(online)].pdf | 2024-05-08 |
| 12 | 202411036308-COMPLETE SPECIFICATION [08-05-2024(online)].pdf | 2024-05-08 |
| 13 | 202411036308-IntimationUnderRule24C(4).pdf | 2024-06-27 |
| 14 | 202411036308-Response to office action [29-06-2024(online)].pdf | 2024-06-29 |