WO2020193785A1 - Vacancy matching method and application - Google Patents

Vacancy matching method and application Download PDF

Info

Publication number
WO2020193785A1
WO2020193785A1 PCT/EP2020/058839 EP2020058839W WO2020193785A1 WO 2020193785 A1 WO2020193785 A1 WO 2020193785A1 EP 2020058839 W EP2020058839 W EP 2020058839W WO 2020193785 A1 WO2020193785 A1 WO 2020193785A1
Authority
WO
WIPO (PCT)
Prior art keywords
job
candidate
algorithm
parameter values
vacancy
Prior art date
Application number
PCT/EP2020/058839
Other languages
French (fr)
Inventor
Felix Olu ADEDEJI
Original Assignee
Ai Just Rate Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ai Just Rate Ltd filed Critical Ai Just Rate Ltd
Publication of WO2020193785A1 publication Critical patent/WO2020193785A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/105Human resources
    • G06Q10/1053Employment or hiring

Definitions

  • the present invention relates to a computer implemented method for matching job candidates and job vacancies.
  • CV or resume may be analysed manually.
  • Manual analysis of CVs or resumes can be extremely time consuming, particularly for jobs that attract a large number of applicants.
  • CVs or resumes It is known to provide automated analysis of CVs or resumes.
  • automated analysis of a CV or resume may be complex.
  • CVs or resumes are not usually presented in a standard format. Different applicants may describe the same qualities, skills or experience using a different form of words. Simple word recognition may not be sufficient to analyse the CV or resume.
  • effective recruitment often relies on expert knowledge built up over years by a recruiter, for example knowledge of an industry and of preferences of a particular employer, which can be difficult to replicate using automated processes.
  • Machine-learning approaches have been suggested in this context but it is important for recruiters and employers to be confident that such automated approaches are sufficiently tailored to a particular vacancy or industry, and sufficiently well replicate the expertise of a good recruiter.
  • a purely automated analysis method may not allow a company or recruiter to have a desired degree of control over the analysis process. The company or recruiter may wish to have at least some input into the analysis process.
  • a computer implemented method for matching job candidates and job vacancies comprising: storing a predetermined set of parameters that characterise job vacancies and/or candidates; obtaining a first set of parameter values, the first set of parameter values comprising values for at least some of the predetermined set of parameters; obtaining a second set of parameter values corresponding to a job vacancy; applying a scoring algorithm to the first set of parameter values and the second set of parameter values to determine a matching score output representative of a match between candidate and the job vacancy.
  • the obtaining of the first set of parameter values may comprise generating the first set of parameter values by applying a first trained algorithm to candidate information for a candidate.
  • Obtaining the second set of parameter values may comprise applying a second trained algorithm to job information concerning the job vacancy to obtain the second set of parameter values.
  • the or each trained algorithm may comprise a trained model and/or may comprise a trained set of layers and/or weightings.
  • the or each trained algorithm may comprise a trained neural network.
  • the parameters of the predetermined set of parameters may be divided between predetermined categories.
  • the scoring algorithm may be configured to provide a respective category score for each category.
  • the matching score output may comprise the category score, and/or a selected at least one of the category scores, and/or a combined score obtained from the category scores.
  • the method may further comprise receiving user input and selecting one or more of the categories and/or applying weightings to the categories based on the user input, wherein the scoring algorithm may be configured to determine the matching score output based on the selected categories and/or weightings.
  • the method may further comprise receiving user input and selecting one or more of the category scores for display based on the user input.
  • the method may further comprise generating at least one graphical representation of the matching score output and displaying the at least one graphical representation.
  • the matching score output may comprise at least one score and the at least one graphical representation may comprise at least one graphical indicator representative of said at least one score.
  • the at least one graphical indicator may comprise a respective graphical indicator corresponding to each of, or a selected at least some of, the category scores.
  • the or each graphical indicator may comprise at least one of a colour, texture, fill level, position, size, orientation or position that is dependent on a value of the corresponding score.
  • the method may further comprise providing a graphical user interface comprising said graphical representation(s) and configured to receive user input to control operation of the scoring algorithm and/or the display of the graphical representation(s).
  • the method may further comprise receiving user input and selecting one or more of the parameters and/or applying weightings to the parameters based on the user input, wherein the scoring algorithm may be configured to determine the matching score based on the selected parameters and/or parameter weightings.
  • the candidate information may comprise or be obtained from a curriculum vitae (C V) or resume document.
  • the method may comprise performing natural language processing to extract text data from the candidate information.
  • the natural language processing may be provided by the first trained algorithm.
  • the method may further comprise receiving job vacancy information and performing natural language processing to extract text data from the job vacancy information.
  • the natural language processing may be provided by the second algorithm.
  • the method may comprise obtaining candidate information for a plurality of candidates and/or obtaining parameter values corresponding to a plurality of job vacancies, and may further comprise applying the scoring algorithm in respect of said plurality of candidates and/or said plurality of job vacancies, and selecting at least one job vacancy for a candidate and/or selecting at least one candidate for a job vacancy.
  • the selecting of the at least one job vacancy or the at least one candidate may comprise comparing matching score outputs to at least one threshold.
  • the scoring algorithm may comprise a trained algorithm.
  • the first trained algorithm and/or the second algorithm and/or the scoring algorithm may comprise an algorithm trained using a machine learning process.
  • the first trained algorithm and/or the second algorithm and/or the scoring algorithm may comprise a trained neural network.
  • the method may further comprise at least one of a) or b):
  • the method may comprise performing a web-scraping process to obtain job information relating to a plurality of job vacancies and/or to obtain candidate information for a plurality of candidates.
  • the method may further comprise, for said candidate, applying the scoring algorithm to parameter values for a plurality of job vacancies to determine vacancies for which the candidate is suitable and/or to rank vacancies based on suitability of that candidate for said vacancies.
  • a system for matching job candidates and job vacancies comprising:
  • a data store storing a predetermined set of parameters that characterise job vacancies and/or candidates
  • a processing resource configured to:
  • a computer program product comprising computer readable instructions that are executable to perform a method as claimed or described herein.
  • Figure 1 is a schematic illustration of a system in accordance with an embodiment
  • FIG. 2 is a schematic illustration of modules configured to provide cloud- based services in accordance with an embodiment
  • Figure 3 is a flow chart illustrating in overview a process flow in accordance with an embodiment
  • Figure 4 is a flow chart illustrating in overview a method of analysing job listings and CVs in accordance with an embodiment
  • Figure 5 is an illustration of a graphical user interface in accordance with an embodiment.
  • FIG. 1 is a schematic diagram illustrating in brief overview a computer system 10 in accordance with an embodiment.
  • the computer system 10 is configured to implement a method for matching job candidate and job vacancies in accordance with an embodiment.
  • the computer system comprises a computing apparatus 12, for example a server or workstation, which is connected to one or more display screens 14 and one or more input devices 16 (for example, a keyboard and mouse).
  • the computing apparatus 12 comprises a processor 18 and memory 20.
  • a web platform hosting module 30 and an API services module 40 are implemented in the processor 18.
  • the web platform hosting module 30 and API services module 40 are described in greater detail below with reference to Figure 2.
  • the web platform hosting module 30 and API services module 40 are each implemented in the processor 18 by means of a computer program having computer-readable instructions that are executable to perform the method of the embodiment.
  • the web platform hosting module 30 and API services module 40 may be implemented as one or more ASICs (application specific integrated circuits) or FPGAs (field programmable gate arrays).
  • the computing apparatus 12 also includes a hard drive and other components including RAM, ROM, a data bus, an operating system including various device drivers, and hardware devices including a graphics card. Such components are not shown in Figure 1 for clarity.
  • the computer system 10 may comprise a plurality of computing apparatuses. Functionality of the web platform hosting module 30 and API services module 40 may be divided between multiple computing apparatuses and/or multiple processors. Functionality of the web platform hosting module 30 and API services module 40 may be divided across a network or cloud-based system.
  • Figure 2 is a schematic illustration which represents in greater detail the web platform hosting module 30, the API services module 40 and the cloud-based services provided by the web platform hosting module 30.
  • the web platform hosting module 30 is configured to provide web platform hosting services.
  • the web platform hosting module 30 is configured to provide a recruiter portal 32, a jobseeker portal 34, a job board 36, and a recruitment platform 38.
  • the web platform hosting module 30 may be configured to provide any suitable web platforms.
  • a platform hosting module may provide platform services on any suitable medium, which may or may not be web-based.
  • the API services module 40 comprises a recruitment analytics module 42 configured to provide recruitment analytics services; an artificial intelligence module 44 configured to provide artificial intelligence functionality; and an applicant tracking system (ATS) services module 46 configured to provide applicant tracking functionality for example for managing and/or tracking job candidates and/or job vacancies and/or for providing management and/or tracking of any desired parts of a recruitment or job application process.
  • the web platforms 32, 34, 36, 38 are each configured to make use of the services of one or more of the recruitment analytics module 42, artificial intelligence module 44 and/or ATS services module 46.
  • the recruitment analytics module 42, artificial intelligence module 44 and ATS services module 46 are each implemented in the processor 18 by means of a computer program having computer-readable instructions that are executable to perform the method of the embodiment.
  • the various modules may be implemented as one or more ASICs (application specific integrated circuits) or FPGAs (field programmable gate arrays).
  • platform users 50 may access the web platforms 32, 34, 36, 38 that are provide by the web platform hosting module 30.
  • the platform users 50 may include, for example, employees, employers and HR managers.
  • Further platform users 52 may access recruitment analytics services provided by the recruitment analytics module 42, artificial intelligence services provided by the artificial intelligence module 44 and/or ATS services provided by the ATS services module 46.
  • the further platform users 52 access the services of the recruitment analytics module 42, artificial intelligence module 44 and/or ATS services module 46 directly.
  • the further platform users 52 access the services of the recruitment analytics module 42, artificial intelligence module 44 and/or ATS services module 46 via any of the platforms 32, 34, 36, 38.
  • the further platform users 52 may include, for example, jobseekers, recruiters, and HR managers. In some embodiments, at least some of the further platform users 52 are the same as the platform users 50.
  • An API 60 is provided through which the recruitment analytics module 42, artificial intelligence module 44 and/or ATS services module 46 may interface with programs provided by external companies 62.
  • the external companies 62 may be external companies which may provide, for example, job boards or ATS software. Communication with the internal companies may be two-way.
  • the external companies 60 may provide data to the artificial intelligence module 44 for analysis via the API 60, and the artificial intelligence module 44 may provide outputs to the external companies 62 via the API 60.
  • a platform is created on an Angular 7 framework.
  • JavaScript is used to create data specific APIs.
  • Python is used to create Machine Learning (ML) algorithm specific APIs.
  • the platform runs on Ubuntu and MySQL and is located on a DigitalOcean infrastructure. In other embodiments, any suitable framework, languages and infrastructure may be used.
  • Figure 3 is a flow chart illustrating in overview a process of matching job candidates and job vacancies.
  • details of job candidates (who may also be described as job applicants) and job vacancies are input to a recruitment platform 38 provided by the web platform hosting module 30, and are analysed by the artificial intelligence module 44 which forms part of the API services module 40.
  • details of job candidates and/or job vacancies may be input to an artificial intelligence module using any suitable method, for example via any suitable platform or by external company software via the API 60.
  • a hiring manager 70 wishes to find appropriate candidates for a job vacancy.
  • the hiring manager 70 posts a job listing 74 to a recruitment platform 38 provided by the web platform hosting module 30.
  • the recruitment platform 38 may also be referred to as a hiring platform 38.
  • the recruitment platform 38 is a cloud-based service.
  • the recruitment platform 38 allows hiring managers or other recruiters to search for suitable candidates for jobs, and allows jobseekers or external recruiters to search for suitable jobs.
  • the recruitment platform 38 may be provided for use by a single company, or by multiple companies.
  • the job listing 74 includes information about a job vacancy which may include, for example, location, salary, job type (permanent or fixed-term), and company details.
  • the job listing 74 further includes details of job requirements, for example the skills and experience required to perform the job.
  • the information provided in the job listing may be provided in any suitable format, for example as free text or as a list of requirements.
  • the recruitment platform 38 provides the job listing 74 to the artificial intelligence module 44 for analysis.
  • Stage 72 may be repeated by the same hiring manager 70 or further hiring managers 70 such that multiple job listings 74 are supplied to the recruitment platform 38, and then passed by the recruitment platform to the artificial intelligence module 44.
  • An applicant 80 wishes to apply for a job.
  • the applicant is not specifically targeting the job listing 74 that has been posted by the hiring manager 70.
  • the applicant 80 may wish to apply for the specific job listing 74 that has been posted by the hiring manager 70.
  • the applicant 80 posts their CV 84 on the recruitment platform 38.
  • the applicant 80 may post a resume or any other suitable applicant information.
  • the applicant’s CV 84 includes information about the applicant, for example the applicant’s experience including work history and the applicant’s skills.
  • the applicant’s CV 84 may also include information about the applicant’s location, desired salary, and desired job type (for example, permanent or fixed term).
  • the recruitment platform 38 sends the applicant’s CV 84 to the artificial intelligence module 44.
  • Stage 82 may be repeated by the same applicant 80 or other applicants 80 such that multiple CVs 84 are sent to the recruitment platform 38, and passed from the recruitment platform 38 to the artificial intelligence module 44.
  • the artificial intelligence module 44 analyses multiple job listings 74 and multiple CVs 84 to match CVs to jobs.
  • An embodiment of a matching process which outputs a matching score that is representative of a match between a given job vacancy and a given candidate is shown in overview in the flow chart of Figure 4.
  • the memory 20 stores a set of parameters 100 that may be relevant to job matching.
  • the parameters 100 are parameters that characterise job vacancies and/or job candidates.
  • the set of parameters is extensive and may include, for example, more than 100, more than 1000 or more than 10000 parameters.
  • the parameters are grouped into categories.
  • the categories are skills, location, industry type, experience, and salary. In other embodiments, any suitable categories may be used.
  • the categories and parameters can be particularly useful in representing the expert knowledge of a recruiter, in knowing what parameters are particularly important for example for a particular type of vacancy or in a particular industry. The use of parameters and categories in this fashion can increase confidence in the results provided by the process, which can be important for recruiters, employers and candidates.
  • the skills category parameters include some or all of the following (it will be understood that these are provided by way of example, and in alternative embodiments any suitable other parameters may be used): Adaptability, Advanced Microsoft Excel, Advanced SQL, Amazon Web Services (AWS), Analytical, Analytical Solutions, Analytics, Apache Spark, Microsoft Azure, Applying Knowledge of the Software Development Lifecycle, Assessing the Data Needs of Internal Stakeholders or Clients, Attention to Detail, Big Data Solutions, Big Data Strategy, Big Data Technologies, Coaching Executives Regarding the Impact of Big Data on Strategic Plans, Cloud Computing, Collaboration, Communication, Conducting Statistical Analyses, Continual Learning, Conveying Technical Information to Non-Technical Audiences, Creating Visualizations for Data Systems, Creative Thinking, Critical Thinking, Data Access Systems, Data Analytics, Data Science, Data scientists, Data Architecture, Data Flow, Data Management, Data Mining, Data Modeling, Data Models, Data Profiling, Data Sets, Data Wrangling, Deep Learning, Term Frequency
  • the parameters in the industry category may include, for example, Financial Services, Insurance, Healthcare, Consultancy, Education, Government, Charity, Technology, Telecommunications, Manufacturing, Legal, Pensions, Recruitment, Aviation, Automotive, Retail, Oil and Gas, Construction.
  • the parameters in the experience category include Any, No Experience, > 1 Year > 2 years, > 3 years, > 5 years, > 10 years, > 15 years, > 20 years.
  • the parameters in the salary category may include any suitable salary bands.
  • the parameters in the location category may include continents (for example, Europe, North America), countries (for example, UK, US), regions (for example, Midlands, New England), cities (for example, London, New York) and/or any other suitable locations.
  • the parameters in the location category may also include non-geographical parameters such as remote working.
  • the set of parameters is predetermined and stored before the processes of Figure 3 and Figure 4 are executed. In other embodiments, the set of parameters may be determined based on user input.
  • the artificial intelligence module 44 applies a trained algorithm to information about each job vacancy (for example, to each job listing).
  • the trained algorithm is a machine learning algorithm that has been trained on a job vacancy information for a large number of job vacancies.
  • the job vacancy information is the information provided in the job listing 72. In other embodiments, any suitable information about the job vacancy may be used. In the present embodiment, the job vacancy information is provided by the hiring manager 70. In other embodiments, the job vacancy information may be provided by any user, for example a recruiter or jobseeker. The job vacancy information may be acquired automatically, for example by downloading information from job boards or in some embodiments by performing a web-scraping process.
  • the job vacancy information is cleansed and the trained algorithm is applied to cleansed data representing the job vacancy information.
  • the data cleansing operation may be performed using any suitable known processes, for example using data manipulation languages like python and SQL.
  • the data cleansing may, for example, remove extraneous or non-essential text or other information and may, for example, alter the formatting of the information.
  • the trained algorithm processes the job vacancy information to obtain values for a subset of the set of parameters.
  • the subset of the set of parameters includes some parameters in each of the categories of parameters.
  • the processing of the job vacancy information comprises performing natural language processing to extract text data from the job vacancy information.
  • a Natural Language Processing (NLP) model is used in a multi-classifier implementation for industries.
  • any machine learning algorithm may be used.
  • the values for the subset of the set of parameters may be obtained in any suitable manner. For example, some or all of the values may be input directly by the hiring manager or other user.
  • An output of stage 102 is a set of job vacancy parameter values, which comprises a respective value for each parameter in the subset of parameters.
  • the parameter values may be continuous variables. For example, skill levels may be expressed as percentages.
  • parameter values may be binary values (for example yes/no) or a parameters may have three or more possible values.
  • the artificial intelligence module 44 applies a trained algorithm to information about each candidate.
  • the trained algorithm is a machine learning algorithm that has been trained on a large quantity of candidate information for a large number of candidates.
  • the trained algorithm applied to the candidate information may be the same algorithm as is applied to the job vacancy information, or may be a different algorithm.
  • unsupervised Neural Networks & Natural Language Processing (NN + NLP) models are used to analyse the candidate information.
  • any machine learning algorithm may be used.
  • the NLP in the present embodiment was designed with the following objectives in mind. Firstly, information was separated into domain, skills and job roles. The unstructured data was then converted into vector data by tokenizing the job descriptions. Term frequency (TF) and Inverse Document Frequencies (IDF) were created which were used to optimise the models. Validation and tuning of the models was obtained by using various cross validation techniques (e.g. confusion matrix) to optimize and improve the performance of the models. Any other suitable NLP techniques may be used in other embodiments.
  • TF Term frequency
  • IDF Inverse Document Frequencies
  • the candidate information is cleansed and the trained algorithm is applied to cleansed data representing the candidate information.
  • the data cleansing operation may be performed using any suitable known processes, for example using data manipulation languages like python and SQL.
  • the data cleansing may, for example, remove extraneous or non-essential text or other information and may, for example, alter the formatting of the information
  • the candidate information includes the information in the candidate’s CV 82.
  • the candidate information may also include other information about the candidate, for example information obtained from talent databases or social media.
  • the CV 82 is provided by the candidate 80.
  • the candidate information may be input by someone other than the candidate, for example by a recruiter or hiring manager, or may be acquired in an automated manner.
  • the trained algorithm processes the candidate information to obtain values for a subset of the set of parameters.
  • the subset of the set of parameters includes some parameters in each of the categories of parameters.
  • the same subset of parameters is used in the processing of the job vacancy information and in the processing of the candidate information. In other embodiments, different subsets may be used.
  • the processing of the candidate information comprises performing natural language processing to extract text data from the candidate information.
  • An output of stage 104 is a set of candidate parameter values, which comprises a respective value for each parameter in the subset of parameters. Examples of parameters according to certain embodiments have been discussed above.
  • the artificial intelligence module 44 uses a scoring algorithm to determine a matching score output that is representative of a match between the job vacancy and the candidate.
  • the scoring algorithm determines the matching score output using the set of job vacancy parameter values and the set of candidate parameter values.
  • the scoring algorithm determines a respective category matching score for each of the categories (industry, skills, location, salary, experience). The scoring algorithm then combines the category matching scores for the categories to obtain an overall matching score. In other embodiments, the overall matching score may be determined directly, and not based on the category scores. In further embodiments, any suitable matching score or scores may be determined.
  • the scoring algorithm comprises a trained algorithm, which in the present embodiment comprises a trained neural network.
  • the scoring algorithm comprises unsupervised Neural Networks & Natural Language Processing (NN + NLP) models.
  • the trained algorithm has been trained using a machine learning process.
  • the trained algorithm has been trained on a large number of sets of parameter information for job vacancies and job candidates. In other embodiments, any machine learning algorithm may be used to perform the scoring.
  • Stages 102 to 106 are repeated for each job vacancy and each candidate, until a score for each vacancy-candidate pair has been obtained.
  • scores are continuous variables that are output as percentages.
  • the scoring algorithm may generate a binary output (for example, yes/no) or an output having three or more possible categories (for example, yes/no/maybe or high/medium/low).
  • the artificial intelligence module 44 selects, for each job vacancy, the candidates that are the best match for that job vacancy.
  • the artificial intelligence module 44 selects candidates whose overall matching score reaches a predetermined threshold. For example, if the matching score is expressed as a percentage, the artificial intelligence module 44 may select candidates whose matching score in respect of the job vacancy is greater than 60%, 70% or 80%.
  • the artificial intelligence module 44 ranks the selected candidates in order of overall matching score. In other embodiments, the artificial intelligence module 44 may select candidates using any suitable criteria, for example based on any one or more of the available matching scores. In further embodiments, the artificial intelligence module 44 ranks all available candidates.
  • stage 108 For each job vacancy, the output of stage 108 is all candidates whose matching score for the job vacancy met the specified threshold.
  • the artificial intelligence module 44 selects, for each candidate, the job vacancies that are the best match for that candidate.
  • the artificial intelligence module 44 selects job vacancies whose overall matching score reaches a predetermined threshold. For example, if the matching score is expressed as a percentage, the artificial intelligence module 44 may select job vacancies whose matching score in respect of the candidate is greater than 60%, 70% or 80%.
  • the artificial intelligence module 44 ranks the selected job vacancies in order of overall matching score. In other embodiments, the artificial intelligence module 44 may select job vacancies using any suitable criteria, for example based on any one or more of the available matching scores. In further embodiments, the artificial intelligence module 44 ranks all job vacancies.
  • Stage 90 of Figure 3 comprises all the stages of the flow chart of Figure 4.
  • the artificial intelligence module 44 sends matched results to the recruitment platform 38.
  • the matched results are the outputs of stages 108 and 1 10 of Figure 4.
  • the matched results comprise a set of suitable applicants 94 for the job vacancy 74 and a set of job matches 98 for the applicant 80.
  • the set of suitable applicants 94 is a set of the applicants that were found by the artificial intelligence module 44 to be the best matches to the job listing 74 (which in the present embodiment is determined by comparing the overall matching score to a threshold).
  • the recruitment platform 38 presents the set of suitable applicants 94 to the hiring manager 70.
  • Each of the suitable applicants is rated for their suitability for the job listing 74.
  • the rating provided to the hiring manager comprises the overall matching score, and individual matching scores for the different categories.
  • An example of the display of ratings to the hiring manager via a graphical user interface is shown in Figure 5, which is described below.
  • the set of job matches 98 is a set of the job listings that were found by the artificial intelligence module 44 to be the best matches to the applicant 80.
  • the recruitment platform 38 presents the set of job matches 98 to the applicant 80.
  • Each of the job listings in the set of job matches 89 is rated for their appropriateness to the applicant 80.
  • the rating comprises the overall matching score, and individual matching scores for the different categories.
  • Figure 5 is a schematic illustration of a graphical user interface 200 that may be presented to a hiring manager 70.
  • the graphical user interface 200 shown in Figure 5 displays details of a single applicant to the hiring manager 70.
  • the hiring manager 70 may access the graphical user interface 200 of Figure 5 by selecting (for example, clicking on) one of the applicants in the list of applicants 94 provided at stage 96 of Figure 3.
  • a header 202 of the graphical user interface 200 provides headline information about the applicant, including the applicant’s name 204 and current job title 206.
  • the header 202 also includes the overall rating for the applicant that was determined by the artificial intelligence module 44.
  • the overall rating for the applicant is 60%.
  • the overall rating is displayed as a graphical element 210.
  • the graphical element comprises a curved element in which a fill angle of the curved element is representative of the rating (for example, filling 60% of the angular extent of the curved element is representative of a 60% matching score).
  • the matching score of 60% is also included as text.
  • any suitable graphical element may be used, for example a box, bar, button or histogram.
  • the overall score may be represented by, for example, a colour, texture, fill level, position, size, orientation and/or position of the graphical element.
  • the header 202 also shows ratings for the applicant in individual categories as further graphical elements 212, 214, 216, 218, 220.
  • graphical element 212 shows the matching score for skills (which in the example shown is 25%).
  • Graphical element 214 shows the matching score for industry (in this example, 100%).
  • Graphical element 216 shows the matching score for experience (in this example, 0%).
  • Graphical element 218 shows the matching score for salary (in this example, 90%).
  • Graphical element 220 shows the matching score for location (in this example, 80%).
  • the individual ratings are shown using the same type of graphical element 212, 214, 216, 218, 220 as the graphical element 210 for the overall rating.
  • the graphical element 210 for the overall rating is larger than the graphical elements 212, 214, 216, 218, 220 for the individual ratings so that the overall rating can be easily distinguished by the hiring manager 70.
  • a colour of each graphical element 210 to 220 is used to indicate whether the score shown by the graphical element is high (green), medium (amber) or low (red).
  • the colour of each graphical element 210 to 220 is determined by comparing the score represented by the graphical element 210 to 220 to a threshold score.
  • the skills element 212 has a low score and is colored red.
  • the overall score is medium and so the graphical element 210 representing the overall score is coloured amber.
  • the scores shown by the industry element 214, salary element 218 and location element 220 are high and so these graphical elements are coloured green.
  • the header 202 further comprises a pull-down menu 222 which shows the overall rating and the job title for which the overall rating has been calculated.
  • the pull-down menu 222 may allow the candidate to be compared against other jobs in some embodiments, for example it may allow selection of other jobs against which to compare the candidate.
  • the header 202 further comprises a clickable element 224 which allows the hiring manager 70 to send a message to the applicant, and a clickable element 226 which allows the hiring manager 70 to make a note about the applicant.
  • the header 202 further comprises a button 228 which the hiring manager 70 may click on to shortlist the applicant.
  • the button 228 changes colour (or changes another characteristic) depending on whether or not the applicant has already been shortlisted.
  • the header 202 further comprises a button 230 which the hiring manager 70 may click to download the applicant’s CV from the recruitment platform 38.
  • the graphical user interface 200 comprises further panels 240, 250, 260, 270 that provide the hiring manager 70 with more detail about the applicant’s personal details, experience, skills and job skills respectively.
  • the Personal Details panel 240 comprises further summary information about the applicant’s current job, industry, salary band, type of job (permanent or fixed term), location, email address, phone number, and Linkedln page.
  • the Experience panel 250 provides an overview of the applicant’s experience including a summary 252 of years spent in each industry, and a listing 254 of each job held by the applicant.
  • the Skills panel 260 provides an overview of the applicant’s skills as determined by the artificial intelligence module 44.
  • the Skills panel comprises a plurality of graphical indicators 262, 264 each showing a level assigned to the applicant with regard to a respective skill.
  • each graphical element is a horizontal bar and skill level is shown as a level of fill of the bar.
  • the bars are also colour-coded such that skills for which the applicant has a high skill level are shown in green (graphical indicators 262), and skills for which the applicant has a medium skill level are shown in amber (graphical indicators 264).
  • the colours may be determined based on whether the skill level meets one or more predetermined thresholds.
  • the skill levels that are displayed may represent, or may be derived from, the values for each skill parameter that were determined by the artificial intelligence module 44 at stage 104 of Figure 4.
  • the Job Skills panel 270 provides an alternative method of displaying job skills. Skills that the applicant possesses and/or that are required for a vacancy are listed as individual text boxes 272, 274.
  • the skills that are found in both the candidate’s CV and the job vacancy information are represented by the boxes 272 (which are coloured a first colour, in this example red) and the skills that are found in the job vacancy information (e.g. are required for the job vacancy) but are not possessed by the candidate, for example based on their CV, are represented by the boxes 274 (which are coloured a first colour, in this example black).
  • the boxes 272 which are coloured a first colour, in this example red
  • the skills that are found in the job vacancy information e.g. are required for the job vacancy
  • the boxes 274 which are coloured a first colour, in this example black
  • the hiring manager 70 may choose which of the panels 240, 250, 260, 270 they would like to display and/or which items of information they wish to be displayed within each panel. In some embodiments, the hiring manager 70 (or other user) may change which items of information are displayed within the header 202. For example, the hiring manager 70 may choose to display graphical indicators for only some of the categories. The hiring manager 70 may choose to display only the graphical indicator 210 that shows the overall score, and not to display graphical indicators 212 to 220 for individual categories.
  • the hiring manager 70 uses the graphical interface 200 to change what is displayed on the graphical interface 200 and/or to change the process performed by the artificial intelligence module 44.
  • the hiring manager 70 selects one or more of the categories, for example by clicking on one or more of the graphical elements 212 to 220.
  • the recruitment platform 38 receives the user input and passes the selection of the categories to the artificial intelligence module 44.
  • the artificial intelligence module 44 changes the calculation of the overall score displayed on graphical element 210 so that the overall score is determined based only on the selected categories. For example, the artificial intelligence module 44 may change the scoring algorithm used to calculate the overall score, or may use different inputs or weightings in the scoring algorithm.
  • the hiring manager 70 may observe how the score for one or more applicants changes with selection of different categories. For example, the hiring manager 70 may decide not to select location if there is a possibility of the job being performed remotely.
  • the hiring manager 210 provides a user input that is representative of a weighting for one or more of the categories.
  • the recruitment platform 38 passes the user-supplied weighting or weightings to the artificial intelligence module 44.
  • the artificial intelligence module 44 changes the calculation of the overall score to take into account the user-supplied weightings.
  • the hiring manager 70 may increase or decrease an amount of weighting that is put on skills.
  • the hiring manager 70 may increase or decrease an amount of weighting that is put on salary.
  • the hiring manager 70 may then observe how the score for one or more applicants changes with the different weightings.
  • the comparative ranking of the applicants may also change with different weightings.
  • the hiring manager 70 may provide a user input to select or weight individual parameters, for example individual skills.
  • the algorithm may change the calculation of the overall score and/or category scores based on the user input.
  • the artificial intelligence module 44 may change the scoring algorithm used to calculate the score or scores, or may use different inputs or weightings in the scoring algorithm.
  • the hiring manager’s input 70 may therefore be used to control operation of the scoring algorithm and/or the display 200.
  • another user for example an applicant 80 or recruiter
  • a direct hiring platform may be provided to instantly present and connect employers with top applications.
  • the hiring platform may allow employers and applicants to engage openly. recruiters and employers may post jobs on the hiring platform. CVs may be screened and employers may be presented with suitable jobseekers instantly. Job posts are automatically analysed and applicants are rated against jobs. Employers may connect with jobseekers directly.
  • the hiring platform may search talent databases, social media and incoming CVs of applicants. A job board aggregator may present rated jobs to applicants.
  • a user may be able to control a matching process, for example by selecting or weighting categories or parameters.
  • the user may therefore use their expertise in hiring to influence the matching that is performed.
  • the user may identify which parameters or categories are most important for a given job.
  • a user sends job applications.
  • the applications are consumed by the recruitment platform 38 which uses the artificial intelligence module 44 to match and rate applications.
  • the user is sent data points and receives rated applicants.
  • a user interfaces with a recruitment platform 38 through a graphical user interface 200.
  • the user may interface with any type of platform, for example any web- based platform, that is configured to match job vacancies and job applicants.
  • the platform may be provided by the web platform hosting module 230.
  • the platform may comprise, for example, a recruiter portal 32, jobseeker portal 34 or job board 36.
  • a platform or portal may be implemented in, for example, CSS, HTML, Angular Material, Node Services or MySQL.
  • a cloud platform is provided.
  • the cloud platform may comprise, for example, a job board cloud platform or recruitment cloud platform.
  • the cloud platform may provide Hiring As A Service.
  • different platforms may use the same artificial intelligence module 44. Different platforms may use the same or similar algorithms.
  • a platform or application is provided by an external, third-party company 62.
  • the platform or application provided by the third-party company interfaces with the API services module 40 via API 60.
  • User input supplied by the user to the third-party company may be passed to the API services module 40 via the API 60.
  • Outputs, for example scores provided by the artificial intelligence module 44, may be passed to the third-party platform or application via the API 60 for display to the user.
  • the platform or application provided by the third-party company may be, for example, a job board or an Applicant Tracking System (ATS).
  • ATS Applicant Tracking System
  • scores are used as an input for further analysis.
  • the scores may not be displayed.
  • the scores may be used for selection and/or ranking of applicants or jobs, but not displayed to the user.
  • inventions described above have been described in relation to the identification of suitable candidates for a particular job vacancy. It will be understood embodiments can also be used by, or on behalf of a particular candidate to apply the scoring algorithm to parameter values for a plurality of job vacancies to determine vacancies for which the candidate is suitable and/or to rank vacancies based on suitability of that candidate for said vacancies.
  • Information concerning either or both candidates and job vacancies can be obtained from any suitable sources according to embodiments.
  • candidate and/or job vacancy information can be obtained from one or more job boards or websites.
  • a web-scraping process can be used to obtain candidate and/or job vacancy information from selected website(s) or from any suitable websites.
  • the or each trained algorithm may comprise a trained model and/or may comprise a trained set of layers and/or weightings.
  • the or each trained algorithm may comprise a trained neural network.
  • any suitable applicant information may be analysed using machine learning as described above.
  • the applicant information may comprise, for example, information that has been input to an applicant tracking system or social media site.
  • the applicant information may comprise information that has been obtained from the applicant’s personal or corporate web site. In some embodiments, applicant information from multiple sources is combined.
  • a hiring manager or recruiter supplies a job listing for analysis using machine learning.
  • any suitable information about a job may be provided.
  • a profile of a company or institution (rather than an individual job) may be provided for analysis, and machine learning as described above may be used to output the applicants that best match the company or institution.

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Operations Research (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A computer implemented method for matching job candidates and job vacancie comprises: storing a predetermined set of parameters that characterise job vacancies and/or candidates; applying a first trained algorithm to candidate information for a candidate to generate a first set of parameter values, the first set of parameter values comprising values for at least some of the predetermined set of parameters; obtaining a second set of parameter values corresponding to a job vacancy; applying a scoring algorithm to the first set of parameter values and the second set of parameter values to determine a matching score output representative of a match between candidate and the job vacancy.

Description

Vacancy matching method and application
Field
The present invention relates to a computer implemented method for matching job candidates and job vacancies.
Background
There is a need to match job candidates to job vacancies. It is common for a candidate to send a curriculum vitae (C V) or resume to a company or recruiter that has posted a listing of a job vacancy. Alternatively, a candidate may post their CV or resume to a job listings board, aggregator, or social networking site, where it may be viewed by companies or recruiters. In either case, the candidate’s CV or resume is analysed to ascertain whether the candidate meets specified criteria, for example skills and experience that have been specified in a job specification or job listing.
In many cases, the CV or resume may be analysed manually. Manual analysis of CVs or resumes can be extremely time consuming, particularly for jobs that attract a large number of applicants.
It is known to provide automated analysis of CVs or resumes. However, automated analysis of a CV or resume may be complex. CVs or resumes are not usually presented in a standard format. Different applicants may describe the same qualities, skills or experience using a different form of words. Simple word recognition may not be sufficient to analyse the CV or resume. Furthermore, effective recruitment often relies on expert knowledge built up over years by a recruiter, for example knowledge of an industry and of preferences of a particular employer, which can be difficult to replicate using automated processes. Machine-learning approaches have been suggested in this context but it is important for recruiters and employers to be confident that such automated approaches are sufficiently tailored to a particular vacancy or industry, and sufficiently well replicate the expertise of a good recruiter. Furthermore, a purely automated analysis method may not allow a company or recruiter to have a desired degree of control over the analysis process. The company or recruiter may wish to have at least some input into the analysis process.
Summary
In a first aspect, which may be provided independently, there is provided a computer implemented method for matching job candidates and job vacancies, the method comprising: storing a predetermined set of parameters that characterise job vacancies and/or candidates; obtaining a first set of parameter values, the first set of parameter values comprising values for at least some of the predetermined set of parameters; obtaining a second set of parameter values corresponding to a job vacancy; applying a scoring algorithm to the first set of parameter values and the second set of parameter values to determine a matching score output representative of a match between candidate and the job vacancy. The obtaining of the first set of parameter values may comprise generating the first set of parameter values by applying a first trained algorithm to candidate information for a candidate. Obtaining the second set of parameter values may comprise applying a second trained algorithm to job information concerning the job vacancy to obtain the second set of parameter values.
The or each trained algorithm may comprise a trained model and/or may comprise a trained set of layers and/or weightings. The or each trained algorithm may comprise a trained neural network.
The parameters of the predetermined set of parameters may be divided between predetermined categories.
The scoring algorithm may be configured to provide a respective category score for each category.
The matching score output may comprise the category score, and/or a selected at least one of the category scores, and/or a combined score obtained from the category scores. The method may further comprise receiving user input and selecting one or more of the categories and/or applying weightings to the categories based on the user input, wherein the scoring algorithm may be configured to determine the matching score output based on the selected categories and/or weightings.
The method may further comprise receiving user input and selecting one or more of the category scores for display based on the user input.
The method may further comprise generating at least one graphical representation of the matching score output and displaying the at least one graphical representation.
The matching score output may comprise at least one score and the at least one graphical representation may comprise at least one graphical indicator representative of said at least one score.
The at least one graphical indicator may comprise a respective graphical indicator corresponding to each of, or a selected at least some of, the category scores.
The or each graphical indicator may comprise at least one of a colour, texture, fill level, position, size, orientation or position that is dependent on a value of the corresponding score.
The method may further comprise providing a graphical user interface comprising said graphical representation(s) and configured to receive user input to control operation of the scoring algorithm and/or the display of the graphical representation(s).
The method may further comprise receiving user input and selecting one or more of the parameters and/or applying weightings to the parameters based on the user input, wherein the scoring algorithm may be configured to determine the matching score based on the selected parameters and/or parameter weightings.
The candidate information may comprise or be obtained from a curriculum vitae (C V) or resume document. The method may comprise performing natural language processing to extract text data from the candidate information.
The natural language processing may be provided by the first trained algorithm.
The method may further comprise receiving job vacancy information and performing natural language processing to extract text data from the job vacancy information.
The natural language processing may be provided by the second algorithm.
The method may comprise obtaining candidate information for a plurality of candidates and/or obtaining parameter values corresponding to a plurality of job vacancies, and may further comprise applying the scoring algorithm in respect of said plurality of candidates and/or said plurality of job vacancies, and selecting at least one job vacancy for a candidate and/or selecting at least one candidate for a job vacancy.
The selecting of the at least one job vacancy or the at least one candidate may comprise comparing matching score outputs to at least one threshold.
The scoring algorithm may comprise a trained algorithm.
The first trained algorithm and/or the second algorithm and/or the scoring algorithm may comprise an algorithm trained using a machine learning process.
The first trained algorithm and/or the second algorithm and/or the scoring algorithm may comprise a trained neural network.
The method may further comprise at least one of a) or b):
a) obtaining job information relating to at least one job vacancy from at least one remote source and, for each vacancy processing the job information to obtaining the set of parameter values for that vacancy;
b) obtaining the candidate information from at least one remote source.
The method may comprise performing a web-scraping process to obtain job information relating to a plurality of job vacancies and/or to obtain candidate information for a plurality of candidates. The method may further comprise, for said candidate, applying the scoring algorithm to parameter values for a plurality of job vacancies to determine vacancies for which the candidate is suitable and/or to rank vacancies based on suitability of that candidate for said vacancies.
In a further aspect, which may be provided independently, there is provided a system for matching job candidates and job vacancies, the system comprising:
a data store storing a predetermined set of parameters that characterise job vacancies and/or candidates, and
a processing resource configured to:
apply a first trained algorithm to candidate information for a candidate to generate a first set of parameter values, the first set of parameter values comprising values for at least some of the predetermined set of parameters; obtain a second set of parameter values corresponding to a job vacancy;
apply a scoring algorithm to the first set of parameter values and the second set of parameter values to determine a matching score output representative of a match between candidate and the job vacancy.
In another aspect, which may be provided independently, there is provided a method of training an algorithm on candidate information for job candidates to obtain a trained algorithm that is configured to obtain from candidate information for a job candidate parameter values representative of the job candidate.
In a further aspect, which may be provided independently, there is provided a method of training an algorithm on job information for job vacancies to obtain a trained algorithm that is configured to obtain from job information for a job vacancy parameter values representative of the job vacancy.
In a further aspect, which may be provided independently, there is provided a method of training a scoring algorithm on sets of parameter values for job candidates and job vacancies to obtained a trained scoring algorithm that is configured to obtain, for a job candidate and a job vacancy, a matching score output representative of a match between the job candidate and the job vacancy. In a further aspect, which may be provided independently, there is provided a trained algorithm or trained scoring algorithm trained in accordance with methods as claimed or described herein and/or for use in a method as claimed or described herein.
In a further aspect, which may be provided independently, there is provided a computer program product comprising computer readable instructions that are executable to perform a method as claimed or described herein.
Features in one aspect may be provided as features in any other aspect. For example, any one of apparatus, method or computer program product features may be provided as any one other of apparatus, method or computer program product features.
Brief description of the drawings
Embodiments are now described, by way of non-limiting example, and are illustrated in the following figures, in which:
Figure 1 is a schematic illustration of a system in accordance with an embodiment;
Figure 2 is a schematic illustration of modules configured to provide cloud- based services in accordance with an embodiment;
Figure 3 is a flow chart illustrating in overview a process flow in accordance with an embodiment;
Figure 4 is a flow chart illustrating in overview a method of analysing job listings and CVs in accordance with an embodiment; and
Figure 5 is an illustration of a graphical user interface in accordance with an embodiment.
Detailed description
Figure 1 is a schematic diagram illustrating in brief overview a computer system 10 in accordance with an embodiment. The computer system 10 is configured to implement a method for matching job candidate and job vacancies in accordance with an embodiment. The computer system comprises a computing apparatus 12, for example a server or workstation, which is connected to one or more display screens 14 and one or more input devices 16 (for example, a keyboard and mouse). The computing apparatus 12 comprises a processor 18 and memory 20.
A web platform hosting module 30 and an API services module 40 are implemented in the processor 18. The web platform hosting module 30 and API services module 40 are described in greater detail below with reference to Figure 2.
In the present embodiment, the web platform hosting module 30 and API services module 40 are each implemented in the processor 18 by means of a computer program having computer-readable instructions that are executable to perform the method of the embodiment. In other embodiments, the web platform hosting module 30 and API services module 40 may be implemented as one or more ASICs (application specific integrated circuits) or FPGAs (field programmable gate arrays).
The computing apparatus 12 also includes a hard drive and other components including RAM, ROM, a data bus, an operating system including various device drivers, and hardware devices including a graphics card. Such components are not shown in Figure 1 for clarity.
In further embodiments, the computer system 10 may comprise a plurality of computing apparatuses. Functionality of the web platform hosting module 30 and API services module 40 may be divided between multiple computing apparatuses and/or multiple processors. Functionality of the web platform hosting module 30 and API services module 40 may be divided across a network or cloud-based system.
Figure 2 is a schematic illustration which represents in greater detail the web platform hosting module 30, the API services module 40 and the cloud-based services provided by the web platform hosting module 30.
The web platform hosting module 30 is configured to provide web platform hosting services. In the present embodiment, the web platform hosting module 30 is configured to provide a recruiter portal 32, a jobseeker portal 34, a job board 36, and a recruitment platform 38. In other embodiments, the web platform hosting module 30 may be configured to provide any suitable web platforms. In further embodiments, a platform hosting module may provide platform services on any suitable medium, which may or may not be web-based.
The API services module 40 comprises a recruitment analytics module 42 configured to provide recruitment analytics services; an artificial intelligence module 44 configured to provide artificial intelligence functionality; and an applicant tracking system (ATS) services module 46 configured to provide applicant tracking functionality for example for managing and/or tracking job candidates and/or job vacancies and/or for providing management and/or tracking of any desired parts of a recruitment or job application process. The web platforms 32, 34, 36, 38 are each configured to make use of the services of one or more of the recruitment analytics module 42, artificial intelligence module 44 and/or ATS services module 46.
In the present embodiment, the recruitment analytics module 42, artificial intelligence module 44 and ATS services module 46 are each implemented in the processor 18 by means of a computer program having computer-readable instructions that are executable to perform the method of the embodiment. In other embodiments, the various modules may be implemented as one or more ASICs (application specific integrated circuits) or FPGAs (field programmable gate arrays).
In use, platform users 50 may access the web platforms 32, 34, 36, 38 that are provide by the web platform hosting module 30. The platform users 50 may include, for example, employees, employers and HR managers.
Further platform users 52 may access recruitment analytics services provided by the recruitment analytics module 42, artificial intelligence services provided by the artificial intelligence module 44 and/or ATS services provided by the ATS services module 46. In some embodiments, the further platform users 52 access the services of the recruitment analytics module 42, artificial intelligence module 44 and/or ATS services module 46 directly. In other embodiments, the further platform users 52 access the services of the recruitment analytics module 42, artificial intelligence module 44 and/or ATS services module 46 via any of the platforms 32, 34, 36, 38. The further platform users 52 may include, for example, jobseekers, recruiters, and HR managers. In some embodiments, at least some of the further platform users 52 are the same as the platform users 50.
An API 60 is provided through which the recruitment analytics module 42, artificial intelligence module 44 and/or ATS services module 46 may interface with programs provided by external companies 62. The external companies 62 may be external companies which may provide, for example, job boards or ATS software. Communication with the internal companies may be two-way. For example, the external companies 60 may provide data to the artificial intelligence module 44 for analysis via the API 60, and the artificial intelligence module 44 may provide outputs to the external companies 62 via the API 60.
In the embodiment of Figure 1 and Figure 2, a platform is created on an Angular 7 framework. JavaScript is used to create data specific APIs. Python is used to create Machine Learning (ML) algorithm specific APIs. The platform runs on Ubuntu and MySQL and is located on a DigitalOcean infrastructure. In other embodiments, any suitable framework, languages and infrastructure may be used.
Figure 3 is a flow chart illustrating in overview a process of matching job candidates and job vacancies. In the process described below with reference to Figure 3, details of job candidates (who may also be described as job applicants) and job vacancies are input to a recruitment platform 38 provided by the web platform hosting module 30, and are analysed by the artificial intelligence module 44 which forms part of the API services module 40. In other embodiments, details of job candidates and/or job vacancies may be input to an artificial intelligence module using any suitable method, for example via any suitable platform or by external company software via the API 60.
Turning to Figure 3, a hiring manager 70 wishes to find appropriate candidates for a job vacancy. At stage 72, the hiring manager 70 posts a job listing 74 to a recruitment platform 38 provided by the web platform hosting module 30.
The recruitment platform 38 may also be referred to as a hiring platform 38. In the present embodiment, the recruitment platform 38 is a cloud-based service. The recruitment platform 38 allows hiring managers or other recruiters to search for suitable candidates for jobs, and allows jobseekers or external recruiters to search for suitable jobs. The recruitment platform 38 may be provided for use by a single company, or by multiple companies.
The job listing 74 includes information about a job vacancy which may include, for example, location, salary, job type (permanent or fixed-term), and company details. The job listing 74 further includes details of job requirements, for example the skills and experience required to perform the job. The information provided in the job listing may be provided in any suitable format, for example as free text or as a list of requirements.
At stage 76, the recruitment platform 38 provides the job listing 74 to the artificial intelligence module 44 for analysis.
Stage 72 may be repeated by the same hiring manager 70 or further hiring managers 70 such that multiple job listings 74 are supplied to the recruitment platform 38, and then passed by the recruitment platform to the artificial intelligence module 44.
An applicant 80 wishes to apply for a job. In the present embodiment, the applicant is not specifically targeting the job listing 74 that has been posted by the hiring manager 70. In other embodiments, the applicant 80 may wish to apply for the specific job listing 74 that has been posted by the hiring manager 70.
At stage 82, the applicant 80 posts their CV 84 on the recruitment platform 38. In other embodiments, the applicant 80 may post a resume or any other suitable applicant information. The applicant’s CV 84 includes information about the applicant, for example the applicant’s experience including work history and the applicant’s skills. The applicant’s CV 84 may also include information about the applicant’s location, desired salary, and desired job type (for example, permanent or fixed term).
At stage 86, the recruitment platform 38 sends the applicant’s CV 84 to the artificial intelligence module 44.
Stage 82 may be repeated by the same applicant 80 or other applicants 80 such that multiple CVs 84 are sent to the recruitment platform 38, and passed from the recruitment platform 38 to the artificial intelligence module 44. At stage 90, the artificial intelligence module 44 analyses multiple job listings 74 and multiple CVs 84 to match CVs to jobs. An embodiment of a matching process which outputs a matching score that is representative of a match between a given job vacancy and a given candidate is shown in overview in the flow chart of Figure 4.
In the embodiment of Figure 4, the memory 20 stores a set of parameters 100 that may be relevant to job matching. The parameters 100 are parameters that characterise job vacancies and/or job candidates.
The set of parameters is extensive and may include, for example, more than 100, more than 1000 or more than 10000 parameters. The parameters are grouped into categories. In the present embodiment, the categories are skills, location, industry type, experience, and salary. In other embodiments, any suitable categories may be used. The categories and parameters can be particularly useful in representing the expert knowledge of a recruiter, in knowing what parameters are particularly important for example for a particular type of vacancy or in a particular industry. The use of parameters and categories in this fashion can increase confidence in the results provided by the process, which can be important for recruiters, employers and candidates.
Each of the categories includes a plurality of parameters. For example, in the present embodiment, the skills category parameters include some or all of the following (it will be understood that these are provided by way of example, and in alternative embodiments any suitable other parameters may be used): Adaptability, Advanced Microsoft Excel, Advanced SQL, Amazon Web Services (AWS), Analytical, Analytical Solutions, Analytics, Apache Spark, Microsoft Azure, Applying Knowledge of the Software Development Lifecycle, Assessing the Data Needs of Internal Stakeholders or Clients, Attention to Detail, Big Data Solutions, Big Data Strategy, Big Data Technologies, Coaching Executives Regarding the Impact of Big Data on Strategic Plans, Cloud Computing, Collaboration, Communication, Conducting Statistical Analyses, Continual Learning, Conveying Technical Information to Non-Technical Audiences, Creating Visualizations for Data Systems, Creative Thinking, Critical Thinking, Data Access Systems, Data Analytics, Data Science, Data Scientist, Data Architecture, Data Flow, Data Management, Data Mining, Data Modeling, Data Models, Data Profiling, Data Sets, Data Wrangling, Deep Learning, Term Frequency, TF-IDF, Decision Making Regarding Complex Technical Designs, Designing Data Warehouses, Drafting Proposals, Drawing Consensus, Estimating Costs for Projects, Facilitating Group Discussion, Hadoop, Handling Criticism Non-Defensively, Implementing Data Warehouse Systems, Interpreting Data Output, Large Data Sets, Leadership, Leading Cross-Functional Groups, Manipulating Relational Databases, Machine Learning, Machine Learning Algorithms, Matlab, Multitasking, NoSQL, Organizational, Persuading Colleagues to Adopt Preferred Big Data Systems and Strategies, PowerPoint, Presentation to Groups, Problem Solving, Programming with Java, Project Management, Python, PIG, HIVE, Quantitative, R, RHadoop, Ambari, Research, SAS, Shell Scripting, Spark, SPSS, SQL, Stress Management, Structuring Cloud Storage Solutions for Big Data, Taking Initiative, Teamwork, Text Mining, Time Management , Tracking Trends and Emerging Developments in Big Data, Translating Data Analysis into Key Insights, Verbal Communication, Visualizations, Working Independently, Writing Reports with Data Findings. It may be seen that the skills encompass both technical skills and non-technical skills.
The parameters in the industry category may include, for example, Financial Services, Insurance, Healthcare, Consultancy, Education, Government, Charity, Technology, Telecommunications, Manufacturing, Legal, Pensions, Recruitment, Aviation, Automotive, Retail, Oil and Gas, Construction.
The parameters in the experience category include Any, No Experience, > 1 Year > 2 years, > 3 years, > 5 years, > 10 years, > 15 years, > 20 years.
The parameters in the salary category may include any suitable salary bands.
The parameters in the location category may include continents (for example, Europe, North America), countries (for example, UK, US), regions (for example, Midlands, New England), cities (for example, London, New York) and/or any other suitable locations. The parameters in the location category may also include non-geographical parameters such as remote working. In the present embodiment, the set of parameters is predetermined and stored before the processes of Figure 3 and Figure 4 are executed. In other embodiments, the set of parameters may be determined based on user input.
At stage 102 of Figure 4, the artificial intelligence module 44 applies a trained algorithm to information about each job vacancy (for example, to each job listing). In the present embodiment, the trained algorithm is a machine learning algorithm that has been trained on a job vacancy information for a large number of job vacancies.
The job vacancy information is the information provided in the job listing 72. In other embodiments, any suitable information about the job vacancy may be used. In the present embodiment, the job vacancy information is provided by the hiring manager 70. In other embodiments, the job vacancy information may be provided by any user, for example a recruiter or jobseeker. The job vacancy information may be acquired automatically, for example by downloading information from job boards or in some embodiments by performing a web-scraping process.
In the present embodiment the job vacancy information is cleansed and the trained algorithm is applied to cleansed data representing the job vacancy information. The data cleansing operation may be performed using any suitable known processes, for example using data manipulation languages like python and SQL. The data cleansing may, for example, remove extraneous or non-essential text or other information and may, for example, alter the formatting of the information.
The trained algorithm processes the job vacancy information to obtain values for a subset of the set of parameters. The subset of the set of parameters includes some parameters in each of the categories of parameters. In the present embodiment, the processing of the job vacancy information comprises performing natural language processing to extract text data from the job vacancy information. A Natural Language Processing (NLP) model is used in a multi-classifier implementation for industries. In other embodiments, any machine learning algorithm may be used. In further embodiments, the values for the subset of the set of parameters may be obtained in any suitable manner. For example, some or all of the values may be input directly by the hiring manager or other user.
An output of stage 102 is a set of job vacancy parameter values, which comprises a respective value for each parameter in the subset of parameters. In some cases, the parameter values may be continuous variables. For example, skill levels may be expressed as percentages. In other cases, parameter values may be binary values (for example yes/no) or a parameters may have three or more possible values.
At stage 104 of Figure 4, the artificial intelligence module 44 applies a trained algorithm to information about each candidate. In the present embodiment, the trained algorithm is a machine learning algorithm that has been trained on a large quantity of candidate information for a large number of candidates. The trained algorithm applied to the candidate information may be the same algorithm as is applied to the job vacancy information, or may be a different algorithm. In the present embodiment, unsupervised Neural Networks & Natural Language Processing (NN + NLP) models are used to analyse the candidate information. In other embodiments, any machine learning algorithm may be used.
The NLP in the present embodiment was designed with the following objectives in mind. Firstly, information was separated into domain, skills and job roles. The unstructured data was then converted into vector data by tokenizing the job descriptions. Term frequency (TF) and Inverse Document Frequencies (IDF) were created which were used to optimise the models. Validation and tuning of the models was obtained by using various cross validation techniques (e.g. confusion matrix) to optimize and improve the performance of the models. Any other suitable NLP techniques may be used in other embodiments.
In the present embodiment the candidate information is cleansed and the trained algorithm is applied to cleansed data representing the candidate information. The data cleansing operation may be performed using any suitable known processes, for example using data manipulation languages like python and SQL. The data cleansing may, for example, remove extraneous or non-essential text or other information and may, for example, alter the formatting of the information The candidate information includes the information in the candidate’s CV 82. The candidate information may also include other information about the candidate, for example information obtained from talent databases or social media. In the present embodiment, the CV 82 is provided by the candidate 80. In other embodiments, the candidate information may be input by someone other than the candidate, for example by a recruiter or hiring manager, or may be acquired in an automated manner.
The trained algorithm processes the candidate information to obtain values for a subset of the set of parameters. The subset of the set of parameters includes some parameters in each of the categories of parameters. In the present embodiment, the same subset of parameters is used in the processing of the job vacancy information and in the processing of the candidate information. In other embodiments, different subsets may be used.
In the present embodiment, the processing of the candidate information comprises performing natural language processing to extract text data from the candidate information.
An output of stage 104 is a set of candidate parameter values, which comprises a respective value for each parameter in the subset of parameters. Examples of parameters according to certain embodiments have been discussed above.
At stage 106, the artificial intelligence module 44 uses a scoring algorithm to determine a matching score output that is representative of a match between the job vacancy and the candidate. The scoring algorithm determines the matching score output using the set of job vacancy parameter values and the set of candidate parameter values.
In the present embodiment, the scoring algorithm determines a respective category matching score for each of the categories (industry, skills, location, salary, experience). The scoring algorithm then combines the category matching scores for the categories to obtain an overall matching score. In other embodiments, the overall matching score may be determined directly, and not based on the category scores. In further embodiments, any suitable matching score or scores may be determined. The scoring algorithm comprises a trained algorithm, which in the present embodiment comprises a trained neural network. The scoring algorithm comprises unsupervised Neural Networks & Natural Language Processing (NN + NLP) models. The trained algorithm has been trained using a machine learning process. The trained algorithm has been trained on a large number of sets of parameter information for job vacancies and job candidates. In other embodiments, any machine learning algorithm may be used to perform the scoring.
Stages 102 to 106 are repeated for each job vacancy and each candidate, until a score for each vacancy-candidate pair has been obtained.
In the present embodiment, scores are continuous variables that are output as percentages. In other embodiments, the scoring algorithm may generate a binary output (for example, yes/no) or an output having three or more possible categories (for example, yes/no/maybe or high/medium/low).
At stage 108, the artificial intelligence module 44 selects, for each job vacancy, the candidates that are the best match for that job vacancy. In the present embodiment, the artificial intelligence module 44 selects candidates whose overall matching score reaches a predetermined threshold. For example, if the matching score is expressed as a percentage, the artificial intelligence module 44 may select candidates whose matching score in respect of the job vacancy is greater than 60%, 70% or 80%. The artificial intelligence module 44 ranks the selected candidates in order of overall matching score. In other embodiments, the artificial intelligence module 44 may select candidates using any suitable criteria, for example based on any one or more of the available matching scores. In further embodiments, the artificial intelligence module 44 ranks all available candidates.
For each job vacancy, the output of stage 108 is all candidates whose matching score for the job vacancy met the specified threshold.
At stage 1 10, the artificial intelligence module 44 selects, for each candidate, the job vacancies that are the best match for that candidate. In the present embodiment, the artificial intelligence module 44 selects job vacancies whose overall matching score reaches a predetermined threshold. For example, if the matching score is expressed as a percentage, the artificial intelligence module 44 may select job vacancies whose matching score in respect of the candidate is greater than 60%, 70% or 80%. The artificial intelligence module 44 ranks the selected job vacancies in order of overall matching score. In other embodiments, the artificial intelligence module 44 may select job vacancies using any suitable criteria, for example based on any one or more of the available matching scores. In further embodiments, the artificial intelligence module 44 ranks all job vacancies.
We turn back to the flow chart of Figure 3. Stage 90 of Figure 3 comprises all the stages of the flow chart of Figure 4. At stage 92, the artificial intelligence module 44 sends matched results to the recruitment platform 38. The matched results are the outputs of stages 108 and 1 10 of Figure 4.
The matched results comprise a set of suitable applicants 94 for the job vacancy 74 and a set of job matches 98 for the applicant 80.
The set of suitable applicants 94 is a set of the applicants that were found by the artificial intelligence module 44 to be the best matches to the job listing 74 (which in the present embodiment is determined by comparing the overall matching score to a threshold). At stage 96, the recruitment platform 38 presents the set of suitable applicants 94 to the hiring manager 70. Each of the suitable applicants is rated for their suitability for the job listing 74. In the present embodiment, the rating provided to the hiring manager comprises the overall matching score, and individual matching scores for the different categories. An example of the display of ratings to the hiring manager via a graphical user interface is shown in Figure 5, which is described below.
The set of job matches 98 is a set of the job listings that were found by the artificial intelligence module 44 to be the best matches to the applicant 80. At stage 99, the recruitment platform 38 presents the set of job matches 98 to the applicant 80. Each of the job listings in the set of job matches 89 is rated for their appropriateness to the applicant 80. In the present embodiment, the rating comprises the overall matching score, and individual matching scores for the different categories.
Figure 5 is a schematic illustration of a graphical user interface 200 that may be presented to a hiring manager 70. The graphical user interface 200 shown in Figure 5 displays details of a single applicant to the hiring manager 70. In some embodiments, the hiring manager 70 may access the graphical user interface 200 of Figure 5 by selecting (for example, clicking on) one of the applicants in the list of applicants 94 provided at stage 96 of Figure 3.
A header 202 of the graphical user interface 200 provides headline information about the applicant, including the applicant’s name 204 and current job title 206. The header 202 also includes the overall rating for the applicant that was determined by the artificial intelligence module 44. In the example shown in Figure 5, the overall rating for the applicant is 60%. The overall rating is displayed as a graphical element 210. The graphical element comprises a curved element in which a fill angle of the curved element is representative of the rating (for example, filling 60% of the angular extent of the curved element is representative of a 60% matching score). The matching score of 60% is also included as text.
In other embodiments, any suitable graphical element may be used, for example a box, bar, button or histogram. The overall score may be represented by, for example, a colour, texture, fill level, position, size, orientation and/or position of the graphical element.
In the present embodiment, the header 202 also shows ratings for the applicant in individual categories as further graphical elements 212, 214, 216, 218, 220. In the example shown in Figure 5, graphical element 212 shows the matching score for skills (which in the example shown is 25%). Graphical element 214 shows the matching score for industry (in this example, 100%). Graphical element 216 shows the matching score for experience (in this example, 0%). Graphical element 218 shows the matching score for salary (in this example, 90%). Graphical element 220 shows the matching score for location (in this example, 80%).
In the embodiment of Figure 5, the individual ratings are shown using the same type of graphical element 212, 214, 216, 218, 220 as the graphical element 210 for the overall rating. Flowever, the graphical element 210 for the overall rating is larger than the graphical elements 212, 214, 216, 218, 220 for the individual ratings so that the overall rating can be easily distinguished by the hiring manager 70. Furthermore, a colour of each graphical element 210 to 220 is used to indicate whether the score shown by the graphical element is high (green), medium (amber) or low (red). In the embodiment of Figure 5, the colour of each graphical element 210 to 220 is determined by comparing the score represented by the graphical element 210 to 220 to a threshold score. In the example shown in Figure 5, the skills element 212 has a low score and is colored red. The overall score is medium and so the graphical element 210 representing the overall score is coloured amber. The scores shown by the industry element 214, salary element 218 and location element 220 are high and so these graphical elements are coloured green.
The header 202 further comprises a pull-down menu 222 which shows the overall rating and the job title for which the overall rating has been calculated. The pull-down menu 222 may allow the candidate to be compared against other jobs in some embodiments, for example it may allow selection of other jobs against which to compare the candidate.
The header 202 further comprises a clickable element 224 which allows the hiring manager 70 to send a message to the applicant, and a clickable element 226 which allows the hiring manager 70 to make a note about the applicant.
The header 202 further comprises a button 228 which the hiring manager 70 may click on to shortlist the applicant. In some embodiments, the button 228 changes colour (or changes another characteristic) depending on whether or not the applicant has already been shortlisted.
The header 202 further comprises a button 230 which the hiring manager 70 may click to download the applicant’s CV from the recruitment platform 38.
In the embodiment shown in Figure 5, the graphical user interface 200 comprises further panels 240, 250, 260, 270 that provide the hiring manager 70 with more detail about the applicant’s personal details, experience, skills and job skills respectively.
The Personal Details panel 240 comprises further summary information about the applicant’s current job, industry, salary band, type of job (permanent or fixed term), location, email address, phone number, and Linkedln page. The Experience panel 250 provides an overview of the applicant’s experience including a summary 252 of years spent in each industry, and a listing 254 of each job held by the applicant.
The Skills panel 260 provides an overview of the applicant’s skills as determined by the artificial intelligence module 44. The Skills panel comprises a plurality of graphical indicators 262, 264 each showing a level assigned to the applicant with regard to a respective skill. In the present embodiment, each graphical element is a horizontal bar and skill level is shown as a level of fill of the bar. In the present embodiment, the bars are also colour-coded such that skills for which the applicant has a high skill level are shown in green (graphical indicators 262), and skills for which the applicant has a medium skill level are shown in amber (graphical indicators 264). The colours may be determined based on whether the skill level meets one or more predetermined thresholds.
The skill levels that are displayed may represent, or may be derived from, the values for each skill parameter that were determined by the artificial intelligence module 44 at stage 104 of Figure 4.
The Job Skills panel 270 provides an alternative method of displaying job skills. Skills that the applicant possesses and/or that are required for a vacancy are listed as individual text boxes 272, 274.
In the embodiment of Figure 7, the skills that are found in both the candidate’s CV and the job vacancy information are represented by the boxes 272 (which are coloured a first colour, in this example red) and the skills that are found in the job vacancy information (e.g. are required for the job vacancy) but are not possessed by the candidate, for example based on their CV, are represented by the boxes 274 (which are coloured a first colour, in this example black). Such matching or non-matching of skills between candidate and job vacancy can be indicated by any other suitable skill indicator elements in alternative embodiments, as well as or instead of coloured text boxes. In some embodiments, the hiring manager 70 (or other user) may choose which of the panels 240, 250, 260, 270 they would like to display and/or which items of information they wish to be displayed within each panel. In some embodiments, the hiring manager 70 (or other user) may change which items of information are displayed within the header 202. For example, the hiring manager 70 may choose to display graphical indicators for only some of the categories. The hiring manager 70 may choose to display only the graphical indicator 210 that shows the overall score, and not to display graphical indicators 212 to 220 for individual categories.
In some embodiments, the hiring manager 70 (or other user) uses the graphical interface 200 to change what is displayed on the graphical interface 200 and/or to change the process performed by the artificial intelligence module 44.
In some embodiments, the hiring manager 70 selects one or more of the categories, for example by clicking on one or more of the graphical elements 212 to 220. The recruitment platform 38 receives the user input and passes the selection of the categories to the artificial intelligence module 44. The artificial intelligence module 44 changes the calculation of the overall score displayed on graphical element 210 so that the overall score is determined based only on the selected categories. For example, the artificial intelligence module 44 may change the scoring algorithm used to calculate the overall score, or may use different inputs or weightings in the scoring algorithm.
The hiring manager 70 may observe how the score for one or more applicants changes with selection of different categories. For example, the hiring manager 70 may decide not to select location if there is a possibility of the job being performed remotely.
In some embodiments, the hiring manager 210 provides a user input that is representative of a weighting for one or more of the categories. The recruitment platform 38 passes the user-supplied weighting or weightings to the artificial intelligence module 44. The artificial intelligence module 44 changes the calculation of the overall score to take into account the user-supplied weightings. For example, the hiring manager 70 may increase or decrease an amount of weighting that is put on skills. The hiring manager 70 may increase or decrease an amount of weighting that is put on salary. The hiring manager 70 may then observe how the score for one or more applicants changes with the different weightings. The comparative ranking of the applicants may also change with different weightings.
In further embodiments, the hiring manager 70 (or other user) may provide a user input to select or weight individual parameters, for example individual skills. The algorithm may change the calculation of the overall score and/or category scores based on the user input. For example, the artificial intelligence module 44 may change the scoring algorithm used to calculate the score or scores, or may use different inputs or weightings in the scoring algorithm.
The hiring manager’s input 70 may therefore be used to control operation of the scoring algorithm and/or the display 200. In other embodiments, another user (for example an applicant 80 or recruiter) may control operation of a scoring algorithm and/or display in a similar manner. For example, an applicant may select or weight categories to observe how an overall score for job matches changes.
By using methods as described above, a direct hiring platform may be provided to instantly present and connect employers with top applications. The hiring platform may allow employers and applicants to engage openly. Recruiters and employers may post jobs on the hiring platform. CVs may be screened and employers may be presented with suitable jobseekers instantly. Job posts are automatically analysed and applicants are rated against jobs. Employers may connect with jobseekers directly. The hiring platform may search talent databases, social media and incoming CVs of applicants. A job board aggregator may present rated jobs to applicants.
A user (for example, a hiring manager) may be able to control a matching process, for example by selecting or weighting categories or parameters. The user may therefore use their expertise in hiring to influence the matching that is performed. The user may identify which parameters or categories are most important for a given job.
In embodiments, a user (for example a hiring manager 70 or recruiter) sends job applications. The applications are consumed by the recruitment platform 38 which uses the artificial intelligence module 44 to match and rate applications. The user is sent data points and receives rated applicants. In the embodiment of Figure 5, a user (for example a hiring manager 70) interfaces with a recruitment platform 38 through a graphical user interface 200. In other embodiments, the user may interface with any type of platform, for example any web- based platform, that is configured to match job vacancies and job applicants. The platform may be provided by the web platform hosting module 230. The platform may comprise, for example, a recruiter portal 32, jobseeker portal 34 or job board 36. A platform or portal may be implemented in, for example, CSS, HTML, Angular Material, Node Services or MySQL.
In some embodiments, a cloud platform is provided. The cloud platform may comprise, for example, a job board cloud platform or recruitment cloud platform. The cloud platform may provide Hiring As A Service.
In some embodiments, different platforms may use the same artificial intelligence module 44. Different platforms may use the same or similar algorithms.
In further embodiments, a platform or application is provided by an external, third-party company 62. The platform or application provided by the third-party company interfaces with the API services module 40 via API 60. User input supplied by the user to the third-party company may be passed to the API services module 40 via the API 60. Outputs, for example scores provided by the artificial intelligence module 44, may be passed to the third-party platform or application via the API 60 for display to the user. The platform or application provided by the third-party company may be, for example, a job board or an Applicant Tracking System (ATS).
In some embodiments, scores are used as an input for further analysis. In some embodiments, the scores may not be displayed. For example, the scores may be used for selection and/or ranking of applicants or jobs, but not displayed to the user.
Certain embodiments described above have been described in relation to the identification of suitable candidates for a particular job vacancy. It will be understood embodiments can also be used by, or on behalf of a particular candidate to apply the scoring algorithm to parameter values for a plurality of job vacancies to determine vacancies for which the candidate is suitable and/or to rank vacancies based on suitability of that candidate for said vacancies. Information concerning either or both candidates and job vacancies can be obtained from any suitable sources according to embodiments. For example, candidate and/or job vacancy information can be obtained from one or more job boards or websites. A web-scraping process can be used to obtain candidate and/or job vacancy information from selected website(s) or from any suitable websites.
Any suitable algorithms may be used as the trained algorithms according to embodiments. For example, the or each trained algorithm may comprise a trained model and/or may comprise a trained set of layers and/or weightings. The or each trained algorithm may comprise a trained neural network.
While embodiments above are described with reference to CVs and/or resumes, in other embodiments any suitable applicant information may be analysed using machine learning as described above. The applicant information may comprise, for example, information that has been input to an applicant tracking system or social media site. The applicant information may comprise information that has been obtained from the applicant’s personal or corporate web site. In some embodiments, applicant information from multiple sources is combined.
In embodiments described above, a hiring manager or recruiter supplies a job listing for analysis using machine learning. In other embodiments, any suitable information about a job may be provided. In further embodiments, a profile of a company or institution (rather than an individual job) may be provided for analysis, and machine learning as described above may be used to output the applicants that best match the company or institution.
Whilst certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the invention.

