Abstract: This disclosure relates generally to prediction model for prioritizing jobs system and method. The method of the present disclosure is trained on multi-class classification machine learning model which predicts multi-roles for each candidate. Further, prioritize jobs based on input from uploaded job order and the plurality of job entities. The method extracts a plurality of profile entities from each candidate profile and a plurality of job entities from each job order to predict one or more roles matching with the candidate profile. Further, the trained job order prioritization predicts the candidate profile matching with a predefined priority levels based on each job order. The method is accurate, efficient, and scalable. [To be published with FIG. 2]
Description:FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENT RULES, 2003
COMPLETE SPECIFICATION
(See Section 10 and Rule 13)
Title of invention:
METHOD AND SYSTEM FOR PRIORITIZING JOBS MATCHING CANDIDATE PROFILE BASED ON MULTI-ROLE PREDICTION
Applicant
Tata Consultancy Services Limited
A company Incorporated in India under the Companies Act, 1956
Having address:
Nirmal Building, 9th floor,
Nariman point, Mumbai 400021,
Maharashtra, India
Preamble to the description:
The following specification particularly describes the invention and the manner in which it is to be performed.
TECHNICAL FIELD
The disclosure herein generally relates to prioritizing jobs, and, more particularly, to method and system for prioritizing jobs matching candidate profile based on multi-role prediction.
BACKGROUND
Talent acquisition is an important, complex, and time-consuming function within Human Resources (HR). Job search through online matching engines is prominent and beneficial to both job seekers and employers. But traditional engines solution needs understanding in semantic meanings of different candidate profiles to process in machine learning techniques along with computing capability. The most challenging part is lack of a standard structure and format for the candidate profiles which makes short listing of desired profiles for required roles are very tedious and time-consuming. With huge number of different job roles existing today along with the typically large number of applications received, short-listing poses a challenge for the human resource department and recommending multi roles for every candidate profile placement within organization is complex.
SUMMARY
Embodiments of the present disclosure present technological improvements as solutions to one or more of the above-mentioned technical problems recognized by the inventors in conventional systems. For example, in one embodiment, a method and system for prioritizing jobs matching candidate profile based on multi-role prediction is provided. In one aspect, a system for prioritizing jobs matching candidate profile based on multi-role prediction is provided. The system includes extracting a plurality of profile entities from each candidate profile using a named entity recognition (NER). Further, from each job order a plurality of job entities are extracted based on a plurality of predefined priority levels from a plurality of recruiters. Further, a multi-role predictor module predicts a plurality of roles matching with the plurality of job entities based on categorization comprising of a primary role and one or more secondary roles. Predicting, by using a trained job order prioritization module based on the plurality of predefined priority levels, the candidate profile matching with the plurality of roles of each job order based on (i) a one skill cluster weightage, (ii) a location weightage, and (iii) a role weightage.
In accordance with an embodiment of the present disclosure, the plurality of job entities comprises of a client ID, a client relation, a job title, a required skill, a number of available positions, an eligible age, a job order complexity, a job type, travel willingness, and a required certification.
In accordance with an embodiment of the present disclosure, the job order prioritization module is trained using a set of ensemble models comprising of a decision tree, a support vector classifier and a XG boost, wherein each ensemble mode includes the plurality of priority levels as a medium level, a high level, and a low level.
In accordance with an embodiment of the present disclosure, the set of ensemble models are trained based on a column featurization and a training dataset, wherein, the training dataset are categorized into at least one of a first group, and a second group, wherein, each group are fed as input to the multi-role predictor module for optimal tuning of the first group and the second group.
In accordance with an embodiment of the present disclosure, the job order prioritization module is trained by, obtaining, the training dataset of each job order and extracting the plurality of job entities. Further, data pre-processing is performed on the plurality of job entities to handle missing field values. A set of features are extracted from the plurality of job entities comprising of the skill cluster weightage, the location weightage, and the role weightage. Further, the skill cluster weightage, the location weightage, and the role weightage are fed as input into one hot encoding to train the set of ensemble models.
In accordance with an embodiment of the present disclosure, the skill cluster is a cluster of skillsets extracted from each job order assigned with a complexity weightage to predict job priority.
In accordance with an embodiment of the present disclosure, the location weightage is a ratio of available candidates’ profile in the required location with a total number of candidates profiles available across organization.
In accordance with an embodiment of the present disclosure, the role weightage is a ratio of number of positions required for the job order with a total number of eligible candidate profiles.
In another aspect, a method for prioritizing jobs matching candidate profile based on multi-role prediction is provided. The method includes extracting a plurality of profile entities from each candidate profile using a named entity recognition (NER). Further, from each job order a plurality of job entities are extracted based on a plurality of predefined priority levels from a plurality of recruiters. Further, a multi-role predictor module, predicts a plurality of roles matching with the plurality of job entities based on categorization comprising of a primary role and one or more secondary roles. Predicting, by using a trained job order prioritization module based on the plurality of predefined priority levels, the candidate profile matching with the plurality of roles of each job order based on (i) a one skill cluster weightage, (ii) a location weightage, and (iii) a role weightage.
In accordance with an embodiment of the present disclosure, the plurality of job entities comprises of a client ID, a client relation, a job title, a required skill, a number of available positions, an eligible age, a job order complexity, a job type, travel willingness, and a required certification.
In accordance with an embodiment of the present disclosure, the job order prioritization module is trained using a set of ensemble models comprising of a decision tree, a support vector classifier and a XG boost, wherein each ensemble mode includes the plurality of priority levels as a medium level, a high level, and a low level.
In accordance with an embodiment of the present disclosure, the set of ensemble models are trained based on a column featurization and a training dataset, wherein, the training dataset are categorized into at least one of a first group, and a second group, wherein, each group are fed as input to the multi-role predictor module for optimal tuning of the first group and the second group.
In accordance with an embodiment of the present disclosure, the job order prioritization module is trained by, obtaining, the training dataset of each job order and extracting the plurality of job entities. Further, data pre-processing is performed on the plurality of job entities to handle missing field values. A set of features are extracted from the plurality of job entities comprising of the skill cluster weightage, the location weightage, and the role weightage. Further, the skill cluster weightage, the location weightage, and the role weightage are fed as input into one hot encoding to train the set of ensemble models.
In accordance with an embodiment of the present disclosure, the skill cluster is a cluster of skillsets extracted from each job order assigned with a complexity weightage to predict job priority.
In accordance with an embodiment of the present disclosure, the location weightage is a ratio of available candidates’ profile in the required location with a total number of candidates profiles available across organization.
In accordance with an embodiment of the present disclosure, the role weightage is a ratio of number of positions required for the job order with a total number of eligible candidate profiles.
In yet another aspect, a non-transitory computer readable medium for extracting a plurality of profile entities from each candidate profile using a named entity recognition (NER) is provided. Further, from each job order a plurality of job entities are extracted based on a plurality of predefined priority levels from a recruiter. Further, a multi-role predictor module 202, predicts a plurality of roles matching with the plurality of job entities based on categorization comprising of a primary role and one or more secondary roles. Predicting, by using a trained job order prioritization module based on the plurality of predefined priority levels, the candidate profile matching with the plurality of roles of each job order based on (i) a one skill cluster weightage, (ii) a location weightage, and (iii) a role weightage.
In accordance with an embodiment of the present disclosure, the plurality of job entities comprises of a client ID, a client relation, a job title, a required skill, a number of available positions, an eligible age, a job order complexity, a job type, travel willingness, and a required certification.
In accordance with an embodiment of the present disclosure, the job order prioritization module is trained using a set of ensemble models comprising of a decision tree, a support vector classifier and a XG boost, wherein each ensemble mode includes the plurality of priority levels as a medium level, a high level, and a low level.
In accordance with an embodiment of the present disclosure, the set of ensemble models are trained based on a column featurization and a training dataset, wherein, the training dataset are categorized into at least one of a first group, and a second group, wherein, each group are fed as input to the multi-role predictor module for optimal tuning of the first group and the second group.
In accordance with an embodiment of the present disclosure, the job order prioritization module is trained by, obtaining, the training dataset of each job order and extracting the plurality of job entities. Further, data pre-processing is performed on the plurality of job entities to handle missing field values. A set of features are extracted from the plurality of job entities comprising of the skill cluster weightage, the location weightage, and the role weightage. Further, the skill cluster weightage, the location weightage, and the role weightage are fed as input into one hot encoding to train the set of ensemble models.
In accordance with an embodiment of the present disclosure, the skill cluster is a cluster of skillsets extracted from each job order assigned with a complexity weightage to predict job priority.
In accordance with an embodiment of the present disclosure, the location weightage is a ratio of available candidates’ profile in the required location with a total number of candidates profiles available across organization.
In accordance with an embodiment of the present disclosure, the role weightage is a ratio of number of positions required for the job order with a total number of eligible candidate profiles.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate exemplary embodiments and, together with the description, serve to explain the disclosed principles:
FIG. 1 illustrates an exemplary multi-role prediction system for prioritizing jobs matching candidate profile, in accordance with some embodiments of the present disclosure.
FIG. 2 is a functional block diagram of the multi-role prediction system for prioritizing jobs matching candidate profile, in accordance with some embodiments of the present disclosure.
FIG. 3 is a flowchart of the multi-role prediction system for prioritizing jobs matching candidate profile using the system of FIG.1 and FIG.2, in accordance with some embodiments of the present disclosure.
FIG.4 is an example method illustrating the implementation for prioritizing jobs matching candidate profile based on multi-role prediction using the system of FIG.1 and FIG.2, in accordance with some embodiments of the present disclosure.
FIG.5A, FIG.5B and FIG.5C illustrates an example method of the system predicting multi-roles for prioritizing jobs matching candidate profile using the system of FIG.1 and FIG.2, in accordance with some embodiments of the present disclosure.
DETAILED DESCRIPTION OF EMBODIMENTS
Exemplary embodiments are described with reference to the accompanying drawings. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. Wherever convenient, the same reference numbers are used throughout the drawings to refer to the same or like parts. While examples and features of disclosed principles are described herein, modifications, adaptations, and other implementations are possible without departing from the scope of the disclosed embodiments.
Embodiments herein provide a method and system for prioritizing jobs matching candidate profile based on multi-role prediction. The method disclosed enables to predict multi-roles for a given candidate profile fed as input to the system. The system herein may be alternatively referred as multi-role prediction system. Each candidate has a single primary role for matching jobs and limited with multi-roles. With the multi-role predictor using machine learning (ML) model provides each candidate one or more additional job roles based on their entities extracted from the candidate profile enabling multiple job opportunities. When a new job is created by a user in the system 100, the recruiter has no metrics to categorize the new jobs prioritization. Due to the fact, recruiter has no knowledge of importance of each job, and all the Jobs in the system will be given equal importance, which incur loss of revenue for important favored client/ business. Results shown tend to be accurate and targeted towards increase of revenue when output from multi-role predictor module 202 is fed as input to the job prioritization module 204. The disclosed system is further explained with the method as described in conjunction with FIG.1 to FIG.5C below.
Referring now to the drawings, and more particularly to FIG. 1 through FIG.5C, where similar reference characters denote corresponding features consistently throughout the figures, there are shown preferred embodiments and these embodiments are described in the context of the following exemplary system and/or method.
FIG. 1 illustrates an exemplary multi-role prediction system for prioritizing jobs matching candidate profile, in accordance with some embodiments of the present disclosure. In an embodiment, the system 100 includes one or more hardware processors 104, communication interface device(s) or input/output (I/O) interface(s) 106 (also referred as interface(s)), and one or more data storage devices or memory 102 operatively coupled to the one or more hardware processors 104. The one or more processors 104 may be one or more software processing components and/or hardware processors. In an embodiment, the hardware processors can be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the processor(s) is/are configured to fetch and execute computer-readable instructions stored in the memory. In an embodiment, the system 100 can be implemented in a variety of computing systems, such as laptop computers, notebooks, hand-held devices, workstations, mainframe computers, servers, a network cloud, and the like.
The I/O interface device(s) 106 can include a variety of software and hardware interfaces, for example, a web interface, a graphical user interface, and the like and can facilitate multiple communications within a wide variety of networks N/W and protocol types, including wired networks, for example, LAN, cable, etc., and wireless networks, such as WLAN, cellular, or satellite. In an embodiment, the I/O interface device(s) can include one or more ports for connecting a number of devices to one another or to another server.
The memory 102 may include any computer-readable medium known in the art including, for example, volatile memory, such as static random-access memory (SRAM) and dynamic-random access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes. The memory 102 further comprises (or may further comprise) information pertaining to input(s)/output(s) of each step performed by the systems and methods of the present disclosure. In other words, input(s) fed at each step and output(s) generated at each step are comprised in the memory 102 and can be utilized in further processing and analysis.
FIG. 2 is a functional block diagram of the multi-role prediction system for prioritizing jobs matching candidate profile, in accordance with some embodiments of the present disclosure. FIG.2 includes an Azure portal, a container registry, an Azure web user interface, a multi-role predictor module 202, a job order prioritization module 204, a candidate application programming interface (API) 206, an admin API 208, a recruiter jobs API 210, an Azure virtual machine, a data engine. The system 100 receives one or more candidate’s profile as input from the candidate API for processing.
The multi-role predictor module 202 predicts top three most suitable multi-roles for the candidate profile based on a plurality of profile entities extracted from each candidate profile which received as input by the system 100. The predicted multi-roles help recruiters to identify one or more matching candidates while performing search for a specific job order based on the ML model.
The job order prioritization module 204 performs priority-based candidate profile search in a profile data engine. The profile data engine receives inputs from each candidate the candidate profile. The custom ML model is specifically trained to identify the priority of jobs based on predefined priority levels.
The candidate API 206 allows the candidates to post their profile. The admin API 208 manages the candidate’s profile and the job order obtained from the recruiter jobs API 210. The recruiter jobs API 210 obtains one or more job orders from each recruiter based on requirement and job descriptions.
FIG. 3 is a flowchart of the multi-role prediction system for prioritizing jobs matching candidate profile using the system of FIG.1 and FIG.2, in accordance with some embodiments of the present disclosure. In an embodiment, the system 100 comprises one or more data storage devices or the memory 102 operatively coupled to the processor(s) 104 and is configured to store instructions for execution of steps of the method 300 by the processor(s) or one or more hardware processors 104. The steps of the method 300 of the present disclosure will now be explained with reference to the components or blocks of the system 100 as depicted in FIG.2 through FIG.5C Although process steps, method steps, techniques or the like may be described in a sequential order, such processes, methods, and techniques may be configured to work in alternate orders. In other words, any sequence or order of steps that may be described does not necessarily indicate a requirement that the steps to be performed in that order. The steps of processes described herein may be performed in any order practical. Further, some steps may be performed simultaneously.
Referring now to the steps of the method 300, at step 302, the one or more hardware processors 104 extract a plurality of profile entities from each candidate profile using a named entity recognition (NER). In accordance with an illustrative example of the present disclosure, the system 100 receives one or more candidate profiles corresponding to one or more candidates. The named entity recognition model extracts the plurality of profile entities from each candidate profile. The plurality of profile entities includes skills, roles, experience, location, name, phone, company, email, and thereof.
Referring now to the steps of the method 300, at step 304, the one or more hardware processors 104 extract a plurality of job entities from each job order based on a plurality of predefined priority levels from a plurality of recruiters. Simultaneously, the system 100 receives one or more job order as input from each recruiter to identify matching candidate profile. The system 100 extracts the plurality of job entities from each received job order. The plurality of job entities includes a client ID, a client relation, a job title, skills required, number of available positions, an eligible age, a job order complexity, a job type, travel willingness, and required certifications.
Referring now to the steps of the method 300, at step 306, the one or more hardware processors 104 predict by using a multi-role predictor module, a plurality of roles matching with the plurality of job entities based on categorization comprising of a primary role and one or more secondary roles. The multi-role predictor module 202 predicts the plurality of roles matching with the plurality of job entities.
As an illustrative example (FIG.4 and FIG.5A), for the purpose of explanation the system 100 predicts the the plurality of roles matching with each candidate profile. FIG.4 is an exemplary method illustrating the implementation for prioritizing jobs matching candidate profile based on multi-role predictor. The multi-role predictor module 202 is a trained ML model which predicts based on the plurality of profile entities and recommends top three most suitable roles for each candidate profile. These recommended roles associated with each candidate helps the recruiters to identify more relevant candidates while performing a search for a specific job order.
Generally, each candidate has a single primary role, and the matching jobs for the candidate would be limited. With the multi-role predictor ML module 202 obtains inputs based on various entities extracted from the candidate profile predicting relevant roles for each candidate, enabling multiple job opportunities. When a new job order is created by the user in the system, the recruiter has no metrics to categorize the new jobs on priority. As the recruiter has no knowledge of importance of the job, all the jobs in system are given equal importance, which incur loss of revenue from important (favored) client/ business. The output from the multi-role predictor module 202 when fed as input to the job prioritization module 204, the result will be more accurate and targeted to the increase revenue.
The ML model is a supervised multi- label classification model (for example, a label powerset technique) trained to predict the top three roles matching with the candidate profile. These predicted roles are in addition to the current role and future aspiration role thereby broadening the opportunity bucket for each candidate profile getting allocated by the recruiter.
In one embodiment, the multi-role predictor module 202 increases the utilization of undeployed (unallocated) candidates thereby identifying with relevant assignments. The multi-role predictor module 202 is trained on specific recruitment domain data to predict and assign new relevant roles to candidates. The multi-role predictor module is data driven and hence it is scalable in nature. The multi-role predictor module can be extended to be trained on any domain's data to predict and assign roles specific to the industry. The multi-role predictor module 202 has accuracy of about 90% with execution time about 5.95 seconds.
Referring now to the steps of the method 300, at step 308, the one or more hardware processors 104 predict by using a trained job order prioritization module based on the plurality of predefined priority levels the candidate profile matching with the plurality of roles of each job order based on (i) a one skill cluster weightage, (ii) a location weightage, and (iii) a role weightage.
Referring now to FIG.5B and FIG.5C, the location weightage is to differentiate locations, whether it’s a metro location or a non-metro. FIG.5B and FIG.5C depicts the illustrative example of the job prioritization module 204 where the new job has a location specified. For that location if there are several candidates the complexity of that location is less and even for the jobs where candidates are not available since it is a popular location fulfilment of a job is easy. An example: new job opening for New York should be considered more important comparing to same job for Cincinnati, as NY is the bigger city, more economic and has financial impact. The custom designed ML model decides the location importance based on availability of candidate’s profile in that location irrespective of location being Metro/Non-Metro. The final output is the combination of ensembled ML models providing most accurate result with high precision in all three classes such as high, medium, and low. The priority level is published on the job screen with order high, medium, and low to help decide the recruiter which job needs the attention first.
The job order prioritization module 204 of the system 100 is trained using a set of ensemble models comprising of a decision tree, a support vector classifier and a XG boost model, wherein each ensemble mode includes priority levels as a medium level, a high level, and a low level.
The decision tree is a decision support tool that uses a tree-like model of decisions with their possible consequences, including chance event outcomes, resource costs, and utility and is faster to train and does not require scaling. Decision tree algorithm is robust to outliers and in job prioritization datasets where each column is different and on different scale. For scenarios where outliers do not follow the distribution of the training dataset, decision tree is used to handle it. It also performs well on the training dataset and using decision trees feature importance of the columns are obtained. The dataset used is highly nonlinear and decision trees performs well on the training datasets.
The support vector classifiers are designed to handle nonlinear datasets. Generally, to handle nonlinearity sorting function of complex transformations are performed on the training dataset by using the kernel on the SVC.
The Xgboost model is scalable and accurate implementation of gradient boosting machine. It is noted that the limits of computing power for boosted trees algorithms due to model performance and computational speed. Since the data available is not to the scale of Neural Nets it is used. It uses the gradient boosting technique used by a neuron and it uses decision trees at its core.
Further, the ensemble models are trained by performing the steps:
Step 1 – Initially training the set of ensemble models are trained based on a column featurization and a training dataset. The training dataset are categorized into at least one of a first group, and a second group, wherein, each group are fed as input to the multi-role predictor module for optimal tuning of the first group and the second group.
Step 2- Parsing each group into the multi-role predictor module and tuning the first group and the second group.
Step 3 - Bagging is used on the whole training dataset and tuned to obtain final multi-role predictor s.
Step 4 - Combination the output of the multi-role predictor module and the job order prioritization module for final precision and recall.
In one embodiment, the candidate profile is predicted based on the predefined priority levels by matching the plurality of roles with each job order based on the skill cluster weightage, the location weightage, and the role weightage.
The skill cluster weightage is a cluster of skillsets extracted from each job order with assigned complexity weightage to predict job priority. The function of skill clustering is to correlate between similar skills. Each specific domain has one or more skills related to cloud and grouping together with the weightage assigned on the cluster. The complexity of the model is reduced and do not have high variance.
As an example, the system has 16 skill clusters such as,
Project Management Frontend
Cloud skills Data Science & Big data
Backend SAP tools
CRM tools QA Testing
RPA Cyber Security
Storage Admin Functions
Sales and Marketing Functions HR functions
Soft skills Finance Functions
All the skillsets are clustered in one of 16 clusters in a cluster engine. Further, the skill clusters are allocated with weightage value between a rating scale of about 1-5 based upon domain and industry.
Cyber Security – with a rating of about 5
Cloud skills - with a rating of about 4
HR Functions - with a rating of about 3
Example: Cluster Cyber Security has the skills like - security planning, security services, security systems, security testing, threat intelligence.
It is to be noted that Cyber Security being a complex requirement to fulfill is allocated higher weightage than HR Functions.
In the scenario when the job order has these skills, the skills are replaced with associated cluster weightage, rated as 5. Hence the final skills value will be – 5, 5, 5, 5, and 5.
The location weightage is a ratio of available candidate profiles in the required location with a total number of candidates profiles available across organization as represented in equation 1,
Location Weightage = (Available candidates in the required location )/(Total candidates in Neuralent system)
--- equation 1
Example:
The method has 428 total available candidates, and Mumbai/Thane location has 87 available candidates
Location Weightage for Mumbai/Thane = 82/428 = 0.19
Vadodara has 18 available candidates
Location Weightage for Vadodara = 18/428 = 0.04
The role weightage is a ratio of number of positions required for the job order with a total number of available candidate profiles as represented in equation 2,
Role weightage= (No of Positions required in the Job order)/(Total available candidates for the required role)
-------- equation 2
Example: The method has 14 Android Developers and 2 Big Data Architects available in the system.
In job 1, client requested for 3 Android Developers
Cumulative Complexity for Android Developer = 3/14 = 0.21
In job 2, client requested for 1 Big data Architect
Cumulative Complexity for Big data Architects = 1/2 = 0.5
The role weightage is like location weightage where many of the required candidates in the database and if the desired number of candidates are more than what is present in the database a higher score is given and vice versa. A low score means it is easier to fulfil this job.
In one embodiment, the job order prioritization module is trained by,
Step 1 - obtaining the training dataset of each job order and extracting the plurality of job entities.
Step 2 - performing data pre-processing on the plurality of job entities to handle missing field values. Fox example, some of the job order records in the dataset have some missing field values such as location or certification details by using the ML techniques.
Step 3 - Extracting a set of features for the plurality of job entities comprising the skill cluster weightage, the location weightage, and the role weightage.
Step 4 - Feeding the skill cluster weightage, the location weightage, and the role weightage into one hot encoding to train the set of ensemble models.
The written description describes the subject matter herein to enable any person skilled in the art to make and use the embodiments. The scope of the subject matter embodiments is defined by the claims and may include other modifications that occur to those skilled in the art. Such other modifications are intended to be within the scope of the claims if they have similar elements that do not differ from the literal language of the claims or if they include equivalent elements with insubstantial differences from the literal language of the claims.
The embodiments of present disclosure herein address unresolved problem of prioritizing jobs. The embodiment thus provides method and system for prioritizing jobs matching candidate profile based on multi-role predictor. Moreover, the embodiments herein further provide predicting multi-roles for each candidate profile. The method of the present disclosure is a trained custom ML model to identify the priority of jobs based on the plurality of job entities. The method further helps in calculating the importance of each feature dynamically.
It is to be understood that the scope of the protection is extended to such a program and in addition to a computer-readable means having a message therein; such computer-readable storage means contain program-code means for implementation of one or more steps of the method, when the program runs on a server or mobile device or any suitable programmable device. The hardware device can be any kind of device which can be programmed including e.g., any kind of computer like a server or a personal computer, or the like, or any combination thereof. The device may also include means which could be e.g., hardware means like e.g., an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a combination of hardware and software means, e.g., an ASIC and an FPGA, or at least one microprocessor and at least one memory with software processing components located therein. Thus, the means can include both hardware means, and software means. The method embodiments described herein could be implemented in hardware and software. The device may also include software means. Alternatively, the embodiments may be implemented on different hardware devices, e.g., using a plurality of CPUs.
The embodiments herein can comprise hardware and software elements. The embodiments that are implemented in software include but are not limited to, firmware, resident software, microcode, etc. The functions performed by various components described herein may be implemented in other components or combinations of other components. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can comprise, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
The illustrated steps are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope of the disclosed embodiments. Also, the words “comprising,” “having,” “containing,” and “including,” and other similar forms are intended to be equivalent in meaning and be open ended in that an item or items following any one of these words is not meant to be an exhaustive listing of such item or items or meant to be limited to only the listed item or items. It must also be noted that as used herein and in the appended claims, the singular forms “a,” “an,” and “the” include plural references unless the context clearly dictates otherwise.
Furthermore, one or more computer-readable storage media may be utilized in implementing embodiments consistent with the present disclosure. A computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored. Thus, a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor(s) to perform steps or stages consistent with the embodiments described herein. The term “computer-readable medium” should be understood to include tangible items and exclude carrier waves and transient signals, i.e., be non-transitory. Examples include random access memory (RAM), read-only memory (ROM), volatile memory, nonvolatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and any other known physical storage media.
It is intended that the disclosure and examples be considered as exemplary only, with a true scope of disclosed embodiments being indicated by the following claims.
, Claims:We Claim:
1. A processor implemented method (300) for prioritizing jobs matching candidate profile based on multi-role prediction, the method comprising:
extracting (302), via one or more hardware processors, a plurality of profile entities from each candidate profile using a named entity recognition (NER);
extracting (304), via the one or more hardware processors, a plurality of job entities from each job order based on a plurality of predefined priority levels from a plurality of recruiters;
predicting (306) by using a multi-role predictor module via the one or more hardware processors, a plurality of roles matching with the plurality of job entities based on categorization comprising of a primary role and one or more secondary roles; and
predicting (308), by using a trained job order prioritization module based on the plurality of predefined priority levels via the one or more hardware processors, the candidate profile matching with the plurality of roles of each job order based on (i) a one skill cluster weightage, (ii) a location weightage, and (iii) a role weightage.
2. The processor implemented method as claimed in claim 1, wherein the plurality of job entities comprises of a client ID, a client relation, a job title, a required skill, a number of available positions, an eligible age, a job order complexity, a job type, travel willingness, and a required certification.
3. The processor implemented method as claimed in claim 1, wherein the job order prioritization module is trained using a set of ensemble models comprising of a decision tree, a support vector classifier and a XG boost, wherein each ensemble model includes the plurality of priority levels as a medium level, a high level, and a low level.
4. The processor implemented method as claimed in claim 3, wherein the set of ensemble models are trained based on a column featurization and a training dataset, wherein, the training dataset are categorized into at least one of a first group, and a second group, wherein, each group are fed as input to the multi-role predictor module for optimal tuning of the first group and the second group.
5. The processor implemented method as claimed in claim 1, wherein the job order prioritization module is trained by,
obtaining, the training dataset of each job order and extracting the plurality of job entities;
performing, data pre-processing on the plurality of job entities to handle missing field values;
extracting, a set of features from the plurality of job entities comprising of the skill cluster weightage, the location weightage, and the role weightage; and
feeding, the skill cluster weightage, the location weightage, and the role weightage into one hot encoding to train the set of ensemble models.
6. The processor implemented method as claimed in claim 1, wherein the skill cluster is a cluster of skillsets extracted from each job order assigned with a complexity weightage to predict job priority.
7. The processor implemented method as claimed in claim 1, wherein the location weightage is a ratio of available candidates profile in the required location with a total number of candidates profiles available across organization.
8. The processor implemented method as claimed in claim 1, wherein the role weightage is a ratio of number of positions required for the job order with a total number of available candidate profiles.
9. A system (100), for prioritizing jobs matching candidate profile based on multi-role prediction comprising:
a memory (102) storing instructions;
one or more communication interfaces (106); and
one or more hardware processors (104) coupled to the memory (102) via the one or more communication interfaces (106), wherein the one or more hardware processors (104) are configured by the instructions to:
extract, a plurality of profile entities from each candidate profile using a named entity recognition (NER);
extract, a plurality of job entities from each job order based on a plurality of predefined priority levels from a plurality of recruiters;
predict, by using a multi-role predictor module, a plurality of roles matching with the plurality of job entities based on categorization comprising a primary role and one or more secondary roles; and
predict, by using a trained job order prioritization module based on the plurality of predefined priority levels the candidate profile matching with the plurality of roles of each job order based on (i) a one skill cluster weightage, (ii) a location weightage, and (iii) a role weightage.
10. The system as claim in claim 9, wherein the plurality of job entities comprises of a client ID, a client relation, a job title, a required skill, a number of available positions, an eligible age, a job order complexity, a job type, travel willingness, and a required certification.
11. The system as claim in claim 9, wherein the job order prioritization module is trained using a set of ensemble models comprising of a decision tree, a support vector classifier and a XG boost, wherein each ensemble model includes the plurality of priority levels as a medium level, a high level, and a low level.
12. The system as claimed in claim 11, wherein the set of ensemble models are trained based on a column featurization and a training dataset, wherein, the training dataset are categorized into at least one of a first group, and a second group, wherein, each group are fed as input to the multi-role predictor module for optimal tuning of the first group and the second group.
13. The system as claimed in claim 9, wherein the job order prioritization module is trained by,
obtaining, the training dataset of each job order and extracting the plurality of job entities;
performing, data pre-processing on the plurality of job entities to handle missing field values;
extracting, a set of features from the plurality of job entities comprising of the skill cluster weightage, the location weightage, and the role weightage; and
feeding, the skill cluster weightage, the location weightage, and the role weightage into one hot encoding to train the set of ensemble models.
14. The system as claimed in claim 9, wherein the skill cluster is a cluster of skillsets extracted from each job order assigned with a complexity weightage to predict job priority.
15. The system as claimed in claim 9, wherein the location weightage is a ratio of available candidates profile in the required location with a total number of candidates profiles available across organization.
16. The system as claimed in claim 9, wherein the role weightage is a ratio of number of positions required for the job order with a total number of available candidate profiles.
Dated this 20th Day of July 2022
Tata Consultancy Services Limited
By their Agent & Attorney
(Adheesh Nargolkar)
of Khaitan & Co
Reg No IN-PA-1086
| # | Name | Date |
|---|---|---|
| 1 | 202221041618-STATEMENT OF UNDERTAKING (FORM 3) [20-07-2022(online)].pdf | 2022-07-20 |
| 2 | 202221041618-REQUEST FOR EXAMINATION (FORM-18) [20-07-2022(online)].pdf | 2022-07-20 |
| 3 | 202221041618-FORM 18 [20-07-2022(online)].pdf | 2022-07-20 |
| 4 | 202221041618-FORM 1 [20-07-2022(online)].pdf | 2022-07-20 |
| 5 | 202221041618-FIGURE OF ABSTRACT [20-07-2022(online)].pdf | 2022-07-20 |
| 6 | 202221041618-DRAWINGS [20-07-2022(online)].pdf | 2022-07-20 |
| 7 | 202221041618-DECLARATION OF INVENTORSHIP (FORM 5) [20-07-2022(online)].pdf | 2022-07-20 |
| 8 | 202221041618-COMPLETE SPECIFICATION [20-07-2022(online)].pdf | 2022-07-20 |
| 9 | 202221041618-Proof of Right [08-09-2022(online)].pdf | 2022-09-08 |
| 10 | 202221041618-FORM-26 [20-09-2022(online)].pdf | 2022-09-20 |
| 11 | Abstract1.jpg | 2022-09-26 |
| 12 | 202221041618-FER.pdf | 2025-05-06 |
| 13 | 202221041618-FER_SER_REPLY [08-10-2025(online)].pdf | 2025-10-08 |
| 14 | 202221041618-DRAWING [08-10-2025(online)].pdf | 2025-10-08 |
| 15 | 202221041618-CLAIMS [08-10-2025(online)].pdf | 2025-10-08 |
| 16 | 202221041618-ABSTRACT [08-10-2025(online)].pdf | 2025-10-08 |
| 1 | Search_Strategy_MatrixE_13-09-2024.pdf |