This application cross-references co-pending U.S. patent application Ser. No. 11/136,009, filed May 23, 2005 and entitled “INTELLIGENT JOB MATCHING SYSTEM AND METHOD”; U.S. Pat. No. 7,720,791, filed May 25, 2006 and entitled “INTELLIGENT JOB MATCHING SYSTEM AND METHOD INCLUDING PREFERENCE RANKING”; U.S. Pat. No. 8,375,067, filed May 25, 2006 and entitled “INTELLIGENT JOB MATCHING SYSTEM AND METHOD INCLUDING NEGATIVE FILTRATION”; U.S. patent application Ser. No. 11/441,997, filed May 25, 2006 and entitled “Intelligent job matching system and method”; and U.S. patent application Ser. No. 13/737,372, filed Jan. 9, 2013 and entitled “Intelligent Job Matching System and Method including Negative Filtration,”.
1. Field of the Disclosure
The present disclosure relates to computer software. In particular, it relates to a technique for enhancing job search results for both job seekers looking for jobs and employer/recruiters looking for job candidates.
2. State of the Art
A challenge common to most companies seeking talented employees is finding the best set of candidates for the position available. One standard practice among human resource departments is to create a job description for each open position, then advertise the position along with the description. Recruiters and job seekers then have to review and analyze these descriptions in order to determine a match between job seekers and particular jobs.
A number of searching tools are available to a person searching on the Internet for the right job based on his or her skill set. Typical searching tools currently available require the job seeker to select various criteria in the form of keywords, such as desired locations, types of jobs, desired compensation levels, etc. Similarly, the employers provide, in addition to the job description, levels of skill, education, years of experience, etc. required to be considered for a particular job. Searching tools then look up the seeker's keywords in a data base of job descriptions and return, or display those job descriptions that contain the job seeker's keywords.
However, available search tools still either often require the employer and the job seeker to each sift through a large number of so-called search results or can return no search results at all if the criteria provided is too specific or narrow. It would be desirable, then, to provide a matching search tool that more intelligently matches job seekers to potential jobs and intelligently assists in narrowing a job seeker's search for the right job. Such a search and matching tool is also needed to assist an employer/recruiter in matching potential job descriptions to potential job seekers.
A system and method for matching jobs or employment opportunities with job seekers is disclosed. The system gathers a job seeker profile of desired and experiential information as job seeker parameters, from a job seeker that accesses the system via a website. Similarly, the system gathers job description information as job parameters from a prospective employing entity such as an employer or recruiter, hereinafter termed an “employer/recruiter.” In addition, the system preferably can obtain further job opening information from other employment opportunity sources via a web crawler application so as to have as broad a base of opportunities to present to a job seeker as possible. The system then correlates the available jobs, tracks all job seeker inquiries, and looks for commonalities and correlations between job parameters, interests of job seekers, features of job seeker resumes, past actions of the job seeker, and job descriptions to narrow in on a more accurate set of suggested jobs being presented to the job seeker each time the job seeker queries the system for matching potential jobs.
Further, the system and method can be used by an employer/recruiter to similarly match prospective job seekers to an employer/recruiter's job and suggest other job seekers for consideration by the employer/recruiter based on correlations between job parameters, job seeker parameters, employer/recruiter actions, preferences, past actions by the employer/recruiter, and job seeker interest history in order to narrow the search results to a more accurate set of suggestion job seekers being presented to the employer/recruiter.
An exemplary software system for matching a job seeker with a job includes a job seeker profile builder module connectable to a database operable to generate job seeker profile parameters in response to job seeker input. The system also includes a job profile builder module connectable to the database that is operable to generate job profile parameters in response to employer/recruiter input, a matching module for matching the job seeker to a potential job through finding one or more common parameters between job seeker parameters and job profile parameters and producing matching results, a correlation module operably connected to the matching module for determining a correlation between one of the common parameters and one or more selected parameters related to one of the job seeker, other job seekers and other jobs and determining relevance of the correlation to the matching results. The system also includes a user interface accessible to one of the job seeker and the employer/recruiter for displaying the matching results and alternative jobs.
An exemplary method for matching a job seeker with one or more of a plurality of jobs preferably includes building a job seeker profile of job seeker parameters in response to job seeker input, building a job profile of job parameters in response to employer input for each of the plurality of jobs, and, in response to a job seeker query, matching the job seeker to a potential job through finding one or more common parameters between job seeker parameters and job parameters and producing matching results. The method also preferably includes tracking popularity of one or more selected job parameters in the matching results based on activity from other job seekers, determining relevance of alternative jobs to the matching results based on the popularity, and displaying the matching results and relevant alternative jobs for consideration by the job seeker.
Various embodiments are disclosed in the following detailed description. The disclosure will be better understood when consideration is given to the following detailed description taken in conjunction with the accompanying drawing figures wherein:
Throughout this specification and in the drawing, like numerals will be utilized to identify like modules, operations and elements in the accompanying drawing figures.
A block diagram of one exemplary embodiment of the job search architecture software system 100 is shown in
The matching module 102 receives information and queries via a job seeker interface module 108 and employer/recruiter interface module 110 through accessing a web server 105 typically via the internet 101. Throughout this specification description, primarily an exemplary job seeker will be used to describe system operations. However, this is not the only use of the system 100. The system 100 preferably can also be used for example, in a reverse direction, by an employer/recruiter to evaluate candidate job seekers in a similar manner.
The web server 105 in turn communicates preferably through a search bank 107 to the matching module 102 which draws from the correlation module 106. The correlation module 106 incorporates a number of modules which gather and catalog information from within the system 100 and other sources outside the system 100 to provide specific services to the matching module 102 for correlating information contained in the database 104 and coordination with information from other sources.
The correlation module 106, for example, preferably includes one or more of an affinity engine module 112, a location mapping module 114, a user activity monitor module 116, a resume extraction module 118, a job description extraction module 117, and a weight determination module 119. The correlation module 106 can optionally also incorporate other modules. The modules 112, 114, 116, 117, 118 and 119 are merely exemplary of one embodiment illustrated. The correlation module 106, in general, incorporates modules that provide information or contain routines that look for relationships between various data and draw inferences from the data that correlate with information provided, either directly or indirectly, from the job seeker and/or the employer/recruiter.
The affinity engine module 112 within the correlation module 106 generally examines combinations of informational parameters or data to determine whether there are any correlations, i.e. affinities between any of the parameters. Such affinities preferably relate a job seeker to other job seekers based on, for example, a particular location, a job, skill set, job categories, spatial relationships, etc. Similarly, jobs can also be related to other jobs. In general, the affinity module 112 is used to identify commonalities and trends between otherwise disparate data. This information can then be utilized to identify alternative jobs to the job seeker or alternative job seeker candidates to an employer/recruiter user of the system 100 that otherwise might be missed.
The location mapping module 114 converts locations of jobs input by employers/recruiters and desired work location input by job seekers into “geocodes,” specifically latitude and longitudinal coordinates such that distances between locations and relative spatial positions between jobs and job seekers can be easily manipulated and compared to determine relative distances between locations. The information provided by the location mapping module 114 can be used by the matching module 102 or one of the other modules within the correlation module 106.
The user activity monitor module 116 tracks, for each job seeker, and each employer/recruiter, his or her behavior, e.g., prior queries, choices, actions and interactions with the system 100 so as to be able to draw correlations, e.g., inferences from such actions. For example, a job seeker can apply for, or-otherwise express an interest in one of a number of suggested jobs. This “apply” fact is tracked for potential use in the affinity engine module 112 to infer other potential matches to offer as suggested jobs. Note that throughout this specification, the term “apply” is used. This term is synonymous and interchangeable with an expression of interest. Similarly, an employer/recruiter can examine resumes and indicate or otherwise express an interest in or contact for interview one of a number of suggested job seekers for a particular job. This indicated interest fact, or behavior, is tracked in the user activity monitor module 116, for use by the affinity engine module 112 when the employer/recruiter next queries the system 100.
The job description extraction module 117 is a tool for extracting key information from job descriptions, and other textual content, parameters such as job titles, skills required or recommended, prior experience levels, etc. There are a number of commercially available text extraction engines that can be used. For example, Resumix Extractor, now marketed by Yahoo Inc., described in U.S. Pat. No. 5,197,004 is one such engine that can be incorporated into and utilized by this module 117.
Similarly, the resume extraction module 118 is a tool for extracting key information from resumes, and other textual content, parameters such as job titles, skills required or recommended, prior experience levels, etc. Again, there are a number of commercially available text extraction engines that can be used. For example, Resumix Extractor, now marketed by Yahoo Inc., described in U.S. Pat. No. 5,197,004 is one such engine that can be incorporated into and utilized by this module 118.
The weight determination module 119 preferably incorporates an adaptive learning engine and optionally can be tunable by the system operator, the job seeker, the employer/recruiter, or other system user. This module 119 can essentially optimize weighting factors to be applied to the various parameters in order to tune or more accurately hone in on desired matched jobs or resumes based on input from the other modules in the correlation module 106.
The Personalization module 121 examines what preferences the jobseeker or employer/recruiter has on his display screen to make inferences from. For a hypothetical example, if the jobseeker has stock ticker banners overlaying his/her window and New York weather site being monitored, the personalization module would provide this information so that the system 100 might infer a tendency toward the northeast United States and possibly a preference for the financial and business related industry positions and factor that correlation into the suggestions that may be made to the job seeker.
The Aggregate network data module 123 queries other sources on the network to which the system 100 has access for any information related to the jobseeker. This module helps fill in details on the job seeker or employer/recruiter from other available sources for relevant information that may be used to make correlations.
Job Seeker information is preferably developed in a Job Seeker Profile Builder module 200 within the job seeker module 108. Employer/recruiter job information is preferably developed in a Job Profile Builder module 202 within the Employer/Recruiter module 110. These two builder modules, shown in
More particularly, the profile builder modules 200 and 202 feed the information obtained from the job seeker or the employer/recruiter, such as the job seeker's city, state, login ID, etc, and employer/recruiter provided job description information such as the job city, state, zip code, company name, job title, etc into an Extraction, Translation and Load (ETL) module 204 as shown in
In one embodiment, the job seeker profile builder module 200 queries a job seeker, or the job seeker's person table, for some or all of the following information and then constructs a job seeker profile 206. Exemplary entries in this profile 206 are described generally as follows:
a. Location. This is the job seeker's desired location. Including the city, state, country and zip code.
b. Proximity preference. This parameter is a number. The user will enter this information or it can be imported from a mapping software product.
c. Industry. This information can be directly inputted by the job seeker or obtained from a person table previously generated by the job seeker and stored in the database 104.
d. Function. The function is the overall activity of the desired job that the job seeker is looking for. This information is obtained from the person table or directly inputted by the job seeker.
e. Title. This is the title of the desired job, if any, and is preferably obtained from the job seeker directly or from his/her person table, or it can be obtained from the job seeker's resume text through an extraction program in the extraction module 118. In this case the title can correspond to the job seeker's most recent job title listed in his/her resume text.
f. Past search criteria. For saved search, this information is preferably stored in a job_agent table. For an ad-hoc search, the search bank 107 where all data that is yet to be searched is queried. This includes keywords used the job seeker has used in prior searches as well as other indicators detailing prior behavior of the job seeker on the system 100.
g. Apply (expression of interest) history. The job seeker's prior job application/interest history information is logged and updated in the user activity monitor module 116 each time the job seeker applies for a job utilizing this software system 100. This information is preferably obtained from the job seeker's “jobs applied for” table, which is a table primarily containing the job seeker's resume ID and the applied for job ID and preferably includes a timestamp.
h. Click-throughs. This information comes from the user activity monitor module 116 which tracks all activity of the job seeker on the system 100, particularly sequential clicking activity, e.g. tracking action of how the job seeker got to the application stage, for example.
i. Resume ID. This is the same field as pindex in the person table. This is a unique identifier for a particular resume corresponding to a particular job seeker. There can be several different resumes submitted by a single job seeker, depending on the one or more industries the job seeker is interested in.
j. Login ID. This field has the job seeker's username. This field is also put into the “match_result” table for fast access.
An exemplary Job seeker database table called “job_seeker_profile” is illustrated in Table 1 below.
Note that, to handle titles easily and simply, all real job titles are preferably mapped to a set of predefined titles. In this table 1 above, the title column is the original title. The same approach is done for job_profile 208 described below.
The Job Profile 208 preferably can include the following components.
a. Location. This is the job location. It is obtained from a job table in the database 104 or from the employer/recruiter module 110.
b. Proximity preference. This parameter is a number representing the general range of living locations within a reasonable distance from the job location.
c. Industry. This information comes preferably from a job table in the database or can be provided by the employer/recruiter.
d. Function. This info is preferably obtained from the job table in the database 104 or can be provided by the employer/recruiter module 110.
e. Title. This is obtained from job table database or can be provided by the employer/recruiter module 110.
f. Past search criteria. For previously saved searches, this information is stored in an “agent_person” table in the database 104.
g. employer interest history. This information is either null or can be obtained from the user activity monitor module 116, or a Jobs Applied for table in the database 104.
h. Click-throughs. This can be obtained from the User activity monitor module 116 which tracks the history of the actions taken by the user, a job seeker or an employer/recruiter.
i. Job description analysis. This information can be provided by the Employer/recruiter, previously stored in database 104 in a job table, or can be obtained through the resume extraction module 118.
j. Job ID. This is the ID for this job.
k. User ID. This is the user account id.
The Job Profile builder 202 performs the same functions as the job Seeker profile builder, in that the data is obtained from the employer/recruiter to complete the job profile. Similarly, a sophisticated keyword/phrase extractor such as “Resumix Extractor” marketed by Yahoo Inc. and described in U.S. Pat. No. 5,197,004 can be used to extract job titles from the job description and extract out skills for the extracted skills column.
An exemplary Job Profile table is shown below in Table 2.
The job profile data and the job seeker profile data are then fed to the matching module 102. In the exemplary embodiment shown in
An embodiment of the matching algorithm 300 used in the matching module 102 is shown in
Given a job seeker (lat, Ion, proximity, industryValue and titleValue), an exemplary SQL query to find all potential job matches is:
Note that, in this particular example, an exact match is required in operation 301 so the query in the first step will be (given a job seeker: lat, Ion, proximity, industryId, titleId):
Control then transfers to matching operation 302.
In matching operation 302, a detailed match is made between the job seeker profile 206 against this reduced list of potential jobs. This detailed matching operation 302 in this exemplary embodiment involves using the following formula given a job seeker profile 206 and each job profile 208:
S=LW*L+IW*I+FW*F+TW*T+SW*S+JW*J+AW*A+KW*K
Where:
S is the total matching score
LW is a weight given to the location parameter.
L is the location matching score 312.
IW is a weight given to the industry factor.
I is the industry matching score 314.
FW is a weight given to the job function factor.
F is the job function factor 316.
TW is a weight given to the title parameter.
T is the title matching score 318.
SW is a weight given to the past search factor.
S is a past search matching score 320.
JW is a weight given to the apply history for the job seeker and click-throughs parameter.
J is the apply history and click-throughs matching score 322.
AW is a weight given to the resume/job description text matching parameter.
A is the resume/job description matching score 324.
KW is a weight given to the skill set matching score.
K is the skill set matching score 321.
Each of the weights 304 that are used is a value that initially is one and can be varied based on user prior activity history, determined in activity monitoring module 116 or can be tunable by the job seeker or employer/recruiter user or system operator, whoever is using the system 100 at the particular time using the weight determination module 119 shown in
Each of the matching scores 312-324 is preferably determined in a particular manner exemplified by the following descriptions of an exemplary embodiment. The location matching score “L” (312) is calculated according to the following formula: L=1-D/P where D is the distance between the desired location by the jobseeker and the actual job location and P is the Proximity parameter given in the job seeker or job profile tables. When L is negative, the location is out of range, which means they do not match. The score is linearly reduced with the distance. One is the highest score, when the distance is zero.
The Industry matching score 314 is calculated according to a matrix in which I=IndustryMatchMatrix (DesiredIndustry, ActualIndustry). An example is given using the following Table 4 below.
In Table 4, assume for a particular match scenario between a job seeker and a job is that the desired industry is banking and the actual job industry is also banking. In this case, the industry match score would be 1. However, if the desired industry is a programmer analyst and the industry is banking, the industry match score would be zero. Similarly, if the job seeker's desired industry is a software engineer and the job industry is programmer analyst, the industry match score would be weighted more toward a match, thus 0.6 would apply because there are numerous similarities between these industries. The actual industry matching table is many orders of magnitude larger than Table 4, but the philosophy behind table development is the same.
The function matching score “F” (316) and the Title matching score “T” (318) are preferably determined utilizing matrix tables similar in design to that of Table 4 above, but it will be recognized that techniques other than tabular matrices can be employed.
The past search matching score “S” (320) may or may not apply. If a job seeker has saved searches, then this term will apply. This score S (320) is determined by S=Number of matching terms/minimum of: number of terms for the job seeker or number of terms for the employer/recruiter. Thus, if only the job seeker has a saved search, then if keywords are present, search keywords against the job description. Then S=number of matching terms/number of terms.
If only the employer/recruiter has a saved search, then a search is made of keywords in the resume text and S=number of matching terms/number of terms in the job seeker resume text.
The apply history and click-through matching score 322 is generally calculated using the affinity engine 112 and the user activity monitoring module 116. The affinity engine generates an affinity file using data from a “jobs applied for” (expression of interest) file as described in more detail below with reference to Table 5. This file tracks all jobs for which the job seeker has applied for or otherwise expressed an interest in. Note that a “click-through,” in this exemplary embodiment being described, is determined in the user activity monitoring module 116 and tracks every job seeker action, such as when a job seeker “clicks through” from one screen to another, selects something to view, enters information, or applies to a job. In the case of an employer/recruiter user, the apply history and click through matching score 322 is really a candidate job seeker interest history and click through matching score. In this latter case, the actions of the employer/recruiter user are tracked and employer/recruiter's indicated interest in a candidate job seeker is logged in the activity monitor module 116. Thus the click through is a path history of how the employer/recruiter reached the conclusion to conduct an interview or pass on a resume of interest to the appropriate personnel manager. This information is tracked so that his/her reasoning and preferences can be deduced.
The affinity module preferably can utilize an affinity engine such as is described in U.S. Pat. No. 6,873,996, assigned to the assignee of the present disclosure and hereby incorporated by reference in its entirety. The affinity engine operation in affinity module 112 to determine the matching score 322 can be simply understood with reference to an example set forth in Table 5 below, and the description thereafter.
a. Job1 to job2 affinity is defined as follows: a=J12/J1, where J12 is the number of applicants who applied for both job1 and job2, J1 is the number of applicants who applied for job1.
b. Job1 to Job2 normalized affinity is defined as follows: n=a/(J2/N), where a is Job1 to Job2 affinity, J2 is the number of applicants who applied for Job2, N is the total applicants. Note that N is a common factor, so it can be taken out.
The score=# of multiple applies “m” divided by J1 applies times J2 applies. Thus, In this Table 5, job seekers P1, P2, P3, P4, P5, P6 and P8 each applied for the job identified as “J1.” Thus the affinity for J1 is a Total number: 7. Job seekers P2, P4, P6, P7, P9, P8, P10 and P11 applied for J2. Total number: 8. Note that job seekers P2, P4, P6 and P8 applied for both jobs J1 and J2. Total number: 4.
Therefore J2 is a recommendation for J1 with a score of 4/(7×8)=0.07.
J1 is a recommendation for J2 with a score of 4/(8×7)=0.07.
J3 is a recommendation for J1 with a score of 1/(1×7)=0.14.
This same exemplary apply history can also generate affinities for job seeker (candidates) so that system 100 can make recommendations for employers/recruiters. For example, P1 applied for J1, J3 and J4. P2 applied for J1, J2 and J3. P1 and P2 both applied for J1 and J3. So P1 is a recommendation for P2 with a score of 2/(3×3)=0.33.
Each of the match scores is calculated in operation 302. As discussed above weights can also be factored into each individual score from operation 304. The affinity engine module 112 is used, as an example, in the apply history score determination. As mentioned above, in this particular example, the title match score determination operation 306, the industry match score determination operation 310 and the location match score are required to match at a value of one.
The results of the match operation are stored in the database 104 in a match_result table 326, an example of which is shown in such as Table 6 below.
When a job seeker, or an employer/recruiter, logs in to the system 100, all jobs he/she ever applied for are retrieved from database 104, ordered by date. In the case of the employer/recruiter, all candidate job seekers marked by the employer/recruiter as being of interest to the employer/recruiter are retrieved in a similar manner. The correlation module 106 then is utilized in conjunction with the matching module 102 to identify potential other jobs (or other candidates) based on his/her applied for history (or employer interest history).
A screen shot 400 of an exemplary job seeker web page is shown in
Similarly, if an employer/recruiter checks a “not interested” block for a particular job seeker candidate, in a corresponding screen, that particular job seeker will no longer show to the employer/recruiter in any subsequent queries. A corresponding column called “candidatesnotinterestedids” would be added to the employer/recruiter profile table to store all the job seeker IDs that the user is not interested in.
Referring now to
Specifically for job seekers, several scenarios are shown in
In operation 714, since the job seeker has now applied for one of the displayed jobs, a new search through the sequence 300 shown in
Control then transfers to operation 808, where the system 100 matches available jobs via module 102 as described above with reference to
In operation 814, since the job seeker has now requested a modified search by adding or changing a parameter, a new search through the matching sequence 300 shown in
In operation 914, since the job seeker has requested a search, a new search through the matching sequence 300 shown in
In control operation 1012 the system 100 searches all the resumes in the database 104 using the recruiter profile and the job profile on file in the job folder, in matching module 102 as described above with reference to
In query operation 1014, the question is asked of the employer/recruiter whether he/she is interested in a particular displayed resume. If so, then control transfers to operation 1016 in which the selected resume is displayed for the employer 1002. If no resume is chosen for display, however, control returns to query operation 1008, where the employer/recruiter is again asked to go to a job folder, perhaps this time to a different job folder.
Once the employer/recruiter views a resume in operation 1016, control transfers to query operation 1018. Query operation 1018 asks whether the recruiter wants to se other resumes similar to the one shown. If the answer is yes, control transfers to operation 1020. In query operation 1020, the employer/recruiter is asked whether the next search of similar resumes should included additional predefined options. If so, control transfers to operation 1022 where the employer/recruiter inputs the selected options or qualifications to more narrowly define the search. Control then transfers to operation 1024 where the resumes are again searched with the new input from the predefined set of options, or simply with the click-through history added from the just completed search and the search of resumes is again performed. The results of this research are displayed to the employer/recruiter in operation 1012 again as potential job seeker candidates instead of potential jobs. Control then transfers again to query operation 1014. This iterative process through operations 1012 through operation 1024 is repeated until the employer/recruiter 1002 returns a negative answer in operation 1014 and then in operation 1008 such that control transfers to return operation 1010.
Another simplified embodiment of the system in accordance with the present disclosure is illustrated in
Throughout this description, primarily an exemplary job seeker will be used to describe system operations. However, this is not the only use of the system 1100. The system 1100 can also be used for example, in a reverse direction, by an employer/recruiter to evaluate candidate job seekers in a similar manner.
The web server 1105 in turn communicates preferably through a search bank 1107 to the matching module 1102 which draws from the correlation module 1106, although the matching module 1102 can communicate directly to and through the web server 1105 to the job seeker module 1108 or the employer/recruiter module 1110. The correlation module 1106 in this embodiment is limited in its content to an affinity engine module 1112 and a user activity monitor Module 1116. The affinity module 1112 provides information and contains routines that look for relationships between job data and job seeker data and draw inferences from the data that correlate with information provided, either directly or indirectly, from the job seeker and/or the employer/recruiter.
The affinity engine module 1112 within the correlation module 1106 generally examines combinations of informational parameters or data to determine whether there are any correlations, i.e. affinities between any of the parameters. Such affinities can relate a job seeker to other job seekers based on, for example, a particular location, a job, skill set, job categories, spatial relationships, etc. Similarly, jobs can also be related to other jobs. In general, the affinity module 1112 is used to identify commonalities and trends between otherwise disparate data. This information can then be utilized to identify alternative jobs to the job seeker or alternative job seeker candidates to an employer/recruiter user of the system 1100 that otherwise might be missed.
The affinity module again preferably can utilize an affinity engine such as is described in U.S. Pat. No. 6,873,996, assigned to the assignee of the present disclosure and hereby incorporated by reference in its entirety. The affinity engine operation in affinity module 1112 to determine the matching score 322 as set forth in
The user activity monitor module 1116 tracks, for each job seeker, and each employer/recruiter, his or her prior queries, choices, actions and interactions with the system 1100 so as to be able to draw correlations, e.g., inferences from such actions. For example, a job seeker can apply for one of a number of suggested jobs. This “apply” fact is tracked for potential use in the affinity engine module 1112 to infer other potential matches to offer as suggested jobs. Similarly, an employer/recruiter can examine resumes and indicate an interest in or contact for interview one of a number of suggested job seekers for a particular job. This indicated interest fact is tracked in the user activity monitor module 1116, for use by the affinity engine module 1112 when the employer/recruiter next queries the system 1100.
In this simplified embodiment 1100, the matching is limited in several distinct ways. First, the job location, the job title, and the industry are all identical between the jobs and the job seeker 1102 and thus there is a one to one match on each of these parameters. Second, the matching is only performed utilizing apply history (prior applied for jobs). As mentioned above, in this particular example, the title match score determination operation 306, the industry match score determination operation 310 and the location match score, all referring to
Third, the affinity module 1112 in this simplified embodiment looks only at other job seekers and other jobs those job seekers have applied for, as is particularly shown in the example set forth in Table 5.
If such previously applied for jobs are found, control transfers to operation 1208 where the system 1100 searches and matches available jobs in module 1102 as described above with reference to
In operation 1216, since the job seeker has now applied for one of the displayed jobs, a new search and matching operation, through the sequence 300 shown in
When control transfers to query operation 1210, either from operation 1214 as just described, or initially from query operation 1206, if the stored job seeker profile 206 contains no previous applied for jobs, the job seeker 1202 is permitted to conduct a new search for jobs. In this case, perhaps the job seeker can provide different input parameters for the job search desired, such as a different location, title, etc. If such a new search is requested, control transfers to operation 1212 where the search is conducted and matching results are displayed as potential jobs. Control then passes to query operation 1214 as above described.
On the other hand, if the job seeker 1202 does not want to perform another job search at this time, the job seeker's job profile 206 is updated and stored, and control passes to return operation 1218 in which the current process 1200 terminates. The next time the job seeker 1202 logs into the system 1100, the above described process again begins, but this time with updated information in the job seeker's profile 206 based on the previously applied for jobs and correlations determined in the affinity module 112 described above.
The embodiments described above are exemplary and are not to be taken as limiting in any way. They are merely illustrative of the principles of the disclosure. Various changes, modifications and alternatives will be apparent to one skilled in the art Accordingly, it is intended that the art disclosed shall be limited only to the extent required by the appended claims and the rules and principles of applicable law.
Number | Name | Date | Kind |
---|---|---|---|
5062074 | Kleinberger et al. | Oct 1991 | A |
5164897 | Clark et al. | Nov 1992 | A |
5197004 | Sobotka et al. | Mar 1993 | A |
5671409 | Fatseas et al. | Sep 1997 | A |
5805747 | Bradford | Sep 1998 | A |
5832497 | Taylor | Nov 1998 | A |
5884270 | Walker et al. | Mar 1999 | A |
5931907 | Davies et al. | Aug 1999 | A |
5978768 | McGovern et al. | Nov 1999 | A |
6006225 | Bowman et al. | Dec 1999 | A |
6026388 | Liddy et al. | Feb 2000 | A |
6052122 | Sutcliffe et al. | Apr 2000 | A |
6144944 | Kurtzman, II et al. | Nov 2000 | A |
6144958 | Ortega | Nov 2000 | A |
6169986 | Bowman et al. | Jan 2001 | B1 |
6185558 | Bowman et al. | Feb 2001 | B1 |
6247043 | Bates et al. | Jun 2001 | B1 |
6263355 | Harrell et al. | Jul 2001 | B1 |
6304864 | Liddy et al. | Oct 2001 | B1 |
6363376 | Wiens et al. | Mar 2002 | B1 |
6370510 | McGovern et al. | Apr 2002 | B1 |
6385620 | Kurzius et al. | May 2002 | B1 |
6401084 | Ortega et al. | Jun 2002 | B1 |
6434551 | Takahashi et al. | Aug 2002 | B1 |
6453312 | Goiffon et al. | Sep 2002 | B1 |
6492944 | Stilp | Dec 2002 | B1 |
6502065 | Imanaka et al. | Dec 2002 | B2 |
6516312 | Kraft et al. | Feb 2003 | B1 |
6563460 | Stilp et al. | May 2003 | B2 |
6564213 | Ortega et al. | May 2003 | B1 |
6571243 | Gupta et al. | May 2003 | B2 |
6603428 | Stilp | Aug 2003 | B2 |
6615209 | Gomes et al. | Sep 2003 | B1 |
6646604 | Anderson | Nov 2003 | B2 |
6658423 | Pugh et al. | Dec 2003 | B1 |
6662194 | Joao | Dec 2003 | B1 |
6678690 | Kobayashi et al. | Jan 2004 | B2 |
6681223 | Sundaresan | Jan 2004 | B1 |
6681247 | Payton | Jan 2004 | B1 |
6697800 | Jannink et al. | Feb 2004 | B1 |
6701313 | Smith | Mar 2004 | B1 |
6782370 | Stack | Aug 2004 | B1 |
6853982 | Smith et al. | Feb 2005 | B2 |
6853993 | Ortega | Feb 2005 | B2 |
6873996 | Chand | Mar 2005 | B2 |
6912505 | Linden et al. | Jun 2005 | B2 |
6917952 | Dailey et al. | Jul 2005 | B1 |
6963867 | Ford et al. | Nov 2005 | B2 |
7016853 | Pereless et al. | Mar 2006 | B1 |
7043433 | Hejna | May 2006 | B2 |
7043443 | Firestone | May 2006 | B1 |
7043450 | Velez et al. | May 2006 | B2 |
7076483 | Preda et al. | Jul 2006 | B2 |
7080057 | Scarborough et al. | Jul 2006 | B2 |
7089237 | Turnbull et al. | Aug 2006 | B2 |
7124353 | Goodwin et al. | Oct 2006 | B2 |
7146416 | Yoo et al. | Dec 2006 | B1 |
7191176 | McCall et al. | Mar 2007 | B2 |
7225187 | Dumais et al. | May 2007 | B2 |
7249121 | Bharat et al. | Jul 2007 | B1 |
7424438 | Vianello | Sep 2008 | B2 |
7424469 | Ratnaparkhi | Sep 2008 | B2 |
7487104 | Scuik | Feb 2009 | B2 |
20010039508 | Nagler et al. | Nov 2001 | A1 |
20010042000 | DeFoor | Nov 2001 | A1 |
20010047347 | Perell et al. | Nov 2001 | A1 |
20010049674 | Talib et al. | Dec 2001 | A1 |
20020002479 | Almog et al. | Jan 2002 | A1 |
20020010614 | Arrowood | Jan 2002 | A1 |
20020026452 | Baumgarten et al. | Feb 2002 | A1 |
20020038241 | Hiraga | Mar 2002 | A1 |
20020045154 | Wood et al. | Apr 2002 | A1 |
20020046074 | Barton | Apr 2002 | A1 |
20020055867 | Putnam et al. | May 2002 | A1 |
20020055870 | Thomas | May 2002 | A1 |
20020059228 | McCall et al. | May 2002 | A1 |
20020072946 | Richardson | Jun 2002 | A1 |
20020091669 | Puram et al. | Jul 2002 | A1 |
20020091689 | Wiens et al. | Jul 2002 | A1 |
20020095621 | Lawton | Jul 2002 | A1 |
20020111843 | Wellenstein | Aug 2002 | A1 |
20020120532 | McGovern et al. | Aug 2002 | A1 |
20020133369 | Johnson | Sep 2002 | A1 |
20020143573 | Bryce et al. | Oct 2002 | A1 |
20020156674 | Okamoto et al. | Oct 2002 | A1 |
20020174008 | Noteboom | Nov 2002 | A1 |
20020194161 | McNamee et al. | Dec 2002 | A1 |
20020194166 | Fowler et al. | Dec 2002 | A1 |
20020195362 | Abe | Dec 2002 | A1 |
20020198882 | Linden et al. | Dec 2002 | A1 |
20030009437 | Seiler et al. | Jan 2003 | A1 |
20030009479 | Phair | Jan 2003 | A1 |
20030018621 | Steiner et al. | Jan 2003 | A1 |
20030023474 | Helweg-Larsen | Jan 2003 | A1 |
20030033292 | Meisel et al. | Feb 2003 | A1 |
20030037032 | Neece et al. | Feb 2003 | A1 |
20030046311 | Baidya et al. | Mar 2003 | A1 |
20030046389 | Thieme | Mar 2003 | A1 |
20030061242 | Warmer et al. | Mar 2003 | A1 |
20030093322 | Sciuk | May 2003 | A1 |
20030125970 | Mittal et al. | Jul 2003 | A1 |
20030144996 | Moore | Jul 2003 | A1 |
20030158855 | Farnham et al. | Aug 2003 | A1 |
20030172145 | Nguyen | Sep 2003 | A1 |
20030182171 | Vianello | Sep 2003 | A1 |
20030187680 | Fujino et al. | Oct 2003 | A1 |
20030191680 | Dewar | Oct 2003 | A1 |
20030195877 | Ford et al. | Oct 2003 | A1 |
20030204439 | Cullen | Oct 2003 | A1 |
20040030566 | Brooks Rix | Feb 2004 | A1 |
20047006447 | Swauger | Apr 2004 | |
20040107112 | Cotter | Jun 2004 | A1 |
20040107192 | Joao | Jun 2004 | A1 |
20040111267 | Jadhav et al. | Jun 2004 | A1 |
20040117189 | Bennett | Jun 2004 | A1 |
20040133413 | Beringer et al. | Jul 2004 | A1 |
20040163040 | Hansen | Aug 2004 | A1 |
20040186743 | Cordero | Sep 2004 | A1 |
20040193582 | Smyth | Sep 2004 | A1 |
20040210565 | Lu | Oct 2004 | A1 |
20040210600 | Chand | Oct 2004 | A1 |
20040210661 | Thompson | Oct 2004 | A1 |
20040219493 | Phillips | Nov 2004 | A1 |
20040225629 | Eder | Nov 2004 | A1 |
20040267554 | Bowman et al. | Dec 2004 | A1 |
20040267595 | Woodings et al. | Dec 2004 | A1 |
20040267735 | Melham | Dec 2004 | A1 |
20050004927 | Singer | Jan 2005 | A1 |
20050050440 | Meteyer et al. | Mar 2005 | A1 |
20050060318 | Brickman | Mar 2005 | A1 |
20050080656 | Crow et al. | Apr 2005 | A1 |
20050080657 | Crow et al. | Apr 2005 | A1 |
20050080764 | Ito | Apr 2005 | A1 |
20050080795 | Kapur et al. | Apr 2005 | A1 |
20050083906 | Speicher | Apr 2005 | A1 |
20050192955 | Farrell | Sep 2005 | A1 |
20050210514 | Kittlaus et al. | Sep 2005 | A1 |
20050216295 | Abrahamsohn | Sep 2005 | A1 |
20050228709 | Segal | Oct 2005 | A1 |
20050278205 | Kato | Dec 2005 | A1 |
20050278709 | Sridhar et al. | Dec 2005 | A1 |
20060047530 | So et al. | Mar 2006 | A1 |
20060100919 | Levine | May 2006 | A1 |
20060106636 | Segal | May 2006 | A1 |
20060116894 | DiMarco | Jun 2006 | A1 |
20060133595 | Ravishankar | Jun 2006 | A1 |
20060155698 | Vayssiere | Jul 2006 | A1 |
20060178896 | Sproul | Aug 2006 | A1 |
20060195362 | Jacobi et al. | Aug 2006 | A1 |
20060206448 | Hyder et al. | Sep 2006 | A1 |
20060206505 | Hyder et al. | Sep 2006 | A1 |
20060206517 | Hyder et al. | Sep 2006 | A1 |
20060206584 | Hyder et al. | Sep 2006 | A1 |
20060212466 | Hyder et al. | Sep 2006 | A1 |
20060229896 | Rosen et al. | Oct 2006 | A1 |
20060229899 | Hyder et al. | Oct 2006 | A1 |
20060265266 | Chen et al. | Nov 2006 | A1 |
20060265267 | Chen et al. | Nov 2006 | A1 |
20060265268 | Hyder et al. | Nov 2006 | A1 |
20060265269 | Hyder et al. | Nov 2006 | A1 |
20060265270 | Hyder et al. | Nov 2006 | A1 |
20070033064 | Abrahamsohn | Feb 2007 | A1 |
20070059671 | Mitchell | Mar 2007 | A1 |
20070273909 | Chen et al. | Nov 2007 | A1 |
20070288308 | Chen et al. | Dec 2007 | A1 |
20080133343 | Hyder et al. | Jun 2008 | A1 |
20080133499 | Hyder et al. | Jun 2008 | A1 |
20090198558 | Chen et al. | Aug 2009 | A1 |
Number | Date | Country |
---|---|---|
0146870 | Jun 2001 | WO |
Entry |
---|
International Search Report and the Written Opinion in connection with PCT/US06/08893 mailed Sep. 25, 2007. |
International Preliminary Report on Patentability in connection with PCT/US06/08906 issued on Sep. 12, 2007. |
International Search Report and the Written Opinion in connection with PCT/US06/08907 mailed on Oct. 22, 2007. |
International Search Report (PCT/US07/61162). |
Office Action issued in connection with U.S. Appl. No. 11/442,108 mailed on Jun. 18, 2009. |
Office Action issued in connection with U.S. Appl. No. 11/136,009 mailed on Apr. 1, 2009. |
Office Action issued in connection with U.S. Appl. No. 11/441,997 mailed on Aug. 6, 2009. |
Office Action issued in connection with U.S. Appl. No. 11/441,997 mailed on Feb. 19, 2009. |
Office Action issued in connection with U.S. Appl. No. 11/441,997 mailed on Oct. 23, 2008. |
Office Action issued in connection with U.S. Appl. No. 11/441,997 mailed on Apr. 17, 2008. |
Office Action issued in connection with U.S. Appl. No. 11/441,639 mailed on Sep. 11, 2009. |
Office Action issued in connection with U.S. Appl. No. 11/441,639 mailed on Mar. 18, 2009. |
Office Action issued in connection with U.S. Appl. No. 11/441,639 mailed on Apr. 17, 2008. |
Office Action issued in connection with U.S. Appl. No. 11/441,638 mailed on Aug. 4, 2009. |
Office Action issued in connection with U.S. Appl. No. 11/441,638 mailed on Jan. 26, 2009. |
Office Action issued in connection with U.S. Appl. No. 11/441,638 mailed on Oct. 29, 2008. |
Office Action issued in connection with U.S. Appl. No. 11/441,638 mailed on Apr. 8, 2008. |
Office Action issued in connection with U.S. Appl. No. 11/441,639 mailed on Oct. 14, 2008. |
Office Action issued in connection with U.S. Appl. No. 11/441,639 mailed on Jan. 29, 2010. |
Office Action issued in connection with U.S. Appl. No. 11/441,639 mailed on Jun. 3, 2010. |
Office Action issued in connection with U.S. Appl. No. 11/139,009 mailed on Mar. 29, 2010. |
Office Action issued in connection with U.S. Appl. No. 11/441,997 mailed on Jan. 25, 2010. |
Office Action issued in connection with U.S. Appl. No. 11/442,443 mailed on Jun. 8, 2010. |
Linden et al.; “Amazon.com Recommendations Item-to-Item Collaborative Filtering,” IEEE Internet Computing, vol. 7, No. 1, Jan./Feb. 2003; 76-80. University of Maryland. Department of Computer Science. Dec. 2, 2009 <http://www.cs.umd.edu/˜samir/498/Amazon-Recommendations.pdf>. |
Office Action issued in connection with U.S. Appl. No. 11/136,009 mailed on Mar. 29, 2010. |
U.S. Appl. No. 10/819,768 as filed. |
“Key” Oxford English Dictionary Online, located at <http://dictionary.oed.com>, last accessed on Sep. 23, 2006 (34 pgs). |
Calishan, T. et al., “Google Hacks” First Printing, pp. 18-24, 33, 288-289, 293-297, Feb. 2003. |
Dialog Chronolog., “New Features on DialogWeb TM”, Sep. 1998 (2 pgs). |
Dialog Information Services, “DialogOnDisc User's Guide”, Version 4.0 for DOS, (Jan. 1992) pp. v1, (c), 2-1, 2-2, 3-4, 3-5, 3-9, 3-10, 3-11, 3-15, 3-17, 3-19, 3-21, 4-11, 4-21, 4-22, 4-27, 5-2, 5-7, 5-8, 5-9, 2-10, 5-11, c-2. |
Dialog Information Services, “DialogLink for the WindowsTM Operating SystemUser's Guide”, (May 1995) Version 2.1 pp. 1-2, 1-3, 4-1, 4-2, 5-2, 5-3. |
DialogLink, “DialogLink for Windows and Machintosh: User's Guide”, Dec. 1993, Version 2.01, P/ (cover sheet), (3-11). |
dictionary.oed.com, “Oxford English Dictionary”, 1989-1997, retrieved Sep. 23, 2006, 2nd Ed. (34 pgs). |
Genova, Z. et al., “Efficient Summarization of URLs using CRC32 for Implementing URL Switching”, Proceedings of the 37th Annual IEEE Conference on Local Computer Networks LCN'02, Nov. 2002 (2 pgs.). |
Hammami, M. et al., “Webguard: Web Based Adult Content and Filtering System”, Proceedings of the IEEE/WIC Conference on Web Intelligence, Oct. 2003 (5 pgs.). |
Lam-Adesina, A.M. et al., “Applying Summarization Techniques for Term Selection in Relevance Feedback”, SIGIR'01, ACM Press, Sep. 9, 2001 (9 pgs). |
Merriam-Webster.com, “Merriam Webster Thesaurus”, located at <http://web.archive.org/web/20030204132348http://www.m-w.com>, visited on Feb. 4, 2003 (7 pgs). |
Netcraft, Site Report for “www.dialoweb.com”, (May 10, 1998), located at <http://toolbar.netcraft.com/site—report?url=http://www.dialogweb.com> last visited on Sep. 27, 2006, (1 pg). |
OED.com, “Definition of prescribed”, Dec. 2003, retrieved Mar. 3, 2008, located at <http://dictionary.oed.com/cgi/ent . . . >(2 pgs). |
Salton, G., “Abstracts of Articles in the Information Retrieval Area Selected by Gerald Salton”, ACM Portal: 39-50 (1986). |
Sherman, C. “Google Power, Unleash the Full Potential of Google”, McGraw-Hill/Osbourne, Aug. 23, 2005, pp. 42-47, 77, 80-81, 100-107, 328-239, 421-422. |
Sugiura, A. et al., “Query Routing for Web search engines: Architecture and Experiments”, Computer Networks 2000, pp. 417-429, Jun. 2000, located at www.elsevier.com/locate/comnet. |
Thomson Dialog. (2003) “DialogWeb Command Search Tutorial”, Dialog Web Version 2.0, located at <http://support.dialog.com/techdocs/dialogweb—command—tutorial.pdf#search=%22dialogweb%22> last visited on Dec. 10, 2002, (23 pgs). |
Thomson Products, Extrinsic Evidence of the Common Ownership and Distribution of DialogWeb & DialogOnDisc, located at <http://dialog.com/contacts/forms/member.shtml>, <http://dialog.com/products/platform/webinterface.shtml>, and <http://dialog.com/products/platform/desktop—app.shtml> last visited on Sep. 27, 2006 (3 pgs). |
Balabanovic, M. et al. “Fab: Content-Based, Collaborative Recommendation”, Communications of the ACM 40 (3):66-72, (Mar. 1997). |
Kawano, H. et al., “Mondou: Web Search Engine with Textual Data Mining”, 0-7803-3905, IEEE, pp. 402-405 (Mar. 1997). |
Tanaka, M. et al., “Intelligent System for Topic Survey in MEDLINE by Keyword Recommendation and Learning Text Characteristics”, Genome Informatics 11:73-82, (2000). |
Donath et al., “The Sociable Web” located at <http://web.web.archive.org/web/19980216205524/http://judith.www.media> visited on Aug. 14, 2003 (4 pgs). |
Liu, Yi et al., “Affinity Rank: A New Scheme for Efficient Web Search”, AMC 1-85113-912-08/04/0005, pp. 338-339 (May 2004). |
Ji, Minwen, “Affinity-Based Management of Main Memory Database Clusters”, AMC Transactions on Internet Technology, 2(4):307-339 (Nov. 2002). |
Careerbuilder.com “My Job Recommendations,” located at <http://www.careerbuilder.com/JobSeeker/Resumes/MyNewJobRecommendationsOrganized.aspx?sc—cmp2=JS—Nav—JobsRecs> visited on Oct. 1, 2007 (2pgs). |
Careerbuilder.com “Post Your Resume on Careerbuilder.com,” located at <http://www.careerbuilder.com/JobSeeker/Resumes/PostResumeNew/PostYourResume.aspx?ff=2> visited Oct. 1, 2007 (3 pgs). |
Office Action issued in connection with U.S. Appl. No. 10/819,768 dated May 21, 2010. |
Office Action issued in connection with U.S. Appl. No. 10/819,768 dated Dec. 22, 2009. |
Office Action issued in connection with U.S. Appl. No. 10/819,768 dated Jul. 1, 2009. |
Office Action issued in connection with U.S. Appl. No. 10/819,768 dated Jan. 21, 2009. |
Office Action issued in connection with U.S. Appl. No. 10/819,768 dated Jul. 1, 2008. |
Office Action issued in connection with U.S. Appl. No. 10/819,768 dated Dec. 20, 2007. |
Office Action issued in connection with U.S. Appl. No. 10/819,768 dated Jun. 4, 2007. |
Office Action issued in connection with U.S. Appl. No. 10/819,768 dated Dec. 20, 2006. |
Bettman, James R., “A Threshold Model of Attribute Satisfaction Decisions”, Journal of Consumer Research Policy Board, pp. 30-35 (1974). |
Office Action issued in connection with U.S. Appl. No. 11/442,443 dated Oct. 19, 2010. |
Office Action issued in connection with U.S. Appl. No. 11/136,009 dated Sep. 17, 2010. |
Office Action issued in connection with U.S. Appl. No. 11/441,997 dated Sep. 15, 2010. |
Office Action issued in connection with U.S. Appl. No. 12/241,497 dated Sep. 16, 2010. |
Office Action issued in connection with U.S. Appl. No. 11/372,497 dated Sep. 1, 2010. |
Official Action issued in connection with U.S. Appl. No. 11/442,443 mailed Mar. 3, 2011. |
Official Action issued in connection with U.S. Appl. No. 11/136,009 mailed Jan. 4, 2011. |
Official Action issued in connection with U.S. Appl. No. 11/441,997 mailed Dec. 14, 2010. |
Official Action issued in connection with U.S. Appl. No. 10/819,768 mailed Dec. 10, 2010. |
Official Action issued in connection with U.S. Appl. No. 11/442,108 mailed Jan. 6, 2011. |
Official Action issued in connection with U.S. Appl. No. 12/241,497 mailed Mar. 22, 2011. |
Number | Date | Country | |
---|---|---|---|
20060265266 A1 | Nov 2006 | US |