Claims

CLAIMS:
1 . A computer implemented method for matching job candidates and job vacancies, the method comprising:
storing a predetermined set of parameters that characterise job vacancies and/or candidates;
applying a first trained algorithm to candidate information for a candidate to generate a first set of parameter values, the first set of parameter values comprising values for at least some of the predetermined set of parameters;
obtaining a second set of parameter values corresponding to a job vacancy; applying a scoring algorithm to the first set of parameter values and the second set of parameter values to determine a matching score output representative of a match between candidate and the job vacancy.
2. A method according to claim 1 , wherein obtaining the second set of parameter values comprises applying a second trained algorithm to job information concerning the job vacancy to obtain the second set of parameter values.
3. A method according to claim 1 or 2, wherein the parameters of the predetermined set of parameters are divided between predetermined categories.
4. A method according to claim 3, wherein the scoring algorithm is configured to provide a respective category score for each category.
5. A method according to claim 4, wherein the matching score output comprises the category score, a selected at least one of the category scores, and/or a combined score obtained from the category scores.
6. A method according to any of claims 3 to 5, further comprising receiving user input and selecting one or more of the categories and/or applying weightings to the categories based on the user input, wherein the scoring algorithm is configured to determine the matching score output based on the selected categories and/or weightings.
7. A method according to any of claims 3 to 6, further comprising receiving user input and selecting one or more of the category scores for display based on the user input.
8. A method according to any preceding claim, further comprising generating at least one graphical representation of the matching score output and displaying the at least one graphical representation.
9. A method according to claim 8, wherein the matching score output comprises at least one score and the at least one graphical representation comprises at least one graphical indicator representative of said at least one score.
10. A method according to claim 9 as dependent on any of claims 3 to 7, wherein the at least one graphical indicator comprises a respective graphical indicator corresponding to each of, or a selected at least some of, the category scores.
1 1 . A method according to claim 9 or 10, wherein the or each graphical indicator comprises at least one of a colour, texture, fill level, position, size, orientation or position that is dependent on a value of the corresponding score.
12. A method according to any of claims 8 to 1 1 , further comprising providing a graphical user interface comprising said graphical representation(s) and configured to receive user input to control operation of the scoring algorithm and/or the display of the graphical representation(s).
13. A method according to any preceding claim, further comprising receiving user input and selecting one or more of the parameters and/or applying weightings to the parameters based on the user input, wherein the scoring algorithm is configured to determine the matching score based on the selected parameters and/or parameter weightings.
14. A method according to any preceding claim, wherein the candidate information comprises or is obtained from a curriculum vitae (C V) or resume document.
15. A method according to any preceding claim, further comprising performing natural language processing to extract text data from the candidate information.
16. A method according to claim 15, wherein the natural language processing is provided by the first trained algorithm.
17. A method according to any preceding claim, further comprising receiving job vacancy information and performing natural language processing to extract text data from the job vacancy information.
18. A method according to claim 17, wherein the natural language processing is provided by the second algorithm.
19. A method according to any preceding claim, comprising obtaining candidate information for a plurality of candidates and/or obtaining parameter values corresponding to a plurality of job vacancies, and applying the scoring algorithm in respect of said plurality of candidates and/or said plurality of job vacancies, and selecting at least one job vacancy for a candidate and/or selecting at least one candidate for a job vacancy.
20. A method according to claim 19, wherein the selecting of the at least one job vacancy or the at least one candidate comprises comparing matching score outputs to at least one threshold.
21 . A method according to any preceding claim, wherein the scoring algorithm comprises a trained algorithm.
22. A method according to any preceding claim, wherein the first trained algorithm and/or the second algorithm and/or the scoring algorithm comprises an algorithm trained using a machine learning process.
23. A method according to any preceding claim, wherein the first trained algorithm and/or the second algorithm and/or the scoring algorithm comprises a trained neural network.
24. A method according to any preceding claim, further comprising at least one of a) or b):
a) obtaining job information relating to at least one job vacancy from at least one remote source and, for each vacancy processing the job information to obtaining the set of parameter values for that vacancy;
b) obtaining the candidate information from at least one remote source.
25. A method according to any preceding claim, comprising performing a web scraping process to obtain job information relating to a plurality of job vacancies and/or to obtain candidate information for a plurality of candidates.
26. A method according to any preceding claim further comprising, for said candidate, applying the scoring algorithm to parameter values for a plurality of job vacancies to determine vacancies for which the candidate is suitable and/or to rank vacancies based on suitability of that candidate for said vacancies.
27. A system for matching job candidates and job vacancies, the method comprising:
a data store storing a predetermined set of parameters that characterise job vacancies and/or candidates, and
a processing resource configured to:
apply a first trained algorithm to candidate information for a candidate to generate a first set of parameter values, the first set of parameter values comprising values for at least some of the predetermined set of parameters; obtain a second set of parameter values corresponding to a job vacancy;
apply a scoring algorithm to the first set of parameter values and the second set of parameter values to determine a matching score output representative of a match between candidate and the job vacancy.
28. A method of training an algorithm on candidate information for job candidates to obtain a trained algorithm that is configured to obtain from candidate information for a job candidate parameter values representative of the job candidate.
29. A method of training an algorithm on job information for job vacancies to obtain a trained algorithm that is configured to obtain from job information for a job vacancy parameter values representative of the job vacancy.
30. A method of training a scoring algorithm on sets of parameter values for job candidates and job vacancies to obtained a trained scoring algorithm that is configured to obtain, for a job candidate and a job vacancy, a matching score output representative of a match between the job candidate and the job vacancy.
31 . A trained algorithm or trained scoring algorithm trained in accordance with any of claims 28 to 30 and/or for use in a method according to any of claims 1 to 26.
32. A computer program product comprising computer readable instructions that are executable to perform a method according to any of claims 1 to 26 or 28 to 30.
PCT/EP2020/058839 2019-03-28 2020-03-27 Vacancy matching method and application WO2020193785A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB1904357.9A GB201904357D0 (en) 2019-03-28 2019-03-28 Vacancy matching method and application
GB1904357.9 2019-03-28

