Content Generation by Intelligent Assistant
The described system addresses the limitations of static and linear interactions in content generation systems by using user activity data to generate profiles and deliver personalized content alongside intelligent assistant interactions, thereby enhancing user experience with context-aware information.
Patent Information
- Application Number
- JP2023561156
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-04-08
- Filing Date
- 2022-04-07
- Publication Date
- 2025-06-26
- Estimated Expiration
- 2042-04-07
AI Technical Summary
Conventional content generation systems and intelligent assistant experiences are limited by static content and linear, scripted interactions, failing to provide personalized and context-aware information to users.
A computing system that receives user activity data to generate a user profile with tags indicating attributes, and establishes a communication session with an intelligent assistant to acquire and display relevant content alongside the chat interface based on keywords and user profiles.
Enables personalized and context-aware content delivery to users during interactions with intelligent assistants, enhancing the user experience by providing relevant information in real-time.
Smart Images

Figure 0007699221000001 
Figure 0007699221000002 
Figure 0007699221000003
Abstract
Description
Technical Field
[0001] Cross - Reference to Related Applications This application claims the benefit of priority of U.S. Provisional Patent Application No. 63 / 172,371, filed on April 8, 2021, which is hereby incorporated by reference in its entirety.
[0002] The embodiments disclosed herein generally relate to content generation systems that use intelligent assistants.
Background Art
[0003] Today, most of the content provided by third - party systems is static and requires visitors to search for information. Similarly, when participating in interactive chats with humans or automated chats, the conversations are linear and scripted.
Summary of the Invention
Means for Solving the Problems
[0004] In some embodiments, a method is disclosed herein. A computing system receives user activity data from a user interacting with content related to a third-party computing system. The user activity is received by one or more integrations injected into code related to an application presenting the content. The application includes a chat interface that links the user to an intelligent assistant hosted by the computing system. The computing system generates a profile for the user based on the user's activity data. The profile includes tags indicating attributes about the user. The computing system establishes a communication session between the user and the intelligent assistant via the chat interface. The computing system receives a message from the user to the intelligent assistant. The computing system determines that the message includes at least one keyword that triggers the acquisition of relevant content. Based on the determination, the computing system acquires content related to the keyword and related to the user based on tags associated with the user's profile. The computing system causes the content to be displayed on a client device related to the user beside the chat interface.
[0005] In some embodiments, a non-transitory computer-readable medium is disclosed herein. The non-transitory computer-readable medium includes instructions that, when executed by a computing system, cause the computing system to perform operations. The operations include receiving, from a user interacting with content related to a third-party computing system, activity data at the computing system. The user activity is received by one or more integrations injected into code related to an application presenting the content. The application includes a chat interface that links the user to an intelligent assistant hosted by the computing system. The operations further include generating, by the computing system, a profile for the user based on the user's activity data. The profile includes tags indicative of attributes about the user. The operations further include establishing, by the computing system, a communication session between the user and the intelligent assistant via the chat interface. The operations further include receiving, from the user, a message at the computing system to the intelligent assistant. The operations further include determining, by the computing system, that the message includes at least one keyword that triggers acquisition of related content. The operations further include, based on the determination, acquiring, by the computing system, content related to the keyword and related to the user based on tags associated with the user's profile. The operations further include causing, by the computing system, the content to be displayed on a client device related to the user alongside the chat interface.
[0006] In some embodiments, a system is disclosed herein. The system includes a processor and a memory. The memory stores programming instructions that, when executed by the processor, cause the system to perform operations. The operations include receiving activity data from a user interacting with content related to a third-party computing system. The user activity is received by one or more integrations incorporated within code related to an application presenting the content. The application includes a chat interface that links the user to an intelligent assistant hosted by the computing system. The operations further include generating a profile for the user based on the user's activity data. The profile includes tags indicating attributes about the user. The operations further include establishing a communication session between the user and the intelligent assistant via the chat interface. The operations further include receiving a message from the user to the intelligent assistant. The operations further include determining that the message includes at least one keyword that triggers the acquisition of relevant content. The operations further include, based on the determination, acquiring content related to the keyword and related to the user based on tags associated with the user's profile. The operations further include causing the content to be displayed on a client device related to the user alongside the chat interface.
[0007] To enable a more detailed understanding of the manner of the features recited above of the present disclosure, a more specific description of the present disclosure briefly summarized above can be obtained with respect to embodiments, some of which are illustrated in the accompanying drawings. It should be noted, however, that the accompanying drawings illustrate only typical embodiments of the present disclosure and should not be considered as limiting the scope of the present invention, and it should be noted that the present disclosure may admit of other equally effective embodiments.
[0008] For the sake of facilitating understanding, the same reference numbers are used where possible to indicate the same elements common to multiple drawings. Elements disclosed in one embodiment are considered to be beneficially usable for other embodiments without further elaboration.
Brief Description of the Drawings
[0009]
Figure 1
Figure 2
Figure 3A
Figure 3B
Figure 3C
Figure 3D
Figure 3E
Figure 3F
Figure 4
Figure 5A
Figure 5B
[0010] One or more techniques described herein improve conventional intelligent assistant experience systems by providing context information about a user when such information is discovered by a communication session with an intelligent assistant. For example, during a communication session, the system can provide the user with content related to the topic being discussed with the intelligent assistant. In this way, the content displayed can be personalized for the user based on data about such user.
[0011] As used herein, the term "user" includes, for example, a person or entity that owns a computing device or wireless device, a person or entity that operates or utilizes a computing device or wireless device, or a person or entity otherwise associated with a computing device or wireless device. The term "user" is not intended to be limiting and is considered to include a variety of examples beyond those described.
[0012] FIG. 1 is a block diagram showing a computing environment 100 according to one embodiment. The computing environment 100 can include at least one or more client devices 102, an organizational computing system 104, and a third-party system 106 that communicate via a network 105.
[0013] Network 105 can be of any suitable type, including an individual connection via the Internet, such as a cellular network or a Wi-Fi network. In some embodiments, network 105 can use direct connections such as radio frequency identification (RFID), near field communication (NFC), Bluetooth (trademark), Bluetooth Low Energy (BLE) (trademark), Wi-Fi (trademark), ZigBee (trademark), ambient backscatter communication (ABC) protocol, USB, WAN, or LAN to connect terminals, services, and mobile devices. Since the information transmitted can be personal or confidential, security concerns may require that one or more of these types of connections be encrypted or protected. However, in some embodiments, the information transmitted may not be very personal, so the network connection can be selected for convenience over security.
[0014] Network 105 can include any type of computer networking configuration used for data exchange. For example, network 105 can be the Internet, a private data network, a virtual private network using a public network, and / or any other suitable connection that enables components within computing environment 100 to send and receive information between components of computing environment 100.
[0015] Client device 102 can be operated by a user. For example, client device 102 can be a mobile device, a tablet, a desktop computer, or any computing system having the functions described herein. Client device 102 can belong to or be provided to a customer, or can be borrowed, leased, or shared. A customer can include an individual who may be interested in employment with an entity related to third party system 106, such as a subscriber, client, prospective client, or prospective job applicant of an entity related to third party system 106.
[0016] The client device 102 may include at least the application 110 and the web browser 112. In some embodiments, the application 110 may be a stand-alone application related to the third-party system 106. In some embodiments, the web browser 112 may enable access to a website related to the third-party system 106. The client device 102 can access the application 110 or the web browser 112 to access the content related to the third-party system 106. In some embodiments, the client device 102 can communicate on the network 105 to request, for example, a web page from the 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 the content managed by the web client application server 114. The content displayed on the client device 102 is transmitted from the web client application server 114 to the client device 102 and can then be processed by the application 110 or the web browser 112 for display by the graphical user interface (GUI) of the client device 102.
[0017] The third-party system 106 may include at least a web client application server 114, an intelligent assistant integration 116, and a customization integration 118. The intelligent assistant integration 116 may enable the third-party system 106 to incorporate an intelligent assistant associated with the organizational computing system 104 within a website associated with the third-party system 106 or within content presented by an application 110 associated with the third-party system 106. For example, the intelligent assistant can be incorporated into a web page of a website associated with the third-party system 106, a web-based platform, a messaging application (such as Facebook Messenger, WhatsApp®, Signal, etc.), a mobile application (such as the stand-alone 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 can be injected 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 can be injected into the code of the application 110 executed on the client device 102. When injected into the web code of the website or the code of the application 110, the intelligent assistant supported by the organizational computing system 104 can be incorporated within the content provided by the third-party system 106. Thus, when a user of the client device 102 accesses the application 110, the application 110 can provide an intelligent assistant associated with the organizational computing system 104.In some embodiments, when a user of the client device 102 requests a website from the web client application server 114, the web browser 112 can provide an intelligent assistant related to the organizational computing system 104 within the website.
[0018] The customization integration 118 can enable the third - party system 106 to provide customized content to a user interacting with a website or application 110 related to the third - party system 106. For example, the customization integration 118 can take the form of code that is injected into the web code of a website related to the third - party system 106 or the code of the application 110. In some embodiments, when injected into the web code of a website, when a user of the client device 102 requests a web page from the web client application server 114, the customization integration 118 can enable the organizational computing system 104 to track user activities on the website. In some embodiments, when injected into the code of the application 110, when a user of the client device 102 accesses the application 110, the customization integration 118 can enable the organizational computing system 104 to track user activities while interacting with the application 110. For example, the customization integration 118 can enable the organizational computing system 104 to track document uploads (e.g., resume uploads), Internet Protocol (IP) information (e.g., device location), campaigns (e.g., the site from which the user visited), pages of the viewed website, portions of the viewed website (e.g., job postings), time spent on a web page of the website, browser language, etc. In this way, the customization integration 118 can enable the organizational computing system 104 to provide curated content tailored to the user's needs to the user.
[0019] The organizational computing system 104 may include at least a web client application server 124, an intelligent assistant 126, a customization module 128, and a natural language processing (NLP) module 130. Each of the intelligent assistant 126, the customization module 128, and the NLP module 130 may be composed of one or more software modules. The one or more software modules may be a set of code or instructions stored on a medium (e.g., the memory of the organizational computing system 104) that represents a series of machine instructions (e.g., program code) implementing one or more algorithm steps. Such machine instructions may be the actual computer code that is interpreted by a processor of the organizational computing system 104 to implement the instructions, or may be a high-level coding of instructions that is 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 an example algorithm may be performed by the hardware component (e.g., circuit) itself rather than as a result of instructions.
[0020] In some embodiments, when the client device 102 requests a website from the web client application server 114 of the third-party system 106, the web client application server 114 can provide web code related to the web page to the web browser 112 of the client device 102. For example, the web browser 112 can transmit a Hypertext Transfer Protocol (HTTP) request to the web client application server 114. The web client application server 114 can read the request and send an HTTP message back to the application 110. The response from the web client application server 114 can include Hypertext Markup Language (HTML) code corresponding to the website. The HTML code can include web code related to the intelligent assistant integration 116 and the customization integration 118. Thus, when the web browser 112 processes the HTML code to present the website to the user, a connection can be established between the client device 102 and the organizational computing system 104.
[0021] In some embodiments, when the client device 102 accesses content related to the third-party system 106 via the application 110, the application 110 can utilize one or more application programming interfaces (APIs) to access the functions of the intelligent assistant integration 116 and the customization integration 118. Thus, when the application 110 establishes a connection with the backend computing system 104 via one or more APIs, a connection can be established between the client device 102 and the backend computing system 104.
[0022] Intelligent assistant 126 may be configured to interact with a user while the user views a web page provided by third-party system 106. For example, when the user interacts with an interface related to intelligent assistant 126, intelligent assistant 126 may receive a message from client device 102. Intelligent assistant 126 can utilize one or more natural language processing and machine learning techniques to clarify the meaning of the user's message and generate an appropriate message for a response. In some embodiments, intelligent assistant 126 may be configured to process a message provided by the user to identify one or more keywords included in the message. One or more keywords identified by intelligent assistant 126 may be utilized by customization module 128 to provide customized content to the user.
[0023] Customization module 128 may be configured to obtain customized content for the user. In some embodiments, customization module 128 may obtain customized content for the user based on one or more of the keywords and / or phrases provided to intelligent assistant 126 by the user, and the activity stream provided to customization module 128 by customization integration 118. For example, the activity stream may include, but is not limited to, document uploads (e.g., resume uploads), Internet Protocol (IP) information (e.g., device location), campaigns (e.g., the website from which the user accessed), pages of the viewed website, portions of the viewed website (e.g., job postings), time spent on each web page of the website, browser language, cursor movement, portions of the viewed application, time spent on each portion of the application, etc.
[0024] The customization module 128 can be configured to build a user's profile. In some embodiments, the customization module 128 uses one or more heuristics to identify content provided to the user and can build a profile for the user in real time (or near real time) based on one or more keywords and / or phrases and activities. The profile can include attributes about the user, such as, but not limited to, location information, work history, age, gender, education level, areas of interest, etc. In some embodiments, the profile can further include one or more tags corresponding to the user's attributes. The one or more tags can enable the customization module 128 to retrieve relevant content from the database 108 for presentation to the user.
[0025] In some embodiments, the content provided to the user of the client device 102 by the application 110 or the web browser 112 can include an option for the user to upload a document. Exemplary documents can include, but are not limited to, resumes, cover letters, school transcripts, recommendations, completed surveys, etc. The NLP module 130 can be configured to analyze and process documents uploaded by an end user via a website. In some embodiments, the user can upload a document when prompted by the intelligent assistant 126. The NLP module 130 can be configured to extract information that can be used by the customization module 128 to generate a user's profile. For example, the NLP module 130 can extract information targeting work history, education level, job skills, keywords, etc. The NLP module 130 can provide the extracted information to the customization module 128 to continuously generate a user's profile.
[0026] In some embodiments, the customization module 128 may communicate with the database 108. The database 108 may be configured to store content related to various clients 140. Each client 140 may correspond to an entity associated with an individual third - party system 106. In this way, each third - party system 106 can store content to be sent to the end - user in the database 108 associated with the organizational computing system 104, so that the customization module 128 can obtain relevant information for providing to the end - user.
[0027] As shown, each client 140 may include content 142 and a user 144. The content 142 may correspond to content specific to the client associated with an individual third - party system 106. In some embodiments, the content 142 may include information specific to the client. Using a specific example, the content 142 may include, but is not limited to, information specific to the client's new - hire training or hiring process, such as human resources information. The content 142 may include one or more tags 146. The tags 146 may correspond to attributes or categories associated with each piece of the content 142. In this way, the customization module 128 can match one or more tags related to the user's profile with the tags 146 of the content 142. The tags 146 may enable the customization module 128 to obtain relevant content from the database 108 for presentation to the user.
[0028] User 144 may correspond to one or more users who have accessed content related to the third - party system 106. In some embodiments, user 144 may represent one or more user profiles generated by the customization module 128. Each user 144 may include one or more associated tags 148. As shown above, tags 148 may enable the customization module 128 to retrieve relevant content 142 from the database 108 for presentation to the user. For example, when providing relevant content to the user, the customization module 128 can match the tags 148 associated with the user with the tags 146 associated with the content 142. In this way, given the context of the user's interaction with the intelligent assistant 126, the customization module 128 can provide relevant content to the user.
[0029] FIG. 2 is a block diagram showing a flow 200 of information within the computing environment 100 according to an example embodiment. As shown, the organizational computing system 104 can receive user activity 202, intelligent assistant activity 204, and document upload 206 as inputs. User activity 202 can correspond to IP information (e.g., device location), campaign (e.g., the website from which the user accessed), pages of the website viewed, portions of the website viewed (e.g., job listings), time spent on each web page of the website, browser language, cursor movement, portions of content viewed by the application 110, time spent on each portion of the content within the application 110, etc. User activity 202 can be received in the organizational computing system 104 using the customization integration 118.
[0030] Intelligent assistant activity 204 may correspond to the communication between the end user of the client device 102 and the intelligent assistant 126. When the user interacts with the interface related to the intelligent assistant 126, the intelligent assistant 126 may receive a message from the client device 102. The intelligent assistant 126 can utilize one or more natural language processing and machine learning techniques to clarify the meaning of the user's message and generate an appropriate message for response. In some embodiments, the intelligent assistant 126 may be configured to process the message provided by the user to identify one or more keywords included in the message. One or more keywords identified by the intelligent assistant 126 may be utilized by the customization module 128 to provide customized content to the user.
[0031] Document upload 206 may correspond to one or more documents uploaded by the user during the user's communication session with the intelligent assistant 126. The documents may include, but are not limited to, resumes, cover letters, school transcripts, recommendations, completed questionnaires, etc. The NLP module 130 can receive and analyze the document upload 206. The NLP module 130 can extract information that can be used by the customization module 128 to generate the user's profile. For example, the NLP module 130 can extract information targeting work history, education background, job skills, keywords, etc. The NLP module 130 can provide the extracted information to the customization module 128 to continuously generate the user's profile.
[0032] Importantly, the customization module 128 does not have to wait to receive all information from the intelligent assistant 126, the NLP module 130, or the customization integration 118. Instead, the customization module 128 can be configured to continuously and dynamically generate and update the user's profile based on the input stream of user activity data. Thus, the customization module 128 can continuously update the user's profile and retrieve relevant information from the database 108 for presentation to the user based on the continuously updated profile.
[0033] In some embodiments, based on the current context of the dialog established between the intelligent assistant 126 and the client device 102, the customization module 128 can retrieve content from the database 108. For example, the customization module 128 can retrieve certain content from the database 108 based on one or more keywords or phrases identified by the intelligent assistant 126. In this way, the customization module 128 can supply the user with content relevant to the user's conversation with the intelligent assistant 126 in real time as the conversation progresses.
[0034] FIG. 3A shows an example view of a graphical user interface 300 (hereinafter "GUI 300") presenting content hosted by the third-party system 106, according to an example of an embodiment. In some embodiments, the GUI 300 can be a web page presented within the web browser 112 of the client device 102. In some embodiments, the GUI 300 can be a graphical user interface generated by an application 110 running on the client device 102.
[0035] As shown in the illustration, the GUI 300 can present content 302 (e.g., a web page or a part of an application) to the user. As shown in the illustration, the content 302 can correspond to an employment page related to the third-party system 106. The GUI 300 can further include an intelligent assistant prompt 304. The intelligent assistant prompt 304 can represent a graphical element that, when interacted with, can establish an interactive communication session with the intelligent assistant 126.
[0036] Figure 3B shows an example view of a graphical user interface 320 presenting content hosted by the third-party system 106 according to an example of an embodiment. The graphical user interface 320 (hereinafter "GUI 320") can correspond to an updated view in response to the user interacting with the intelligent assistant prompt 304 within the GUI 300. In some embodiments, the GUI 320 can be a web page presented within the web browser 112 of the client device 102. In some embodiments, the GUI 320 can be a graphical user interface generated by an application 110 running on the client device 102.
[0037] As shown in the illustration, the GUI 320 can include an intelligent assistant area 322. The intelligent assistant area 322 can represent a chat interface or chat integration that links the user to the functions of the intelligent assistant 126. The intelligent assistant 126 can start a conversation with the user by sending one or more messages 324 to the user. The one or more messages 324 can be used to gather further details from the user during the conversation.
[0038] FIG. 3C shows an example view of a graphical user interface 330 presenting content hosted by a third - party system 106, according to an example of an embodiment. The graphical user interface 330 (hereinafter "GUI 330") may correspond to an updated view in response to the intelligent assistant 126 providing one or more messages 324 to the client device 102. In some embodiments, the GUI 330 may be a web page presented within the web browser 112 of the client device 102. In some embodiments, the GUI 330 may be a graphical user interface generated by a software application 110 executed on the client device 102.
[0039] As shown, the user may respond to one or more messages 324 with one or more messages 332. The one or more messages 332 may be provided to the intelligent assistant 126 using the chat interface in the intelligent assistant area 322. The one or more messages 332 may be provided to the intelligent assistant 126 for further analysis.
[0040] FIG. 3D shows an example view of a graphical user interface 340 presenting content hosted by a third - party system 106, according to an example of an embodiment. The graphical user interface 340 (hereinafter "GUI 340") may correspond to an updated view in response to the customization module 128 providing customized content to the client device 102. In some embodiments, the GUI 340 may be a web page presented within the web browser 112 of the client device 102. In some embodiments, the GUI 340 may be a graphical user interface generated by an application 110 executed on the client device 102.
[0041] As shown in the illustration, in response to the intelligent assistant 126 receiving the message 332 from the client device 102, the intelligent assistant 126 can process the message 332 to identify one or more keywords or trigger words contained therein. The message 332 states as follows: "Hello, Ms. Olivia. I am looking for a job." The word "job" may be related to a keyword or trigger word that can prompt the intelligent assistant 126 to instruct the customization module 128 to provide customized content to the client device 102. Based on identifying the keyword or trigger word, the customization module 128 can identify relevant content for the user from the database 108. The customization module 128 can provide the relevant content to the client device 102 for display by the web browser 112 or the application 110. For example, as shown in the illustration, the relevant content 346 can be displayed adjacent to the intelligent assistant area 322. In this way, content related to the user's own conversation with the intelligent assistant 126 can be provided to the user.
[0042] In some embodiments, the intelligent assistant 126 may further prompt the user of the client device 102 by asking for further information. For example, as shown in the illustration, the intelligent assistant 126 may prompt the user to upload a relevant document. To do so, a document upload prompt 344 can be displayed within the web page. As shown in the illustration, the document upload prompt 344 can be displayed within the intelligent assistant area 322. In this way, the user can drag and drop the relevant document into the intelligent assistant area 322. The organizational computing system 104 can review and analyze the relevant document to determine whether any additional content can be provided to the user.
[0043] FIG. 3E shows an example view of a graphical user interface 350 that presents content hosted by a third - party system 106, according to an example embodiment. The graphical user interface 350 (hereinafter “GUI 350”) may correspond to an updated view in response to a user uploading a document. In some embodiments, the GUI 350 may be a web page presented within a web browser 112 of the client device 102. In some embodiments, the GUI 350 may be a graphical user interface generated by an application 110 running on the client device 102.
[0044] In response to receiving a document by a document upload prompt 344, the NLP module 130 can review and analyze the content of the document. The NLP module 130 can provide information about the document to the customization module 128 to obtain relevant information. For example, based on analyzing the document, the NLP module 130 may reveal that the user has experience in product management. Therefore, the NLP module 130 can prompt the customization module 128 to obtain content related to the job of product management.
[0045] As shown in the figure, the customization module 128 can obtain content related to the position of product management for presentation within the web page. In some embodiments, the customization module 128 can cause the client device 102 to display information about the position of product management within the intelligent assistant area 322 (as shown by reference numeral 354). In some embodiments, the customization module 128 can cause the client device 102 to display information about the position of product management adjacent to the intelligent assistant area 322 (as shown by “356” in FIG. 3E).
[0046] In some embodiments, the NLP module 130 may further prompt the intelligent assistant 126 regarding the content of the document. For example, as illustrated, in response to the NLP module 130 determining that the user has experience in product management, the intelligent assistant 126 can send a message 352 to the user that further engages the user based on the newly discovered information.
[0047] In some embodiments, new content may be provided, an indicator 358 may be added, and the content to be displayed. The indicator 358 may correspond to content previously presented within the web browser 112 or the application 110. For example, the indicator 358 may correspond to such content as shown within the GUI 340. Thus, when the user interacts with the indicator 358, the GUI 350 can be updated to present the content 346, i.e., the content corresponding to the indicator 358.
[0048] FIG. 3F shows an example view of a graphical user interface 360 presenting content hosted by the third - party system 106, according to an example of an embodiment. The graphical user interface 360 (hereinafter "GUI 360") may correspond to an updated view in response to the user submitting a question to the intelligent assistant 126. In some embodiments, the GUI 360 may be a web page presented within the web browser 112 of the client device 102. In some embodiments, the GUI 360 may be a graphical user interface generated by an application 110 running on the client device 102.
[0049] As shown, a user can generate a message 362 for the intelligent assistant 126. The message 362 may seek further information regarding the adoption process. In response to receiving the message 362, the intelligent assistant 126 can respond with a message 364 presented to the user. Additionally, the customization module 128 may be prompted to supply additional content 368 to the user. The content 368 may be related to the question the user asked. In some embodiments, in response to the intelligent assistant 126 identifying a keyword or trigger word within the message 362, the customization module 128 may be prompted to obtain additional content. In the example shown in FIG. 3F, the user is seeking additional information regarding the adoption process.
[0050] As shown, the content 368 may reflect information regarding the adoption process. The content 368 may take the form of one or more images, documents, videos, or audio files that may be presented to the user within a web page.
[0051] At any point in time, the user may respond with a follow-up message as shown in message 366.
[0052] Importantly, while the user is interacting with the intelligent assistant 126 and the content presented to itself, the customization module 128 can continuously build or update a profile related to the user. As the customization module 128 learns additional information about the user, the customization module 128 may be able to provide more targeted content to the user.
[0053] In some embodiments, when new content is provided, additional indicators (e.g., indicator 370) may be added, and the content to be displayed. Indicator 370 may correspond to content previously presented within web browser 112 or application 110. For example, indicator 370 may correspond to the content of the job shown within GUI 350. Thus, when the user interacts with indicator 370, GUI 360 may be updated to present content 356, i.e., the content corresponding to indicator 370. Additionally, as shown in the figure, indicator 370 is added to GUI 360 adjacent to the previously generated indicator 358. In this way, the user can easily move between contents.
[0054] FIG. 4 is a flow diagram showing a method 400 for generating an interactive graphical user interface (GUI) according to an example of an embodiment. Method 400 may start from step 402.
[0055] In step 402, the organizational computing system 104 can receive user data from a user who is interacting with content hosted by the third - party system 106. In some embodiments, the user data may represent user activities, intelligent assistant activities, and document uploads.
[0056] User activities may include one or more of IP information (e.g., device location), campaigns (e.g., the site from which the user visited), pages of the web - sites viewed, portions of the web - sites viewed (e.g., job postings), time spent on each web - page of the web - site, browser language, cursor movement, portions of the applications viewed, time spent on each portion of the application, etc. User activities may be received in the organizational computing system 104 using the customization integration 118.
[0057] The intelligent assistant activity 204 may include communication between an end user of the client device 102 and the intelligent assistant 126. For example, the intelligent assistant activity 204 may include a message received from the client device 102.
[0058] The document upload 206 may include one or more documents uploaded by the user during a user communication session with the intelligent assistant 126. Exemplary documents may include, but are not limited to, resumes, cover letters, school transcripts, recommendations, completed questionnaires, and the like.
[0059] In step 404, the organizational computing system 104 can process the received user data. In some embodiments, the customization module 128 can log user activities to reveal the user's potential interests. In some embodiments, the intelligent assistant 126 can utilize one or more natural language processing and machine learning techniques to clarify the meaning of the user's message and generate an appropriate message for a response. In some embodiments, the intelligent assistant 126 can be configured to process a message provided by the user to identify one or more keywords included in the message. The one or more keywords identified by the intelligent assistant 126 can be utilized by the customization module 128 to provide customized content to the user.
[0060] In some embodiments, the NLP module 130 can receive and analyze the document upload 206. The NLP module 130 can extract information that can be used by the customization module 128 to generate a user profile. For example, the NLP module 130 can extract information regarding work history, education, job skills, keywords, etc. The NLP module 130 can provide the extracted information to the customization module 128 to continuously generate a user profile.
[0061] In step 406, the organizational computing system 104 can generate or update a profile for the user based on the user's activity data. In some embodiments, the customization module 128 uses one or more heuristics to identify the content provided to the user and constructs (or almost constructs) a profile for the user in real time (or near real time) based on one or more keywords and / or phrases and activities. The profile can include attributes about the user, such as, but not limited to, location information, work history, age, gender, education, areas of interest, etc. In some embodiments, the profile can further include one or more tags corresponding to the user's attributes. The one or more tags can enable the customization module 128 to retrieve relevant content from the database 108 for presentation to the user.
[0062] In step 408, the organizational computing system 104 can determine whether a trigger has been identified. In some embodiments, the trigger can correspond to a keyword or trigger word in a message sent by the client device 102 to the intelligent assistant 126. If the customization module 128 determines that there is no trigger in step 408, the method 400 can proceed to step 410 and the organizational computing system 104 can wait for additional user activity data.
[0063] However, if there is a trigger in step 408, that is, if the customization module 128 determines that the user's message contains a keyword or trigger word, the method 400 can proceed to step 412. In step 412, the organizational computing system 104 can obtain relevant content for presentation to the user. For example, the customization module 128 can identify the type of content suitable for the user based on the keyword or trigger word. The customization module 128 can further adapt the selection of relevant content based on the user's generated profile. For example, if the keyword or trigger word is "looking for a job", the customization module 128 can identify content related to job hunting. The customization module 128 can select specific content based on the user's profile. For example, based on the user uploading a resume, the customization module 128 can reveal that the user has experience in product management. Therefore, the customization module 128 can generate a tag corresponding to product management within the user's profile. So when the customization module 128 retrieves job information from the database 108, the customization module 128 can search for job information content related to product management based on the tag.
[0064] In step 416, the organizational computing system 104 can display the relevant content. For example, the customization module 128 can provide the relevant content for display within the web page currently being viewed by the user to the web browser 112 of the client device 102. In another example, the customization module 128 can provide the relevant content for display together with the content presented by the application 110 to the application 110 of the client device 102.
[0065] In step 418, the tissue calculation system 104 can determine whether the dialog has ended. In other words, the tissue calculation system 104 can determine whether the user has stopped interacting with the intelligent assistant 126 or has ended the conversation. If the tissue calculation system 104 determines in step 418 that the dialog has not ended, method 400 can proceed to step 410, and the tissue calculation system 104 can wait for additional user activity data. However, if the tissue calculation system 104 determines in step 418 that the dialog has ended, method 400 can end.
[0066] FIG. 5A shows the architecture of a system bus computing system 500 according to an example embodiment. One or more components of system 500 may communicate electrically with each other using bus 505. System 500 may include a system bus 505 that couples various system components, including a processor (e.g., one or more CPUs, GPUs, or other types of processors) 510, and system memory 515 such as read-only memory (ROM) 520 and random access memory (RAM) 525, to processor 510. System 500 may include a cache of high-speed memory that is directly connected to, in proximity to, or integrated as part of processor 510. System 500 can copy data from memory 515 and / or storage device 530 to cache 512 for quick access by processor 510. In this way, cache 512 can provide a performance improvement that avoids latency in processor 510 while waiting for data. These and other modules can control, or be configured to control, processor 510 to perform various actions. Other system memory 515 may also be available. Memory 515 may include multiple different types of memory having various performance characteristics. Processor 510 may represent a single processor or multiple processors. Processor 510 may include a general-purpose processor or hardware module, or software modules such as service 1 532, service 2 534, and service 5 536 stored in storage device 530 configured to control processor 510, and one or more of dedicated processors, and software instructions are incorporated into the design of the actual processor. Processor 510 may essentially be a fully self-contained computing system including multiple cores or processors, buses, memory controllers, caches, etc. The multi-core processor may be symmetric or asymmetric.
[0067] To enable user interaction with system 500, input device 545 can be any number of input mechanisms such as a microphone for voice, a touch-sensing screen for gesture or graphical input, a keyboard, a mouse, motion input, voice, etc. Output device 535 (e.g., a display) can also be one or more of several output mechanisms known to those skilled in the art. In some examples, a multimodal system can enable a user to provide multiple types of input to communicate with system 500. Communication interface 540 can generally regulate and manage user input and system output. There are no restrictions on operating on any particular hardware configuration, and thus the basic features herein can be easily replaced at the time of its development with improved hardware or firmware configurations.
[0068] Storage device 530 can be non-volatile memory and can be a magnetic cassette, a flash memory card, a solid state memory device, a digital versatile disk, a cartridge, random access memory (RAM) 525, read-only memory (ROM) 520, and mixtures thereof, a hard disk or other types of computer-readable media capable of storing data accessible by a computer.
[0069] Storage device 530 can include services 532, 534, and 536 for controlling processor 510. Other hardware or software modules are also conceivable. Storage device 530 can be connected to system bus 505. In one aspect, a hardware module that performs a particular function can include software components stored in a computer-readable medium in relation to the required hardware components such as processor 510, bus 505, output device 535 (e.g., a display), etc. for performing that function.
[0070] FIG. 5B shows a computer system 550 having a chipset architecture, according to an example embodiment. The computer system 550 can be an example of computer hardware, software, and firmware that can be used to implement the disclosed techniques. The system 550 can include one or more processors 555 that represent any number of physically and / or logically distinct resources capable of executing software, firmware, and hardware configured to perform the identified computations. The one or more processors 555 can communicate with a chipset 560 that can control inputs to and outputs from the one or more processors 555. In this example, the chipset 560 outputs information to an output 565 such as a display and can read and write information to and from a storage device 570 that can include, for example, magnetic media and solid state media. The chipset 560 can also read and write data to and from a storage device 575 (e.g., RAM). A bridge 580 can be provided to interface the chipset 560 with various user interface components 585. Such user interface components 585 can include a keyboard, a microphone, touch detection and processing circuitry, a pointing device such as a mouse, and the like. Generally, inputs to the system 550 can arrive from any of a variety of sources, machine-generated and / or human-generated.
[0071] The chipset 560 can also interface with one or more communication interfaces 590 that can have various 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 the GUIs disclosed herein can include receiving an ordered data set on a physical interface or can be generated by the machine itself by one or more processors 555 that analyze data stored in the storage devices 570 or 575. Further, the machine can receive input from a user from the user interface component 585 and perform appropriate functions such as browsing functions by using one or more processors 555 to interpret those inputs.
[0072] To provide better processing capabilities, it can be understood that the example systems 500 and 550 can have multiple processors 510 or can be part of a group or cluster of networked computing devices.
[0073] The foregoing is directed to the embodiments described herein, but other and further embodiments may be devised without departing from the basic scope thereof. For example, aspects of the present disclosure can be implemented by hardware or software, or a combination of hardware and software. One embodiment described herein can 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 included 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., CD-ROM disks readable by a CD-ROM drive, flash memory, ROM chips, or any type of solid-state non-volatile memory such as a read-only memory (ROM) device in a computer), and (ii) writable storage media in which variable information is stored (e.g., floppy disks in a diskette drive, or hard disk drives, or any type of solid-state random access memory). When carrying computer-readable instructions that direct the functions of the disclosed embodiments, such computer-readable storage media are embodiments of the present disclosure.
[0074] Those skilled in the art will understand that the foregoing examples are illustrative and not limiting. All substitutions, enhancements, equivalents, and improvements to the foregoing examples will be apparent to those skilled in the art upon reading this specification, and consideration of the drawings is intended to be included within the true spirit and scope of the present disclosure. Accordingly, the appended claims are intended to cover all such modifications, substitutions, and equivalents as being within the true spirit and scope of their teachings.
Claims
**Claim 1** A method comprising receiving user activity data from a user interacting with content of a website hosted by a third - party computing system separate from the computing system, wherein the user activity data is received by one or more integrations injected into code associated with the website, and the website includes a chat interface that links the user to an intelligent assistant hosted by the computing system, the method further comprising: generating, by the computing system, a profile for the user based on the user activity data, the profile including tags indicative of attributes regarding the user, the method further comprising: establishing, by the computing system, a communication session between the user and the intelligent assistant via the chat interface, receiving, by the computing system, a message from the user to the intelligent assistant, determining, by the computing system, that the message includes a keyword that triggers acquisition of relevant content, acquiring, by the computing system, based on the determination and based on the tags associated with the profile, content relevant to the keyword and regarding the user, and causing, by the computing system, the relevant content to be displayed on a client device regarding the user beside the chat interface A method as described above. **Claim 2** The method according to claim 1, wherein receiving the user activity data by the computing system comprises receiving a document uploaded to the website A method as described above. **Claim 3** The method according to claim 2, wherein generating the profile for the user based on the user activity data by the computing system comprises applying natural language processing techniques to the document to extract relevant information regarding the user from the document, and assigning tags to the user based on the relevant information A method as described above. **Claim 4** The method according to claim 1, wherein receiving the user activity data by the computing system comprises Receiving activity data including one or more of Internet protocol address information, additional websites from which the user accessed, web pages of the website that was viewed, portions of the website that were viewed, time spent on each web page of the website, cursor movement, and browser language The method according to claim 1, comprising:
5. Receiving, by the computing system, an additional message from the user to the intelligent assistant; Determining, by the computing system, that the additional message includes at least one additional keyword; Based on the determination, obtaining, by the computing system, additional content related to the additional keyword and related to the user based on the tags related to the profile, and Causing, by the computing system, the additional content to be displayed to the client device related to the user beside the chat interface The method according to claim 1, further comprising:
6. Updating, by the computing system, the profile of the user in response to determining that the additional message includes the at least one additional keyword The method according to claim 5, further comprising:
7. Generating, by the computing system, the profile for the user based on the user activity data, Generating the profile by applying one or more heuristics to the user activity data The method according to claim 1, comprising:
8. A non-transitory computer-readable medium including instructions that, when executed by a processor, cause a computing system to perform operations, The operations include An operation including receiving, by the computing system, user activity data from a user interacting with content of a website hosted by a third-party computing system different from the computing system, the user activity data being received by one or more integrations injected into code related to the website, the website including a chat interface that links the user to an intelligent assistant hosted by the computing system, The operations further include including generating, by the computing system, a profile for the user based on the user activity data, the profile including tags indicating at least one attribute regarding the user, the operation further comprising establishing, by the computing system, a communication session between the user and the intelligent assistant via the chat interface, receiving, by the computing system, a message from the user to the intelligent assistant, determining, by the computing system, that the message includes a keyword that triggers acquisition of relevant content, acquiring, by the computing system, relevant content related to the keyword and regarding the user based on the tags related to the profile, based on the determination, and causing, by the computing system, the relevant content to be displayed on a client device regarding the user beside the chat interface A non-transitory computer-readable medium comprising
9. receiving, by the computing system, the user activity data being receiving a document uploaded to the website The non-transitory computer-readable medium according to claim 8, comprising
10. generating, by the computing system, the profile for the user based on the user activity data being applying natural language processing techniques to the document to extract relevant information regarding the user from the document, and assigning tags to the user based on the relevant information The non-transitory computer-readable medium according to claim 9, comprising
11. receiving, by the computing system, the user activity data being receiving activity data including one or more of Internet protocol address information, additional websites from which the user accessed, web pages of the website viewed, portions of the website viewed, time spent on each web page of the website, cursor movement, and browser language The non-transitory computer-readable medium according to claim 8, comprising
12. receiving, by the computing system, an additional message from the user to the intelligent assistant, The computing system determines that the additional message includes additional keywords. Based on the determination, the computing system obtains additional content related to the additional keywords and related to the user based on the tags related to the profile. And The computing system causes the additional content to be displayed on the client device related to the user beside the chat interface. The non-transitory computer-readable medium according to claim 8, further comprising the above.
13. In response to determining that the additional message includes the additional keywords, the computing system updates the profile of the user. The non-transitory computer-readable medium according to claim 12, further comprising the above.
14. The computing system generates the profile for the user based on the user activity data. Generating the profile by applying one or more heuristics to the user activity data. The non-transitory computer-readable medium according to claim 8, comprising the above.
15. A system, A processor, A system including a memory storing programming instructions that, when executed by the processor, cause the system to perform operations, The operations are Operations including receiving user activity data from a user interacting with the content of a website hosted by a third-party computing system separate from the system, the user activity data being received by one or more integrations injected into the code related to the website, the website including a chat interface that links the user to an intelligent assistant hosted by the system. The operations further include Generating a profile for the user based on the user activity data, the profile including tags indicating attributes related to the user. The operations further include Establishing a communication session between the user and the intelligent assistant via the chat interface. Receiving a message from the user to the intelligent assistant. Determining that the message contains a keyword that triggers the acquisition of related content Based on the determination, acquiring related content related to the keyword and related to the user based on the tags related to the profile, and Displaying the related content on the client device related to the user beside the chat interface A system including
16. Receiving the user activity data is Receiving a document uploaded to the website The system according to claim 15, including
17. Generating the profile for the user based on the user activity data is Applying natural language processing techniques to the document to extract related information about the user from the document, and Assigning tags to the user based on the related information The system according to claim 16, including
18. Receiving the user activity data is Receiving activity data including one or more of Internet protocol address information, additional websites from which the user accessed, web pages of the website viewed, parts of the website viewed, time spent on each web page of the website, cursor movement, and browser language The system according to claim 15, including
19. The operation is Receiving an additional message from the user to the intelligent assistant, Determining that the additional message contains an additional keyword, Based on the determination, acquiring additional content related to the additional keyword and related to the user based on the tags related to the profile, and Displaying the additional content on the client device related to the user beside the chat interface The system according to claim 15, further including
20. Updating the user's profile in response to determining that the additional message contains the additional keyword The system according to claim 19, further including
Citation Information
Patent Citations
Information providing system, information providing method, and program
JP2017062741A
System and Method for Providing a Product-Based Chat Session
US20130275862A1
Messaging window overlay for a browser
US20160313906A1
Interactive content recommendation personalization assistant
US20170250930A1