Abstract: Existing automation approaches have limitations in adapting to users response to dynamically generate or constructing a successive question. Embodiments herein provide a method and system for Deep Neural Network (DNN) based candidate profile generation and evaluation, wherein the method provides appropriately choosing the successive question so as to provide maximum information required to fill the content of the plurality of elements of the schema, effectively optimizing the time required for relevant information extraction. The method disclosed selects the successive question based on multiple aspects such as candidates answer or response to previous question, relevant information extracted from all previous responses and seamlessly reshuffling the question in the queue. Successive questions selected are such that they enable extracting maximum information relevant information of the candidate in accordance with minimum questions.
Claims:1. A processor implemented method for Deep Neural Networks (DNN) based candidate profile generation and evaluation, the method comprising the steps of:
initiating (202), by a processor, communication with a candidate, among a plurality of candidates, by questioning the candidate with a question having a highest priority among a set of questions in a queue listed in order of priority level, wherein the set of questions are constructed and prioritized based on basic details provided by the candidate, a set of question-answer pairs in a trained corpus, and unfilled content corresponding to a plurality elements of a schema, wherein the schema is defined in accordance with content required for a profile to be generated for each candidate among the plurality of candidates; and
iterating (204), by the processor, steps of questioning the candidate with a question from the set of questions in the queue to generate the profile of the candidate using an adaptive questionnaire approach, wherein iterations for questioning the candidate with the question is terminated when the unfilled content corresponding to the plurality of elements of the schema is extracted from an answer of the candidate to each successive question from the set of questions, wherein the steps of questioning using the adaptive questionnaire approach comprise:
receiving an answer to a preceding question from the candidate to form a question-answer pair corresponding to the preceding question;
updating content corresponding to at least one element from the plurality of elements of the schema by extracting information relevant to the at least one element from the received answer;
updating the set of question-answer pairs in the trained corpus by adding the question-answer pair comprising the preceding question and the received answer;
reconstructing, by the processor, the set of questions in the queue by selecting questions from the updated set of question-answer pairs in the trained corpus in accordance with the updated content corresponding to at least one element from the plurality of elements of the schema;
reshuffling, by the processor, a current priority level of each question from the reconstructed set of questions based on the DNN, wherein the DNN utilizes a trained question priority corpus for determining the priority level; and
questioning the candidate with the successive question, wherein the successive question is the highest priority question from the reshuffled priority level of the set of questions in the queue.
2. The method as claimed in claim 1, wherein the method further comprises generating a plurality of profiles corresponding to each candidate among the plurality of candidates by repeating the steps of the profile generation of the candidate (206).
3. The method as claimed in claim 2, wherein the method further comprises evaluating the plurality of profiles corresponding to the plurality of candidates for mapping to a job description among the plurality of job descriptions (208) by :
extracting a plurality of features from each profile among the plurality of profiles, wherein the plurality of features comprise:
a first feature set corresponding to each candidate, extracted using cosine similarity providing a similarity score for a job description, wherein each feature among the first feature set corresponds to a requirement in the job description; and
a progressive performance feature corresponding to each candidate obtained by analyzing answer of each candidate to a subset of questions from the queue, wherein the subset of questions are prompted based on adaptive approach with increasing difficulty; and
clustering the plurality of profiles into a plurality of clusters based on a cluster score of the plurality of features of each profile with a cluster among the plurality of clusters, wherein the each cluster corresponds to the job description among a plurality of job descriptions.
4. The method as claimed in claim 3, wherein the method further comprises evaluating (210) an individual absolute performance of each candidate using Deep Neural Network (DNN), wherein the DNN is trained on a plurality of pre-populated profiles to categorize the profiles to a plurality of predefined categories (210), wherein a label associated with each category among the predefined categories provides a quantitative measurement of each candidate.
5. A system (100) for Deep Neural Networks (DNN) based candidate profile generation and evaluation, the system (100) comprising:
a memory (102) storing instructions;
one or more Input/Output (I/O) interfaces (106);
and one or more processors (104) coupled to the memory (102) via the one or more I/O interfaces (106), wherein the processor (104) is configured by the instructions to:
initiate communication with a candidate, among a plurality of candidates, by questioning the candidate with a question having a highest priority among a set of questions in a queue listed in order of priority level, wherein the set of questions are constructed and prioritized based on basic details provided by the candidate, a set of question-answer pairs in a trained corpus, and unfilled content corresponding to a plurality elements of a schema, wherein the schema is defined in accordance with content required for a profile to be generated for each candidate among the plurality of candidates; and
iterate steps of questioning the candidate with a question from the set of questions in the queue to generate the profile of the candidate using an adaptive questionnaire approach, wherein iterations for questioning the candidate with the question is terminated when the unfilled content corresponding to the plurality of elements of the schema is extracted from an answer of the candidate to each successive question from the set of questions, wherein the steps of questioning using the adaptive questionnaire approach comprise:
receiving an answer to a preceding question from the candidate to form a question-answer pair corresponding to the preceding question;
updating content corresponding to at least one element from the plurality of elements of the schema by extracting information relevant to the at least one element from the received answer;
updating the set of question-answer pairs in the trained corpus by adding the question-answer pair comprising the preceding question and the received answer;
reconstructing, by the processor, the set of questions in the queue by selecting questions from the updated set of question-answer pairs in the trained corpus in accordance with the updated content corresponding to at least one element from the plurality of elements of the schema;
reshuffling, by the processor, a current priority level of each question from the reconstructed set of questions based on the DNN, wherein the DNN utilizes a trained question priority corpus for determining the priority level; and
questioning the candidate with the successive question, wherein the successive question is the highest priority question from the reshuffled priority level of the set of questions in the queue.
6. The system (100) as claimed in claim 5, wherein the processor (104) is further configured to generate a plurality of profiles corresponding to each candidate among the plurality of candidates by repeating the steps of the profile generation of the candidate.
7. The system (100) as claimed in claim 6, wherein the processor (104) is further configured to evaluate the plurality of profiles corresponding to the plurality of candidates for mapping to a job description among the plurality of job descriptions (208) by :
extracting a plurality of features from each profile among the plurality of profiles, wherein the plurality of features comprise:
a first feature set corresponding to each candidate, extracted using cosine similarity providing a similarity score for a job description, wherein each feature among the first feature set corresponds to a requirement in the job description; and
a progressive performance feature corresponding to each candidate obtained by analyzing answer of each candidate to a subset of questions from the queue, wherein the subset of questions are prompted based on adaptive approach with increasing difficulty; and
clustering the plurality of profiles into a plurality of clusters based on a cluster score of the plurality of features of each profile with a cluster among the plurality of clusters, wherein the each cluster corresponds to the job description among a plurality of job descriptions.
8. The system (100) as claimed in claim 7, wherein the processor (104) is further configured to evaluate an individual absolute performance of each candidate using a Deep Neural Network (DNN) (114), wherein the DNN (114) is trained on a plurality of pre-populated profiles to categorize the profiles to a plurality of predefined categories (210), wherein a label associated with each category among the predefined categories provides a quantitative measurement of each candidate.
, 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 DEEP NEURAL NETWORK BASED CANDIDATE PROFILE GENERATION AND EVALUATION
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
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 automated profile generation, and, more particularly, to method and system for Deep Neural Network (DNN) based candidate profile generation and evaluation.
BACKGROUND
Considerable research and development is being carried out in automating candidate interview process, reducing time consumed by a lengthy manual selection process, generally required to be followed by Human Resource (HR) department. Selecting or mapping a right candidate for right job description, from a large volume of candidate profiles, is critical for an organization or employer. Thus, shortlisting right candidates for mapping to one or more job openings with distinct job descriptions involves a considerable contribution of expert analysis. The reason being, closeness or similarity of the candidates profile to the job description cannot have a statically pre-defined criteria, as multiple aspects or angles and interrelation among them needs to be considered. Thus automation of candidate profile or resume generation and shortlisting the candidate in accordance with the job description by automating the evaluation process is always a challenge.
Conventional processes for shortlisting involved analysis of text from resumes or profiles by an HR, which consumes considerable time as a huge volume of data needs to be analyzed. Video resume is one widely used approach in recent times. In the Video resume a potential candidate records himself whilst answering specific questions or/and explains projects, internships and so on that they have worked on in lieu with a specific role or a job description. This was introduced in a lot of new age organizations to enable better pipeline, and to enhance experience for a candidate. However, the Video resume has limitations and is not popular choice. The reasons being 1. Unconscious Bias in the minds of the reviewer / recruiting manager / hiring manager. The Unconscious bias can be primarily based on Gender, Caste, Sex, Religion and the like 2. Camera Fear: In most cases, a regular individual is not as open or does not appear as confident as one would like to believe in front of a camera as opposed to otherwise.
Thus, automating the candidate selection process, filtering the candidates from a pool of candidates in accordance with relevancy of the candidates with the job description is important. For the same, posing the right questions in sequence is critical to extract the right information of interest.
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 aspect, there is provided a processor implemented method for Deep Neural Networks (DNN) based candidate profile generation and evaluation. The method comprises steps of initiating communication with a candidate, among a plurality of candidates, by questioning the candidate with a question having a highest priority among a set of questions in a queue listed in order of priority level, wherein the set of questions are constructed and prioritized based on basic details provided by the candidate, a set of question-answer pairs in a trained corpus, and unfilled content corresponding to a plurality elements of a schema, wherein the schema is defined in accordance with content required for a profile to be generated for each candidate among the plurality of candidates. The method further comprises iterating steps of questioning the candidate with a question from the set of questions in the queue to generate the profile of the candidate using an adaptive questionnaire approach, wherein iterations for questioning the candidate with the question is terminated when the unfilled content corresponding to the plurality of elements of the schema is extracted from an answer of the candidate to each successive question from the set of questions. The steps of questioning using the adaptive questionnaire approach comprise: receiving an answer to a preceding question from the candidate to form a question-answer pair corresponding to the preceding question; updating content corresponding to at least one element from the plurality of elements of the schema by extracting information relevant to the at least one element from the received answer; updating the set of question-answer pairs in the trained corpus by adding the question-answer pair comprising the preceding question and the received answer; reconstructing, by the processor, the set of questions in the queue by selecting questions from the updated set of question-answer pairs in the trained corpus in accordance with the updated content corresponding to at least one element from the plurality of elements of the schema; reshuffling, by the processor, a current priority level of each question from the reconstructed set of questions based on the DNN, wherein the DNN utilizes a trained question priority corpus for determining the priority level; and questioning the candidate with the successive question, wherein the successive question is the highest priority question from the reshuffled priority level of the set of questions in the queue. The method further comprises generating a plurality of profiles corresponding to each candidate among the plurality of candidates by repeating the steps of the profile generation of the candidate. The method further comprises evaluating the plurality of profiles corresponding to the plurality of candidates for mapping to a job description among the plurality of job descriptions by: extracting a plurality of features from each profile among the plurality of profiles, wherein the plurality of features comprise: a first feature set corresponding to each candidate, extracted using cosine similarity providing a similarity score for a job description, wherein each feature among the first feature set corresponds to a requirement in the job description; a progressive performance feature corresponding to each candidate obtained by analyzing answer of each candidate to a subset of questions from the queue, wherein the subset of questions are prompted based on adaptive approach with increasing difficulty. The method further comprises clustering the plurality of profiles into a plurality of clusters based a cluster score of the plurality of features of each profile with a cluster among the plurality of clusters, wherein the each cluster corresponds to the job description among a plurality of job descriptions. The method further comprises evaluating an individual absolute performance of each candidate using a Deep Neural Network (DNN), wherein the DNN is trained on a plurality of pre-populated profiles to categorize the profiles to a plurality of predefined categories, wherein a label associated with each category among the predefined categories provides a quantitative measurement of each candidate.
In another aspect, there is provided a system for Deep Neural Networks (DNN) based candidate profile generation and evaluation, the system comprising a memory storing instructions; one or more Input/Output (I/O) interfaces; and one or more processors coupled to the memory via the one or more I/O interfaces. The processor is configured by the instructions to initiate communication with a candidate, among a plurality of candidates, by questioning the candidate with a question having a highest priority among a set of questions in a queue listed in order of priority level, wherein the set of questions are constructed and prioritized based on basic details provided by the candidate, a set of question-answer pairs in a trained corpus, and unfilled content corresponding to a plurality elements of a schema, wherein the schema is defined in accordance with content required for a profile to be generated for each candidate among the plurality of candidates. The processor is further configured to iterate steps of questioning the candidate with a question from the set of questions in the queue to generate the profile of the candidate using an adaptive questionnaire approach, wherein iterations for questioning the candidate with the question is terminated when the unfilled content corresponding to the plurality of elements of the schema is extracted from an answer of the candidate to each successive question from the set of questions. The steps of questioning using the adaptive questionnaire approach comprise: receiving an answer to a preceding question from the candidate to form a question-answer pair corresponding to the preceding question; updating content corresponding to at least one element from the plurality of elements of the schema by extracting information relevant to the at least one element from the received answer; updating the set of question-answer pairs in the trained corpus by adding the question-answer pair comprising the preceding question and the received answer; reconstructing, by the processor, the set of questions in the queue by selecting questions from the updated set of question-answer pairs in the trained corpus in accordance with the updated content corresponding to at least one element from the plurality of elements of the schema; reshuffling, by the processor, a current priority level of each question from the reconstructed set of questions based on the DNN, wherein the DNN utilizes a trained question priority corpus for determining the priority level; and questioning the candidate with the successive question, wherein the successive question is the highest priority question from the reshuffled priority level of the set of questions in the queue. The processor is further configured to generate a plurality of profiles corresponding to each candidate among the plurality of candidates by repeating the steps of the profile generation of the candidate. The processor is further configured to evaluate the plurality of profiles corresponding to the plurality of candidates for mapping to a job description among the plurality of job descriptions by : extracting a plurality of features from each profile among the plurality of profiles, wherein the plurality of features comprise: a first feature set corresponding to each candidate, extracted using cosine similarity providing a similarity score for a job description, wherein each feature among the first feature set corresponds to a requirement in the job description; a progressive performance feature corresponding to each candidate obtained by analyzing answer of each candidate to a subset of questions from the queue, wherein the subset of questions are prompted based on adaptive approach with increasing difficulty. Further, clustering the plurality of profiles into a plurality of clusters based a cluster score of the plurality of features of each profile with a cluster among the plurality of clusters, wherein the each cluster corresponds to the job description among a plurality of job descriptions. The processor is further configured to evaluate an individual absolute performance of each candidate using a Deep Neural Network (DNN), wherein the DNN is trained on a plurality of pre-populated profiles to categorize the profiles to a plurality of predefined categories, wherein a label associated with each category among the predefined categories provides a quantitative measurement of each candidate.
In yet another aspect, there are provided one or more non-transitory machine readable information storage mediums comprising one or more instructions which when executed by one or more hardware processors causes a method for Deep Neural Networks (DNN) based candidate profile generation and evaluation. The method comprises steps of initiating communication with a candidate, among a plurality of candidates, by questioning the candidate with a question having a highest priority among a set of questions in a queue listed in order of priority level, wherein the set of questions are constructed and prioritized based on basic details provided by the candidate, a set of question-answer pairs in a trained corpus, and unfilled content corresponding to a plurality elements of a schema, wherein the schema is defined in accordance with content required for a profile to be generated for each candidate among the plurality of candidates. The method further comprises iterating steps of questioning the candidate with a question from the set of questions in the queue to generate the profile of the candidate using an adaptive questionnaire approach, wherein iterations for questioning the candidate with the question is terminated when the unfilled content corresponding to the plurality of elements of the schema is extracted from an answer of the candidate to each successive question from the set of questions. The steps of questioning using the adaptive questionnaire approach comprise: receiving an answer to a preceding question from the candidate to form a question-answer pair corresponding to the preceding question; updating content corresponding to at least one element from the plurality of elements of the schema by extracting information relevant to the at least one element from the received answer; updating the set of question-answer pairs in the trained corpus by adding the question-answer pair comprising the preceding question and the received answer; reconstructing, by the processor, the set of questions in the queue by selecting questions from the updated set of question-answer pairs in the trained corpus in accordance with the updated content corresponding to at least one element from the plurality of elements of the schema; reshuffling, by the processor, a current priority level of each question from the reconstructed set of questions based on the DNN, wherein the DNN utilizes a trained question priority corpus for determining the priority level; and questioning the candidate with the successive question, wherein the successive question is the highest priority question from the reshuffled priority level of the set of questions in the queue. The method further comprises generating a plurality of profiles corresponding to each candidate among the plurality of candidates by repeating the steps of the profile generation of the candidate. The method further comprises evaluating the plurality of profiles corresponding to the plurality of candidates for mapping to a job description among the plurality of job descriptions by: extracting a plurality of features from each profile among the plurality of profiles, wherein the plurality of features comprise: a first feature set corresponding to each candidate, extracted using cosine similarity providing a similarity score for a job description, wherein each feature among the first feature set corresponds to a requirement in the job description; a progressive performance feature corresponding to each candidate obtained by analyzing answer of each candidate to a subset of questions from the queue, wherein the subset of questions are prompted based on adaptive approach with increasing difficulty. The method further comprises clustering the plurality of profiles into a plurality of clusters based a cluster score of the plurality of features of each profile with a cluster among the plurality of clusters, wherein the each cluster corresponds to the job description among a plurality of job descriptions. The method further comprises evaluating an individual absolute performance of each candidate using a Deep Neural Network (DNN), wherein the DNN is trained on a plurality of pre-populated profiles to categorize the profiles to a plurality of predefined categories, wherein a label associated with each category among the predefined categories provides a quantitative measurement of each candidate.
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 component of this disclosure, illustrate exemplary embodiments and, together with the description, serve to explain the disclosed principles:
FIG. 1 illustrates an exemplary block diagram of a system for Deep Neural Network (DNN) based candidate profile generation and evaluation, in accordance with an embodiment of the present disclosure.
FIG. 2A and FIG. 2B illustrate an exemplary flow diagram of a method for DNN based candidate profile generation and evaluation, using the system of FIG. 1, in accordance with an embodiment of the present disclosure.
FIG. 3 illustrates a graphical representation of mapping performed by the system of FIG. 1 between a job description and a generated profile of a candidate by evaluating confidence score using cosine similarity, in accordance with an embodiment of the present disclosure.
FIG. 4 is a graphical representation of the clustering of a plurality of profiles for a plurality of job descriptions, in accordance with an embodiment 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 spirit and scope of the disclosed embodiments. It is intended that the following detailed description be considered as exemplary only, with the true scope and spirit being indicated by the following claims.
As described above, while automating candidate selection process, filtering the candidates from a pool of candidates in accordance with relevancy of the candidates with a job description is important. For the same, posing the right questions in sequence is critical to extract the information of interest. Main intension of generating question in any automated system is to extract maximum information from the end user as possible. The traditional techniques often used for generating question in questionnaire are described below:
1) Structured way of question – Pre defined question in pre-defined ordering using systematic approach are framed to extract the factual information from the speaker. The information extracted from the speaker using this technical approach is limited as the approach is confined to a limited set of cases and possibilities. Anything that is not bounded to the limited is discarded, which is not the suitable way for asking an optimized way of rendering question pattern
For example,
Question 1 – How many years of experience?
Question 2 – What is your domain?
Question 3 – What are projects you worked on?
2) Randomizing the Question pattern – The challenge that exists when using the structured way of question generation is that the question pattern always remains same. This makes a candidate or participant aware of the possible future questions to be posed. Thus, the above structured technique is further refined by the randomizing the user pattern to confuse the participants and analyzing their adaptive behavior to the unordered questions. This technique is used in traditional web based exams to promote toughness in the question pattern and to avoid mal practices.
Question 1 – What is your domain?
Question 2 – What are projects you worked on?
Question 3 – How many year of experience?
3) Adaptive Question – In random approaches, the question are not prioritized and there may be or may not be any link between a preceding and successive question, which makes the interaction complicated often result in mismatching of the expected answers and factual information from the participants or candidates as the question pattern is often random without any constraints. To prioritize the randomness and also to avoid consistent question pattern, another optimized technique known as adaptive question i.e. the level of question difficulty is adjusted based on the participants answer or knowledge. This is the more advanced technique used in the computerized assessment tests. The current question is based on the previous question provided by the system and the previous answers given by the participants. Based on the current participant performance the question are dynamically selected by the system. In this case, the mapping function of question difficulty and the participant’s performance is used to prioritize the question pattern.
4) Ladder approach or Decision based or choice based question - Apart from the examination scenarios, another alternative technique involved for question framing is used is decision based question. In this approach, the next question is based on the decision or the flow of answer provided by the participants. This is approach used for choice based questionnaire scenario and dialogue flows.
For example,
Question 1 – Do you want coffee or tea?
Question 2 - Do you want sugar in your coffee?
These are the common known techniques for question selection used. However these approaches do not provide intelligence for adapting to the users response dynamically and then dynamically generating or constructing the next question, which practically takes place when analyzed by a human expert involved.
Embodiments of the present disclosure provide a method and system for Deep Neural Network (DNN) based candidate profile generation and evaluation. The method disclosed, enables dynamic selection of questions using techniques that target to optimize the approach for maximizing the information extraction from an end user or the candidate.
Referring now to the drawings, and more particularly to FIGS. 1 through 4, 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 block diagram of a system 100 for Deep Neural Network (DNN) based candidate profile generation and evaluation, in accordance with an embodiment of the present disclosure.
In an embodiment, the system 100 includes one or more processors 104, communication interface device(s) or input/output (I/O) interface(s) 106, and one or more data storage devices or memory 102 operatively coupled to the one or more processors 104. The one or more processors 104 may be one or more software processing modules 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 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 I/O interface 106, through the ports is configured to receive input in terms of voice recording, which is response to questions posed to the candidate. The answers or response to the questions is processed in accordance with the system 100 disclosed herein to generate and evaluate the candidate profile.
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. In an embodiment a plurality of modules 108 can be stored in the memory 102, wherein the modules 108 may comprise a question generator 110, a score generator 112 and a DNN 114. The modules 108 including the question generator 110, the score generator 112 and the DNN 114, when executed by the processors (s) 104 are configured to perform Deep Neural Network (DNN) based candidate profile generation and evaluation. The functions of the modules 108 are explained in conjunction with a method 200 of FIG. 2A and 2B. The memory 102 may further comprise information pertaining to input(s)/output(s) of each step performed by the modules 108 of the system 100 and methods of the present disclosure. The memory also stores a trained corpus comprising a set of question-answer pairs and a trained question priority corpus used by the DNN 114 for determining a priority level of a set of questions in a queue. .
FIG. 2A and FIG. 2B illustrate an exemplary flow diagram of the method 200 for the DNN based candidate profile generation and evaluation, using the system of FIG. 1, in accordance with an embodiment 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 one or more processors 104 and is configured to store instructions for execution of steps of the method 200 by the one or more processors (alternatively referred as processor(s)) 104 in conjunction with various modules of the modules 108. The steps of the method 200 of the present disclosure will now be explained with reference to the components or blocks of the system 100 as depicted in FIG. 1 and the steps of flow diagram as depicted in FIG. 2. 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 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.
The method disclosed generates the profile, alternatively referred as resume, from the voice recording of the candidate, which is repeated for a plurality of candidates. In an example implementation, the system 100 can be configured to ask a set of questions to the candidate. The candidate can interact with the system 100 to record the user response (answer) to the question using a record option on a User Interface of the system 100. In the method disclosed, even though the candidate interaction is assumed to be audio interaction with candidate response stored in terms of voice recording, the method and system 100 can process response in form of text based interaction and well as video based interaction and extract information for candidate profile generation using NLP based text processing and/or extraction audio content from the video based interaction. However, practically for mass candidates, audio communication wherein response of the candidate is stored as voice recording are most convenient means as input to the system 100.
Initially, to start communication with the candidate, the questions can be generated statically from the trained corpus comprising the set of question-answer pairs. The initial questions can be pre-defined and in a specific pattern. The answers to the questions are analyzed to extract content for a schema (structured data) defined for profile generation. As the content is filled in with relevant information, the questions can be generated dynamically. The approach used by the method 200 is explained in the steps of method 200 below.
At step 202 of the method 200, the question generator 110 when executed by the processors (s) 104 is configured to initiate communication with the candidate, among the plurality of candidates. The candidate is questioned with a question, wherein the question selected has highest priority among a set of questions in a queue. The set of questions in the queue are listed in order of priority level. The set of questions are constructed and prioritized based on basic details provided by the candidate, the set of question-answer pairs in the trained corpus and unfilled content corresponding to a plurality elements of a schema, wherein the schema is defined in accordance with content required for a profile to be generated for each candidate among the plurality of candidates. An example partially filled in schema is described in example schema 1 below defined for a job description of interest.
Example schema 1:
Elements Associated Content ( information)
Name John
Age 23
Domain Unfilled content
Experience Unfilled content
In the schema1 above, Name, Age and Domain are the plurality of elements of the schema1, while John, 23 are contents filled in for the respective plurality of elements.
A questioned to be posed next (successive question) is in accordance with the unfilled content of the schema. An expected question for unfilled content of the schema 1 is what is your domain? Thus, at step 204 of the method 200, the question generator module 110 is configured to iterate steps of questioning the candidate with successive questioning from the set of questions in the queue to generate the profile of the candidate using an adaptive questionnaire approach. The questioning with the successive questioning is terminated when the unfilled content corresponding to the plurality of elements of the schema are extracted from an answer of the candidate to each successive question from the set of questions.
The step 204 for questioning comprises four sub steps, wherein the successive questions are asked using the adaptive questionnaire approach. A first sub step of the step 204 includes receiving the answer to a preceding question from the candidate to form a question-answer pair. Further, the received answer is analyzed using known voice based processing to extract information from the answer. The voice data is recorded for the participants. The audio data is processed into text using Speech Recognition after noise suppression for increasing the word clarity of the user. The text is then processed into structural data using Natural language processing and Deep Learning.
The answer for the question is treated as question-answer pair, alternatively referred as state pair. These state pairs gives the probability of the next question/state to be selected from the question-answer corpus model.
Evaluating states to extract information for the elements of the schema is based on the extracted keywords using NLP technique-keyword extraction method. For determining the state and differentiating between states, NLP techniques which extract the keywords from the question and answer pairs. The keywords provides to define the state pairs in the corpus model.
An example, state-pair (question-answer pair) is provided below for keyword extraction:
Question What is your area of interest?
Answer I am interested in Data science
Keywords Area, interest, Data science
Based on this extracted information, a second sub step of the step 204 of method 200 includes updating content corresponding to at least one element from the plurality of elements of the schema. Further, based on the received answer and the corresponding question, the second sub step of the step 204 also includes updating the set of question-answer pairs in the trained corpus by adding a question-answer pair comprising the preceding question and the received answer to the preceding question. Further, a third sub step of the step 204 includes reconstructing the set of questions in the queue by selecting questions from the updated trained corpus in accordance with the updated content of the corresponding to at least one element from the plurality of elements of the schema. Thus, the reconstruction refers to dynamically changing the questions based on the candidate’s answers and information extracted to fill in the contents of the schema. Once the queue is updated, a fourth step of the method 200 includes reshuffling a current priority level of each question from the reconstructed set of questions based on the DNN 114. To determine the current priority level the DNN 114 utilizes the trained question priority corpus. Further, a fourth sub step of step 204 of the method 200 includes, questioning the candidate with the successive question, wherein the successive question is the highest priority question from the reshuffled priority level of the set of questions in the queue.
For the example schema1 of the table 1, to fill in the content associated with the domain and the experience example successive questions that may be generated are provided below:
Question What is your area of interest? / Domain/
Answer I am interested in Data science
Question Do you have any experience in data science? /successive questions shifting to experience from domain/
Answer Yes, I worked for one year
The updated contents of the example schema1, post the successive question can be as in table below. It is to be understood that for brevity and ease of understanding simple example schemas are used herein. However, the schema’s can be bigger and complex and filled in accordingly.
Name John
Age 23
Domain Data Science
Experience 1 year
Provided below is an example explaining the end to end process of profile generation in accordance with the method disclosed.
In an example scenario: A participant uses platform for profile generation as provided by the system 100. The system 100 interviews the particular participant interactively in audio communication. In the conversation, the system ask the participant to convey the basic information, as in sample communication below:
System: Can you introduce yourself
User: My name is John. I am 23 years old.
In the backend, the voice content from the user is processed using Speech recognition and text analysis is performed using natural language understanding for extracting the key features or the important information from the audio content and the extracted information is filled into the schema which is constructed by system 100, also referred as information schema, for the particular participant or user. This schema represent the structured informal data collected by the system 100 about the user in their entire conversation.
Thus for an answer by the user: “My name is John. I am 23 years old” provides name: John, age: 23. The initial schema based on the given example appear as in below table.
Elements Associated Content (information)
Name John
Age
A certain number of features or elements required are identified by the system 100 for which the critical information needs to be collected from the user. For example, the system 100 identifies domain and experience as critical elements for the interview scenarios. Now the updated schema with critical feature (elements) is as depicted in the below table
Elements Associated Content ( information)
Name John
Age 23
Domain Unfilled content
Experience Unfilled content
Depending on the unfilled content and conversation, the follow up questions are asked by the system 100 for building a conversational flow using dynamic question generation or the adaptive questionnaire approach.
For the given example the system 100 is required to collect information on the domain and experience. And the current conversation is related to basic information. The current conversation is denoted by question answer state pairs. Based on the DNN 114, the next appropriate question is fetched from the trained corpus and queued in the question queue. The question in the queue is prioritized based on the critical information required using deep learning networks which is trained for prioritizing.
For example, the appropriate next question to provide by the system is listed below in prioritized order. Thus next question in the queue can be, for example, as below:
1. What is your domain?
2. How many years of experience you have?
3. What you do?
Based on the question next ( successive) fetched the conversation is continued as below:
Question What is your domain?
User I work in Data science
Keywords Domain, Data science
The information is filled based on the extracted information from the question answer pair and the question generation cycle is again repeated and the question in the queue is shuffled again and the uneccessary question is dropped from the queue based on the low priority.
New Next Question in the queue:
1. Do you have experience in the domain?
2. What you projects you did in data science?
3. What language you use in data science?
Question Do you have experience in the domain
User I worked for 1 year
Keywords 1 year, experience
Based on the extracted information the content is updatedin the system 100.
Name John
Age 23
Domain Data Science
Experience 1 year
Sometimes, the user might provide additional information than required. The additional content is labeled, then classified and appended in the schema for maximizing the data collection from the user.
For example,
Question Can you introduce yourself?
User I am John, 23 years old. I am 2017 passed out and currently working as Data Science domain. I have worked in various projects like text classification, sentiment analysis. I am good in Python and R. I have tried various packages.
Thus, as more information is collected, the system 100 tries to classify them into structural data and update the schema as below: The structural data is collected for various participants who use the platform provided by the system 100.
Sentence Keyword Label Schema Update
I am John, 23 years old John, 23 years old Person, age Name = John,
Age =23
I am 2017 passed out and currently working as Data Science domain 2017, Data Science Domain, year Domain = Data Science
Experience=1 year
I have worked in various projects like text classification, sentiment analysis Text classification, sentiment analysis,projects Project Project= Text Classification, Sentiment analysis
I am good in Python and R. I have tried various packages. Python, R Software Programming= Python, R
Updated schema based on additional extracted constent:
Name John
Age 23
Domain Data Science
Experience 1 year
Software Python, R
Projects Text classification, sentiment analysis analysis, Sentiment Analysis
At step 206 of the method 200, the score generator when executed by the processors(s) 104 is configured to generate a plurality of profiles corresponding each candidate among the plurality of candidates by repeating the steps of the profile generation of the candidate.
Once the plurality of candidate profiles are available, then at step 208 of the method 200, score generator 112 when executed by the processors (s) 104 is configured to evaluate the plurality of profiles corresponding to the plurality of candidates for mapping to the job description among the plurality of job descriptions. The evaluating comprises extracting a plurality of features from each profile among the generated plurality of profiles. The plurality of features comprise a first feature set corresponding to each candidate extracted using cosine similarity to provide a similarity score for the job description. Each feature among the first feature set corresponds to a requirement in the job description.
In an example, consider, a new job post having a specific job description is published by the interviewer who is looking for certain mandatory features as below:
Data Features Minimum Required
Experience 1 year
Programming Python
Domain Data Science.
These features are compared with the each participant’s information and the suitable candidates are narrowed with the compatibility with the job description. The participant may also apply to the job description by themselves. The system 100 helps in analysis of the data of the participant and their compatibilty with the job description and based on the critical features, the user data are graphical visualized in the system 100 for comparison.
Assume two candidates have registered in the system 100 and appeared for the given job description. The critical information of the user like experience, technical skill, programming skill, related project, competencies is extracted from their collected data and plotted in the multi-dimensional graph as shown in FIG. 3. Then data is also processed in KNN for grouping the participants appeared in the job roles for comparative study and it cluster them. Based on the distance from the cluster centroid, the user is assigned the score.
For accurate measure, it is compared with pre-trained students with these features categorized into labels for the job description based on it, the compatibility score is measured, for example in FIG. 3.Person A = 9 , and Person B = 3
The equation for cosine similarity score used for score calculation is as in equation 1 below:
cosine similarity(cluster score)=cos?(?)=
(A.B)/?A??B? =(?_(i=1)^n¦?A_i B_i ?)/(v(?_(i=1)^n¦?A_i^2 ?) v(?_(i=1)^n¦?B_i^(2 ) ?)) (1)
The information extracted from the candidate and filled in the schema and the cosine similarity features such as Experience , Technologies, Programming languages known , Project done and Competencies achieved with respect to the required job description or job description by the recruiter or organization. These features with the similarity score are plotted in the graphical representation as shown in FIG. 3 for two candidates (person A and person B).
Another feature set is a progressive performance feature corresponding to each candidate obtained by analyzing answer of each candidate to a subset of questions from the queue. The subset of questions are prompted based on adaptive approach with increasing difficulty.
Further, the evaluation comprises clustering the plurality of profiles into a plurality of clusters based the cluster score of the plurality of features of each profile with a cluster among the plurality of clusters. Each cluster corresponds to the job description among a plurality of job description or job description set by the organization. An example clustering technique used is the K-means clustering. Post clustering, as depicted in FIG. 4, the candidates are grouped according to their closeness or relevancy to a job description or job description. This grouping of candidates provides shortlisting of candidates for the corresponding job description. The extracted information by the system 100 for the elements or the features comprising for example, Experience , Technologies, Programming languages known , Project done and Competencies of various users or candidates are processed in Kmeans clustering. The clustering technique clusters candidates into groups based on their intra similarity. Based on the distance from their clustering points, score for deciding the cluster are calculated.
Thus, the method disclosed enables appropriately choosing the successive question so as to provide maximum information required to fill the content of the plurality of elements of the schema, effectively optimizing the time required for relevant information extraction. The method disclosed selects the successive question based on multiple aspects such as dynamically analyzing candidates answer or response to previous question, checking relevant information extracted from all previous responses and seamlessly reshuffling the question in the queue to be posed to the candidate so as to extract maximum information associated with the unfilled content (information) with minimum questions to the candidate.
Further, by proving the individual absolute performance of the candidate and clustering of candidates in accordance with the job descriptions, the method enables efficient candidate sorting and mapping for the respective job description, reducing the human effort (human intelligence) involved in the candidate shortlisting process.
Further, existing systems that offer automation in resume generation or candidate selection work only on either aspect and not as an end to end process of candidate profile generation and candidate shortlisting for appropriate job description among the plurality of job description open for an organization. Thus method disclosed provides automation on a larger scale for the end to end process. Final selection of the candidate among the shortlisted candidates may then be based on for human expert opinion such as a face to face interview.
Also in question generation phase, certain assessment questions are prompt with factual information to evaluate the participants or candidates. They are evaluated with reference to the pre-trained factual question answer corpus which provides grade their response. Thus. at step 210 of the method 200, the DNN 114 when executed by the processors (s) 104 is configured to evaluate an individual absolute performance of each candidate using the DNN 114, wherein the DNN 114 is trained on a plurality of pre-populated profiles to categorize the profiles in a plurality of predefined categories. A label associated with each category among the predefined categories provides a quantitative measurement of each candidate.
Any practical interview scenario is constrained by the interviewer ability to fetch more data from the user. However, the validity of the data depends on the judgment of the interview which could be biased easily based on their background. Thus, using automated interview in accordance with the method disclosed, the system 100 is provided with the ability to expand the conversation and consume the critical information of the user and can categorize them into structural data. Further, in traditional manual process, when the interviewer is asked to interview for larger mass, it consumes time and manual effort in verifying and selecting the proper candidate. Thus, evaluation tends to deviate based on the interviewer mindset. However, the system 100 evaluates the candidates by providing a quantified measure for the candidate performance enabling the interviewer to narrow the group for the desired the candidates from among larger group.
In an embodiment, for the shortlisted candidates for the respective job description (in accordance with the clustered profiles), the system 100 can be configured to automatically send a notification. The notification can be through an email, SMS and the like sent to personal device or personal mail ID of the candidate. The candidate’s connect information can be extracted from the basic information provided by the candidate. In addition, the interview details may also be shared along with the notification.
The traditional electronic assessments are monotonous which make the user adapt to the same set of question in particular order. Thus using adaptive question generation, the conversation can be made more interactive as the question can be adaptive as well as randomized which can analyze the user performance more accurate and evaluate them. Further, the question generation can also be used to evaluate the candidates by prompting factual information for validating the skills, which they claim.
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.
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 modules 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 modules described herein may be implemented in other modules or combinations of other modules. 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 and spirit 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 and spirit of disclosed embodiments being indicated by the following claims.
| Section | Controller | Decision Date |
|---|---|---|
| # | Name | Date |
|---|---|---|
| 1 | 201921001741-IntimationOfGrant10-07-2024.pdf | 2024-07-10 |
| 1 | 201921001741-STATEMENT OF UNDERTAKING (FORM 3) [15-01-2019(online)].pdf | 2019-01-15 |
| 2 | 201921001741-PatentCertificate10-07-2024.pdf | 2024-07-10 |
| 2 | 201921001741-REQUEST FOR EXAMINATION (FORM-18) [15-01-2019(online)].pdf | 2019-01-15 |
| 3 | 201921001741-Written submissions and relevant documents [25-06-2024(online)].pdf | 2024-06-25 |
| 3 | 201921001741-FORM 18 [15-01-2019(online)].pdf | 2019-01-15 |
| 4 | 201921001741-FORM-26 [07-06-2024(online)].pdf | 2024-06-07 |
| 4 | 201921001741-FORM 1 [15-01-2019(online)].pdf | 2019-01-15 |
| 5 | 201921001741-FIGURE OF ABSTRACT [15-01-2019(online)].jpg | 2019-01-15 |
| 5 | 201921001741-Correspondence to notify the Controller [06-06-2024(online)].pdf | 2024-06-06 |
| 6 | 201921001741-US(14)-HearingNotice-(HearingDate-11-06-2024).pdf | 2024-05-09 |
| 6 | 201921001741-DRAWINGS [15-01-2019(online)].pdf | 2019-01-15 |
| 7 | 201921001741-FER.pdf | 2021-10-19 |
| 7 | 201921001741-COMPLETE SPECIFICATION [15-01-2019(online)].pdf | 2019-01-15 |
| 8 | 201921001741-FORM-26 [08-03-2019(online)].pdf | 2019-03-08 |
| 8 | 201921001741-ABSTRACT [10-08-2021(online)].pdf | 2021-08-10 |
| 9 | 201921001741-CLAIMS [10-08-2021(online)].pdf | 2021-08-10 |
| 9 | 201921001741-Proof of Right (MANDATORY) [20-03-2019(online)].pdf | 2019-03-20 |
| 10 | 201921001741-COMPLETE SPECIFICATION [10-08-2021(online)].pdf | 2021-08-10 |
| 10 | Abstract1.jpg | 2019-04-15 |
| 11 | 201921001741-FER_SER_REPLY [10-08-2021(online)].pdf | 2021-08-10 |
| 11 | 201921001741-ORIGINAL UR 6(1A) FORM 1-290319.pdf | 2019-11-04 |
| 12 | 201921001741-ORIGINAL UR 6(1A) FORM 26-130319.pdf | 2020-01-21 |
| 12 | 201921001741-OTHERS [10-08-2021(online)].pdf | 2021-08-10 |
| 13 | 201921001741-ORIGINAL UR 6(1A) FORM 26-130319.pdf | 2020-01-21 |
| 13 | 201921001741-OTHERS [10-08-2021(online)].pdf | 2021-08-10 |
| 14 | 201921001741-FER_SER_REPLY [10-08-2021(online)].pdf | 2021-08-10 |
| 14 | 201921001741-ORIGINAL UR 6(1A) FORM 1-290319.pdf | 2019-11-04 |
| 15 | 201921001741-COMPLETE SPECIFICATION [10-08-2021(online)].pdf | 2021-08-10 |
| 15 | Abstract1.jpg | 2019-04-15 |
| 16 | 201921001741-CLAIMS [10-08-2021(online)].pdf | 2021-08-10 |
| 16 | 201921001741-Proof of Right (MANDATORY) [20-03-2019(online)].pdf | 2019-03-20 |
| 17 | 201921001741-FORM-26 [08-03-2019(online)].pdf | 2019-03-08 |
| 17 | 201921001741-ABSTRACT [10-08-2021(online)].pdf | 2021-08-10 |
| 18 | 201921001741-FER.pdf | 2021-10-19 |
| 18 | 201921001741-COMPLETE SPECIFICATION [15-01-2019(online)].pdf | 2019-01-15 |
| 19 | 201921001741-US(14)-HearingNotice-(HearingDate-11-06-2024).pdf | 2024-05-09 |
| 19 | 201921001741-DRAWINGS [15-01-2019(online)].pdf | 2019-01-15 |
| 20 | 201921001741-FIGURE OF ABSTRACT [15-01-2019(online)].jpg | 2019-01-15 |
| 20 | 201921001741-Correspondence to notify the Controller [06-06-2024(online)].pdf | 2024-06-06 |
| 21 | 201921001741-FORM-26 [07-06-2024(online)].pdf | 2024-06-07 |
| 21 | 201921001741-FORM 1 [15-01-2019(online)].pdf | 2019-01-15 |
| 22 | 201921001741-Written submissions and relevant documents [25-06-2024(online)].pdf | 2024-06-25 |
| 22 | 201921001741-FORM 18 [15-01-2019(online)].pdf | 2019-01-15 |
| 23 | 201921001741-REQUEST FOR EXAMINATION (FORM-18) [15-01-2019(online)].pdf | 2019-01-15 |
| 23 | 201921001741-PatentCertificate10-07-2024.pdf | 2024-07-10 |
| 24 | 201921001741-STATEMENT OF UNDERTAKING (FORM 3) [15-01-2019(online)].pdf | 2019-01-15 |
| 24 | 201921001741-IntimationOfGrant10-07-2024.pdf | 2024-07-10 |
| 1 | SearchStrategyMatrix-AmendedAE_05-09-2023.pdf |
| 1 | SearchStrategyMatrixE_17-03-2021.pdf |
| 2 | SearchStrategyMatrix-AmendedAE_05-09-2023.pdf |
| 2 | SearchStrategyMatrixE_17-03-2021.pdf |