Publications (1)

Publication Number Publication Date
WO2020193785A1 true WO2020193785A1 (en) 2020-10-01

Family

ID=66443025

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2020/058839 WO2020193785A1 (en) 2019-03-28 2020-03-27 Vacancy matching method and application

Country Status (2)

Country Link
GB (1) GB201904357D0 (en)
WO (1) WO2020193785A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468317A (en) * 2021-06-26 2021-10-01 北京网聘咨询有限公司 Resume screening method, system, equipment and storage medium
US11797942B2 (en) 2022-03-09 2023-10-24 My Job Matcher, Inc. Apparatus and method for applicant scoring
US11954430B2 (en) * 2021-10-20 2024-04-09 Riverscape Software, Inc. Systems and methods for document generation and solicitation management

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111429082B (en) * 2020-02-18 2023-04-07 北京网聘信息技术有限公司 Bidirectional matching similarity calculation method for job positions and resumes of recruitment website

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150317602A1 (en) * 2014-05-05 2015-11-05 Zlemma, Inc. Scoring model methods and apparatus
US20170357945A1 (en) * 2016-06-14 2017-12-14 Recruiter.AI, Inc. Automated matching of job candidates and job listings for recruitment
US20180130024A1 (en) * 2016-11-08 2018-05-10 Facebook, Inc. Systems and methods to identify resumes based on staged machine learning models

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150317602A1 (en) * 2014-05-05 2015-11-05 Zlemma, Inc. Scoring model methods and apparatus
US20170357945A1 (en) * 2016-06-14 2017-12-14 Recruiter.AI, Inc. Automated matching of job candidates and job listings for recruitment
US20180130024A1 (en) * 2016-11-08 2018-05-10 Facebook, Inc. Systems and methods to identify resumes based on staged machine learning models

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468317A (en) * 2021-06-26 2021-10-01 北京网聘咨询有限公司 Resume screening method, system, equipment and storage medium
CN113468317B (en) * 2021-06-26 2024-03-08 北京网聘信息技术有限公司 Resume screening method, system, equipment and storage medium
US11954430B2 (en) * 2021-10-20 2024-04-09 Riverscape Software, Inc. Systems and methods for document generation and solicitation management
US11797942B2 (en) 2022-03-09 2023-10-24 My Job Matcher, Inc. Apparatus and method for applicant scoring

