The present disclosure relates to computerized systems that can determine semantic information from review of the text of documents. More specifically, the present disclosure relates to a computer system and corresponding methodology to semantically review resumes, writing samples, questionnaires, and other documents including employment-related information about a person and provide comprehensive and robust recommendations regarding employment for that person.
Persons seeking career and employment advice have several avenues to seek advice. The persons can consult another individual, such as career counselor or human resource specialist, and that individual will obtain documents from the person, such as their resume, employment history, perhaps also giving them a questionnaire, and then potentially will also interview the candidate to learn more information about the person. Once the information is gathered by the counselor, she will use her personal experience and knowledge to review and condense the data to arrive at a suggested course of employment or career guidance for the person.
The use of a personal career counselor, however, is an individualized experience and relies upon the experience and training of the counselor. Consequently, the personal career guidance it relies upon individual preferences to emphasize some employment attributes and ignore others. The career guidance is also likely to vary based upon the individual career counselor visited.
There are extant automated career guidance computer systems, often provided through websites on the Internet. The automated systems are capable of parsing data from resumes and other uploaded documents that provide employment related information. The automated systems can also use guided questionnaires provided to applicants across the Internet to get more personalized information from the person that can be utilized for career guidance. The extant systems will then use basic and well-known heuristics to provide career advice based upon the data collected. Simple term matching and other comparisons with known data templates are the most common semantic analysis used given the data of a person using the system. The analysis provided by the automated system can be more consistent and thorough than that provided by a career counselor, but may not be able to perform a deep semantic review of a unique individual to provide very thorough and uniquely tailored career guidance.
According to an embodiment of the present disclosure, a system, method, and computer readable product is shown for providing data for career advice, such as recommending jobs or education, from automated review and analysis of the career-related data for an individual, which is initially obtained from career-related documents, such as resumes and writing samples. An individual is designated to receive career advice data, such as through a person interacting with a web site or a person inputting an individual's data into the system. Career-related data is then obtained from documents that include career-related data for the designated individual, and a personality estimate is created for the designated individual based upon, at least, the obtained career-related data. One or more of latent factor models are then gathered from a database of the models, where the latent factor models of known-career personality matches based upon, at least, mapping of predetermined personality traits onto career-related data.
A predetermined questionnaire is then provided to the designated individual for gathering additional career-related data to augment the personality estimate. The questionnaire can include optimized iterative questions to determine the personality traits of the designated individual. Upon receipt of the answers to the questions, that data can be integrated with the personality estimate and one or more latent factor models to create the career advice data. The career advice is then created from integrating the created personality estimate with the one or more latent factor models.
In one embodiment, the personality estimate can be based upon, at least, pre-created personality traits that were determined to create the latent factor models. The personality traits can be created based upon multi-dimensional statistical estimates. The system can also be embodied to create and store the one or more latent factor models in a database.
The career-advice data can be outputted to the designated individual in several manners, such as a career recommendation based upon the personality estimate, an educational recommendation, or an optimal matched career with the greatest earning potential. The obtaining of career-related data from one or more documents can be done from gathering data from many types of documents, such as a resume, a writing sample, or a general search of data related to the designated individual. The general search can be of any specific database or even the Internet generally.
In one embodiment, the latent factor models of known-career personality matches can be created based upon, at least, mapping of predetermined personality traits onto career-related data, and storing the one or more latent factor models in a database. Furthermore, integrating the created personality estimate with the one or more latent factor models to create career advice data can be done by creating a job-personality matrix. And in one embodiment, the creation of one or more latent factor models can be performed through utilizing tensor factorization.
Detailed embodiments of the claimed structures and methods are disclosed herein; however, it can be understood that the disclosed embodiments are merely illustrative of the claimed structures and methods that may be embodied in various forms. The present disclosure may, however, be embodied in many different forms and should not be construed as limited to the exemplary embodiments set forth herein. Rather, these exemplary embodiments are provided so that this disclosure will be thorough and complete and will fully convey the scope of the present disclosure to those skilled in the art. In the description, details of well-known features and techniques may be omitted to avoid unnecessarily obscuring the presented embodiments.
As shown in
In
Additionally, in
Communication Interface 116, in
In various embodiments, the applications 210 stored at the computer device 200 may include, but are not limited to, a career advice API 214, the personality traits 216 to be used in the process, and stored latent factor models 218 to be used in providing the career advice, and so on, through an Nth software application 220. During execution on the computer device 200, each of the applications 210 may be configured to cause the computer device 200 to initiate data communications with other devices across the network. In this embodiment, the career advice API 214 can be displayed to the designated individual seeking career guidance, or can be accessed by a person attempting to obtain career advice for a different designated individual, such as a job applicant, further described herein.
The computer device 200 may be also configured to communicate over a telecommunications network using any common wireless and/or wired network access technology. Moreover, the computer device 200 may be configured to run any compatible device OS, including but not limited to, Microsoft Windows Mobile®, Google Android®, Apple iOS®, Linux Mobile®, as well as any other common mobile device OS. The resident device OS 208 may have one or more resident diagnostic applications or tools, such as Android Debug Bridge, that can be executed to generated diagnostic information for the computer device 200.
Each of the one or more processor(s) 202 can include one or more central processing units (CPUs) having multiple arithmetic logic units (ALUs) that perform arithmetic and logical operations, as well as one or more control units (CUs) that extract instructions and stored content from processor cache-level memory, and then executes instructions by calling on the ALUs during program execution. In an implementation, the processor(s) 202 may be configured to execute each of the software applications 210 stored in the memory 206. In various embodiments, the network interface module 212 may be configured to detect an action (e.g., operation, command, user input) directed to one of the applications 210, the action triggering the generation of a data transfer request and a transmission of the data transfer request.
The memory 206 may be implemented using computer readable media, such as computer storage media. In various embodiments, the memory 206 may store a virtual computer device. In various embodiments, the multiple layers may also correspond to the Internet Protocol (IP) suite. For example, in various embodiments, the computer device 200 may execute a program on each of a physical layer, a data link/radio layer, a network layer/Internet layer, a transport layer, a session layer, a presentation layer, and an application layer, as a data packet is generated and configured amongst the layers for communication from the computer device 200 to the other computer devices.
The present disclosure may be a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present disclosure.
It should be appreciated that the computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. For example, the computer readable storage medium may be, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
Computer readable program instructions for carrying out operations of the present disclosure may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA), may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present disclosure.
Aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
Through the use of the initial personality estimate, the generation of more accurate career advice is possible because the data gathering process will commence with more tailored guidance for the later questioning and refinement. Thus, in one embodiment, the initial personality estimate can be considered a Bayesian prior from which to commence the career advice-generating process.
The initial personality assessment 306 yields an interactive personality trait estimation, as shown at block 308, to then generate a basic user profile 314, that at least includes the personality of the user in a quantified manner. Then a career recommender 316 can be at least initially determined, at least based on the writing samples 302, or in conjunction with the user resume 304.
The writing samples 302 are used for the initial personality estimate 306 because they tend to give a better insight than a raw input of career data that is often disclosed in user resumes 304. The writing samples 302 can be a general writing sample of the designated individual that may or may not have been created with respect to a specific employment. The writing samples 302 could also have been requested by the system 300 with respect to gathering information on a specific personality trait of the designated individual, and can be iterative to obtain the most optimal information.
In this embodiment, the user resumes 304 and their corresponding career-related data are gathered and analyzed, as shown at block 310. The resume can be used to gather career duration data, either for a specific job or in a specific career area. This is useful information in determining what career area the user has the most experience in and likely a preference for. The analyzed career-related data is then routed and utilized in several different manners. The data can be routed to a common career paths database 312 to link the previous jobs to the common career paths such that current career paths can be determined or suggested for the designated individual. The information from the common career paths database 312 is then combined with a job catalog database 320, which can include deeper information on the career paths, such as experience and education required for the job. The combined information on common career paths and job catalog can then be provided to the career recommender, at block 316.
Returning to the analysis of resumes at block 310, such analysis can also be provided to the user profile database 314 to augment the data stored thereat. In such manner, it can be seen that the entire process of data collection here can be integrated among the components to refine the recommended jobs. On the career recommender is used to generate one or more potential career paths at block 316, then the recommended jobs and/or any needed education or learning opportunities can be outputted to the user/designated individual, as shown at block 318.
If the results are not complete at decision 426, then the process iterated to identify the most informative next question at step 420. Otherwise, if the results are complete at decision 426, then the subprocess is ended, as shown at termination 428, and the process returns to step 410 in
The range of potential answers are pre-filtered here to lessen computational complexity, as shown by column 506 of the potential answers. Thus, for n answers for M questions, the data set for analysis will be M×n, as shown in column 510. The potential answers impact on the new personality sub-estimate 508 is then generated and the mutual information is computed for each new personality sub-estimate and the current personality estimate, as shown by column 510. This step unifies the new personality information into units that are then aggregated into specific information relating to specific questions, as shown at column 512, where each potential question is vetted to determine the greatest movement or best refinement of the new personality estimate. The aggregate can be performed in a variety of manners, such as simple data matching, average responses, pattern recognition, largest or average mutual information (MI) or other methods know in the art. Then the next question to ask is determined, which, in this embodiment, maximizes the aggregate mutual information (MI), as shown at block 514. The next question is then output to the user. An example of this output step can be step 422 in the subprocess of
The present method shown is a brute-force parallel predictive method to determine the optimal next question to ask the designated individual. Other methods, such as a Monte Carlo simulation or other random or purposeful iterative processes, can be utilized in the system to predict the optimal next question likely to give better career guidance.
An initial determination of the job/career field success factors are then made for the designated individual, as shown at step 608. This initial determination of success factors allows a job-personality matrix to be created for the designated individual, as shown at step 610. In one embodiment, the matrix can be created via matrix factorization, as would be known to one of skill in the art. The latent factor models job personalities are gathered, as shown at step 612, and then a determination is made as to whether the questionnaire needs to be provided to the designated individual, as shown at decision 616. If the questionnaire does not need to be utilized at decision 616, then the process forward to determine the designated individual's expected success factor for each job and career field, as shown at step 620.
Otherwise, if the questionnaire is being used at decision 616, then the questionnaire, such as those described in
Otherwise, if there is not adequate data to make a prediction at decision 622, then a determination is made on what additional career-related data is needed, as shown at step 628, and the process iterated to step 602 to again gather more career-related data. In such manner, the process can continue until reliable career-advice can be given for the designated individual, such as specific jobs, career field areas, and potential educational needs and opportunities.
It should further be appreciated that the reports and information that the system can provide are not limited in their nature. The reports can be individualized recommendations to a person that is directly utilizing the system 300 to receive career guidance. The reports can also be for an employer or other third party that would like a recommendation on the potential employability of an individual. It should also be appreciated that other data can be utilized and integrated with the career-related data to potentially enhance the career advice, such as psychological profiling, search data of social media and Internet searches generally, searches of credit agencies, and other personal information databases.
Detailed embodiments of the claimed structures and methods are disclosed herein; however, it can be understood that the disclosed embodiments are merely illustrative of the claimed structures and methods that may be embodied in various forms. The present disclosure may, however, be embodied in many different forms and should not be construed as limited to the exemplary embodiments set forth herein. Rather, these exemplary embodiments are provided so that this disclosure will be thorough and complete and will fully convey the scope of the present disclosure to those skilled in the art. In the description, details of well-known features and techniques may be omitted to avoid unnecessarily obscuring the presented embodiments.