Intelligent Assistant System for Conversational Job Search
Patent Information
- Application Number
- JP2024547020
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-02-16
- Filing Date
- 2022-12-29
- Publication Date
- 2025-03-05
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
【0007】 本開示の上記の特徴を詳細に理解できるように、上記で簡単に要約した本開示のより具体的な説明は、実施形態を参照することによって得ることができ、そのうちのいくつかは、添付された図面に例示される。しかしながら、添付された図面は、本開示の典型的な実施形態のみを例示しており、したがって、本開示は、他の同様に効果的な実施形態を許容し得るため、本開示の範囲を限定すると見なされるものではないことに留意されたい。
Smart Images

Figure 2025506009000001_ABST
Abstract
Description
[Technical field]
[0001] This application claims priority to U.S. Patent Application No. 63 / 268,105, filed February 16, 2022, which is incorporated by reference in its entirety.
[0002] SUMMARY OF THE DISCLOSURE The embodiments disclosed herein generally relate to an intelligent assistant system for delivering work results to a user in a natural language format. [Background technology]
[0003] The job search process is often a time-consuming and frustrating process for candidates. Traditional job boards and job sites typically do not have powerful search capabilities. Traditional job boards and job sites also do not proactively answer candidates' questions about potential positions. Summary of the Invention [Means for solving the problem]
[0004] In some embodiments, a method is disclosed herein: A computing system establishes a dialogue with a candidate computing system via an intelligent assistant. The intelligent assistant of the computing system prompts the candidate computing system for information related to the job search. The prompts are performed in natural language. The computing system generates a query by applying natural language processing and natural language understanding techniques to communications sent by the candidate computing system during the dialogue. The computing system compares the query to a database of job openings. The intelligent assistant of the computing system communicates potential job matches to the candidate computing system via the dialogue based on the comparison.
[0005] In some embodiments, a non-transitory computer readable medium is disclosed herein. The non-transitory computer readable medium includes one or more sequences of instructions that, when executed by one or more processors, cause a computing system to perform operations. The operations include establishing, by the computing system, a dialogue with a candidate computing system via an intelligent assistant. The operations further include prompting, by the intelligent assistant of the computing system, the candidate computing system with information regarding the job search. The prompts are performed in natural language. The operations further include generating a query by the computing system by applying natural language processing and natural language understanding techniques to communications sent by the candidate computing system during the dialogue. The operations further include comparing, by the computing system, the query to a database of job openings. The operations further include communicating, by the intelligent assistant of the computing system, via the dialogue, a potential job match based on the comparison to the candidate computing system.
[0006] In some embodiments, a system is disclosed herein. The system includes a processor and a memory. The memory has stored programming instructions that, when executed by the processor, cause the computing system to perform operations. The operations include establishing a dialogue with a candidate computing system via an intelligent assistant. The operations further include prompting, by the intelligent assistant, the candidate computing system with information related to the job search. The prompts are performed in natural language. The operations further include generating a query by applying natural language processing and natural language understanding techniques to communications sent by the candidate computing system during the dialogue. The operations further include comparing the query to a database of job openings. The operations further include communicating, by the intelligent assistant, via the dialogue, potential job matches based on the comparison to the candidate computing system.
[0007] So that the above-mentioned features of the present disclosure can be understood in detail, a more particular description of the present disclosure briefly summarized above can be had by reference to embodiments, some of which are illustrated in the attached drawings. It should be noted, however, that the attached drawings illustrate only typical embodiments of the present disclosure, and therefore should not be considered as limiting the scope of the present disclosure, since the present disclosure may admit of other equally effective embodiments. [Brief description of the drawings]
[0008] [Figure 1] FIG. 1 is a block diagram illustrating a computing environment according to one exemplary embodiment.
[0009] [Diagram 2] FIG. 2 is a block diagram illustrating an example workflow for facilitating a job search using an intelligent assistant, according to an example embodiment.
[0010] [Diagram 3] FIG. 3 is a flow diagram illustrating a method for performing a job search using a natural language intelligent assistant according to an example embodiment.
[0011] [Figure 4] FIG. 4 is a diagram illustrating a graphical user interface presenting an established interaction between a client device and an intelligent assistant, according to an exemplary embodiment.
[0012] [Figure 5A] FIG. 5A is a diagram illustrating a system bus computing system architecture, according to an exemplary embodiment.
[0013] [Figure 5B] FIG. 5B is a diagram illustrating a computer system having a chipset architecture, according to an exemplary embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0014] For ease of understanding, the same reference numbers have been used, where possible, to designate identical elements common to the figures. It is contemplated that elements disclosed in one embodiment may be beneficially utilized on other embodiments without specific reference.
[0015] In general, the majority of a candidate's job search typically begins with the candidate visiting a job board or career site. The candidate may enter structured search criteria, such as a job category, job title, or location, into text fields or drop-down selections on the job board or career site. Such a process can be frustrating for candidates for a variety of reasons. For example, a user may need to individually review every job posting on the job board or career site to determine whether the user is even eligible to apply for a job. In another example, the search or filtering limitations of the job board or career site may prevent the user from generating complex search queries. Such limitations of conventional systems may lead candidates to seek the assistance of job recruiters, which can increase the overall recruiting costs for a business as a result of fees paid to job recruiters.
[0016] One or more techniques described herein improve upon traditional job bulletin boards and career sites by providing users with a more natural conversational experience, such as would be expected when speaking with a job recruiter about their job interests. To facilitate this, a business, entity, or organization may utilize intelligent assistant integration that leverages a combination of natural language processing (NLP) and natural language understanding (NLU) to facilitate or assist a candidate's job search. The intelligent assistant may facilitate a natural language conversation with a candidate to assist the candidate in their job search. For example, a candidate may speak to a conversational assistant and ask, "Are there any sales jobs in Phoenix?" In response, the intelligent assistant may summarize the query and provide personalized job results to the candidate within seconds. As the conversation progresses, the intelligent assistant may ask the candidate for more specific search criteria, eventually presenting the most relevant jobs that the candidate desires most. Furthermore, thanks to natural language processing and natural language understanding, the intelligent assistant can handle complex queries that traditional filters and Boolean searches cannot handle. In this way, the intelligent assistant provides recruiter-level quality search to candidates and reduces recruiter costs to organizations.
[0017] The term "user" or "candidate" as used herein includes, for example, an individual or entity that owns a computing or wireless device, an individual or entity that operates or utilizes a computing or wireless device, or an individual or entity that is associated in any way with a computing or wireless device. The term "user" or "candidate" is not intended to be limiting and may include a variety of examples other than those described.
[0018] 1 is a block diagram illustrating a computing environment 100 according to one embodiment. The computing environment 100 may include at least one or more client devices 102, a back-end computing system 104, and a third-party system 106 that communicate over a network 105.
[0019] Network 105 may be of any suitable type, including a separate connection over the Internet, such as a cellular network or a Wi-Fi network. In some embodiments, network 105 may connect terminals, services, and mobile devices using radio frequency identification (RFID), near field communication (NFC), Bluetooth, low energy Bluetooth (BLE), Wi-Fi, ZigBee, ambient backscatter communication (ABC) protocol, USB, direct connections, such as WAN, or LAN. Because the information transmitted may be personal or sensitive, security concerns may require one or more of these types of connections to be encrypted or otherwise protected. However, in some embodiments, the information transmitted is not very personal, so a network connection may be selected that prioritizes convenience over security.
[0020] Network 105 may include any type of computer network configuration used to exchange data. For example, network 105 may be the Internet, a private data network, a virtual private network using a public network, and / or other suitable connections that enable components within computing environment 100 to send and receive information between components of computing environment 100.
[0021] The client device 102 may be operated by a user (e.g., a candidate). For example, the client device 102 may be a mobile device, a tablet, a desktop computer, or any computing system having the functionality described herein. The client device 102 may include at least an application 110 and a web browser 112. In some embodiments, the application 110 may be a standalone application associated with the third party system 106. In some embodiments, the web browser 112 may enable access to a website associated with the third party system 106. The client device 102 may access the application 110 or the web browser 112 to access content associated with the third party system 106. In some embodiments, the client device 102 may communicate over the network 105 to, for example, request a web page from a web client application server 114 of the third party system 106. For example, the client device 102 may be configured to execute the application 110 or the web browser 112 to access content managed by the web client application server 114. Content to be displayed on the client device 102 may be transmitted from the web client application server 114 to the client device 102 and then processed by the application 110 or the web browser 112 for display via a graphical user interface (GUI) of the client device 102.
[0022] The third-party system 106 may include at least a web client application server 114 and an intelligent assistant integration 116. The intelligent assistant integration 116 may enable the third-party system 106 to incorporate an intelligent assistant associated with the back-end computing system 104 into a website associated with the third-party system 106 or into content presented via an application 110 associated with the third-party system 106. For example, the intelligent assistant may be incorporated into a web page of a website associated with the third-party system 106 (e.g., a job bulletin board, a career site, etc.), a web-based platform, a messaging application (e.g., Facebook Messenger, WhatsApp, Singal, etc.), a mobile application (e.g., a standalone application 110), a short message service (SMS) application, a multimedia messaging service (MMS) application, etc. For example, the intelligent assistant integration 116 may take the form of code that may be inserted into the web code of a website hosted by the web client application server 114. In another example, the intelligent assistant integration 116 may take the form of code that may be inserted into the code of an application 110 running on the client device 102. An intelligent assistant supported by the backend computing system 104 may be incorporated into the content provided by the third party system 106 when inserted into the web code of a website or the code of the application 110. Thus, when a user of the client device 102 accesses the application 110, the application 110 may render the intelligent assistant associated with the backend computing system 104.In some embodiments, when a user of a client device 102 requests a website from a web client application server 114, the web browser 112 may render, within the website, an intelligent assistant associated with the backend computing system 104.
[0023] The back-end computing system 104 may include at least a web client application server 124, an intelligent assistant 126, a natural language processing (NLP) module 128, a natural language understanding (NLU) module 130, a job search service 132, a place search service 134, and a translation service 136. Each of the intelligent assistant 126, the NLP module 128, the NLU module 130, the job search service 132, and the place search service 134 may be comprised of one or more software modules. The one or more software modules are a collection of codes or instructions stored on a medium (e.g., a memory of the back-end computing system 104) and represent a sequence of machine instructions (e.g., program code) that implement one or more algorithmic steps. Such machine instructions may be actual computer code that a processor of the back-end computing system 104 interprets to implement the instructions, or may be higher-level coding of the instructions that are interpreted to obtain the actual computer code. The one or more software modules may also include one or more hardware components. One or more aspects of the example algorithms may be executed by hardware components (eg, circuitry) themselves, rather than as a result of instructions.
[0024] In some embodiments, when the client device 102 requests a website from the web client application server 114 from the third party system 106, the web client application server 114 may provide the web browser 112 of the client device 102 with web code associated with the web page. For example, the web browser 112 may send a HyperText Transfer Protocol (HTTP) request to the web client application server 114. The web client application server 114 may read the request and send an HTTP message back to the application 110. The response from the web client application server 114 may include HyperText Markup Language (HTML) code corresponding to the website. The HTML code may include web code associated with the intelligent assistant integration 116. Thus, when the web browser 112 processes the HTML code for presentation to the user of the website, a connection may be established between the client device 102 and the backend computing system 104.
[0025] In some embodiments, when the client device 102 accesses content associated with the third-party system 106 through the application 110, the application 110 may utilize one or more application programming interfaces (APIs) to access the functionality of the intelligent assistant integration 116. Thus, when the application 110 establishes a connection with the back-end computing system 104 through one or more APIs, a connection may be established between the client device 102 and the back-end computing system 104.
[0026] The intelligent assistant 126 may be configured to interact with a user. In some embodiments, the intelligent assistant 126 may interact with a user when the user accesses a web page. For example, when the web page is rendered within the web browser 112, the web browser 112 may further render a graphical representation of the intelligent assistant 126. The intelligent assistant 126 may receive messages from the client device 102. The intelligent assistant 126 may utilize one or more natural language processing and natural language understanding techniques to determine the meaning of the user's message and the context of the user's message.
[0027] In some embodiments, the intelligent assistant 126 may be configured to facilitate a conversation with a user. For example, a candidate may interact with the intelligent assistant 126 by asking, "Are there any sales jobs in Phoenix?" and the intelligent assistant 126 may provide the user with personalized job results based on this inquiry through various modules discussed below. In some embodiments, as the conversation progresses, the intelligent assistant 126 may prompt the candidate for more specific search criteria and ultimately present the candidate with the most relevant jobs. In this manner, the intelligent assistant 126 may have the ability to facilitate a dialogue with the candidate.
[0028] In some embodiments, the conversations directed by the intelligent assistant 126 may be configured to mimic the conversations of a recruiter. For example, the intelligent assistant 126 may be trained to ask qualitative job attribute-based questions to better understand a candidate's best job fit. For example, the intelligent assistant 126 may ask the candidate questions including, but not limited to, "Do you see yourself as a social person or an individual-oriented person?" or "Do you see yourself as a big picture person or a detail-oriented person?"
[0029] In some embodiments, the intelligent assistant 126 may be further configured to handle complex queries. For example, the intelligent assistant 126 may support multiple searches in natural language at once, such as "I want to get a sales or marketing job in Phoenix or Los Angeles." The intelligent assistant 126 may be configured to seamlessly combine multiple requests to generate optimal results to present to the candidate.
[0030] In some embodiments, the intelligent assistant 126 may assist candidates in seeking additional information about a potential job opening. For example, a candidate may ask the intelligent assistant 126, "How much experience do I need for this job?" Such additional functionality is often extremely useful in mediums where visual interfaces are limited or nonexistent, such as SMS text messaging or voice assistant tools like Amazon Alexa.
[0031] In some embodiments, the intelligent assistant 126 may utilize information learned from previous searches on other candidates to proactively recommend similar jobs to target candidates.
[0032] In some embodiments, rather than the candidate initiating a dialogue with the intelligent assistant 126, the candidate may simply upload their resume to the intelligent assistant 126 for analysis. For example, based on the candidate's resume, the intelligent assistant 126 may be configured to identify jobs relevant to the user based on one or more of experience, education, and location.
[0033] In some embodiments, the intelligent assistant 126 can proactively suggest new and highly recommended jobs in the candidate's areas of interest or location without requiring the candidate's input.
[0034] In some embodiments, the dialogue or content provided by the candidate to the intelligent assistant 126 may be provided to the NLP module 128 and the NLU module 130 for analysis. The NLP module 128 may be configured to analyze and process documents uploaded by end users via a website. In some embodiments, the user may upload documents when prompted by the intelligent assistant 126. The NLP module 128 may be configured to summarize and extract information from the dialogue or content. For example, the NLP module 128 may be trained to extract key terms, such as, but not limited to, information related to a potential job title (e.g., analyst), information related to potential salary requirements, information related to a particular geographic location, etc. In some embodiments, such as when the candidate uploads a resume, the NLP module 128 may be further configured to extract terms related to one or more of work history, education history, job skills, keywords, etc.
[0035] The NLU module 130 may work in conjunction with the NLP module 128. For example, the NLU module 130 may be configured to analyze surrounding terms in addition to the extracted terms to understand the context of each term. For example, "analyst" may correspond to multiple possible job titles due to the broadness of the term "analyst." The NLU module 130 may analyze the surrounding terms to determine the type of analyst job the candidate is seeking.
[0036] In some embodiments, the NLP module 128 and the NLU module 130 may work together to identify semantically similar search terms. For example, assume that a candidate interacts with the intelligent assistant 126 and seeks a cashier position. The NLP module 128 and the NLU module 130 may work together to determine that "sales associate" may be another term used for such a position. In this manner, the job search service 132 may perform a search query based on the terms "cashier" and "sales-related" separately to cover a range of job results that are otherwise unrelated to each other.
[0037] The job search service 132 may be configured to search for relevant jobs based on the extracted information. For example, after the NLP module 128 and the NLU module 130 extract key terms and determine the search intent of the candidates, the job search service 132 may utilize one or more search algorithms to match the NLP / NLU extracted data or values with job openings stored in the database 108. In some embodiments, the search algorithm may be based on one or more of Euclidean distance, cosine similarity, Jaccard similarity, and the like. In some embodiments, the search algorithm may retrieve jobs from the database 108 and convert the retrieved jobs into an inverse data structure for quick retrieval. In some embodiments, to rank jobs, the search algorithm may include one or more of BM25 similarity, deviation from randomness (DFR) similarity, deviation from independence (DFI) similarity, information-based (IB) similarity, language model (LM) Dirichlet similarity, script similarity, and the like.
[0038] In some embodiments, the backend computing system 104 may further include a place lookup service 134. The place lookup service 134 may be configured to determine or infer a location of a candidate. For example, in some embodiments, the place lookup service 134 may execute an algorithm to determine a location of a candidate from the candidate's Internet Protocol address (if communicating over the Internet) or area code (if communicating over SMS). The place lookup service 134 may then convert the determined location of the candidate into a geographic point. The location information determined by the place lookup service 134 may be provided to the job search service 132 as additional search constraints.
[0039] In some embodiments, the place lookup service 134 may be further configured to match the candidate's desired work location with a normalized precise location based on latitude and longitude parameters to pinpoint possible work locations relevant to the candidate's search. In some embodiments, if multiple locations match (e.g., "Glendale" may match Glendale, Arizona and Glendale, California), the place lookup service 134 may prompt the intelligent assistant 126 to explore further information about the candidate. For example, the place lookup service 134 may request the candidate to select a specific location that the candidate means from among multiple locations identified by the place lookup service 134.
[0040] Although the place lookup service 134 is illustrated as a component of the backend computing system 104, those skilled in the art will appreciate that the place lookup service 134 may be an external service accessed by the backend computing system 104 via one or more APIs.
[0041] In some embodiments, the backend computing system 104 may further include a translation service 136. The translation service 136 may be configured to provide a multilingual search experience to candidates, thereby enabling the candidates to interact with the intelligent assistant 126 in a variety of languages. For example, the translation service 136 may be configured to receive a multilingual search query and translate the multilingual search query into the candidate's preferred language.
[0042] Although the translation service 136 is illustrated as a component of the backend computing system 104, those skilled in the art will appreciate that the translation service 136 may be an external service accessed by the backend computing system 104 via one or more APIs.
[0043] The database 108 may be configured to store job information. In operation, the job search service 132 may generate a query based on the string of search terms generated by the NLP module 128 and the NLU module 130. In some embodiments, the job search service 132 may further generate a search query based on location information generated by the place search service 134. The job search service 132 may compare the query to the database 108.
[0044] In some embodiments, the database 108 may be populated directly by one or more clients or entities. For example, a client or organization may upload job data via an external feed. In some embodiments, the database 108 may be populated by the back-end computing system 104. For example, the back-end computing system 104 may utilize web crawler and / or screen scraping functionality to gather job data from a client's career site. Thus, as shown, the database 108 may be organized by clients (e.g., clients 140). Each client 140 may include job postings 142, and each job posting 142 has a number of job parameters 144. Exemplary job parameters 144 may include, but are not limited to, job title, job category, description, location, job type, status, etc.
[0045] FIG. 2 is a block diagram illustrating an example workflow 200 for facilitating a job search using the intelligent assistant 126, according to an example embodiment.
[0046] As shown, the workflow 200 may begin at step 202. In step 202, the client device 102 may initiate a conversation. In step 204, the client device 102 may send a message to the intelligent assistant 126. In some embodiments, the client device 102 may send a message to the intelligent assistant 126 via the intelligent assistant integration 116 in a third-party application or website. In general, the message may be in a natural language format. For example, a candidate may send a message stating, "I am looking for a job." In another example, a candidate may be more specific and send a message stating, "I am looking for a sales assistant job in Sunnyvale." In another example, a candidate may provide what is considered a "complex" request. For example, a candidate may send a message stating, "I am looking for a sales assistant job in Sunnyvale or San Diego."
[0047] In step 206, the intelligent assistant 126 may provide a message or messages to the NLP module 128 and the NLU module 130 for analysis. The NLP module 128 and the NLU module 130 may work together to process and understand the candidate's message and generate a query from the candidate's natural language message. For example, the NLP module 128 may extract key terms, such as, but not limited to, information related to a potential job title (e.g., analyst), information related to potential salary requirements, information related to a particular geographic location, etc. The NLU module 130 may analyze surrounding terms in addition to the extracted terms to understand the context of each term.
[0048] In step 208, the NLP module 128 and the NLU module 130 may determine whether there is enough information from the candidate's message to generate a query. For example, if the candidate only sends a message stating "I am looking for a job," such a message may not be sufficient for the NLP module 128 and the NLU module 130 to generate a viable query.
[0049] In step 208, if the NLP module 128 and the NLU module 130 determine that more information is needed from the candidate, the workflow 200 may proceed to step 210. In step 210, the intelligent assistant 126 may prompt the candidate for additional job details to complete the search. For example, the intelligent assistant 126 may ask the candidate, in natural language, what type of job they are seeking. In another example, the intelligent assistant 126 may ask the candidate, in natural language, what geographic area the candidate is seeking the position.
[0050] In step 212, the client device 102 may respond to the intelligent assistant 126. For example, the candidate may respond in natural language to a prompt from the intelligent assistant 126 via the client device 102.
[0051] In step 214, the NLP module 128 and the NLU module 130 may work together to process and understand the candidate's additional messages and generate queries from the candidate's natural language messages. For example, the NLP module 128 may extract key terms, such as, but not limited to, information related to potential job titles (e.g., analyst), information related to potential salary requirements, information related to specific geographic locations, etc. The NLU module 130 may analyze the extracted terms as well as surrounding terms to understand the context of each term.
[0052] However, if in step 208, the NLP module 128 and the NLU module 130 determine that there is sufficient information in the original message, the workflow 200 may also proceed to step 214 to perform those actions.
[0053] In step 216, the job search service 132 may generate a query based on the extracted information. For example, the job search service 132 may utilize one or more search algorithms to match the NLP / NLU extracted data or values with job openings stored in the database 108. In some embodiments, the search algorithm may be based on one or more of Euclidean distance, cosine similarity, Jaccard similarity, etc.
[0054] In step 222, the job search service 132 may compare the query to the database 108 to identify matching jobs. For example, based on a search algorithm, the job search service 132 may receive a plurality of potential jobs from the database 108. The job search service 132 may process the search results and identify a subset of the plurality of potential jobs based on a relevance score. In some embodiments, the job search service 132 may remove potential jobs that do not meet a threshold relevance score.
[0055] In step 224, the intelligent assistant 126 may receive the job matching results from the job search service 132 and may send the job matching results back to the client device 102. The intelligent assistant 126 may provide the job matching results to the client device 102 in a natural language format.
[0056] In step 226, the client device 102 may receive the job matching results from the intelligent assistant 126. In step 228, the client device 102 may accept the results and apply for the job, or modify the search terms for new job-specific data. If in step 228, the client device 102 chooses to accept the job results and selects a job from the job matching results, the workflow 200 may proceed to step 232. In step 232, the candidate may select the “Apply Now” prompt to end the interaction with the intelligent assistant 126.
[0057] However, if at step 228 the client device 102 indicates that a new search is needed, the workflow 200 proceeds to step 230. At step 230, the candidate may modify the search terms using additional job-specific data, which may be provided to the intelligent assistant 126. The workflow 200 may then return to step 214 for further processing.
[0058] As shown, in some embodiments, workflow 200 may include steps 218 and 220. In step 218, the place lookup service 134 may match the candidate's desired job location with a normalized precise location based on latitude and longitude parameters to pinpoint possible job locations relevant to the candidate's search.
[0059] In step 220, the translation service 136 may translate the candidate's message into a localized language for searching. For example, the translation service 136 may be configured to receive a multilingual search query and convert the multilingual search query into the candidate's preferred language.
[0060] 3 is a flow diagram illustrating a method 300 for performing a job search using a natural language intelligent assistant, according to an example embodiment. The method 300 may begin at step 302.
[0061] In step 302, the back-end computing system 104 may establish a dialogue with the candidate. For example, the client device 102 may send a message to the intelligent assistant 126 of the back-end computing system 104. In some embodiments, the client device 102 may send the message to the intelligent assistant 126 via an intelligent assistant integration 116 on a third-party application or website.
[0062] In step 304, the back-end computing system 104 may prompt the candidate for information regarding the job search. For example, the intelligent assistant 126 may interact with the candidate by asking the candidate questions related to the job search. The intelligent assistant 126 may prompt the user to submit messages regarding the types of jobs the user is interested in, locations of interest, salary ranges, etc.
[0063] In step 306, the back-end computing system 104 may generate queries by applying NLP and NLU techniques to the communication sent by the candidate. For example, the NLP module 128 and the NLU module 130 may work together to process and understand the candidate's message and generate queries from the candidate's natural language message. For example, the NLP module 128 may extract key terms, such as, but not limited to, information related to potential job titles (e.g., analyst), information related to potential salary requirements, information related to specific geographic locations, etc. The NLU module 130 analyzes the extracted terms plus surrounding terms to understand the context of each term.
[0064] In step 308, the backend computing system 104 may compare the query to the database 108. For example, the job search service 132 may compare the query to the database 108 to identify matching jobs. The job search service 132 may receive multiple potential jobs from the database 108 based on a search algorithm. The job search service 132 may process the search results and identify a subset of the multiple potential jobs based on a relevance score. In some embodiments, the job search service 132 may remove potential jobs that do not meet a threshold relevance score.
[0065] In step 310, the backend computing system 104 may communicate potential job matches to the candidate. For example, the intelligent assistant 126 may provide the job matching results to the client device 102 in a natural language format.
[0066] 4 illustrates an example view of a graphical user interface 400 (hereinafter, "GUI 400") presenting an interaction established between a client device 102 and an intelligent assistant 126, according to an example embodiment. In some embodiments, the GUI 400 may be a web page presented in a web browser 112 of the client device 102. In some embodiments, the GUI 400 may be a graphical user interface generated by an application 110 executing on the client device 102.
[0067] As illustrated, the intelligent assistant 126 (e.g., "Olivia") may establish a dialogue with the candidate. The intelligent assistant 126 may exchange communications with the candidate in a natural language format. Based on the candidate's message, "Are there any research jobs near White Plains, NY?", the NLP module 128 and the NLU module 130 may cooperate to generate a query that includes at least "research," "White Plains," and "New York." The job search service 132 may compare this query to the database 108 to identify a list of results. The intelligent assistant 126 may provide those results to the candidate via chat.
[0068] As one of ordinary skill in the art would understand and as discussed above, as the conversation progresses between the candidate and the intelligent assistant 126, more appropriate job recommendations will be displayed. For example, the candidate may say, "I'm actually thinking about moving to Scottsdale," at which point the intelligent assistant 126 will filter jobs based on the location provided. The candidate may further state, "I just finished my bachelor's degree in UX design," and the intelligent assistant 126 will recommend UX research positions in Scottsdale.
[0069] FIG. 5A illustrates the architecture of a system bus computing system 500 according to an exemplary embodiment. One or more components of the system 500 may communicate with each other electronically using a bus 505. The system 500 may include a processor (e.g., one or more CPUs, GPUs, or other types of processors) 510 and a system bus 505 that couples various system components to the processor 510, including a system memory 515 such as a read-only memory (ROM) 520 and a random access memory (RAM) 525. The system 500 may include a cache of high-speed memory directly connected to the processor 510, in close proximity to the processor 510, or integrated as part of the processor 510. The system 500 may copy data from the memory 515 and / or storage device 530 to the cache 512 for quick access by the processor 510. In this manner, the cache 512 may provide a performance boost that avoids delays of the processor 510 while waiting for data. These and other modules may control or be configured to control the processor 510 to perform various operations. Similarly, other system memory 515 is available for use. Memory 515 may include multiple different types of memory with different performance characteristics. Processor 510 may represent a single processor or multiple processors. Processor 510 may include one or more of general purpose processors or hardware or software modules, such as service 1 532, service 2 534, service 3 536 stored in storage device 530, configured to control processor 510, as well as special purpose processors where software instructions are built into the actual processor design. Processor 510 may essentially be a fully self-contained computing system, including multiple cores or processors, buses, memory controllers, caches, etc. Multi-core processors may be symmetrical or asymmetrical.
[0070] To enable user interaction with the system 500, the input device 545 can be any number of input mechanisms, such as a microphone for audio, a touch-sensitive screen for gesture or graphic input, a keyboard, a mouse, motion input, voice, etc. The output device 535 (e.g., a display) can also be one or more of a number of output mechanisms known to those skilled in the art. In some cases, a multi-modal system can enable a user to provide multiple types of input to communicate with the system 500. The communication interface 540 can generally control and manage user input and system output. There is no limitation to operation with a particular hardware configuration, so the basic functions herein can be easily replaced as improved hardware or firmware configurations are developed.
[0071] The storage device 530 may be a non-volatile memory and may be a hard disk or other type of computer-readable medium capable of storing data accessible by a computer, such as a magnetic cassette, a flash memory card, a solid-state memory device, a digital versatile disk, a cartridge, a random access memory (RAM) 525, a read-only memory (ROM) 520, and a hybrid thereof.
[0072] The storage device 530 may include services 532, 534, and 536 for controlling the processor 510. Other hardware or software modules are also contemplated. The storage device 530 may be connected to the system bus 505. In one aspect, hardware modules that perform certain functions may include software components stored on computer readable media connected to hardware components necessary to perform the functions, such as the processor 510, the bus 505, and output devices 535 (e.g., a display).
[0073] FIG. 5B illustrates a computer system 550 having a chipset architecture according to an exemplary embodiment. The computer system 550 may be an example of computer hardware, software, and firmware that can be used to implement the disclosed techniques. The system 550 may include one or more processors 555, which represent any number of physically and / or logically distinct resources capable of executing software, firmware, and hardware configured to perform a specified computation. The one or more processors 555 may communicate with a chipset 560, which may control input to and output from the one or more processors 555. In this example, the chipset 560 outputs information to an output 565, such as a display, and may read and write information to a storage device 570, which may include, for example, a magnetic medium or a solid-state medium. The chipset 560 may also read and write data to a storage device 575 (e.g., RAM). A bridge 580 for interfacing with various user interface components 585 may be provided to interface with the chipset 560. Such user interface components 585 may include a keyboard, a microphone, touch detection and processing circuitry, a pointing device such as a mouse, etc. In general, input to the system 550 may come from any of a variety of sources, machine-generated and / or human-generated.
[0074] The chipset 560 can also interface with one or more communication interfaces 590, which can have different physical interfaces. Such communication interfaces can include interfaces for wired and wireless local area networks, broadband wireless networks, and personal area networks. Some applications of the methods for generating, displaying, and using GUIs disclosed herein can include receiving an ordered data set via a physical interface, or can be generated by the machine itself by one or more processors 555 analyzing data stored in the storage device 570 or 575. Additionally, the machine can receive inputs from a user via the user interface components 585 and perform appropriate functions, such as browsing functions, by interpreting these inputs using one or more processors 555.
[0075] It will be appreciated that the exemplary systems 500 and 550 may have multiple processors 510 or may be part of a group or cluster of computing devices networked together to provide greater processing power.
[0076] While the above is directed to the embodiments described herein, other and further embodiments may be devised without departing from the basic scope thereof. For example, aspects of the disclosure may be implemented in hardware or software, or a combination of hardware and software. One embodiment described herein may be implemented as a program product for use with a computer system. The program of the program product defines the functions of the embodiments (including the methods described herein) and can be stored on various computer-readable storage media. Exemplary computer-readable storage media include, but are not limited to, (i) non-writable storage media in which information is permanently stored (e.g., a read-only memory (ROM) device in a computer, such as a CD-ROM disk readable by a CD-ROM drive, a flash memory, a ROM chip, or any type of solid-state non-volatile memory), and (ii) writable storage media in which changeable information is stored (e.g., a floppy disk in a diskette drive or hard disk drive, or any type of solid-state random access memory). Such computer-readable storage media, when carrying computer-readable instructions that direct the functions of the disclosed embodiments, are embodiments of the disclosure.
[0077] Those skilled in the art will understand that the above examples are illustrative and not limiting. All permutations, extensions, equivalents, and improvements thereto will be apparent to those skilled in the art upon reading the specification and studying the drawings, and are intended to be included within the true spirit and scope of the present disclosure. Accordingly, the following appended claims are intended to cover all such modifications, permutations, and equivalents that are included within the true spirit and scope of these teachings.
Claims
1. Establishing, by the computing system, a dialogue with the candidate computing system via the intelligent assistant; prompting, by the intelligent assistant of the computing system, the candidate computing system in natural language regarding a job search; generating a query by said candidate computing system by applying natural language processing and natural language understanding techniques to communications transmitted by said candidate computing system during said interaction; comparing, by the computing system, the query to a database of job openings; and communicating, by the intelligent assistant of the computing system, via the interaction, a potential job match based on the comparison to the candidate computing system.
2. receiving, by the computing system, from the candidate computing system, a response to a prompt generated by the intelligent assistant; determining, by the computing system, that the response to the prompt is ambiguous; and further prompting, by the intelligent assistant of the computing system, the candidate computing system to disambiguate the ambiguity.
3. The method of claim 1 , further comprising inferring, by the computing system, a location of the candidate computing system based on an internet protocol address of the candidate computing system.
4. The method of claim 1 , further comprising inferring, by the computing system, a location of the candidate computing system based on an area code associated with a telephone number of the candidate computing system.
5. receiving, by the intelligent assistant of the computing system, further information regarding job interests; updating, by the computing system, the query by including the further information regarding the job interests based on the receiving; and The method of claim 1 , further comprising: updating, by the computing system, the potential job matches based on the updated query.
6. receiving, by the intelligent assistant of the computing system, a request for additional information regarding the occupations included in the potential job matches; analyzing, by the computing system, the request by applying the natural language processing and natural language understanding techniques to the request; The method of claim 1 , further comprising obtaining, by the computing system, a response to the request based on the analysis.
7. generating the query by the candidate computing system by applying the natural language processing and natural language understanding techniques to communications transmitted by the candidate computing system during the interaction; The method of claim 1 , further comprising identifying synonyms for a job title indicated by the candidate computing system during the interaction.
8. A non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause a computing system to perform the following operations: establishing, by said computing system, a dialogue with a candidate computing system via an intelligent assistant; prompting, by the intelligent assistant of the computing system, the candidate computing system in natural language regarding a job search; generating a query by said candidate computing system by applying natural language processing and natural language understanding techniques to communications transmitted by said candidate computing system during said interaction; comparing, by the computing system, the query to a database of job openings; and communicating, by the intelligent assistant of the computing system, via the interaction, a potential job match based on the comparison to the candidate computing system.
9. receiving, by the computing system, from the candidate computing system, a response to a prompt generated by the intelligent assistant; determining, by the computing system, that the response to the prompt is ambiguous; and further prompting, by the intelligent assistant of the computing system, the candidate computing system to disambiguate the ambiguity.
10. 10. The non-transitory computer-readable medium of claim 8, further comprising inferring, by the computing system, a location of the candidate computing system based on an internet protocol address of the candidate computing system.
11. 10. The non-transitory computer-readable medium of claim 8, further comprising inferring, by the computing system, a location of the candidate computing system based on an area code associated with a telephone number of the candidate computing system.
12. receiving, by the intelligent assistant of the computing system, further information regarding job interests; updating, by the computing system, the query by including the further information regarding the job interests based on the receiving; and and updating, by the computing system, the potential job matches based on the updated query.
13. receiving, by the intelligent assistant of the computing system, a request for additional information regarding the occupations included in the potential job matches; analyzing, by the computing system, the request by applying the natural language processing and natural language understanding techniques to the request; and obtaining, by the computing system, an answer to the request based on the analysis.
14. generating the query by the candidate computing system by applying the natural language processing and natural language understanding techniques to communications transmitted by the candidate computing system during the interaction; The non-transitory computer readable medium of claim 8 , further comprising identifying synonyms for a job title indicated by the candidate computing system during the interaction.
15. 1. A system comprising: A processor; and a memory having stored programming instructions which, when executed by the processor, cause the system to perform the following operations: Establishing a dialogue with the candidate computing system via an intelligent assistant; prompting, by the intelligent assistant, the candidate computing system in natural language regarding a job search; generating a query by applying natural language processing and natural language understanding techniques to communications transmitted by the candidate computing system during the interaction; comparing said query to a database of job offers; and communicating, by the intelligent assistant through the interaction, a potential job match to the candidate computing system based on the comparison.
16. The operation further comprises: receiving from the candidate computing system a response to a prompt generated by the intelligent assistant; determining that there is ambiguity in the response to the prompt; and prompting, by the intelligent assistant, the candidate computing system to disambiguate.
17. The operation further comprises:
16. The system of claim 15, further comprising inferring a location of the candidate computing system based on an internet protocol address of the candidate computing system.
18. The operation further comprises:
16. The system of claim 15, further comprising inferring a location of the candidate computing system based on an area code associated with a telephone number of the candidate computing system.
19. The operation further comprises: receiving, by the intelligent assistant, further information regarding job interests; updating the inquiry by including the further information regarding the job interest based on the receiving; and updating the potential job matches based on the updated query.
20. The operation further comprises: receiving, by the intelligent assistant, a request for additional information regarding jobs included in the potential job matches; Analyzing the request by applying the natural language processing and natural language understanding techniques to the request; and obtaining a response to the request based on the analysis.
Citation Information
Patent Citations
Monitoring device and recording medium
JP2000285124A
Expert evaluation information management system
JP2013228978A
System and method for conversation-based information search
JP2018077858A
Information providing device, method and program
JP2019028646A
Job bridge system
JP2020098475A