Also Published As

Publication number Publication date
GB201904357D0 (en) 2019-05-15

Similar Documents

Publication Publication Date Title
Kwartler Text mining in practice with R
WO2020193785A1 (en) Vacancy matching method and application
Squicciarini et al. Demand for AI skills in jobs: Evidence from online job postings
Provost et al. Data science and its relationship to big data and data-driven decision making
US20180165604A1 (en) Systems and methods for automating data science machine learning analytical workflows
US8930398B1 (en) System and method for improving a resume according to a job description
US11205130B2 (en) Mental modeling method and system
Kalugina et al. An effective personnel selection model
US11900320B2 (en) Utilizing machine learning models for identifying a subject of a query, a context for the subject, and a workflow
US20160283876A1 (en) System and method for providing automomous contextual information life cycle management
US20190197043A1 (en) System and method for analysis and represenation of data
US20220318681A1 (en) System and method for scalable, interactive, collaborative topic identification and tracking
Cheng Data-mining research in education
Saheb et al. Topical review of artificial intelligence national policies: A mixed method analysis
Bourne et al. Performance and risk management
Kortum et al. Dissection of AI job advertisements: A text mining-based analysis of employee skills in the disciplines computer vision and natural language processing
Sietsma et al. The next generation of machine learning for tracking adaptation texts
US20160292614A1 (en) Skill Shift Visualization System
US20160371652A1 (en) Balanced Information System
Mathes Big data has unique needs for information governance and data quality
US20220300907A1 (en) Systems and methods for conducting job analyses
US20180189699A1 (en) A method and system for locating regulatory information
Ifenthaler Data mining and analytics in the context of workplace learning: Benefits and affordances
Guo et al. Social network analysis of international collaboration in the economic research from 1900 through 2012
Thompson et al. A More-Than-Human Approach to Researching AI at Work: Alternative Narratives for Human and AI Systems as Co-workers

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20718125

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20718125

Country of ref document: EP

Kind code of ref document: A1