Automated tagging and management of chat stream message
The system addresses the challenge of managing chat stream messages by employing automated task tagging and machine learning for dynamic task recommendation, resulting in efficient task proposal and management within task simplification systems.
Patent Information
- Application Number
- JP2025001945
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-09-02
- Filing Date
- 2025-01-06
- Publication Date
- 2025-04-30
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Existing systems lack efficient methods for dynamically analyzing and managing messages in real-time chat streams to identify and assign tasks between members and delegates.
A method for automated task tagging of chat stream messages, involving real-time processing of messages to identify task flags, applying a tagging algorithm to assign flags, and generating a message history with task flag assignments, along with the use of machine learning algorithms for dynamic task recommendation.
Enables effective automated task proposal and management, improving the efficiency of task simplification systems by reducing cognitive load and enhancing the accuracy of task identification and assignment.
Smart Images

Figure 2025069146000001_ABST
Abstract
Description
[Technical field]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application No. 63 / 240,090, entitled "SYSTEMS AND METHODS FOR DYNAMIC CHAT STREAMS," filed September 2, 2021, which is incorporated by reference in its entirety for all purposes. [Background technology]
[0002]
[0002] The present disclosure relates to a system and method for generating and managing projects and tasks based on messages exchanged between members and assigned representatives. In various examples, the systems and methods described herein may be used for dynamic analysis and presentation of messages in a real-time chat stream. In some such examples, dynamic machine learning intelligence may be applied to facilitate task identification and creation and chat stream presentation of information related to the tasks that may be performed for members using information from the chat stream. Summary of the Invention
[0003]
[0003] Systems, methods, devices, instructions, and other implementations for message tagging and management in a chat transfer task facilitation service environment are described. Such tagging can be used in automated task suggestions, task generation, chat filtering, and other operations in a task facilitation system. One aspect is a method for automated task tagging of chat stream messages. The method includes operations for: receiving a set of messages between a member and a representative in real time while the set of messages are being exchanged; processing the set of messages to identify one or more task flags associated with the set of messages; tracking a chat flow within a chat interface, where the one or more task flags correspond to a set of tasks performable by the representative on behalf of the member; processing the chat flow using a tagging algorithm to automatically assign at least one of the one or more task flags to messages of the set of messages exchanged within the chat interface; and generating a message history including the set of messages and corresponding task flag assignments with associated tasks of the set of tasks.
[0004]
[0004] Some such examples further involve processing the message history to generate new task recommendations using a recommendation algorithm based on one or more task flags and the timing of a set of messages within a chat flow.
[0005]
[0005] Some examples work where processing the chat flow using a tagging algorithm further comprises generating a plurality of sub-tasks for at least one of one or more task flags based on content of a set of messages in the chat flow and assigning one or more sub-task tags to corresponding messages of the set of messages.
[0006]
[0006] Some examples work where processing the chat flow using a tagging algorithm further includes generating a plurality of sub-tasks for at least one of one or more task flags based on content of a set of messages in the chat flow and assigning a plurality of sub-task tags to a first message of the set of messages.
[0007]
[0007] Some such examples further involve receiving a pre-filtering input from a member device, where the pre-filtering input identifies a task flag among one or more task flags, processing a message history using the pre-filtering input to adjust display of the messages in a chat interface, receiving real-time messages between the member and the representative while the set of messages are being exchanged, processing the real-time messages in real-time using a filtering algorithm to associate one or more flags with messages of the real-time messages, displaying a first message of the real-time messages in the chat interface based on the pre-filtering input and a first task association with the first message, and hiding a second message of the real-time messages in the chat interface based on the pre-filtering input and a second task association with the second message.
[0008]
[0008] Some such examples further involve receiving a tag association change message from a surrogate device associated with the surrogate, updating a message history to modify a tag associated with one or more messages based on the tag association change message, and updating a tagging algorithm using the tag association change message. Some such examples further involve receiving a task completion notification associated with a set of messages and one or more task flags, updating the message history to include a task completion flag associated with the one or more task flags and a task validation tag associated with an assignment of at least one of the one or more task flags to a message of the set of messages, accessing task association data for a plurality of message histories and corresponding completed tasks, where each of the plurality of message histories includes a task completion flag associated with the one or more task flags and training a tagging algorithm using the plurality of message histories and the task validation tag in the plurality of message histories, where the tagging algorithm comprises a machine learning algorithm configured to match message data to the corresponding task flag.
[0009]
[0009] This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used in isolation to determine the scope of the claimed subject matter, which subject matter should be understood by reference to appropriate portions of the entire specification of this patent application, any or all drawings, and claims.
[0010]
[0010] The above, together with other examples and features, are described in more detail below in the following specification, claims and accompanying drawings. [Brief description of the drawings]
[0011] [Figure 1]
[0011] A diagram showing an illustrative example of an environment in which a task facilitation service, according to various embodiments, assigns a representative to a member, through which various tasks that can be performed on the member's behalf can be recommended for performance by one or more third-party services. [Diagram 2]
[0012] FIG. 1 illustrates an illustrative example of an environment in which projects and corresponding tasks are generated and provided by a task facilitation service, according to at least one embodiment. [Diagram 3]
[0013] FIG. 1 illustrates aspects of a chat stream interface, according to at least one embodiment. [Figure 4]
[0014] FIG. 1 illustrates aspects of a chat stream interface, according to at least one embodiment. [Diagram 5]
[0015] 1 illustrates an example interface for facilitating task interaction and chat initiation according to at least one embodiment. [Figure 6]
[0016] FIG. 1 illustrates an example of an interface for summarizing task interaction status as part of a system for facilitating task interaction and management, according to at least one embodiment. [Figure 7]
[0017] 1 illustrates an example interface for facilitating task interaction and chat initiation according to at least one embodiment. [Figure 8]
[0018] FIG. 1 illustrates an example of a chat interface for facilitating task management, according to at least one embodiment. [Figure 9]
[0019] FIG. 1 illustrates an illustrative example of an environment in which a task recommendation system generates and ranks recommendations for different projects and / or tasks that may be presented to a member, according to at least one embodiment. [Figure 10]
[0020] FIG. 1 illustrates an illustrative example of an environment in which machine learning algorithms or artificial intelligence are implemented to assist in the identification and creation of new projects and tasks, according to at least one embodiment. [Figure 11]
[0021] A diagram illustrating an illustrative example of an environment in which machine learning algorithms or artificial intelligence are implemented to process messages exchanged between members and representatives to notify the representatives of new projects and tasks, according to at least one embodiment. [Figure 12]
[0022] FIG. 1 illustrates an illustrative example of an environment in which a task coordination system assigns and monitors the performance of tasks for members by proxies and / or one or more third party services, according to at least one embodiment. [Figure 13]
[0023] FIG. 1 illustrates an illustrative example of a process for identifying additional information using automated message tagging to facilitate defining new projects and / or tasks based on member profiles, according to at least one embodiment. [Figure 14]
[0024] FIG. 1 illustrates an illustrative example of a process for identifying additional information using automated message tagging to facilitate defining new projects and / or tasks based on member profiles, according to at least one embodiment. [Figure 15]
[0025] FIG. 1 illustrates an illustrative example of a process for identifying additional information using automated message tagging, according to at least one embodiment. [Figure 16]
[0026] FIG. 1 illustrates aspects of a system and process for automated message tagging within a chatflow of a task system, according to some embodiments. [Figure 17]
[0027] FIG. 1 illustrates aspects of a system and process for automated message tagging within a chatflow of a task system, according to some embodiments. [Figure 18]
[0028] 1 illustrates a flow chart for a method for managing a dynamic chat flow interface used to facilitate interactions between service members and representatives, according to some embodiments. [Figure 19]
[0029] FIG. 1 illustrates an illustrative example of an environment in which member communications are processed, according to at least one embodiment. [Figure 20]
[0030] FIG. 1 illustrates a computing system architecture including various components in electrical communication with each other using connections according to various embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0012]
[0031] In the accompanying figures, similar components and / or features may have the same reference label. Furthermore, various components of the same type may be distinguished by following the reference label with a dash and a second label that distinguishes between the similar components. If only a first reference label is used in this specification, the description is applicable to any one of the similar components having the same first reference label, regardless of the second reference label.
[0013]
[0032] In the following description, for purposes of explanation, specific details are set forth in order to provide a thorough understanding of some invention embodiments. It will be apparent, however, that various embodiments may be practiced without these specific details. The figures and description are not limiting. The word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any embodiment or design described herein as "exemplary" should not necessarily be construed as preferred or advantageous over other embodiments or designs.
[0014]
[0033] The disclosed embodiments describe devices, methods, instructions, and other examples including a chat flow interface used to facilitate interactions between service members and delegates assigned to the member to perform tasks on the member's behalf. In various embodiments, the chat flow can receive messages before tasks are identified and assigned within the system. In some examples, chat messages can be analyzed using natural language processing (NLP) or machine learning systems to automatically identify and assign tasks. In some examples, the real-time chat flow interface can include both automated and non-automated mechanisms for tagging messages with task tags and labels. Such tags can be used both for filtering messages and changes within the real-time chat flow interface and for continuous real-time feedback to dynamic machine learning systems used to manage and assign tasks.
[0015]
[0034] As described herein, a task facilitation system can include aspects for proposing projects, managing tasks for accepted projects, and automatically identifying and organizing tasks and projects based on communications between members (e.g., system users) and delegates (e.g., system operators or task managers). Aspects described herein include a task facilitation service with a chat transfer interface. Managing a large number of chat messages between members and delegates can be time-consuming and difficult. Aspects described herein can use task descriptions from a system knowledge database and various analytical systems (e.g., NLP with task associations, etc.) to match messages with existing or anticipated tasks or subtasks for projects associated with the member.
[0016]
[0035] In addition to improving system operation by facilitating interface around filterable task structures, such tags can improve system operation by limiting the amount of information presented within the user interface and facilitating efficient training of system algorithms around specific tasks or task types, including associated reductions in energy usage, memory usage, and processor access time. Such task tagging as described herein may further be used to improve the operation of automated systems that identify new tasks or task suggestions.
[0017]
[0036] 1 illustrates an illustrative example of an environment 100 in which a task facilitation service 102 may assign a surrogate 106 to a member 118 through which various tasks performable for the member 118 may be recommended for performance by the surrogate 106 and / or one or more third party services 116, according to various embodiments. The task facilitation (e.g., personal concierge service) 102 may be integrated with a chat flow interface of a device 120 or other device of the member 118, as described below, to provide task assistance and performance in a variety of ways. Chat flow integration may include both onboarding via the device 120 and task delegation, task performance, and automated or non-automated data collection and machine learning feedback through the chat interface of the device 120.
[0018]
[0037] The task facilitation service 102 may be implemented to reduce the cognitive load on members and members' families in performing various tasks in and around the member's home by identifying and delegating tasks to surrogates 106 who can coordinate the performance of these tasks for these members. In some aspects, a real-time chat interface on one or more devices 120 for a member 118 (e.g., an individual, a family, or a team group) is the primary interface for communications related to task generation, task delegation, and status reporting regarding task performance. In some embodiments, a member 118 may submit a request to the task facilitation service 102 via a computing device 120 (e.g., a laptop computer, a smartphone, etc.) to initiate an onboarding process for assignment of a surrogate 106 to the member 118 and to initiate identification of tasks that can be performed for the member 118. For example, the member 118 may access the task facilitation service 102 via an application provided by the task facilitation service 102 and installed on the computing device 120. Additionally or alternatively, the task facilitation service 102 may maintain a web server (not shown) that hosts one or more websites configured to present or otherwise make available an interface through which members 118 may access the task facilitation service 102 and begin the onboarding process.
[0019]
[0038] During the onboarding process, the task facilitation service 102 may collect identifying information of the member 118, which may be used by the proxy assignment system 104 to identify and assign a proxy 106 to the member 118. In some aspects, a real-time chat interface may be integrated with the task facilitation service 102 to automatically capture information from real-time chat communications by the member 118 associated with the service. In other examples, other interfaces may be used along with or as a supplement to the information collected via the real-time chat interface. For example, the task facilitation service 102 may provide the member 118 with a survey or questionnaire in which the member 118 may provide identifying information usable by the proxy assignment system 104 to select a proxy 106 for the member 118. A link or interface element to access the survey may be provided to the member 118 via the real-time chat interface that allows for a direct link to the survey or related information from within the chatflow interface. Reminders, prompts for missing or supplemental information, and other such communications may be provided via the real-time chat interface using communication between the member 118 and the service 102 via the device 120. For example, the task facilitation service 102 may use communications initiated by the service 102 and presented to the member 118 via a real-time chat flow interface on the device 120 to prompt the member 118 to provide more information regarding the member's household composition (e.g., number of residents in the member's home, number of children in the member's home, number and type of pets in the member's home, etc.), the physical location of the member's home, any special needs or requirements of the member 118 (e.g., physical or emotional disabilities, etc.), etc. In some examples, the member 118 may be prompted to provide demographic information (e.g., age, ethnicity, race, written / spoken language, etc.) or other such information.In some examples, a natural language processing (NLP) service integrated with the personal concierge service 102 can process information in a real-time chat flow interface on the device 120 for the member 118 and initiate a request for information based on a trigger or prompt associated with information identified in the chat flow interface that can facilitate an existing task or a potential new task for the member 118 with assistance from the service 102. The member 118 can also be prompted to indicate any personal interests or hobbies (described in more detail below) that can be used to identify possible experiences that may be of interest to the member 118. In various aspects, such prompts can be initiated as part of an onboarding process, a new task process, an automated task suggestion process, or a prompt to provide information that can assist with a task in progress.
[0020]
[0039] In some embodiments, the task facilitation service 102 may prompt the member 118 to indicate a level of confidence or other measure in delegating tasks to others, such as a proxy and / or a third party. In some aspects, the prompt may be presented as a message in the chatflow interface with an option to access a separate interface or to give feedback via the chatflow interface. In some aspects, the task facilitation service 102 may utilize identifying information submitted by the member 118 via the chatflow interface to identify initial categories of tasks that may be relevant to the member's daily life. In some examples, the task facilitation service 102 may utilize machine learning algorithms or artificial intelligence to process data received via the chatflow interface or other data collection sources to identify categories of tasks that may be relevant to the member 118. For example, the task facilitation service 102 may implement a clustering algorithm to identify similarly situated members based on one or more vectors (e.g., geographic location, demographic information, likelihood to delegate tasks to others, family structure, household structure, etc.). In some examples, a dataset of input member characteristics corresponding to responses to prompts provided by the task facilitation service 102 given by sample members (e.g., testers, etc.) may be analyzed using a clustering algorithm to identify different types of members that may interact with the task facilitation service 102. Exemplary clustering algorithms that may be trained to classify members using the sample member dataset (e.g., historical member data, hypothetical member data, etc.) to identify categories of tasks that may be associated with the members may include a k-means clustering algorithm, a fuzzy c-means (FCM) algorithm, an expectation-maximization (EM) algorithm, a hierarchical clustering algorithm, a density-based spatial clustering of noisy applications (DBSCAN) algorithm, etc.Based on the output of the machine learning algorithm generated using the member's identification information, the task facilitation service 102 may prompt the member 118 to provide a response regarding their comfort level in delegating tasks that correspond to the category of tasks provided by the machine learning algorithm. This may reduce the number of prompts provided to the member 118 and better tailor the prompts to the member's needs.
[0021]
[0040] In some embodiments, the member's identity, as well as any information related to the member's comfort or interest level in delegating tasks of different categories to others, is provided to a proxy assignment system 104 of the task facilitation service 102 to identify a proxy 106 that may be assigned to the member 118. The proxy assignment system 104 may be implemented using a computer system or as an application or other executable code implemented on the computer system of the task facilitation service 102. The proxy assignment system 104, in some embodiments, uses the member's identity, any information related to the member's comfort or interest level in delegating tasks to others, and any other information obtained during the onboarding process as inputs to a classification or clustering algorithm configured to identify proxy(es) that may be suitable for interacting and communicating with the member 118 in a productive manner. For example, the proxy 106 may be profiled based on various criteria including, but not limited to, demographic and other identifying information, geographic location, experience in handling tasks of different categories, experience in communicating with members of different categories, etc. Using a classification or clustering algorithm, the surrogate assignment system 104 may identify a set of surrogates 106 that may be more likely to develop a positive long-term relationship with the member 118 while addressing any tasks that may need to be addressed for the member 118.
[0022]
[0041] Once the surrogate assignment system 104 has identified a set of surrogates 106 that may be assigned to the member 118 to serve as an assistant or concierge for the member 118, the surrogate assignment system 104 may evaluate data corresponding to each surrogate in the set of surrogates 106 to identify a particular surrogate that may be assigned to the member 118. For example, the surrogate assignment system 104 may rank each surrogate in the set of surrogates 106 according to a degree or vector of similarity between the member's demographic information and the surrogate's demographic information. For example, if the member and a particular surrogate share a similar background (e.g., attended college in the same city, are from the same hometown, share particular interests, etc.), the surrogate assignment system 104 may rank the particular surrogate higher compared to other surrogates that may have less similar backgrounds. Similarly, if the member and the particular surrogate are geographically close to each other, the surrogate assignment system 104 may rank the particular surrogate higher compared to other surrogates that may be further away from the member 118. Each factor may be weighted based on the factor's impact on creating a successful, long-lasting relationship between the member and the surrogate, in some examples. For example, based on historical data corresponding to member interactions with surrogates, the surrogate assignment system 104 may identify correlations between different factors and the polarity (e.g., positive, negative, etc.) of these interactions. Based on these correlations (or lack thereof), the surrogate assignment system 104 may apply a weight to each factor.
[0023]
[0042] In some examples, each surrogate in the set of identified surrogates 106 may be assigned a score corresponding to various factors that correspond to the degree or vector of similarity between the member's demographic information and the surrogate's demographic information. For example, each factor may have a possible range of scores that correspond to the weighting assigned to the factor. As an illustrative example, the various factors used to obtain the surrogate score may each have a possible score of 1 to 10. However, based on the weighting assigned to each factor, the possible scores may be multiplied by a weighting factor such that factors with greater weighting may be multiplied by a higher weighting factor compared to factors with lesser weighting. The result is a set of different scoring ranges that correspond to the importance or relevance of the factors in determining a match between the member 118 and the surrogate. The scores determined for the various factors may be aggregated to obtain a composite score for each surrogate in the set of surrogates 106. These composite scores may be used to create a ranking of the set of surrogates 106.
[0024]
[0043] In some embodiments, the proxy assignment system 104 uses the rankings of the set of proxy 106 to select a proxy that may be assigned to the member 118. For example, the proxy assignment system 104 may select the highest ranked proxy and determine the availability of the proxy to engage the member 118 in identifying and recommending tasks, coordinating the resolution of the tasks, and possibly communicating with the member to ensure that the needs of the member 118 are addressed. If the selected proxy is unavailable (e.g., the proxy is already engaged with one or more other members), the proxy assignment system 104 may select another proxy according to the aforementioned rankings and determine the availability of this proxy to engage the member 118. This process may be repeated until an available proxy is identified from the set of proxy 106 to engage the member 118.
[0025]
[0044] In some embodiments, the surrogate 106 may be an automated process, such as a bot, that may be configured to automatically engage and interact with the member 118 via the chat flow interface. For example, the surrogate assignment system 104 may utilize the member profile and responses given by the member 118 during the onboarding process as input to a machine learning algorithm or artificial intelligence to generate a bot that may act as the surrogate 106 for the member 118. The bot may be configured to autonomously chat with the member 118 to gather supplemental information from the member 118, generate tasks and suggestions, perform tasks on behalf of the member 118 according to any accepted suggestions, etc., as described herein. The bot may be configured according to parameters or characteristics of the member 118 defined in the member profile. As the bot communicates with the member 118 over time, the bot may be updated to improve the bot's interaction with the member 118. In some aspects, automated chat communications (e.g., bot-based) may be combined with non-automated chat communications (e.g., human-based) such that the chat flow interface may combine the presentation of both automated and non-automated communications from the service 102 to the member 118. In some aspects, such communications may be presented in an undifferentiated manner within the chatflow. In other aspects, in addition to other categorizations, which may have color, font, size, flags, or other identifying characteristics, a color or source indicator may be associated with communications within the chatflow interface to identify them as automated. For example, automated communications may be presented in a first color with text flagging the message as automated, and non-automated communications may be presented in a different color with text associating the message with a particular human agent. In some aspects, automated messages may identify a particular function, task, or other grouping associated with a particular bot.Messages from a human representative may similarly include identifying information or distinctive characteristics about a task or task type to give the member 118 immediate contextual information before the member 118 understands or provides detailed focus on the message details. Additionally, as described herein, any such categorizations may be used for searching or filtering within the chatflow interface in some implementations.
[0026]
[0045] Data associated with the member 118 collected during the onboarding process and any data corresponding to the selected representative may be stored in the user data store 108. The user data store 108 may include an entry corresponding to each member 118 of the task facilitation service 102. The entry may include an identification of the corresponding member 118 and an identifier or other information corresponding to the representative assigned to the member 118. As described in more detail herein, the entries in the user data store 108 may further include historical data corresponding to communications between the member 118 and the assigned representative over time. For example, as the member 118 interacts with the representative 106 via a chat session or stream, messages exchanged via the chat session or stream may be recorded in the user data store 108.
[0027]
[0046] In some embodiments, once the proxy assignment system 104 assigns a particular proxy to a member 118, the proxy assignment system 104 notifies the member 118 and the particular proxy of the pairing. Additionally, the proxy assignment system 104 may establish a chat session or other communication session between the member 118 and the assigned proxy to facilitate communication between the member 118 and the proxy. For example, via an application provided by the task facilitation service 102 and installed on the computing device 120, the member 118 may exchange messages with the assigned proxy via the chat session or other communication session. Similarly, the proxy may be provided with an interface through which the proxy may exchange messages with the member 118.
[0028]
[0047] In some examples, the member 118 may initiate, or possibly resume, a chat session with the assigned representative. For example, through an application provided by the task facilitation service 102, the member may send a message to the representative through a chat session or other communication session to communicate with the representative. The member 118 may submit a message to the representative indicating that the member 118 would like assistance with a particular task. As an illustrative example, the member 118 may submit a message to the representative indicating that the member 118 would like the representative's assistance with an upcoming move next month. The representative may be presented with the submitted message through an interface provided by the task facilitation service 102. The representative may thus evaluate the message and generate a corresponding task to be performed to assist the member 118. For example, the representative may access a task creation form through an interface provided by the task facilitation service 102, through which the representative may provide information regarding the task. The information may include information related to the member 118 (e.g., member name, member address, etc.) and various parameters of the task itself (e.g., allocated budget, time frame for completion of the task, etc.). The parameters of the task may further include any member preferences (eg, preferred brands, preferred third party services 116, etc.).
[0029]
[0048] In some embodiments, the proxy may provide information obtained from the member 118 about the task specified in one or more messages exchanged between the member 118 and the proxy to a task recommendation system 112 of the task facilitation service 102 to dynamically and in real-time identify any additional task parameters that may be required to generate one or more suggestions for completion of the task. The task recommendation system 112 may be implemented using a computer system or as an application or other executable code implemented on the computer system of the task facilitation service 102. The task recommendation system 112, in some embodiments, provides the proxy with an interface through which the proxy may generate tasks that may be presented to the member through a chat session (e.g., via an application utilized by the member 118, etc.) and completed by the proxy and / or one or more third party services 116 for the member 118. For example, the proxy may provide the name of the task, any known parameters of the task provided by the member (e.g., budget, time frame, task operations to be performed, etc.), etc. As an illustrative example, if member 118 sends the message "Hey Russell, can you help with our move in 2 months," the representative may evaluate the message and generate a task entitled "Move to new home." For this task, the representative may indicate that the time frame for completion of the task is two months, as indicated by member 118. Additionally, the representative may add additional information that the representative knows about the member. For example, the representative may indicate any preferred moving companies, any budgetary constraints, etc.
[0030]
[0049] In some embodiments, the representative may provide the generated task to the task recommendation system 112 to determine if additional member input is needed to create a proposal that can be presented to the member for completion of the task. The task recommendation system 112 may process the generated task and information corresponding to the member 118 from the user data store 108 using machine learning algorithms or artificial intelligence, for example, to automatically identify additional parameters for the task and any additional information that may be required from the member 118 for generation of the proposal. For example, the task recommendation system 112 may use the generated task, information corresponding to the member 118, and historical data corresponding to tasks performed for other similarly situated members as inputs to a machine learning algorithm or artificial intelligence to identify any additional parameters that may be automatically completed for the task and any additional information that may be required from the member 118 to define the task. For example, if the task relates to an upcoming move to another city, the task recommendation system 112 may utilize machine learning algorithms or artificial intelligence to identify similarly situated members (e.g., members within the same geographic area of the member 118, members with similar task delegation susceptibility, members who have performed similar tasks, etc.). Based on the task generated for the member 118, the characteristics of the member 118 from the user data store 108, and data corresponding to these similarly situated members, the task recommendation system 112 may provide additional parameters for the task. As an illustrative example, for the task "moving to a new house" described above, the task recommendation system 112 may provide a recommended budget for the task, one or more moving companies that the member 118 may approve (used by other similarly situated members with positive feedback), etc. The representative may consider these additional parameters and select one or more of these parameters for inclusion in the task.
[0031]
[0050] If the task recommendation system 112 determines that additional member input is required for the task, the task recommendation system 112 may provide the representative with recommendations for questions that may be presented to the member 118 regarding the task. Returning to the example of the "moving to a new house" task, if the task recommendation system 112 determines that understanding one or more parameters of the member's home (e.g., square footage, number of rooms, etc.) is important for the task, the task recommendation system 112 may provide the representative with recommendations prompting the member 118 to provide these one or more parameters. The representative may review the recommendations provided by the task recommendation system 112 and prompt the member 118 via a chat session to provide additional task parameters. This process may reduce the number of prompts provided to the member 118 to define a particular task, thereby reducing the cognitive load on the member 118. In some examples, rather than providing the representative with recommendations for questions that may be presented to the member 118 regarding the task, the task recommendation system 112 may automatically present these questions to the member 118 via a chat session. For example, if the task recommendation system 112 determines that a task requires a question regarding the square footage of the member's home, the task recommendation system 112 may automatically prompt the member 118 via a chat session to provide the square footage of the member's home.
[0032]
[0051] In some embodiments, once the surrogate obtains the necessary task-related information from the member 118 and / or through the task recommendation system 112 (e.g., task parameters obtained via evaluations of tasks performed for similarly situated members, etc.), the surrogate may utilize the task coordination system 114 of the task facilitation service 102 to generate one or more suggestions for the solution of the task. The task coordination system 114 may be implemented using a computer system or as an application or other executable code implemented on the computer system of the task facilitation service 102. In some examples, the surrogate may utilize a resource library maintained by the task coordination system 114 to identify one or more third-party services 116 and / or resources (e.g., retailers, restaurants, websites, brands, types of products, specific products, etc.) that may be used for the performance of the task for the member 118 according to one or more task parameters identified by the surrogate and the task recommendation system 112, as described above. The proposal may specify a time frame for completion of the task, identification of any third party services 116 (if any) that will be engaged for completion of the task, a budget estimate for completion of the task, resources or types of resources to be used for completion of the task, etc. The delegate may present the proposal to the member 118 via a chat session to solicit a response from the member 118 to either move forward with the proposal or provide an alternative proposal for completing the task.
[0033]
[0052] In some embodiments, the task recommendation system 112 can provide the surrogate with a recommendation as to whether the surrogate should provide a suggestion to the member 118 or alternatively provide the member with the option to defer to the surrogate for completion of the defined task. For example, in addition to providing the member and task related information to the task recommendation system 112 to identify additional parameters of the task, the surrogate may indicate its recommendation to the task recommendation system 112 to either present the member 118 with one or more suggestions for completion of the task or present the member 118 with the option to defer to the surrogate for completion of the task. The task recommendation system 112 can utilize machine learning algorithms or artificial intelligence to generate the above-mentioned recommendations. The task recommendation system 112 may utilize the information provided by the proxy, data about similarly situated members from the user data store 108, and task data corresponding to similar tasks from the task data store 110 (e.g., tasks having similar parameters to the submitted task, tasks to be performed on behalf of similarly situated members, etc.) to determine whether to recommend presenting one or more suggestions for completing the task or whether to present the member 118 with the option to defer to a proxy for completion of the task.
[0034]
[0053] If the surrogate determines that the member should be presented with the option to defer to the surrogate for completion of the task, the surrogate may present this option to the member via the chat session. The option may be presented in the form of a button or other graphical user interface (GUI) element that the member may select to indicate its acceptance of the option. In some aspects, such a GUI element may be presented in a chat flow interface or any other such interface. For example, the member may be presented with a button or similar feature to give the member the option to defer all decisions related to the performance of the task to the surrogate. If the member 118 selects that option, the surrogate may refrain from generating a suggestion to the member 118 and instead proceed to coordinate with one or more third-party services 116 for the performance and completion of the task. Any actions taken by the surrogate on behalf of the member 118 for the completion of the task may be recorded in an entry corresponding to the task in the task data store 110. Alternatively, if the member 118 declines the option and instead indicates that the surrogate will provide one or more suggestions for the completion of the task, the surrogate may generate one or more suggestions as described above.
[0035]
[0054] The task recommendation system 112, in some embodiments, records the member's reaction to being presented with the option to refer to the surrogate for completion of the task, for use in training the machine learning algorithm or artificial intelligence used to make recommendations to the surrogate for the presentation of options. For example, if the surrogate chooses to present the option to the member 118, the task recommendation system 112 may record whether the member 118 selected the option or declined the offer and requested to be presented with a suggestion related to the task. Similarly, if the surrogate chooses to present one or more suggestions instead of presenting the option to refer to the surrogate, the task recommendation system 112 may record whether the member 118 was satisfied with the presentation of these one or more suggestions or whether the surrogate requested to select a suggestion on the member's behalf, and thus refer to the surrogate for completion of the task. These member reactions, along with data corresponding to the task, the surrogate's actions (e.g., presenting options, presenting suggestions, etc.), and the recommendation given by the task recommendation system 112, may be stored in the task data store 110 for use by the task recommendation system 112 in training and / or enhancing the machine learning algorithm or artificial intelligence.
[0036]
[0055] In some embodiments, the surrogate may suggest one or more tasks based on member characteristics, task history, and other factors. For example, when the member 118 communicates with the surrogate via a chat session, the surrogate may evaluate any messages from the member 118 to identify any tasks that may be performed to reduce the member's cognitive load. As an illustrative example, if the member 118 indicates through the chat session that the member's spouse's birthday is approaching, the surrogate may utilize that knowledge of the member 118 to develop one or more tasks that may be recommended to the member 118 in anticipation of the member's spouse's birthday. The surrogate may recommend tasks such as purchasing a cake, ordering flowers, setting up a unique travel experience for the member 118, etc. In some embodiments, the surrogate may generate task suggestions without member input. For example, as part of the onboarding process, the member 118 may give the task facilitation service 102 access to one or more member resources, such as the member's calendar, the member's Internet of Things (IoT) devices, the member's personal fitness devices (e.g., fitness trackers, exercise equipment with communication capabilities, etc.), the member's vehicle data, etc. The data collected from these member resources can be monitored by a proxy that can parse the data to generate task suggestions for the members 118 .
[0037]
[0056] In some embodiments, data collected from the member 118 over a chat session with the representative may be evaluated by the task recommendation system 112 to identify one or more tasks that may be presented to the member 118 for completion. For example, the system recommendation system 112 may utilize natural language processing (NLP) or other artificial intelligence to evaluate messages or other communications received from the member 118 to identify possible tasks that may be recommended to the member 118. For example, the system recommendation system 112 may process any incoming messages from the member 118 using NLP or other artificial intelligence to detect new tasks or other problems that the member 118 would like to solve. In some examples, the task recommendation system 112 may utilize historical task data and corresponding messages from the task data store 110 to train the NLP or other artificial intelligence to identify possible tasks. If the task recommendation system 112 identifies one or more possible tasks that may be recommended to the member 118, the task recommendation system 112 may present these possible tasks to the representative, who may select a task that may be shared with the member 118 via the chat session.
[0038]
[0057] In some embodiments, the task recommendation system 112 may utilize computer vision or other artificial intelligence to process images or video recordings provided by the member 118 and identify potential tasks that may be recommended to the member 118 for completion. For example, a representative may prompt the member 118 to record images or videos during a walkthrough of the member's home to identify potential tasks that may be completed for the member 118. As an illustrative example, the member 118 may use a mobile device (e.g., a smartphone, digital video recorder, etc.) to record digital images or videos related to a damaged baseboard in need of repair. These digital images or videos may be processed in real-time by the task recommendation system 112 to detect the damaged baseboard and identify the possible extent of repairs needed for the baseboard and possible tasks that may be performed to repair the damaged baseboard. Additionally, while the digital images or videos may relate to the damaged baseboard, the task recommendation system 112 may further process the digital images or videos to identify additional and / or alternative issues for which tasks may be recommended. For example, if the task recommendation system 112 detects that in addition to damaged baseboards, the member 118 may be experiencing termite problems in the baseboards, the task recommendation system 112 may recommend a task corresponding to exterminating the detected termites. Thus, the task recommendation system 112 may use computer vision or other artificial intelligence to detect possible problems that the member 118 may not be aware of.
[0039]
[0058] In some embodiments, the task recommendation system 112 may generate a list of possible tasks that may be presented to the member 118 for completion to reduce the member's cognitive load. For example, based on an evaluation of data collected from different member sources (e.g., IoT devices, personal fitness or biometric devices, video and audio recordings, etc.), the task recommendation system 112 may identify an initial set of tasks that may be completed for the member 118. Additionally, the task recommendation system 112 may identify additional and / or alternative tasks based on external factors. For example, the task recommendation system 112 may identify seasonal tasks (e.g., collecting leaves, cleaning gutters, etc.) based on the member's geographic location. As another example, the task recommendation system 112 may identify tasks that have been performed for other members within the member's geographic area and / or tasks that are potentially similarly situated (e.g., sharing one or more characteristics with the member 118). For example, if various members within the member's area are having their gutters cleaned or have their driveways closed for the winter, the task recommendation system 112 may determine that these tasks may be performed for the member 118 and appealed to the member 118 for completion.
[0040]
[0059] In some embodiments, the task recommendation system 112 can use the initial set of tasks, member-specific data from the user data store 108 (e.g., characteristics, demographics, location, past responses to recommendations and suggestions, etc.), data corresponding to similarly situated members from the user data store 108, and past data corresponding to tasks previously performed for the member 118 and other similarly situated members from the task data store 110, as inputs to a machine learning algorithm or artificial intelligence to identify a set of tasks that can be recommended to the member 118 for performance. For example, the initial set of tasks may include a task related to cleaning gutters, but based on the member's preferences, the member 118 may prefer to perform this task himself. Thus, the output of the machine learning algorithm or artificial intelligence (e.g., the set of tasks that can be recommended to the member 118) may omit this task. Further, in addition to the set of tasks that can be recommended to the member 118, the output of the machine learning algorithm or artificial intelligence may specify, for each identified task, a recommendation for the presentation of a button or other GUI element that the member 118 may select to indicate that he or she wishes to delegate to a proxy for performance of the task, as described above.
[0041]
[0060] A list of the set of tasks that may be recommended to the member 118 may be provided to the representative for final decision as to which tasks may be presented to the member 118 via the chat session. In some embodiments, the task recommendation system 112 may rank the list of the set of tasks based on the likelihood that the member 118 will select a task to delegate to the representative for performance and / or coordination with the third-party service 116. Alternatively, the task recommendation system 112 may rank the list of the set of tasks based on the level of urgency of completion of each task. The level of urgency may be determined based on member characteristics (e.g., data corresponding to the member's own prioritization of certain tasks or categories of tasks) and / or potential risk to the member 118 if the task is not performed. For example, a task corresponding to replacing or installing a carbon monoxide detector in the member's home may be ranked higher than a task corresponding to replacing a filter in a water dispenser in a refrigerator, since the carbon monoxide filter may be more important to the member's safety. As another illustrative example, if a member 118 places significant importance on maintaining the member's vehicle, the task recommendation system 112 may rank tasks related to maintaining the vehicle higher than tasks related to other types of maintenance. As yet another illustrative example, the task recommendation system 112 may rank tasks related to an upcoming birthday higher than tasks that will be completed after the upcoming birthday.
[0042]
[0061] The representative may review the set of tasks recommended by the task recommendation system 112 and select one or more of these tasks to present to the member 118 via the chat session. Additionally, as described above, the representative may determine whether the task should be presented with an option to delegate the performance of the task to the representative (e.g., by a button or other GUI element indicating the member's preference to delegate the performance of the task to the representative). In some examples, the one or more tasks may be presented to the member 118 according to a ranking generated by the task recommendation system 112. Alternatively, the one or more tasks may be presented according to the representative's understanding of the member's own preferences for task prioritization. Through an interface associated with the chat session, the member 118 may select one or more tasks that may be performed with the assistance of the representative. Alternatively, the member 118 may reject any presented tasks that the member 118 would rather perform personally or that the member 118 does not wish to perform as the case may be.
[0043]
[0062] In some embodiments, the task recommendation system 112 may automatically select one or more of the tasks for presentation to the member 118 via the chat session without the interaction of the proxy. For example, the task recommendation system 112 may utilize a machine learning algorithm or artificial intelligence to select a task from a list of a set of tasks previously ranked by the task recommendation system 112. As an illustrative example, the task recommendation system 112 may use the member's profile from the user data store 108 (which may include historical data corresponding to communications between the member and the proxy, the proxy's performance and the member's feedback corresponding to the presented tasks / suggestions, etc.), the tasks currently in progress for the member 118, and the list of the set of tasks as input to the machine learning algorithm or artificial intelligence. The output generated by the machine learning algorithm or artificial intelligence may indicate which tasks from the list of the set of tasks should be automatically presented to the member 118 via an interface associated with the chat session. As the member 118 interacts with these newly presented tasks, the task recommendation system 112 may record and use these interactions to further train the machine learning algorithm or artificial intelligence to better determine which tasks to present to the member 118 and other similarly situated members.
[0044]
[0063] In some embodiments, the task recommendation system 112 may monitor chat sessions between the member 118 and the proxy to collect data regarding the member's selection of tasks for delegation to the proxy for implementation. For example, the task recommendation system 112 may process messages corresponding to tasks presented to the member 118 by the proxy via the chat session to determine a polarity or sentiment corresponding to each task. For example, if the member 118 indicates in a message to the proxy that he or she prefers not to receive any task recommendations corresponding to vehicle maintenance, the task recommendation system 112 may attribute a negative polarity or sentiment to the task corresponding to vehicle maintenance. Alternatively, if the member 118 selects a task related to cleaning gutters for delegation to the proxy and / or indicates in a message to the proxy that a recommendation of this task would have been a good idea, the task recommendation system 112 may attribute a positive polarity or sentiment to this task. In some embodiments, the task recommendation system 112 may use these responses to tasks recommended to the member 118 to further train or enhance the machine learning algorithms or artificial intelligence utilized to generate task recommendations that may be presented to the member 118 and other similarly situated members of the task facilitation service 102.
[0045]
[0064] In some embodiments, in addition to recommending tasks that may be performed for the member 118, the surrogate may recommend to the member 118 one or more managed experiences that may appeal to take the member's mind off urgent matters and spend more time with themselves and the member's family. As described above, during the onboarding process, the member 118 may be prompted to indicate any of its interests or hobbies that the member 118 finds enjoyable. Additionally, as the surrogate continues to interact with the member 118 across a chat session, the surrogate may prompt the member 118 to give additional information about its interests in a natural way. For example, the surrogate may ask the member 118, "What are you doing this weekend?" Based on the member response, the surrogate may update the member's profile to indicate the member's preferences. Thus, over time, the surrogate and task facilitation service 102 may develop a deeper understanding of the member's interests and hobbies.
[0046]
[0065] In some embodiments, the task facilitation service 102 generates a set of experiences that may be available to members in each geographic market in which the task facilitation service 102 operates. For example, the task facilitation service 102 may partner with various organizations within each geographic market to identify unique and / or time-limited experience opportunities that may be of interest to members of the task facilitation service. Additionally, for experiences that do not require moderation (e.g., hiking, strolling, etc.), the task facilitation service 102 may identify popular experiences within each geographic market that may appeal to its members. Information collected by the task facilitation service 102 may be stored in a resource library or other repository accessible to the task recommendation system 112 and the various proxies 106.
[0047]
[0066] In some embodiments, for each available experience, the task facilitation service 102 can generate a template that includes both the information required from the member 118 to plan the experience on behalf of the member 118 and a skeleton of what the experience recommendation proposal will look like when presented to the member 118. This may make it easier for the delegate to complete the definition of the experience and the associated task. In some examples, the template can incorporate data from various sources that give high-quality recommendations, such as travel guides, food and restaurant guides, reputable publications, etc.
[0048]
[0067] In some embodiments, the task recommendation system 112 periodically (e.g., monthly, bi-monthly, etc.) or in response to a trigger event (e.g., a set number of tasks completed, member request, etc.), selects a set of experiences that can be recommended to the member 118. For example, similar to identifying tasks that can be recommended to the member 118, the task recommendation system 112 may use at least the set of available experiences from the user data store 108 and the member's preferences as inputs to a machine learning algorithm or artificial intelligence to obtain, as output, a set of experiences that can be recommended to the member 118. The task recommendation system 112 may present this set of experiences to the member 118, in some examples, via a chat session on behalf of a representative. Each experience recommendation may specify a description of the experience and any associated costs that may be incurred by the member 118. Additionally, for each experience recommendation presented, the task recommendation system 112 may provide a button or other GUI element that may be selectable by the member 118 to request management of the experience for the member 118.
[0049]
[0068] If the member 118 selects a particular experience recommendation that corresponds to an experience that the member 118 would like to be managed on its behalf, the task recommendation system 112 or a surrogate may generate one or more new tasks related to managing the selected experience recommendation. For example, if the member 118 selects an experience recommendation related to a weekend picnic, the task recommendation system 112 or a surrogate may add a new task to the member's task list so that the member 118 may assess progress in completing the task. Additionally, the surrogate may ask the member 118 detailed questions related to the selected experience to assist the surrogate in determining suggestions for the completion of the task related to the selected experience. For example, if the member 118 selects an experience recommendation related to managing a weekend picnic, the surrogate may ask the member 118 regarding the number of adults and children who will be participating, since this information may guide the surrogate to manage the weekend picnic for all parties and identify appropriate third-party services 116 and possible venues for the weekend picnic.
[0050]
[0069] Similar to the above-described process for completing a task for the member 118, the surrogate may generate one or more suggestions for management of the selected experience. For example, the surrogate may generate a suggestion that provides, among other things, a list of days / times for the experience, a list of possible venues for the experience (e.g., parks, movie theaters, hiking trails, etc.), a list of possible dining options and corresponding prices, options for delivery or pick-up of the meals, etc. The various options in the suggestion may be presented to the member 118 by an application provided by the task facilitation service 102 via a chat session. Based on the member's response to the various options presented in the suggestion, the surrogate may indicate that it is beginning the management process for the experience. Additionally, the surrogate may provide information related to the experience that may be relevant to the member 118. For example, if the member 118 selects an option to pick up food from a selected restaurant for a weekend picnic, the surrogate may provide detailed driving directions from the member's home to the restaurant to pick up the food (which would not be presented if the member 118 selected a delivery option), detailed driving directions from the restaurant to the selected venue, parking information, a list of food to be ordered, and a total price for the food order. The member 118 may review the proposal and may decide whether to accept the proposal. If the member 118 accepts the proposal, the representative may proceed to perform various tasks to manage the selected experience.
[0051]
[0070] When a member 118 selects a particular suggestion for a particular task or selects a button or other GUI element associated with a particular task to indicate that he or she wishes to delegate the performance of the task to a delegate, if the task is to be completed using a third-party service 116, the delegate may coordinate with one or more third-party services 116 for the completion of the task for the member 118. For example, the delegate may utilize the task coordination system 114 of the task facilitation service 102 to identify and contact one or more third-party services 116 for the performance of the task. As described above, the task coordination system 114 may include a resource library that includes detailed information related to the third-party services 116. For example, an entry for a third-party service in the resource library may include contact information for the third-party service, any available price sheets for services or goods offered by the third-party service, a list of goods and / or services offered by the third-party service, business hours, ratings or scores by members in different categories, etc. The delegate may query the resource library to identify one or more third-party services that will perform the task and to determine an estimated cost of performing the task. Additionally, the representative may contact one or more third party services 116 to coordinate the performance of the task for the member 118 .
[0052]
[0071] In some examples, when a task is to be completed by the surrogate 106, the surrogate 106 may utilize the task coordination system 115 of the task facilitation service 102 to identify any resources that may be utilized by the surrogate 106 for the performance of the task. The resource library may include detailed information regarding different resources available for the performance of the task. As an illustrative example, when the surrogate 106 is tasked with purchasing a set of filters for the member's home, the surrogate 106 may query the resource library to identify retailers that may sell filters that are acceptable to the member 118 and of a quality and / or price that corresponds to the proposal accepted by the member 118. Additionally, the surrogate 106 may retrieve from the user data store 108 the member's 118's available payment information that may be used to make payment for any resources required by the surrogate 106 to complete the task. Using the example above, the surrogate 106 may retrieve the member's 118's payment information from the user data store 108 to complete a purchase with a retailer of a set of filters to be used in the member's home.
[0053]
[0072] In some embodiments, the task coordination system 114 uses a machine learning algorithm or artificial intelligence to select one or more third party services 116 and / or resources on behalf of the surrogate for performance of the task. For example, the task coordination system 114 may utilize selected suggestions or parameters associated with the task (e.g., when the member 118 has delegated to the surrogate to determine how the task should be performed) and historical task data from the task data store 110 corresponding to similar tasks as input to the machine learning algorithm or artificial intelligence. The machine learning algorithm or artificial intelligence may generate as output a list of one or more third party services 116 that may perform the task with a high probability of satisfaction for the member 118. If the task is to be performed by the surrogate 106, the machine learning algorithm or artificial intelligence may generate as output a list of resources (e.g., retailers, restaurants, brands, etc.) that may be used by the surrogate 106 to perform the task with a high probability of satisfaction for the member 118. As noted above, the resource library may include, for each third party service 116, a rating or score associated with satisfaction with the third party service 116 as determined by members of the task facilitation service 102. Additionally, the resource library may include a rating or score associated with satisfaction with each resource (e.g., retailers, restaurants, brands, products, ingredients, etc.) as determined by a member of the task facilitation service 102. For example, upon completion of a task, the surrogate may prompt the member 118 to provide a rating or score regarding the performance of a third-party service in completing the task for the member 118. As another example, if a task is performed by a surrogate 106, the surrogate may prompt the member 118 to provide a rating or score regarding the performance of the surrogate and the resources utilized by the surrogate for the completion of the task.Each rating or score is associated with the member who provided the rating or score such that the task coordination system 114 may use machine learning algorithms or artificial intelligence to determine a likelihood of satisfaction for the performance of the task based on the satisfaction of the resources utilized by the third-party service or on its behalf for similar tasks for similarly situated members. The task coordination system 114 may generate a list of recommended third-party services 116 and / or resources for the performance of the task, whereby the list may be ranked according to the likelihood of satisfaction (e.g., a score or other metric) assigned to each identified third-party service and / or resource.
[0054]
[0073] If the representative is able to coordinate with one or more third-party services 116 for the performance of the task (e.g., schedule a time for the performance of the task, agree on a price for the performance of the task, etc.), the representative may provide an update to the member 118 to indicate when the task is expected to be completed and the estimated cost for the completion of the task. If any of the information provided in the update does not correspond to the estimates provided in the proposal, the member 118 may be given the option to cancel the particular task or otherwise modify the task. For example, if the estimated cost for the performance of the task exceeds a maximum amount specified in the proposal, the member 118 may ask the representative to find an alternative third-party service for the performance of the task within the budget specified in the proposal. Similarly, if the time frame for the completion of the task is not within the time frame indicated in the proposal, the member 118 may ask the representative to find an alternative third-party service for the performance of the task within the original time frame. The member's intervention may be recorded by the task recommendation system 112 and the task coordination system 114 to retrain their corresponding machine learning algorithms or artificial intelligence to, respectively, define more accurate suggestion parameters for the member 118 and better identify third-party services 116 that can perform the task within the defined suggestion parameters.
[0055]
[0074] In some embodiments, once a representative contracts with one or more third-party services 116 for performance of a task, the task coordination system 114 may monitor the performance of the task by these third-party services 116. For example, the task coordination system 114 may record any information provided by the third-party services 116 regarding the time frame for performance of the task, the costs associated with performing the task, any status updates regarding the performance of the task, etc. The task coordination system 114 may associate this information with the data record in the task data store 110 that corresponds to the task being performed. The status updates provided by the third-party services 116 may be provided automatically to the member 118 and to the representative via an application provided by the task facilitation service 102.
[0056]
[0075] In some embodiments, when a task is to be performed by a representative 106, the task coordination system 114 may monitor the performance of the task by the representative 106. For example, the task coordination system 114 may monitor any communications between the representative 106 and the member 118 in real time regarding the representative's performance of the task. These communications may include messages from the representative 106 indicating any status updates regarding the performance of the task, any purchases or expenses incurred by the representative 106 in performing the task, the time frame for completion of the task, etc. The task coordination system 114 may associate these messages from the representative 106 with data records in the task data store 110 that correspond to the task being performed.
[0057]
[0076] In some examples, the surrogate may automatically make payments for services and / or goods rendered by one or more third-party services 116 on behalf of the member 118, or for purchases made by the surrogate for the completion of a task. For example, during the onboarding process, the member 118 may provide payment information (e.g., credit card number and related information, debit card number and related information, banking information, etc.) that may be used by the surrogate to make payments to the third-party service 116 or for purchases made by the surrogate 106 for the member 118. Thus, the member 118 may not be required to provide any payment information to enable the surrogate 106 and / or the third-party service 116 to begin performing a task for the member 118. This may further reduce the cognitive load on the member 118 to manage the performance of a task.
[0058]
[0077] As described above, once a task is completed, the member 118 may be prompted to provide feedback regarding the completion of the task. Just like any other information or message described herein, such prompts may be communicated from the service 102 to the device 120 and presented to the member 118 within the chatflow interface. For example, the member 118 may receive a notification of a task milestone or task completion from the service 102 via the device 120. The notification may be presented within the chatflow interface with a prompt to confirm completion of the milestone and provide feedback regarding the performance and professionalism of the selected third-party service 116 in performing the task. Additionally, the member 118 may be prompted to provide feedback regarding the quality of the suggestions provided by the representative and regarding whether the performance of the task addressed the underlying issues associated with the task. Using the responses provided by the member 118, the task facilitation service 102 may train or possibly update the machine learning algorithms or artificial intelligence utilized by the task recommendation system 112 and the task coordination system 114 to better identify tasks, make suggestions, identify third party services 116 for completion of tasks for the member 118 and other similarly situated members, identify resources that may be provided to a surrogate 106 to perform tasks for the member 118, and the like.
[0059]
[0078] It should be noted that for the processes described herein, various operations performed by the surrogate 106 may additionally or alternatively be performed using one or more machine learning algorithms or artificial intelligence. For example, as the surrogate 106 performs tasks or otherwise adjusts the performance of tasks over time on behalf of the member 118, the task facilitation service 102 may continuously and automatically update the member's profile according to the member's feedback related to the performance of these tasks by the surrogate 106 and / or the third-party service 116. In some embodiments, the task recommendation system 112 may utilize machine learning algorithms or artificial intelligence to automatically and dynamically generate new tasks based on various attributes of the member's profile (e.g., historical data corresponding to communications between the member and the surrogate, member feedback corresponding to the surrogate's performance and presented tasks / suggestions, etc.), with or without surrogate interaction, after the member's profile has been updated over a period of time (e.g., six months, a year, etc.) or for a set of tasks (e.g., 20 tasks, 30 tasks, etc.). The task recommendation system 112 may automatically communicate with the members 118 to obtain any additional information required for new tasks and automatically generate suggestions that may be presented to the members 118 for the implementation of these tasks. The surrogate 106 may monitor communications between the task recommendation system 112 and the members 118 to ensure that the conversation maintains a positive polarity (e.g., the member 118 is satisfied with its interactions with the task recommendation system 112 or other bots, etc.). If the surrogate 106 determines that the conversation has a negative polarity (e.g., the member 118 is expressing frustration, the task recommendation system 112 or bots are unable to process the member's responses or requests, etc.), the surrogate 106 may intervene in the conversation. This may enable the surrogate 106 to address any member's issues and perform any tasks on behalf of the member 118.
[0060]
[0079] Thus, unlike automated customer service systems and environments, where these systems and environments may have little knowledge of the user interacting with an agent or other automated system, the task recommendation system 112 can continuously update the member profile to provide up-to-date historical information about the member 118 based on the member's automated interactions with the system or surrogate 106, and based on tasks performed on behalf of the member 118 over time. This historical information, which may be automatically and dynamically updated as the member 118 or system interacts with the surrogate 106, and as tasks are conceived, suggested, and performed for the member 118 over time, may be used by the task recommendation system 112 to anticipate, identify, and present appropriate or intelligent responses to the queries, needs, and / or objectives of the member 118.
[0061]
[0080] FIG. 2 illustrates an illustrative example of an environment 200 including a chatflow interface in which projects 224 and corresponding tasks 226 are generated and provided by a task facilitation service 202, according to at least one embodiment. In the environment 200, a member 210 of the task facilitation service 202 may engage in a communication session with messages of the communication session presented in a chatflow interface for the communication session 216. The communication session represented in the interface for the communication session 216 and the task interface 222 is between the member 210 using the device 212 to display the interface for the session 216 and an assigned representative 204. The member 210 may send one or more messages 218 to the representative 204 through the communication session to indicate that the member 210 needs assistance in completing projects and / or tasks for the member 210 using the chatflow interface for the communication session 216. For example, as illustrated in FIG. 2, the member 210 may indicate a request for the representative 204's assistance in planning a move to a new city next month. In response to these one or more messages 218, the representative 204 may indicate via one or more messages 220 that the representative may be able to assist the member 210 in completing a particular project and / or task through various methods available to the representative 204 and / or implemented by the task facilitation service 202, as described herein.
[0062]
[0081] The task facilitation service 202 may be implemented to reduce the cognitive load on members and members' families in performing various tasks in and around the member's home by identifying and delegating tasks to surrogates who may coordinate the performance of these tasks for these members. A member, such as member 210, may be paired with a surrogate 204 during an onboarding process during which the task facilitation service 202 may collect identifying information for the member 210. For example, as described above, an interface or element of a chatflow provided by the task facilitation service 202 may present the member 210 with a survey or questionnaire that may provide identifying information that the member 210 can use to select a surrogate 204 for the member 210. The task facilitation service 202, via elements presented in the chatflow interface, may prompt the member 210 to provide more information about the tasks, such as the number of residents in the member's home, the number of children in the member's home, the number and type of pets in the member's home, etc., the physical location of the member's home, any special needs or requirements of the member 210 (e.g., physical or emotional disabilities, demographic information, or any other information related to one or more tasks that the member 210 may wish to potentially delegate to a delegate 204). This information may specify the nature of these tasks (e.g., cleaning gutters, installing carbon monoxide detectors, planning a party, etc.), the level of urgency for the completion of these tasks (e.g., timing requirements, deadlines, dates corresponding to upcoming events, etc.), any member preferences for the completion of these tasks, etc.
[0063]
[0082] The collected identification information may be used by the task facilitation service 202 to identify and assign a surrogate 204 to the member 210. For example, the task facilitation service 202 may use the identification information of the member 210, as well as any information related to the member's comfort or interest level in delegating tasks to others, and any other information obtained during the onboarding process, as input to a classification or clustering algorithm configured to identify surrogates that may be suitable for interacting and communicating with the member 210 in a productive manner. Using a classification or clustering algorithm, the task facilitation service 202 may identify surrogates 204 that may be more likely to develop a successful, long-lasting relationship with the member 210 while addressing any tasks that may need to be addressed for the member 210.
[0064]
[0083] A surrogate 204 may be an individual assigned to a member 210 according to a degree or vector of similarity between the member's demographic information and the surrogate's demographic information. For example, the task facilitation service 202 may be more likely to assign a surrogate 204 to a member 210 if the member 210 and the surrogate 204 share similar backgrounds (e.g., attended college in the same city, are from the same hometown, share specific interests, etc.). Similarly, the task facilitation service 202 may be more likely to assign a surrogate 204 to a member 210 if the member 210 and the surrogate 204 are within geographic proximity of one another. Just as noted above, in some embodiments, the surrogate 204 may be an automated process, such as a bot, that may be configured to automatically and dynamically engage and interact with the member 210 (e.g., interact with the member 210 without human intervention involved in the operation of the surrogate 204). Such automated interactions may be implemented dynamically with real-time feedback to machine learning algorithms that govern aspects of the automated surrogate 204. In other examples, the surrogate 204 is associated with individual actions that are non-automatically performed using human interaction to initiate, modify, and / or generate communications and actions related to the surrogate 204. When a surrogate 204 is assigned to a member 210 by the task facilitation service 202, the task facilitation service 202 may notify the member 210 and the surrogate 204 of the pairing. Additionally, the task facilitation service 202 may establish a chat session or other communication session between the member 210 and the assigned surrogate 204 to facilitate communications between the member 210 and the surrogate 204.
[0065]
[0084] In some embodiments, the surrogate 204 may suggest one or more tasks based on details from messages in the real-time chat flow, task flags associated with such messages, member characteristics, task history, and other factors. For example, when a member 210 communicates with the surrogate 204 via a communication session 216, the surrogate 204 may evaluate any messages from the member 210 provided via the real-time chat flow to identify any tasks that may be performed to reduce the member's cognitive load.
[0066]
[0085] In some embodiments, the task facilitation service 202, via the task recommendation system 206, may monitor the communication session 216 associated with the chat flow between the member 210 and the proxy 204 while messages are exchanged in real time to identify any projects and / or tasks that the member 210 may want to have performed by the proxy 204 and / or one or more third party services 214 for the member's benefit. The task recommendation system 206 may be implemented using a computer system or as an application or other executable code implemented on the computer system of the task facilitation service 202. In some embodiments, the task recommendation system 206 utilizes machine learning algorithms with NLP or other artificial intelligence to process these messages exchanged between the member 210 and the proxy 204 via the communication session 216 to identify possible projects and / or tasks that may be recommended to the member 210. For example, the task recommendation system 206 may process any incoming messages 218 from the member 210 using NLP or other artificial intelligence to detect new projects and / or tasks that the member 210 may want solved or otherwise performed for the member 210. The task recommendation system 206 can then generate alerts, task recommendations for new tasks to be added to the member 210 or representative 204 system, or initiate other such actions including placing data into a chat flow related to analysis of real-time chat flow messages and other contextual information (e.g., data from one or more member resources such as the member's calendar, the member's Internet of Things (IoT) devices, the member's personal fitness devices including fitness trackers and exercise equipment with communication capabilities, the member's vehicle data, data from time and task management software, to-do lists, etc.).
[0067]
[0086] Data from chat flows and other resources associated with members may be used with a dynamic automated decision-making and feedback system. Such machine learning algorithms or other artificial intelligence may be trained using supervised training techniques. For example, a data set of input messages and corresponding projects and tasks (and corresponding parameters) may be selected for training of the machine learning algorithm or other artificial intelligence. The machine learning algorithm or artificial intelligence may be evaluated based on sample inputs provided to the machine learning algorithm or artificial intelligence to determine whether the machine learning algorithm or artificial intelligence correctly identifies projects and tasks based on the provided messages. Based on this evaluation, the machine learning algorithm or artificial intelligence may be modified to increase the likelihood that the machine learning algorithm or artificial intelligence correctly identifies projects and / or tasks corresponding to the sample messages provided as input. The machine learning algorithm or artificial intelligence may be further dynamically trained by soliciting feedback from members and representatives of the task facilitation service 202 regarding the identification of projects and tasks based on communication sessions between these members and representatives. For example, if the task recommendation system 206 determines that the machine learning algorithm or artificial intelligence failed to identify the project and / or task that the member 210 wanted to complete to address the issue, the task recommendation system 206 may use this feedback along with the corresponding message submitted by the member 210 identifying the issue for which the project or task should have been created, to retrain the machine learning algorithm or artificial intelligence to better identify the project and / or task based on similar messages from members of the task facilitation service 202.
[0068]
[0087] In some embodiments, if the task recommendation system 206 identifies one or more projects and / or tasks that may be performed for the member 210, the task recommendation system 206 may present these one or more projects and / or tasks to the surrogate 204 via a surrogate console provided to the surrogate 204 by the task facilitation service 202. The surrogate 204 may select any of the identified one or more projects and / or tasks for presentation to the member 210 based on its knowledge of the member 210. In some examples, if the surrogate 204 selects any of the identified one or more projects and / or tasks, the task recommendation system 206 may provide, via the surrogate console, one or more task templates that may be used to further define the selected project and / or task. The one or more task templates may correspond to a task type or category for the project and / or task being defined.
[0069]
[0088] The surrogate 204 may define various parameters associated with a new project or task to be presented and performed for the member 210 via a task template for the particular project or task. For example, via a task template, the surrogate 204 may define the assignment of the task (e.g., to the surrogate 204, the third-party service 214, the member 210, etc.). In some examples, the task recommendation system 206 may use a machine learning algorithm or artificial intelligence to identify which data fields will be presented in the task template to the surrogate 204 for the creation of a new task or project. For example, the task recommendation system 206 may use a member profile associated with the member 210 and a selected task template for the new project or task as inputs to the machine learning algorithm or artificial intelligence. The task recommendation system 206 may indicate which data fields may be omitted from the task when presented to the member 210. Thus, the surrogate 204 may need to provide all necessary information for a new task or project regardless of whether all information is presented to the member 210.
[0070]
[0089] As described above, in some embodiments, the task recommendation system 206 can automatically generate projects and / or tasks without the need for the surrogate 204 to interact with a corresponding task template to further define the project and / or task. For example, the task recommendation system 206 can use the member's message 218, member-specific data (e.g., characteristics, demographics, location, past responses to recommendations and suggestions, etc.), data corresponding to similarly situated members, and historical data corresponding to tasks previously performed for the member 210 and other similarly situated members as inputs to a machine learning algorithm or artificial intelligence to generate new projects and / or tasks that can be recommended to the member 210. For example, if the member 210 indicates via a communication session 216 with the surrogate 204 that the member 210 needs assistance with repairing the member's gutter, the task recommendation system 206 can use the message 218 corresponding to this request for assistance as well as the other aforementioned data as inputs to a machine learning algorithm or artificial intelligence to generate a new task for the member 210 corresponding to the needed repairs.
[0071]
[0090] The machine learning algorithm or artificial intelligence used to automatically generate new projects and / or tasks for members of the task facilitation service 202 may be trained using supervised training techniques. For example, a data set of input messages, corresponding member profiles of providers of messages and similarly situated members, and historical data corresponding to previously performed tasks / projects may be selected for training the machine learning algorithm or other artificial intelligence. The machine learning algorithm or artificial intelligence may be evaluated to determine whether the machine learning algorithm or artificial intelligence is able to accurately identify and generate projects and tasks based on sample inputs provided to the machine learning algorithm or artificial intelligence and identification of similarly situated members. Based on this evaluation, the machine learning algorithm or artificial intelligence may be modified to increase the likelihood that the machine learning algorithm or artificial intelligence will accurately identify and generate projects and / or tasks corresponding to the given input. The machine learning algorithm or artificial intelligence may be further dynamically trained by soliciting feedback from members and representatives of the task facilitation service 202 regarding the identification and automatic generation of projects and tasks based on communication sessions between these members and representatives, as described above.
[0072]
[0091] In some examples, the task recommendation system 206 may utilize machine learning algorithms or artificial intelligence to identify similar tasks performed for other members of the task facilitation service 202 that can be used to generate new tasks for the member 210. Using the above example of a member's request for assistance with repairing the member's gutter, the task recommendation system 206 may identify any previously performed tasks for members within the member's 210 geographic area (e.g., same region, same city, same state, etc.) related to repairing the gutter. Additionally, the task recommendation system 206 may evaluate member profiles of such members within the member's 210 geographic area to identify any similarly situated members (e.g., members with similar preferences, members with similar characteristics, etc.). If the task recommendation system 206 identifies similar tasks previously performed for similarly situated members of the task facilitation service 202, the task recommendation system 206 may utilize these similar tasks to automatically generate new tasks for the member 210. For example, the task recommendation system 206 may use a similar task description for a new task, select the same or a similar third-party service 214 for performance of the task, provide an estimated budget for completion of the task, define a priority for the task, assign an estimated deadline or time for completion of the task, etc.
[0073]
[0092] In some embodiments, when the task recommendation system 206 automatically generates one or more new projects and / or tasks for the member 210 based on a message 218 submitted by the member 210 via the communication session 216, the task recommendation system 206 provides the one or more new projects and / or tasks to the proxy 204 to enable the proxy 204 to evaluate the one or more new projects and / or tasks and determine which projects and / or tasks should be presented to the member 210. For example, a list of one or more projects and / or tasks that may be recommended to the member 210 may be provided to the proxy 204 for a final decision as to which projects and / or tasks may be presented to the member 210 via the communication session 216 and / or through a project interface 222 provided to the member 210. In some embodiments, the task recommendation system 206 may rank the new projects and / or tasks based on the likelihood that the member 210 will select the projects and / or tasks for delegation to the proxy 204 for implementation and / or coordination with the third-party service 214. Alternatively, the task recommendation system 206 may rank the projects and / or tasks based on a level of urgency for the completion of each project and / or task. The level of urgency may be determined based on member characteristics (e.g., data corresponding to the member's own prioritization of certain tasks or categories of tasks) and / or the potential risk to the member 210 if the project and / or task is not performed.
[0074]
[0093] In some embodiments, the task recommendation system 206 can automatically determine whether additional information is required from the member 210 for the creation of a new project or task. For example, the task recommendation system 206 may process the generated project and / or task and information corresponding to the member 210 using a machine learning algorithm or artificial intelligence to automatically identify additional parameters for the task as well as any additional information that may be required from the member 210 for the generation of the proposal. For example, the task recommendation system 206 may use the generated project or task, information corresponding to the member 210, and historical data corresponding to projects and / or tasks performed for other similarly situated members as inputs to a machine learning algorithm or artificial intelligence to identify any additional information that may be required of the member 210 to define the project and / or task. If the task recommendation system 206 determines that additional member input is required for the project or task, the task recommendation system 206 may provide the representative 204 with recommendations for questions that may be posed to the member 210 regarding the project or task. Returning to the example of the "Moving to a New Home" project 224 described above with respect to FIG. 1, if the task recommendation system 206 determines that understanding one or more parameters of the member's home (e.g., square footage, number of rooms, etc.) is important for the project, the task recommendation system 206 may provide a recommendation to the surrogate 204 to prompt the member 210 to provide these one or more parameters. The surrogate 204 may review the recommendation provided by the task recommendation system 206 and prompt the member 210 via the communication session 216 to provide additional project parameters. This process may reduce the number of prompts provided to the member 210 to define a particular project or task, thereby reducing the cognitive load on the member 210.In some examples, rather than providing a representative with recommendations for questions that may be posed to the member 210 regarding a project or task, the task recommendation system 206 may automatically present these questions to the member 210 via the communication session 216. For example, if the task recommendation system 206 determines that questions related to the square footage of the member's home are required for the project 224, the task recommendation system 206 may automatically prompt the member 210, via the communication session 216, to provide the square footage of the member's home.
[0075]
[0094] In some embodiments, the task recommendation system 206 may further provide recommendations to the surrogate 204 for questions that may be presented to the member 210 regarding the project or task based on the member's preferences. For example, if the member 210 is known to be budget-conscious and the surrogate 204 and / or the task recommendation system 206 have not defined any budget or budgetary restrictions for the task or project, the task recommendation system 206 may prompt the surrogate 204 to communicate with the member 210 via the communication session 216 to inquire regarding the member's budget for the completion of the project or task. In some embodiments, the task recommendation system 206 may use machine learning algorithms or artificial intelligence to determine what questions may be presented to the member 210. For example, the task recommendation system 206 may determine the member's preferences to further define parameters for the new project or task, and use the parameters defined for the new project or task, the member's profile, and historical data corresponding to projects and / or tasks previously performed for the member 210 as inputs to the machine learning algorithm or artificial intelligence to identify questions that may be presented to the member 210 based on these preferences.
[0076]
[0095] In some embodiments, once the surrogate 204 obtains the necessary task and / or project related information (e.g., task parameters obtained via evaluation of tasks performed for similarly situated members, etc.) from the member 210 and / or through the task recommendation system 206, the surrogate can utilize the task coordination system 208 of the task facilitation service 202 to generate one or more suggestions regarding the resolution of the project and / or task. The task coordination system 208 can be implemented using a computer system or as an application or other executable code implemented on the computer system of the task facilitation service 202. In some examples, the surrogate 204 can utilize a resource library maintained by the task coordination system 208 to identify one or more third party services 214 and / or resources (e.g., retailers, restaurants, websites, brands, types of products, specific products, etc.) that can be used for the implementation of the project and / or task for the member 210 according to one or more parameters identified by the surrogate 204 and the task recommendation system 206, as described above. The proposal may specify a time frame for completion of the project and / or task, identification of any third party services 214 (if any) that will be engaged for completion of the project and / or task, a budget estimate for completion of the project and / or task, resources or types of resources to be used for completion of the project and / or task, etc. The representative 204 may present the proposal to the member 210 via a communication session 216 to solicit a response from the member 210 to either move forward with the proposal or provide an alternative proposal for completion of the project and / or task.
[0077]
[0096] When the member 210 selects a particular suggestion option for a particular project or task, a new project and any corresponding tasks are presented to the member 210 via a project interface 222, through which the member 210 can review the project 224 that corresponds to the stated problem and the tasks 226 that correspond to the selected suggestion option from the suggestions for the particular project 224. Through the project interface 222, the member 210 can review details regarding a description of the project 224 to be performed for the member 210 as well as the corresponding tasks 226 that are to be performed to complete the project 224. For example, as shown in FIG. 2, the representative 204 or the task recommendation system 206 can update the project interface 222 to present a new project 224 related to the member's upcoming move to a new home and one or more tasks 226 that correspond to the project 224. The number of tasks 226 presented via the project interface 222 and the details provided for these tasks 226 and the project 224 itself can be determined based on the member's preferences or attributes specified in the member's profile. For example, the amount of detail provided and the number of tasks 226 presented may be determined such that the member 210 is appropriately informed regarding the project 224 and corresponding tasks 226 while taking into consideration the member's cognitive load (e.g., the presentation of information does not add stress to the member 210, thereby maintaining the member's cognitive load). For each aspect, communication between members 210 via device 212 or another member device may be between a human and an automated representative, with both automated and non-automated analysis and responses occurring at various points to facilitate task progression and completion.
[0078]
[0097] 1 (e.g., for the performance of the project or task, such as operations to schedule the time of performance of the project or task, agreeing on a price for the performance of the project or task, etc.), the representative 204 may update the project interface 222 to indicate when the project 224 and any associated tasks 226 are expected to be completed and the estimated cost for the completion of the project 224 and associated tasks 226. Certain project interface 222 updates may also trigger updates to the auto-chat interface 216, such as notifications of milestones for tasks, completion updates (e.g., percentage complete updates, next step timing updates, etc.). Some aspects of the plan interface 222, such as reminders to the member 210 that additional information or decision information (e.g., associated with alternative decisions that may affect task completion) is needed from the member 210 for task progress.
[0079]
[0098] In some embodiments, if a task is to be performed by a surrogate 204, the task coordination system 208 can monitor the performance of the project or task by the surrogate 204. Upon completion of the task or corresponding project, the member 210 can be prompted to provide feedback regarding the completion of the project or task. Using the response provided by the member 210, the task facilitation service 202 can train or otherwise update machine learning algorithms or artificial intelligence utilized by the task recommendation system 206 and the task coordination system 208 to provide better identification of projects and tasks, making suggestions and corresponding suggestion options, identifying third party services 214 for the completion of projects and tasks for the member 210 and other similarly situated members, identifying resources that can be provided to the surrogate 204 for the performance of the project or task for the member 210, and the like.
[0080]
[0099] FIG. 3 illustrates an exemplary chatflow interface 300, according to some examples. The chatflow interface 300 may be presented on a device 120 or 212 that is presented to a member as part of an interaction with a task facilitation service 102 or 202, for example. The interface 300 shows a chat interface for initiating a new task with a surrogate, a template element for initiating a specific task, and a text interface for customized communication. The interface 300 may be an interface used as part of an onboarding operation for a new task, or as a waiting area before checking existing tasks for an onboarded member. The template element may launch additional chatflow interfaces with specially designed information gathering surrogates or interfaces as part of a chatflow for orchestrating a new task, or may lead to additional interfaces for existing tasks. For example, a selection and corresponding communication related to a birthday party template interface may be received by the task facilitation service 202, which responds with a communication from an auto-surrogate to gather information about the birthday and the task the member generates about the birthday. Auto-delegation can determine whether the member is hosting a party or attending a party hosted by another person, details related to the party, and tasks, subtasks, deadlines, communications with other attendees, or other items that are part of a party-related task. Selection of the template can also generate a task flag that can be used in a task-specific chat interface for the task, or in a general real-time chat interface to indicate communications in the real-time chat flow related to the birthday party task.
[0081]
[0100] In another example, a home maintenance interface template may be associated with a reminder from a previous task. For example, a completed home maintenance task may end with a reminder for a future related maintenance task. A template for the reminder task may be displayed in interface 300 near or at the reminder deadline associated with the previous task.
[0082]
[0101] The explanation interface or text entry interface may be part of the interface 300 for general or customized initiation of interactions that are not fully related to the templates presented in the interface 300. The new explanation interface may be used to receive text or voice input from members, initiate new tasks, or check the status of ongoing tasks. The new explanation interface may in some aspects be part of a chat transfer home interface, with the previous real-time chatflow interface accessible from the new explanation interface. In some aspects, a birthday party template may search for information and then initiate both automated and non-automated messaging in a real-time chatflow interface between a human and non-human representative to help plan the birthday party. The message details may be part of the chatflow, which may be accessed by entering a message to review the party planning details in the new explanation interface from the home page.
[0083]
[0102] In some aspects, the interface 300 has a default structure for interacting with a representative assigned to a member, such as a human representative "Miya", an automated NLP-based representative, or a hybrid representative when the human representative is supported by an automated representative or automated assistant. In some aspects, the representative can modify or update the templates and template categories presented to a particular member. For example, an automated representative can access the member's calendar and add a birthday party template when a family member's birthday is a target or threshold time from the current time. Similarly, a home maintenance template can be automatically presented at an anniversary or reminder time. Such selections can also be made manually by a human representative in some aspects based on chat messaging with the member, or based on consideration of member data aggregated from different sources, including the member calendar, representative notes, machine learning analysis of data with selectable options presented to the human representative, or other such options. Similarly, template categories, home page customizations, and other such elements of the chatflow interface 300 can be managed automatically or manually by the representative based on system information in different implementations.
[0084]
[0103] FIG. 4 illustrates an example interface 400 that may be used in some aspects of the implementations described herein. The interface 400 may in some aspects be the interface presented upon selection of a text input element for a new description in the interface 300. The interface 400 includes both a text keyboard interface for entering data (e.g., via a touch screen) and additional interface elements. The interface 400 includes an emergency request button, which may be associated with a priority request for interacting with a human agent or for initiating a data collection automated agent customized for the emergency request, and for alerting the task facilitation service 202 that a priority communication for an emergency request will soon be given by the member. The interface 400 also includes a separate set of suggested templates. In some aspects, these may be the same suggested templates from the interface 300, or may be a mix of suggestions, most recent or most repeated requests, or any other such priorities. For example, if the member periodically requests dinner reservation assistance, templates related to making dinner reservations may be presented along with a keyboard interface. In some aspects, a machine learning system can analyze member selections, both for the individual member and other members, to predict the most useful interface elements or templates to present in interfaces 300 and 400. The interface element selections can be used as feedback data to update such element selections. In some aspects, the feedback system can be integrated as part of an automated delegation of the task facilitation service 202, which can automatically select and update the presentation of such templates in the chatflow interface 400 of the member's device and initiate chat communications with the member to request information regarding the member's template preferences.
[0085]
[0104] FIG. 5 illustrates an aspect of a chatflow interface 500, according to some aspects. The interface 500 illustrates a customized chatflow associated with the selection of a birthday party planning template. As illustrated, the interface 500 may be initiated from a template element selection in the chatflow interface 300 or 400 of FIG. 3 or FIG. 4. The interface 500 may then initiate a chatflow interface with a request for information and the presentation of an information collection element in the chatflow. An exemplary information collection element in the chatflow interface 500 provides a horizontally scrollable list of individuals associated with the member with whom a parts plan may be associated. In some aspects, a machine learning algorithm may analyze birthdays, historical data related to the member contact's party celebrations, or other such information to categorize and sort the member's contacts based on the likelihood that the contacts are party invitees, with the most likely contacts being displayed first in the list. The chatflow element allows for the selection of party invitees, or the option to identify party invitees at a later time. If party invitees are identified, the available information about the party invitees may be used in suggesting subtasks for party planning. The information may include demographic or preference information collected from the member or from the surrogate's interactions with the member's contacts. In some implementations, as part of the member's task, the surrogate may interact with the member's contacts and collect information about the member's contacts (e.g., children's ages, preferences, food allergies, etc.). Such information may then be stored by the task facilitation service 202 and used when the contacts are associated with a task. For example, a previous task about a member's children may result in the task facilitation service 202 storing information indicating preferences for the color green and certain celebrities and favorite fictional characters.Identifying the child as a party target can result in the system using this information to suggest party themes, games, music, gift recommendations, or other such information related to the party.
[0086]
[0105] 6-11 illustrate additional aspects of chatflow interfaces that may be used with systems described herein, such as systems integrating task facilitation services 102 or 202. FIG. 6 illustrates a chatflow interface 600 that includes a sortable chatflow with messages sorted by activity and delegated messages related to multiple tasks at the top of the chatflow. In the example interface 600, messages in the chatflow are sorted and grouped by activity. Other sorting options for messages in the chatflow include sorting by chronological messages, sorting by task priority, sorting by most recent subtask completion time, or other such sorting options. In the example interface 600, special groupings for messages selected by an AI or machine learning algorithm may be presented in a suggested interface area at the bottom of the display.
[0087]
[0106] In some aspects, tasks and subtasks may be tagged with system identifiers to support filtering. When a user sends a message to a representative, NLP may be used to automatically associate the message with one or more system tasks, and the message may then be flagged with identifiers of all related tasks. In some examples, a message or message group may be associated with multiple tasks and associated with multiple tags. Similarly, in some examples, an individual message may not be task-related, but may be part of a group of accompanying messages. The service 102, 202 may identify separate messages as part of a group and either flag the messages with a shared set of identifiers or treat the group of messages as a single message. Sorting, filtering, reminders, and other such message presentations may then be based on the system identifier. In some implementations, the user may provide feedback indicating that the message appears to be misclassified or associated with the wrong task. In some such systems, this information can both be used to adjust message tags and provided as feedback to the NLP machine learning algorithms that automatically characterize or assign identifiers to messages to dynamically update the automatic assignment process.
[0088]
[0107] In addition to flagging messages with existing task identifiers, the machine learning algorithm can also operate to automatically suggest tasks based on NLP processing if the task does not exist. Similarly, if a task exists but the NLP of a message identified as associated with the task indicates a suitable subtask that does not exist, the machine learning algorithm can flag the message with an id of the existing task and recommend a new subtask based on an analysis of the message details. Additionally, machine learning analysis of multiple messages from a real-time chat flow may identify task suggestions or subtask updates that are not apparent from individual messages. In some aspects, the system can periodically or continuously analyze real-time chat messages to suggest alerts, new task suggestions, new subtasks for existing tasks, or other such member communications or assistance for human representation.
[0089]
[0108] Some such machine learning analyses may be performed by a server implementing the service 102, 202. Other such analyses may be widgets or algorithms running on the member's device 120 or 212. Such widgets may be customized algorithms designed to target member-specific details or flags. In some aspects, this may involve collecting information from the member's device 120, 212 and tracking keywords or triggers in the real-time chat flow. For example, if there is a meeting on the calendar related to the task topic, such a widget may link chat flow messages tagged with the task id to the calendar messages to automatically provide data for the meeting.
[0090]
[0109] FIG. 7 illustrates multiple interfaces 700, 710 that may be implemented using a real-time chatflow interface as part of an implementation according to aspects described herein. The interface 700 includes a keyboard interface with an area for editing a message, which may then be presented with other messages in the chatflow interface based on the current sorting characteristics selected for the chatflow. The interface 710 illustrates details that may be created using the interface 700 for a new task, including text describing the task, subtasks that are generated as part of the task, and clarifying task details. The task creation element, when selected, may communicate the task details to the task facilitation service 102 or 202. When the task details are received, they may be processed by the system described herein to assign a proxy to the task and perform further actions associated with the task. Such further actions may be a response chatflow message requesting additional information, indicating an expected task performance time, or confirming the proxy assignment.
[0091]
[0110] FIG. 8 illustrates an additional interface 800 that may flow from interface 700 or interface 710 of FIG. 7. Interface 800 illustrates a chat flow interface with chat communications related to a task. In some aspects, chat messages and other details for a given task may be structured differently for different chat flows related to a given task. In some aspects, a machine learning system of the service 102 or 202 may analyze the messages and task details to generate an index of key items for the task. Another interface directly accessible through interface 800 may show subtasks and details of each subtask, and a third interface may be a chronological flow of messages related to the task, including milestone alerts, reminders, and messages between the member and one or more delegates. Interface 800 illustrates a chat flow task interface with milestone alerts within the chat flow interface of the task.
[0092]
[0111] In some implementations, chat interface elements related to a task can include specific feedback elements to provide information to the service 102, 202. In one example, this chat interface element includes elements specifically for delaying follow-up on a task. Such elements can include a "talk about it later" or "snooze" indication. Such a selection can hide messages related to the task from the chat flow for a fixed amount of default time, a selection of the element for a given amount of time, or indefinitely. In some aspects, machine learning algorithms can be used to provide a reminder message related to a snoozed task and ask the member to confirm whether the task should be canceled, reintegrated with the interface (e.g., bring the message back into the real-time chat flow interface with other tasks or information for task prioritization), or further delayed. Responses to such reminder messages can then be used to update the details of when reminders are presented to the member. In some respects, the machine learning algorithm can determine that certain members prefer reminders at certain times of day, certain days of the week, or certain member-specific intervals. Such an algorithm may further determine that a member prefers not to receive more than a threshold number of reminders in a given period of time, or prefers to process all reminders together. Changing feedback may dynamically update such reminders such that the reminder process for a single member can change over time based on feedback regarding the member's interaction with reminder messages and preferences.
[0093]
[0112] FIG. 9 illustrates aspects of proxy selection relevant to some implementations. As described above, the member can use an interface presented on the device to initiate a task with the service 102 or 202. The service can then process the received task details in various ways. Some embodiments analyze the available proxy for the service 102 or 202 and select a proxy for the task. This selection can be based on the proxy's previous interactions with the member, the proxy's expertise, the proxy's availability, or other such aspects for matching the proxy to the member and / or the member's task. Interface 900 includes details about a proposed proxy recommended for a task, and interface 910 is a chat flow interface for a proxy recommended for an initial task with the member. The member can communicate with the recommended proxy and assign or manage subtasks or task details, or the member can request an alternative proxy. In some embodiments, any such details can be used by a machine learning feedback system to influence future assignments. Such data can include both member and proxy characteristics, task details, and communication details between the member and the proxy. In some embodiments, an AI surrogate can be directly involved in the initial communications for a task, and machine learning algorithms can modify the initial surrogate contact selection and interaction process based on feedback from previous interactions to dynamically update the process for task interaction.
[0094]
[0113] FIG. 10 illustrates an interface 1000 for task recommendations presented by the task service 102 or 202. In the chat flow interface above, many aspects described are for member-initiated tasks. In some implementations, the member can interact with a surrogate over the course of multiple tasks, and the service can use information about the member provided during onboarding and task interactions to generate the recommended tasks. The interface 1000 shows recommendations for experiences (e.g., organization tasks) that can be based on non-automated surrogate analysis of the member's information or can be based on dynamic machine learning analysis. For example, the service can access information from the member's calendar and the calendars of the member's contacts. Chat messages from a real-time chat flow can include an indication that the member would like to schedule more time with a particular contact (e.g., the member's daughter). Machine learning analysis of available data including the member's calendar, chat message information, onboarding information, and any other such information can be used to recommend an event. Details of the event can be based on historical data from other similar events recommended by the system, as well as feedback received about those events, and other information. For example, dinner and movie recommendations based on an event attendee's calendar availability can use movie recommendations from a third-party service that targets event attendees, and dinner or food recommendations can be based on a separate third-party service that matches food recommendations to event attendees. Further modifications to the proposed event details can be implemented by the machine learning algorithms of the service 102, 202 or can be manually edited by the member when reviewing or accepting the event proposal. Acceptance of the event proposal can result in follow-on communications, automatic generation of subtasks (e.g., purchasing movie tickets or accessing a movie for home display, restaurant reservations or take-out purchasing and scheduling, etc.).In some aspects, members can provide specific details for subtasks or can delegate to provide the best available options within parameters determined by onboarding or member selection. For example, dinner and a movie can be associated with target times of 6:00 PM and 8:00 PM, respectively, with the option to adjust the time up to 30 minutes for each subevent based on reservations or showtime availability. Such outside-parameter changes can trigger approval, event cancellation, or subsequent communication presented to the member for further task refinement.
[0095]
[0114] FIG. 11 illustrates a chat flow interface for a task that may be identified as urgent in some aspects. For example, if a member has a faucet leak, the member may urgently request assistance from the service 102, 202. Delegates with experience with the urgent task of fixing the leak may be assigned by priority and communicate text, image, or video data in the chat flow interface 1100. An initial assessment may enable the delegation to recommend on-site emergency assistance from a third party, or may provide assistance via additional video, image, or text communication. In some aspects, the third-party information may be linked in the chat flow interface, and the delegation may provide information to the member for clarification based on the member attempting to use the information provided by the delegation. Feedback from the urgent task interaction may be used by the service 102, 202 to analyze the information provided to the member, the delegation's implementation (e.g., automated or non-automated), triggers to suggest on-site or other third-party assistance, feedback from the member, or any other such feedback data. Such data may be used to dynamically modify subsequent interactions related to similar tasks.
[0096]
[0115] 12 illustrates an illustrative example of an environment 1200 in which a task recommendation system 206 generates and ranks recommendations for different projects and / or tasks that may be presented to a member 210, according to at least one embodiment. In the environment 1200, a member 210 and / or a representative 204 interacts with a task creation subsystem 1202 of the task recommendation system 206 to generate new tasks or projects that may be performed for the member 210. The task creation subsystem 1202 may be implemented using a computer system or as an application or other executable code implemented on the computer system of the task recommendation system 206.
[0097]
[0116] In some embodiments, the member 210 can access the task creation subsystem 1202 to manually generate a new task or project that can be assigned to the surrogate 204 and / or one or more third party services for implementation of the new task or project for the member 210. For example, the member 210 can explicitly indicate to the surrogate 204 that the member needs assistance with a particular problem. As an illustrative example, the member 210 can indicate in a message to the surrogate 204 via a communication session that the member would like assistance with an upcoming move to a new city. The surrogate 204 can evaluate this message and determine that the member 210 has defined a problem for which a project and corresponding task can be generated to address the problem. Alternatively, the member 210 can directly access the task creation subsystem 1202 to request the creation of a project corresponding to the particular problem for which the member 210 would like assistance. For example, the task facilitation service can provide a widget or other user interface element through which the member 210 can provide a request to create a project corresponding to the member's problem via the task facilitation service's application or web portal. In response to this request, the task creation subsystem 1202 may send a notification to the surrogate 204 indicating the member's request to create a project for the raised problem. The task creation subsystem 1202 may provide the surrogate 204 with a description of the problem provided by the member 210.
[0098]
[0117] In some embodiments, the task creation subsystem 1202 provides various templates that can be used by the delegates 204 and / or members 210 to generate new projects and / or tasks for a given problem. The task creation subsystem 1202 can maintain project and task templates for different project / task types or categories in the task data store 1210. Each project or task template can include different data fields for defining a project or task, whereby the different project or task fields can correspond to the project / task type or category for the project or task being defined. The delegates 204 and / or members 210 can provide information related to the problem to be addressed via these different fields to define a project or task that can be submitted to the task creation subsystem 1202 for processing.
[0099]
[0118] In some embodiments, the task creation subsystem 1202 can automatically monitor messages in real time as they are exchanged between the member 210 and the surrogate 204 via the communication session to identify projects or tasks that may be performed for the member 210 to address the problem specified by the member 210 via the communication session. For example, the task creation subsystem 1202 can process messages between the member 210 and the surrogate 204 as they are exchanged using machine learning algorithms or artificial intelligence to automatically identify any projects and / or tasks that the surrogate 204 and the task facilitation service may assist the member 210 in addressing the problem expressed. The task creation subsystem 1202 can utilize NLP or other artificial intelligence to evaluate these exchanged messages or other communications from the member 210 to identify any projects and / or tasks that may be performed to address the problem expressed by the member 210. In some examples, the task creation subsystem 1202 can utilize historical data corresponding to previously identified projects and tasks for similarly situated members and corresponding messages from these members from the user data store 1210 to train NLP or other artificial intelligence to identify possible projects and tasks. If the task creation subsystem 1202 identifies one or more projects and / or tasks that may be performed to address the specified problem, the task creation subsystem 1202 may present these projects and / or tasks to the surrogate 204, and the surrogate may communicate with the member 210 via a communication session to indicate that the surrogate has identified these projects and / or tasks and that the surrogate will accordingly assist the member 210 in addressing the member's 210 specified problem.
[0100]
[0119] In some embodiments, the task creation subsystem 1202 provides, for each identified project and / or task, a template in which the surrogate 204 may define various parameters for the project and / or task. The task creation subsystem 1202 may provide various task templates that may be used by the surrogate 204 to further define the project and / or task identified by the task creation subsystem 1202. The task creation subsystem 1202 may maintain task templates for different projects and task types or categories in the task data store 1210. Each task template may include different data fields for defining the project or task, whereby the different task fields may correspond to the project or task type or category for the project or task being defined. The surrogate 204 may provide project or task information via these different data fields to define the project or task that may be submitted to the task creation subsystem 1202 for processing.
[0101]
[0120] In some embodiments, data fields presented in a template for a project or task may be selected based on a decision generated using a machine learning algorithm or artificial intelligence. For example, the task creation subsystem 1202 may use the member profile from the user data store 1208 and the selected template from the task data store 1210 as inputs to the machine learning algorithm or artificial intelligence to identify which data fields may be omitted from the template when presented to the representative 204 for definition of a new task or project. For example, if the member 210 is known to delegate maintenance tasks to the representative 204 and is unconcerned with budget considerations, the task creation subsystem 1202 may present the representative 204 with a task template that specifically omits any budget-related data fields and other data fields that may define instructions for the completion of the task. In some examples, the task creation subsystem 1202 may enable the representative 204 to add, remove, and / or modify data fields for the template. For example, if the task creation subsystem 1202 removes a data field corresponding to a budget for the task based on an evaluation of the member profile, the surrogate 204 may request that a data field be added to the template to enable the surrogate 204 to define a budget for the task based on the surrogate's knowledge of the member 210. The task creation subsystem 1202 may, in some instances, utilize this change to the template to retrain a machine learning algorithm or artificial intelligence to improve the likelihood of providing the template to the surrogate 204 without the surrogate 204 having to make any modifications to the template to define a new project or task.
[0102]
[0121] In some embodiments, the task creation subsystem 1202 can automatically populate data fields presented in the template based on parameters of the new project or task identified from the member's messages exchanged over the communication session. For example, the task creation subsystem 1202 may use NLP or other artificial intelligence to evaluate messages or other communications from the member 210 to identify various parameters for the new project or task. As an illustrative example, if the member 210 states in a message to the representative 204 that the member does not want to spend more than $500 to address the identified problem, the task creation subsystem 1202 may use NLP or other artificial intelligence to determine that the budget cap for the new project or task is $500 and enter this value into the corresponding data field for the project or task. This may reduce the burden on the representative 204 to provide the required information for the new project or task.
[0103]
[0122] In some embodiments, the task creation subsystem 1202 may utilize computer vision or other artificial intelligence to process images or video recordings provided by the member 210 and identify potential projects and / or tasks that may be recommended to the member 210 for completion. For example, the representative 204 may prompt the member 210 to record images or videos during a walkthrough of the member's home to identify potential projects and / or tasks that may be completed for the member 210. These images or videos may be processed in real-time by the task creation subsystem 1202 to detect issues within the member's home and identify possible projects and / or tasks that may be undertaken to address these issues. In addition, while the digital images or videos may relate to a particular issue, the task creation subsystem 1202 may further process the digital images or videos to identify additional and / or alternative issues for which projects and / or tasks may be recommended. Thus, the task creation subsystem 1202 may use computer vision or other artificial intelligence to detect possible issues that the member 210 may not be aware of.
[0104]
[0123] In some embodiments, the task creation subsystem 1202 can further provide the surrogate 204 with recommendations for questions that may be presented to the member 210 regarding the project or task based on the member's preferences. For example, if the surrogate 204 has not defined any budget or budgetary restrictions for the new task or project and the task creation subsystem 1202 determines that the member 210 is budget-bound, the task creation subsystem 1202 can prompt the surrogate 204 to communicate with the member 210 via a communication session to inquire regarding the member's budget for the completion of the project or task. In some embodiments, the task creation subsystem 1202 can use machine learning algorithms or artificial intelligence to determine what questions may be presented to the member 210. For example, the task creation subsystem 1202 can determine the member's preferences to further define parameters for the new project or task, and use the parameters defined for the new project or task, the member's profile, and historical data corresponding to projects and / or tasks previously performed for the member 210 as inputs to the machine learning algorithm or artificial intelligence to identify questions that may be presented to the member 210 based on these preferences.
[0105]
[0124] The task recommendation system 206 may further include a task ranking subsystem 1204, which may be configured to rank tasks and / or projects associated with the member 210, including projects and / or tasks that may be recommended to the member 210 for completion by the member 210, the surrogate 204, or other third-party services. The task ranking subsystem 1204 may be implemented using a computer system or as an application or other executable code implemented on the computer system of the task recommendation system 206. In some embodiments, the task ranking subsystem 1204 may rank the member's projects and / or tasks based on the likelihood that the member 210 will select the project or task for delegation to the surrogate 204 for implementation and coordination with third-party services. Alternatively, the task ranking subsystem 1204 may rank the member's projects and / or tasks based on the level of urgency for completion of each project or task. The level of urgency may be determined based on member characteristics from the user data store 1208 (e.g., data corresponding to the member's own prioritization of certain projects / tasks or categories of projects / tasks) and / or the potential risk to the member 210 if the project or task is not performed.
[0106]
[0125] In some embodiments, the task ranking subsystem 1204 provides the task selection subsystem 1206 with a ranked list of projects / tasks that may be recommended to the member 210. The task selection subsystem 1206 may be implemented using a computer system or as an application or other executable code implemented on the computer system of the task recommendation system 206. The task selection subsystem 1206 may be configured to select which projects and / or tasks may be recommended to the member 210 by the proxy 204 from the ranked list of projects and / or tasks. For example, if an application or web portal provided by the task facilitation service is configured to present the member 210 with a limited number of tasks and / or project recommendations from the ranked list of projects and / or tasks, the task selection subsystem 1206 may process the ranked list and the member's profile from the user data store 1208 to determine which project and / or task recommendations should be presented to the member 210. In some examples, the selection made by the task selection subsystem 1206 may correspond to a ranking of a set of projects and / or tasks in the list. Alternatively, the task selection subsystem 1206 may process the ranked list as well as the member's profile and the member's existing projects and tasks (e.g., ongoing projects and tasks, projects and tasks accepted by the member 210, etc.) to determine which projects and / or tasks may be recommended to the member 210. For example, if the ranked list includes a task corresponding to gutter cleaning, but the member 210 already has an ongoing task corresponding to gutter repair due to a recent storm, the task selection subsystem 1206 may refrain from selecting the task corresponding to gutter cleaning, since this may be performed in conjunction with the gutter repair. Thus, the task selection subsystem 1206 may provide another layer to further refine the ranked list of projects and / or tasks for presentation to the member 210.
[0107]
[0126] The task selection subsystem 1206 may provide the surrogate 204 with a new list of projects and / or tasks that may be recommended to the member 210. The surrogate 204 may review this new list of projects and / or tasks to determine which projects and / or tasks may be presented to the member 210 via a project interface provided by the task facilitation service (as shown herein in FIG. 2). For example, the surrogate 204 may review the set of projects and / or tasks recommended by the task selection subsystem 1206 and select one or more of these projects and / or tasks for presentation to the member 210 via the communication session and / or project interface. In some examples, the one or more projects and / or tasks may be presented to the member 210 according to a ranking generated by the task ranking subsystem 1204 and refined by the task selection subsystem 1206. Alternatively, the one or more projects and / or tasks may be presented according to the surrogate's understanding of the member's own preferences for prioritizing projects and / or tasks. Through the projects interface, the member 210 may select one or more projects and / or tasks that may be performed by the representative 204 or with the assistance of a third-party service. The member 210 may alternatively reject any presented projects and / or tasks that the member 210 does not want to perform personally or otherwise.
[0108]
[0127] In some embodiments, the task selection subsystem 1206 monitors communication sessions between the member 210 and the proxy 204 and the member 210's interaction with a project interface in which the projects and / or tasks are presented to collect data regarding the member's selection of projects and / or tasks for delegation to the proxy 204 or a third-party service for implementation. For example, the task selection subsystem 1206 may process messages corresponding to projects and / or tasks presented to the member 210 by the proxy 204 via a communication session to determine a polarity or sentiment corresponding to each project and / or task. For example, if the member 210 indicates in a message to the proxy 204 that he or she prefers not to receive any tasks or project recommendations corresponding to vehicle maintenance, the task selection subsystem 1206 may attribute a negative polarity or sentiment to the projects and tasks corresponding to vehicle maintenance. Alternatively, if the member 210 selects a task or project related to cleaning gutters for delegation to the proxy 204 and / or indicates in a message to the proxy 204 that a recommendation for this task or project was a good idea, the task selection subsystem 1206 may attribute a positive polarity or sentiment to this task or project. In some embodiments, the task selection subsystem 1206 can use these responses to tasks and / or projects recommended to the member 210 to further train or augment the machine learning algorithms or artificial intelligence utilized by the task ranking subsystem 1204 to generate project and / or task recommendations that may be presented to the member 210 and other similarly situated members of the task facilitation service. Additionally, the task selection subsystem 1206 can update the member's profile or model to update the member's preferences and known behavioral characteristics based on the member's selection of projects and / or tasks from those recommended by the surrogate 204, and / or sentiment regarding the projects and / or tasks recommended by the surrogate 204.
[0109]
[0128] In some implementations, the task selection subsystem 1206 can operate with the task management subsystem 1207 to process real-time chat flows and balance task rankings of existing (e.g., accepted) tasks against new tasks proposed or from the task selection subsystem 1206. In some such implementations, a chat flow processing system (e.g., described below in FIG. 16, FIG. 17, etc.) can analyze real-time messages and message history between members (e.g., clients) and representatives, and can process messages to tag them with one or more task tags. The system can provide information for both analysis by the task selection subsystem 1206 for suggesting new tasks, and analysis by the task management subsystem 1207, which is responsible for managing existing accepted tasks. In either case, the subsystems can be provided with metadata associated with the message data that identifies existing or proposed tasks that match the message.
[0110]
[0129] FIG. 13 illustrates an illustrative example of an environment 1300 in which various algorithms (which may include, for example, selection algorithms and machine learning algorithms or artificial intelligence systems) are implemented to assist in the identification and creation of new projects and tasks, according to at least one embodiment. As noted above, such a system may use message or chatflow processing to tag messages with existing or proposed task tags. Messages tagged with task tags may then be used in a variety of ways by the system, such as presentation within a filtered chatflow, suggesting new tasks based on message tags, suggesting new subtasks based on message tags and message content, tagging refinement, task creation, or other such algorithms, or any other such system use of tagged messages.
[0111]
[0130] In the environment 1300, the task creation subsystem 1302A can include various systems for collecting information used in task creation, including a message processing module 1302B and a task creation learning module 1302C. The message processing module 1302B of the task creation subsystem 1302A can automatically process messages 218, 220 between the member 210 (e.g., member device) and the assigned representative 204 (e.g., representative device) in real time as these messages 218, 220 are exchanged via the communication session 216 to identify any new tasks or projects that may be performed for the member 210. As part of such analysis, the message processing module 1302B can implement real-time chat flow processing to tag messages with task tags, as described in further detail below. In various implementations, feedback from the representative, client, third party, and any entity interacting with the environment 1300 to provide feedback to improve message tagging and to improve algorithms or machine learning systems for task facilitation, as described herein.
[0112]
[0131] Such real-time chat flow analysis (e.g., by any aspect of the message processing module 1302B or the task creation subsystem 1302A) may be used in associating task tags with messages as part of message metadata (e.g., message metadata 1318). The message metadata may be stored along with the user data 1208 in local storage on each device participating in the chat flow, in a centralized database of the environment, or both, and the metadata 1318 is propagated to the storage location after creation (e.g., by the tagging algorithm, machine learning algorithm, or any other such algorithm of the message processing module 1302B). The task creation machine learning module 1302C may be implemented using a computer system, as described above, or as an application or other executable code implemented on the computer system of the task recommendation system 206 for the task creation subsystem 1302A. Thus, the task creation machine learning module 1302C may serve as a component or other function of the task creation subsystem 1302A. In other implementations, such modules may be combined or separated into different modules to automatically generate new tasks and manage existing tasks, and to provide automated task tagging of messages as part of a task facilitation service.
[0113]
[0132] In some embodiments, the task creation machine learning module 1302A implements one or more machine learning algorithms or artificial intelligence to detect one or more possible projects and / or tasks based on the messages 218, 220 exchanged over the communication session 216 and further automatically generate these projects and / or tasks. For example, the task creation machine learning module 1302A may utilize NLP or other artificial intelligence to evaluate these exchanged messages 218, 220 to identify any projects and / or tasks that may be implemented to address the problem expressed by the member 210. For example, as shown in FIG. 13, the member 210 indicates in a message 218 to the representative 204 that the member needs assistance with an upcoming move to a new city. The task creation machine learning module 1302C may use the message processing module 1302B (e.g., using NLP, tagging algorithms, or other artificial intelligence) to process this message 218 in real time. The processing may identify existing tasks associated with the member and determine whether a task already exists that matches the data of the message 218. If the "move" task or another such task already exists, the task tag of that existing task may be added to the message metadata 1318 from the message processing module 1302B. If no such task exists, the message processing module 1302B may identify a proposed task tag and attach the proposed task tag to the metadata 1318. Such task tag data may then be used in managing an existing task or proposing a new task. For example, if a new task is proposed, a new proxy may be associated with the proposed new task, and all messages in the chatflow with the member associated with the new proposed task may be forwarded to the proxy. Similarly, if a task exists, messages tagged with the corresponding task tag may be added to the data specific to the existing task. Depending on the type of message, an automated priority may be added for the proxy.
[0114]
[0133] For example, if a message 218 is received and processed by the message processing module 1302B as relating to an existing task, the tagging of the message 218 may be further processed by the system to identify a sense of frustration or urgency associated with the existing task, and a representative may be alerted. In some circumstances, this may include identifying whether one or more existing representatives associated with the existing task have failed to facilitate the task, or whether there is confusion or misunderstanding in the status of the existing task. In some such implementations, the system may automatically identify member tasks that are delaying project progress and may trigger task reminders.
[0115]
[0134] If the tag is associated with a new project, the tagged message may be placed within a group of messages with a shared tag that is analyzed to identify not only the new project corresponding to the upcoming move, but also any corresponding parameters for the new project or task, such as a time frame or deadline for completing the move, any budgetary constraints defined by the member 210 in one or more messages to the representative 204 via the communication session 216, and any other information that may be useful in defining the new project and any corresponding tasks (e.g., the square footage of the member's home, preferred vendors or other third party services, etc.).
[0116]
[0135] The message processing module 1302B may analyze the messages in real time and place the analyzed (e.g., tagged or untagged) messages in a database of historical data as user data 1208 or task data 1210. The task creation subsystem 1302A may utilize historical data corresponding to previously identified projects and tasks for similarly situated members and corresponding messages from these members from the user data store 1208 to train an NLP or other artificial intelligence used by the task creation machine learning module 1302A to identify possible projects and tasks that may be performed for the member 210. If the task creation machine learning module 1302A identifies one or more projects and / or tasks that may be performed to address the specified problem, the task creation machine learning module 1302A may present these projects and / or tasks to the surrogate 204, who may communicate with the member 210 via the communication session 216 to indicate that the surrogate has identified these projects and / or tasks and that the surrogate will accordingly assist the member 210 in addressing the member's specified problem.
[0117]
[0136] In some embodiments, the task creation machine learning module 1302A retrieves from the task data store 1210 one or more task templates 1304 that may be used to define new projects and / or tasks that may be assigned to the representative 204, the member 210, and / or one or more third party services to address issues expressed by the member 210 or otherwise identified via messages 218 and other communications submitted via the communication sessions 216. The task templates 1304 may correspond to a particular project or task type. For example, when a message is flagged with a new task tag, the tagged message may be analyzed using custom criteria for the associated tag. Such criteria may be retained, for example, with the task template. Each task template 1304 may include different data fields for defining a project or task, whereby the different task fields may correspond to a project or task type or category for the project or task being defined. The representative 204 may provide project or task information via these different data fields to define a project or task that may be submitted to the task creation subsystem 1302A for processing. When the message processing module 1302B identifies a message tagged with task data, the task creation subsystem 1302A can access the template data to determine any criteria for automatically enhancing the message or analysis of the message to further suggest or create new tasks for the member.
[0118]
[0137] In some embodiments, the task creation machine learning module 1302A may select a particular task template 1306 from one or more task templates 1304 based on characteristics of a project or task identified by the task creation machine learning module 1302A from messages 218, 220 exchanged between the member 210 and the representative 204. For example, the task creation machine learning module 1302, in some embodiments, uses a classification or clustering algorithm to select a particular task template 1306 that may be given to the representative 204 to define a project or task that corresponds to an identified problem to be addressed for the member 210. The classification or clustering algorithm may generate correlations between different project or task characteristics and corresponding task templates such that based on characteristics of a particular project or task identified by the task creation machine learning module 1302A from messages 218, 220 exchanged between the member 210 and the representative 204, the task creation machine learning module 1302A may identify an appropriate task template 1306 for the identified project or task using the classification or clustering algorithm. As input to this classification or clustering algorithm, the task creation machine learning module 1302A may use the corresponding parameters for the new project or task as input to identify a specific task template 1306 that can be used to create a new project or task based on the output provided by the classification or clustering algorithm.
[0119]
[0138] As described above, the data fields presented in the task template for a project or task may be selected based on a decision generated using a machine learning algorithm or artificial intelligence. The task creation machine learning module 1302A may use the member profile from the user data store 1208 and the task template 1306 identified using a classification or clustering algorithm as inputs to the machine learning algorithm or artificial intelligence to identify which data fields may be omitted from the task template 1306 when presented to the representative 204 for definition of a new task or project. For example, if the member 210 is known to delegate maintenance tasks to the representative 204 and is indifferent to budget considerations, the task creation machine learning module 1302A may present to the representative 204 a task template 1306 for the identified project or task that specifically omits any budget-related data fields and other data fields that may define instructions for the completion of the project or task.
[0120]
[0139] In some examples, the task creation machine learning module 1302A may enable the surrogate 204 to add, remove, and / or modify data fields for the task template 1306. For example, if the task creation machine learning module 1302A removes a data field corresponding to a budget for a project or task based on an evaluation of the member profile, the surrogate 204 may request to have a data field added to the task template 1306 to enable the surrogate 204 to define a budget for the project or task based on the surrogate's knowledge of the member 210. The task creation machine learning module 1302 may, in some examples, utilize this change to the task template 1306 to retrain the machine learning algorithm or artificial intelligence to improve the likelihood of providing the surrogate 204 with the task template 1306 without the surrogate 204 having to make any modifications to the task template 1306 to define a new project or task.
[0121]
[0140] In some embodiments, the task creation machine learning module 1302A may further obtain feedback regarding the selection of the task template 1306 to retrain the classification or clustering algorithm used to select the task template based on characteristics or parameters related to a particular project / task category or type. For example, if the surrogate 204 indicates that a particular task template 1306 provided by the task creation machine learning module 1302A is not related to a particular problem expressed by or otherwise identified based on a communication from the member 210, the task creation machine learning module 1302A may modify the classification or clustering algorithm to reduce the likelihood that this task template 1306 will be selected for a similar project / task category or type. Additionally, if the surrogate 204 manually selects an alternative task template for an identified problem expressed by the member 210, the task creation machine learning module 1302A may use this selection to further modify the classification or clustering algorithm to increase the likelihood that the algorithm will select this particular task template for similar projects and tasks.
[0122]
[0141] As described above, the task creation subsystem 1302A can automatically populate data fields presented in the task template 1306 based on parameters of the new project or task identified from messages 218, 220 exchanged over the communication session 216. For example, the task creation machine learning module 1302A may use parameters for the new project or task collected using NLP or other artificial intelligence to automatically populate one or more data fields of the selected task template 1306. This may reduce the burden on the representative 204 regarding generating a new project or task using a given task template 1306, as the representative 204 may only need to review the automatically populated information for accuracy.
[0123]
[0142] 14 illustrates an illustrative example of an environment 1400 in which machine learning algorithms or artificial intelligence are implemented to process messages 218 exchanged between members and delegates to identify messages to associate with task tags. Task tags may be used for a variety of additional systems, such as filtering messages by task tag in a chat interface, facilitating existing tasks using analysis of tagged messages to generate subtasks or reminders for existing tasks, notifying delegates of new messages related to tasks they have been assigned, or creating new tasks using the task creation learning module 1302.
[0124]
[0143] As noted above, a member of the task facilitation service and an assigned representative may exchange messages over communication session 216 to address any issues expressed by the member. For example, a member may send one or more messages 218 over communication session 216 to indicate that the member needs assistance from the representative to address a particular issue. As shown in FIG. 14, a member has indicated that the member needs assistance with planning an upcoming move to a new city that will occur next month.
[0125]
[0144] In some embodiments, the task creation machine learning module 1302 of the task creation subsystem described above with respect to FIGS. 13-3 may utilize NLP or other artificial intelligence to automatically and in real time process messages exchanged via communication sessions 216 to identify one or more projects and / or tasks that may be performed for the member. For example, as shown in FIG. 14, the task creation machine learning module 1302 may process messages 218 using NLP or other artificial intelligence to identify anchor words or phrases in messages 1408 that correspond to possible projects or tasks that may be created and performed for the member. For example, as shown in FIG. 14, the task creation machine learning module 1302 has identified the anchor phrases in messages 1408 as “need help,” “moving,” and “next month.” The anchor phrase “need help” may correspond to a request from the member to create a new project or task. The anchor phrase “moving” may correspond to a type or category of new project or task to be created (e.g., “moving to” may correspond to a moving category of projects or tasks). Such phrases may be associated with specific task tags by the chatflow tagging system 1420. Further, the anchor phrase "next month" may correspond to a time constraint for a new project or task, whereby "next month" may indicate a final deadline for the completion of the project or task. Thus, based on the message 218 expressed by the member to request the creation of a new project or task, the task creation machine learning module 1302 may automatically identify different parameters for the new project or task that may be used to automatically populate the new project or task as well as a project or task template for the new project or task. The NLP described above may be used not only to generate tags for the message, but also to create metadata related to additional aspects of the task related to the tag type.For example, as described above with task templates, task tags and associated templates may have a predefined metadata structure. Information in the message, such as "next month," may be used to determine data for such predefined metadata structure. Such structures may include timing, location, third-party business identification, budget range, level of independence or pre-authorization given to the representative, or any other such data used to facilitate a task within the services described herein.
[0126]
[0145] In some embodiments, if the task creation machine learning module 1302 identifies a new project or task based on messages exchanged between the member and the representative 204 via the communication session 216, the task creation machine learning module 1302 can select an appropriate project or task template for the identified project or task and begin defining the new project or task to be performed for the member.
[0127]
[0146] In some embodiments, once the task creation machine learning module 1302 defines a new project or task to be performed for the member, the task creation machine learning module 1302 can send a notification to the surrogate 204 to indicate that a new project or task is being created for the member. For example, as shown in FIG. 14, the task creation machine learning module 1302 can update the surrogate console 1402 utilized by the surrogate 204 to provide a new message 1404 indicating that a new project or task is being created for the member. The surrogate console 1402 can be implemented as an interface provided by the task facilitation service to a surrogate associated with the task facilitation service to prompt the surrogate regarding available actions or suggestions for managing its relationship with the member. For example, through the surrogate console 1402, the task facilitation service can provide the surrogate 204 with information that can assist the surrogate 204 in communicating with the member to assist with the member's particular projects and tasks, to ask the member's appropriate questions regarding the implementation of the projects and tasks, and to indicate when a new project or task has been identified and created to be performed to assist the member with a particular issue expressed by the member. Thus, a proxy console 1402 may be provided to reduce the member's cognitive load and better guide the proxy 204 in assisting the member to better understand the member's needs.
[0128]
[0147] In some embodiments, if the task creation machine learning module 1302 identifies a particular project to be performed for the member, the task creation machine learning module 1302 can automatically create one or more tasks 226 that may be performed to complete the new project. For example, the task creation machine learning module 1302 may access a resource library maintained by the task coordination system of the task facilitation service to identify one or more tasks that may be associated with a particular project category or type of the new project identified based on the member's message 218. As described above, the resource library may include detailed information related to different resources available for the performance of the project or task. Furthermore, the resource library may specify common tasks that are commonly performed to complete different projects. These common tasks may be categorized according to the corresponding project category or type. Thus, based on the category or type of the new project, the task creation machine learning module 1302 may query the resource library to identify one or more tasks 226 that may be performed for the member to complete the new project.
[0129]
[0148] In some examples, the task creation machine learning module 1302 may use a machine learning algorithm or artificial intelligence to identify and create tasks that may be performed for the completion of the identified project. For example, the task creation machine learning module 1302 may utilize historical data corresponding to previously identified projects and tasks for similarly situated members as well as characteristics or parameters associated with the new project as inputs to the machine learning algorithm or artificial intelligence to identify a set of possible tasks that may be performed to complete the new project. As an illustrative example, if the new project corresponds to a move to a new city, the task creation machine learning module 1302 may identify one or more tasks that correspond to previous projects completed for similarly situated members and were previously performed for these similarly situated members to complete the member's move to the new city based on historical data associated with the move to the new city. Thus, based on the identified one or more tasks, the task creation machine learning module 1302 may automatically generate one or more tasks for the new project specific to the member's needs according to the member's preferences. In some examples, based on the identified one or more tasks, the task creation machine learning module 1302 may retrieve task templates corresponding to these identified one or more tasks and generate new tasks using these task templates. The task creation machine learning module 1302 may populate these task templates using information generated from one or more messages 218 of the members exchanged over the communication session 216.
[0130]
[0149] In some embodiments, if the task creation machine learning module 1302 automatically generates one or more tasks 226 for a newly identified project, the task creation machine learning module 1302 can update the surrogate console 1402 to present these tasks 226 to the surrogate 204. Through the surrogate console 1402, the surrogate 204 may review the new tasks 226 generated for the project. For example, through the surrogate console 1402, the surrogate 204 may select a particular task 226 to review parameters related to the task 226 (e.g., a time frame for completion of the task 226, any third-party services that will be engaged for completion of the task 226, any budget requirements, actions that will be performed for the task, etc.). Additionally, the surrogate 204 may access a task template for the particular task 226 to provide any additional information that may be required for the task 226. For example, if a task 226 does not indicate a budget for the performance of the task 226, but the surrogate 204 is involved in a budget set by a member for the completion of the task 226, the surrogate 204 may update the task template for the task 226 to indicate the member's budget for the completion of the task 226.
[0131]
[0150] As described above, the task creation machine learning module 1302 may automatically generate recommendations for questions that may be presented to the member regarding the presented task 226 based on the member's preferences. These recommendations may be provided to the surrogate 204 via the surrogate console 1402. For example, when the surrogate 204 interacts with a particular task 226, the task creation machine learning module 1302 may provide these recommendations to the surrogate 204 via the surrogate console 1402. This may enable the surrogate 204 to easily determine what additional information may be required from the member to complete the definition of the project and the corresponding task 226.
[0132]
[0151] Through the surrogate console 1402, the task creation machine learning module 1302 may provide the surrogate 204 with an option 1406 to define additional and / or alternative tasks for the new project. For example, if the surrogate 204 identifies additional tasks for which the member would like additional assistance for the project, the surrogate 204 may select the option 1406 to access a task template for these additional tasks to define these additional tasks. If the surrogate 204 defines a new task for the project, the new task may be added to the tasks 226 presented via the surrogate console 1402 for the new project. In some examples, if the surrogate 204 creates a new task for a project, the task creation machine learning module 1302 may add this new task to historical data that may be used by the task creation machine learning module 1302 to identify tasks for similar projects and for similarly situated members. Thus, if the surrogate 204 adds, removes, or modifies a task for a particular project, the task creation machine learning module 1302 may automatically use this data to further train the machine learning algorithm or artificial intelligence used to automatically generate tasks for projects to be performed for similarly situated members.
[0133]
[0152] Additionally, while the example of FIG. 14 is described with respect to creating a new task using the task creation machine learning module 1302, the operations described above may be used in modifying an existing task or creating a subtask for an existing task. For example, if a text is received following the message 1408 “My move is 8 weeks late,” the NLP system described above may tag the message as being associated with an existing “moving” task, and then further analyze the data in the message to modify the existing data in the task template or metadata structure. In some such implementations, a notification may be sent to the assigned delegate and / or member requesting confirmation that the deadline associated with the task should be changed in the system’s task data structure. Similarly, if multiple tasks with similar metadata exist (e.g., a personal move to a new home and a business move to a new office location occurring at the same time), the system may request confirmation within the chatflow to remove ambiguity of the data in the message. Such confirmation may be used as feedback data to modify the tagging algorithm to improve future automated tagging of messages. For example, a street name may be associated with one move and a building name may be associated with another move, such that "moving to street A" may be associated with a first tag and "moving to building b" may be associated with a different tag. If moving to street A and building b is the same move to the same location, updates to the tagging algorithm may be used to identify messages with this information, including a shared tag.
[0134]
[0153] 15 illustrates an illustrative example of an environment 1500 in which the task coordination system 208 assigns and monitors the performance of tasks for members 210 by agents 204 and / or one or more third party services 214, according to at least one embodiment. As described above in conjunction with FIG. 14, the task coordination system 208 can include systems for creating and managing tasks. The subsystems for each of these creation and monitoring operations can use NLP or other message processing systems to tag chatflow messages and use the task tags generated by the analytics to improve the operation of various aspects of the system and device functionality.
[0135]
[0154] In the environment 1500, the surrogate 204 may access the proposal generation subsystem 1502 of the task coordination system 208 to generate proposals for the completion of a project or task for the member 210. The proposal generation subsystem 1502 may be implemented using a computer system or as an application or other executable code implemented on the computer system of the task coordination system 208. Once the surrogate 204 obtains the necessary project or task related information from the member 210 and / or through the task recommendation system (e.g., task parameters obtained via evaluation of tasks performed for similarly situated members, etc.), the surrogate 204 may utilize the proposal generation subsystem 1502 to generate one or more proposals for the resolution of the project or task.
[0136]
[0155] A proposal may include one or more options presented to the member 210 that may be created and / or collected by the surrogate 204 while investigating a given project or task. In some examples, the surrogate 204, via the proposal creation subsystem 1502, may access one or more templates that may be used to generate these one or more proposal options. For example, the proposal creation subsystem 1502 may maintain proposal templates for different project and task types within the task data store 1210 or internally, whereby a proposal template for a particular project or task type may include various data fields related to the project or task type.
[0137]
[0156] In some embodiments, data fields in a proposal template may be toggled on or off to give the surrogate 204 the ability to determine what information is presented to the member 210 in the proposal. The surrogate 204 may toggle any of these data fields in the template on or off based on the surrogate's knowledge of the member's preferences. For example, if the surrogate 204 has established a relationship with the member 210 and thereby knows with a high degree of confidence that the member will trust the surrogate 204 to select reputable companies for the member's projects and tasks, the surrogate 204 may toggle off a data field corresponding to a rating / review for the corresponding company from the proposal template. Similarly, if the surrogate 204 knows that the member 210 is not interested in the location / address of the company for the purpose of the proposal, the surrogate 204 may toggle off a data field corresponding to the location / address for the corresponding company from the proposal template. Some data fields may be toggled off in the proposal template, but the representative 204 may complete these data fields to provide additional information that can be used by the proposal creation subsystem 1502 to supplement the resource library of proposals maintained by the task coordination system 208.
[0138]
[0157] In some embodiments, the proposal creation subsystem 1502 utilizes a machine learning algorithm or artificial intelligence to generate recommendations for the surrogate 204 regarding data fields that may be presented to the member 210 in a proposal. The proposal creation subsystem 1502 may use as inputs to the machine learning algorithm or artificial intelligence a member profile or model associated with the member 210 from the user data store 1208, historical task data for the member 210 from the task data store 1210, and information corresponding to the project or task for which the proposal is being generated (e.g., project / task type or category, etc.). The output of the machine learning algorithm or artificial intelligence may specify which data fields in the proposal template should be toggled on or off. The proposal creation subsystem 1502 may, in some examples, maintain options for the surrogate 204 to toggle on these data fields to give the surrogate 204 the ability to present these data fields to the member 210 in a proposal. For example, if the proposal creation subsystem 1502 automatically toggled off a data field corresponding to the estimated cost for completion of a project or task, but the member 210 expressed interest in the possible costs involved, the representative 204 may toggle on the data field corresponding to the estimated cost.
[0139]
[0158] When the surrogate 204 generates a new suggestion for the member 210, the surrogate 204 may present the suggestion and any corresponding suggestion options to the member 210. Additionally, the suggestion making subsystem 1502 may store the new suggestion in the user data store 1208 associated with the member entry in the user data store 1208 for the member 210. In some examples, as the suggestion is presented to the member 210, the suggestion making subsystem 1502 may automatically, in real time, monitor the surrogate 204 and the member's interaction with the suggestion to obtain data that may be used to further train the machine learning algorithm or artificial intelligence. For example, if the representative 204 presents a proposal without any ratings / reviews for a particular company based on a recommendation generated by the proposal creation subsystem 1502 and the member 210 indicates (e.g., through a message to the representative 204, through selecting an option in the proposal to view ratings / reviews for the particular company, etc.) that the member is interested in ratings / reviews of the particular company, the proposal creation subsystem 1502 may utilize this feedback to further train the machine learning algorithm or artificial intelligence to increase the likelihood of recommending the presentation of ratings / reviews of the selected company for similar projects / tasks or project / task types.
[0140]
[0159] The task coordination system 208 may maintain a resource library that may be used to automatically populate one or more data fields of a particular proposal template along with the generation of task tags for instances of a particular proposal. For example, in some implementations, multiple proposals to address the same problem may be generated and members may communicate via chatflow to select between different options. Each option may be assigned a different task tag, and the chatflow monitoring system with the task coordination system 208 may use the different task tags to facilitate communication and updates related to task approval. The resource library may include entries corresponding to companies and / or products previously used by the representative for proposals related to a particular project / task or project / task type or proposals otherwise associated with a particular project / task or project / task type. For example, when the representative 204 generates a proposal for a task related to repairing a roof near "Town A," the proposal creation subsystem 1502 may retrieve information related to a roofing contractor selected by the representative 204 for the task. The proposal creation subsystem 1502 may generate an entry corresponding to the roofing contractor in the resource library and associate the entry with "roof repair" and "Town A." Thus, if another representative receives a task corresponding to repairing a member's roof located near the identified location, the other representative may query the resource library for roofing contractors near that location. In response to the query, the resource library may return an entry corresponding to the roofing contractor previously selected by the representative 204. If the other representative selects this roofing contractor, the proposal creation subsystem 1502 may automatically populate the data fields of the proposal template with the available information for the roofing contractor from the resource library.
[0141]
[0160] In conjunction with the task creation system, the task monitoring subsystem 1504 may be implemented using a computer system or as an application or other executable code implemented on the computer system of the task coordination system 208. In cases where coordination with the third party service 214 may be performed automatically (e.g., the third party service 214 provides an automated system for ordering, scheduling, payment, etc.), the task monitoring subsystem 1504 may directly interact with the third party service 214 to coordinate the performance of the project or task according to the selected proposal option. The task monitoring subsystem 1504 may provide any information from the third party service 214 to the surrogate 204. The surrogate 204 may then provide this information to the member 210 via a communication session between the member 210 and the surrogate 204 and / or through an application or web portal utilized by the member 210 to access the task facilitation service. Alternatively, the surrogate 204 may send information to the member 210 via other communication methods (e.g., email message, text message, etc.) to indicate that the third party service 214 has begun the performance of the project or task according to the selected proposal option. If a project or task is to be performed by the surrogate 204 for the member 210, the task monitoring subsystem 1504 may monitor and interact with the surrogate 204 to coordinate the performance of the project or task according to parameters defined in the proposal options accepted by the member 210. For example, the task monitoring subsystem 1504 may provide the surrogate 204 with any resources that may be needed for the performance of the project or task (e.g., payment information, task information, preferred sources for purchasing, etc.). For example, if the above proposal for a roofing contractor is accepted, the task monitoring subsystem may be used to track the task through completion or cancellation.Task tags may be used throughout such operations to filter communications to agents and members involved in the task, manage reminders for specific subtasks (e.g., and associated task tags), filter chat, or generate message summaries for a given task or subtask, or perform other such operations, automated analysis and suggestion generation to facilitate task completion.
[0142]
[0161] As described above, the surrogate 204 may generate, via the proposal template, additional proposal options for companies and / or products that may be used for the completion of the project or task. For example, for a particular proposal, the surrogate 204 may generate a recommended option that may correspond to the company or product that the surrogate 204 is recommending for the completion of the task. Additionally, to provide the member 210 with additional options or choices, the surrogate 204 may generate additional options that correspond to other companies or products that may complete the task. In some examples, if the surrogate 204 knows that the member 210 has delegated decision-making regarding the completion of the project or task to the surrogate 204, the surrogate 204 may refrain from generating additional proposal options outside of the recommended options. However, the surrogate 204 may still present the member 210 with the proposed options selected for the completion of the project or task to keep the member 210 informed of the status of the project or task. Each such proposal may be assigned a task tag by the system, and the unique task tag may be used to monitor the status of such proposal. Additionally, status information of acceptance, rejection, or no action on such suggestions may be used along with the task tags to provide feedback to the algorithms used in generating task suggestions.
[0143]
[0162] For any aspect of the task proposal described above, reminders may be created for any aspect of the task. Such reminders may include data related to subtasks, elements of the task proposal, cost, timing, or any such details. Reminders may include follow-up information related to a member's questions or requests for information from the member. For example, the system may generate a tentative proposal and may identify aspects of the task that require clarification from the member before a completed proposal can be prepared. A user may generate questions about task pricing or subtasks, which may result in requests for clarification from a representative, and reminders may be generated in connection with any requests for action or information from the member.
[0144]
[0163] The member's interactions with reminders generated as part of a given proposal, or any aspect of the member's interactions with a given proposal, may be accessed by a feedback system of the proposal creation subsystem 1502 or a feedback system of the task monitoring subsystem 1504. Such a feedback system may be used to further train machine learning algorithms or artificial intelligence used to determine or recommend what information should be presented to the member 210 and to similarly situated members for similar projects / tasks or project / task types. In addition, as described below, the feedback system may update or modify algorithms used in connection with task reminders presented within a task chatflow. Such a feedback system as part of any aspect of the task coordination system 208 may automatically and in real time monitor or track the member's interactions with proposals, task reminders, or interactions with applications on the member's 210 device to determine the member's preferences regarding the information presented in a proposal for a particular project or task, and the timing or placement of reminder prompts within the chatflow. Such a feedback system may further include tracking any messages exchanged between the member 210 and the representative 204 related to the proposal to further identify the member's preferences. As described herein, the task coordination system 208 can perform such tracking and updating of system preferences in real time for thousands of users simultaneously as part of the operation of the task coordination system 208.This feedback and information obtained through the member's interaction with the representative 204, task interface, or chat flow reminders for suggestions as part of task implementation and actions related to the task or subtask may be used to retrain machine learning algorithms or artificial intelligence to give more accurate or improved recommendations to the member 210 and for information that should be presented to similarly situated members in the case of similar projects / tasks or project / task types under proposal.
[0145]
[0164] In some embodiments, if the member 210 accepts a proposed option from the proposed proposal, the task coordination system 208 moves the project or task associated with the proposed proposal to an execution state, and the surrogate 204 can proceed to execute the proposal according to the selected proposal option. For example, the surrogate 204 can contact one or more third-party services 214 to coordinate the execution of the project or task according to the parameters defined in the proposal accepted by the member 210. Alternatively, if the surrogate 204 is to execute a project or task for the member 210, the surrogate 204 can begin execution of the project or task according to the parameters defined in the proposal accepted by the member 210. Execution of the accepted task can initiate the task monitoring subsystem 1504 to create a timeline for the task and associated reminder actions to maintain the task timeline. Such actions can create reminders upon execution of the proposal or can dynamically create reminder criteria that can be executed and updated by the task monitoring subsystem 1504. Such criteria can be based on the timeline of the proposal, a set of general time thresholds, or other such criteria. For example, if a task has a hard deadline, the reminder system may increase reminder frequency or reminder type as the deadline approaches. Other systems may use a set of reminder criteria where reminders are sent if a response does not occur within a fixed time frame, or at fixed intervals if no action is taken.
[0146]
[0165] In some embodiments, the delegate 204 utilizes the task monitoring subsystem 1504 of the task coordination system 208 to manually monitor the progress of the task and the performance of actions by members required as part of the task flow. In such implementations, the delegate can select reminder criteria, modify the reminder criteria as the task flow progresses, and set automatic reminders to occur within the chat flow for the task in addition to any reminders sent by the delegate. Task tags automatically generated by the system can be used in managing such reminders.
[0147]
[0166] Upon completion of a project or task, the member 210 may provide feedback regarding the performance of the representative 204 and / or third-party service 214 that performed the project or task according to the proposal option selected by the member 210. For example, the member 210 may exchange one or more messages with the representative 204 via a communication session to indicate its feedback regarding the completion of the project or task. In addition, the user may provide feedback regarding the reminder system and the workload imposed on the member. Such feedback may indicate whether reminders at a different frequency rate or at different times or days of the week are preferred. In some embodiments, the task monitoring subsystem 1504 provides feedback to the proposal creation subsystem 1502, which may use machine learning algorithms or artificial intelligence to process the feedback provided by the member 210 to improve the task coordination system 208, the member's interactions with the third-party services 214 that may perform projects and tasks, and / or processes that may be performed by the representative 204 and / or third-party services 214 for the completion of similar projects and tasks. For example, if the proposal making subsystem 1502 detects that the member 210 is not satisfied with the results provided by the third-party service 214 for a particular project or task, the proposal making subsystem 1502 may utilize this feedback to further train the machine learning algorithm or artificial intelligence to reduce the likelihood that the third-party service 214 is recommended for similar projects or tasks and to similarly situated members. As another example, if the proposal making subsystem 1502 detects that the member 210 is pleased with the results provided by the surrogate 204 for a particular project or task, the proposal making subsystem 1502 may utilize this feedback to further train the machine learning algorithm or artificial intelligence to augment the actions performed by the surrogate for similar projects and tasks and / or for similarly situated members.The automatically generated task tags described herein can be used to segment such analyses and provide feedback based on tasks and subtasks within a larger project, as well as to provide system feedback regarding task and subtask generation.
[0148]
[0167] 16 and 17 illustrate aspects of an environment 200 that may implement operations for using task tags in chat flows as part of the operation of a task facilitation service 202. The task facilitation service 202 may include elements of any of the systems described above, including the task coordination system 208 and associated suggestion creation subsystem 1502 and task monitoring subsystem 1504, which may be used to establish task tags and facilitate tasks as described herein. In the example of FIG. 16, a real-time chat flow processing system 1630 is part of the task monitoring subsystem 1504 of the task facilitation service 202. In addition, FIG. 16 includes the task facilitation service 202 as including a surrogate device 204 that communicates with the member device 1612 and the member 210. In addition, various devices and systems may interact with third party services 214 to support the generation and execution of tasks using the task facilitation service 202 for the member device 1612 and the member 210.
[0149]
[0168] As described above, the task monitoring subsystem 1504 or other such systems can include further subsystems for real-time chatflow processing, such as a chatflow processing system 1630. The chatflow processing system 1630 includes a task tracking system 1632, a chatflow tagging system 1634, and a learning system 1636. Additional implementations of the chatflow processing system can include other such systems, or different system configurations having combined or separated structures.
[0150]
[0169] In the implementation of FIG. 16, the chatflow tagging system 1634 can implement the tagging algorithms described herein to match messages to task tags. The chatflow tagging system 1634 can interact with another system that generates task tags and then process the real-time message data of the chatflow 1604 with the proxy messages 1614 and 1616 and the client (e.g., member) messages 1622, 1624, and 1626 to match the message's data to tasks in the system. In some implementations, when a message does not match an existing task tag after processing with the chatflow tagging system 1634, the unmatched tag may be further used. Such unmatched messages may be passed to another system, such as the task tracking system 1632, for additional analysis and possible creation of one or more new tasks.
[0151]
[0170] The task tracking system 1632 can include the task or tag generation algorithms described above to process information in the chatflow, identify how existing tasks are represented in the message data of the chatflow 1604, and identify options for additional generation or recommendation of task tags for new tasks or subtasks. Such algorithms can use, for example, task template information, NLP data, or other such data to process messages that are not tagged by the chatflow tagging system 1634, or can identify task tags that have low or high message flow in the chatflow 1604. Task tags that have a deadline and low message flow (e.g., less than a threshold number of messages per day, per week, or percentage of task time remaining until the deadline) can be processed by the task tracking system 1632 to generate automatic reminders within the chatflow 1604. For example, if a task is generated with one month until the deadline and one week has passed without a message in the chatflow identified as related to that task, the task tracking system 1632 can automatically generate a reminder for that task. For task tags that have message flow that exceeds a threshold (e.g., which may be automatically set or adjusted by a member or delegate), messages related to the associated tag may be processed for possible subtask tag creation or identification of issues or challenges that arise with facilitating the task.
[0152]
[0171] Feedback data, such as user interactions or responses to some messages, explicit feedback related to reminders, or member messages identifying challenges with tag-based chat filtering, may be used by the learning system 1636 to provide feedback to the algorithms used in the task tracking system 1632 and the chat flow tagging system 1634. In addition, after completion or closure of a task, the surrogate device 204 may be used to provide feedback regarding the operation of any system, and the feedback is used to update training data, algorithm weights or settings, or any aspect of the chat flow processing system 1630 to improve performance. The chat flow processing system 1630 can process messages for not only one user, but thousands of users simultaneously. Some types of feedback described herein may be used from one user's tasks to update the algorithms used to process another user's chat flow. Since thousands of messages are being processed simultaneously in real time, such feedback may be used to dynamically update the algorithms used for tagging and task tracking at the same time that messages are being processed.
[0153]
[0172] Additionally, any such element of the chatflow processing system 1630 can generate output data that is used by the service 202 as chatflow metadata 1650. For example, the service 202 can include a database that stores message data for the chatflow 1604 along with associated tags or any other such metadata (e.g., deadlines, member preferences, etc.). The metadata can be stored in a central database as well as sent to the member devices 1612 for local use and to the surrogate devices 204. For example, in some implementations, a filtering user interface (UI) element 1660 can be presented within a chat interface for the chatflow 1604. Such UI element 1660 can be dynamically updated based on tags associated with messages currently in the chatflow 1604. The chatflow 1604 can include messages that are not currently presented in the chat interface due to limited space in the interface, and selection of a pre-filtering input from options presented in the filtering UI element 1660 can remove some messages from the chat interface, allowing the member to more efficiently respond to information about the selected task flag based on the local metadata 1650. The representative device 204 or member device 1612 can similarly use cloud-based metadata if local metadata is not available. The filtering UI element 1660 can be dynamically updated in real-time as new tasks or subtasks are automatically created or marked as completed. Additionally, real-time processing by the chat flow tagging system 1634 can allow new messages with task tags to be filtered based on pre-filtering selections from the UI element 1660 when the messages are received.
[0154]
[0173] FIG. 17 then illustrates an additional implementation of an environment 1700 including a task coordination system 208 with additional elements of a chatflow processing system 1720. The chatflow processing system 1720 may be an alternative implementation of the chatflow processing system 1630 of FIG. 16. As described above, the task coordination system 208 or other such systems for task facilitation (e.g., task generation systems, etc.) can use the chatflow processing system 1720. The chatflow processing system can access a database 1790 that can store message data and other information in some implementations as user data 1508, task data 1510 (e.g., when tagged with task tags), or any other such data structure. The data in the database 1790 can include member preferences, member history, member-specific modifications to system algorithms based on the user or similar users' historical data, indications of user preferences, or any other such data. The algorithms or machine learning systems of the chatflow processing system 1720 can use such data in facilitating the tasks described herein.
[0155]
[0174] In addition, the chatflow processing system 1720, in some implementations, can manage one or more chatflows 1730 for the member and any number of members. The chatflows 1730 described herein include messages in a set of chat data. The chatflows 1730 can include all chat messages exchanged between the member and the task facilitation service, or can include messages separated by some criteria. For example, in some implementations, a project (e.g., a high-level task) can have separate chatflows 1730 with tagging in the separate chatflows 1730 for the task based on the subtasks that are part of the task. In some implementations, such separation of tasks can be done automatically based on the task creation operations described herein, or the separation can be based on member preferences or selections, or on preferences or selections of a proxy.
[0156]
[0175] A chatflow 1730 can have one or more associated chat interfaces 1736 that point to the placement of chat messages 1732 (e.g., message data) and any additional supporting elements (e.g., filter elements, size customization, color customization inputs, etc.). A chatflow 1730 can include messages that are not currently displayed in the chat interface 1736 within the chatflow 1730, but may be navigated to via UI selection (e.g., scrolling or filtering). A chatflow 1730 can further include metadata 1734, such as assigned tags, deadline metadata, urgency metadata, display customization metadata, or other such metadata related to the message data of chat messages 1732 for a given chatflow 1730. As described above, the task facilitation system can include various UI elements for navigating between task pages and associated chat interfaces 1736 for a chatflow 1730 to facilitate the completion of various tasks.
[0157]
[0176] The chat flow processing system 1720 includes an NLP system 1702, a task tracking system 1704, a UI management system 1706, a machine learning system 1708, an input / output (I / O) system 1710, and a system management module 1712. The NLP system 1702 can operate as described above to parse the text of incoming messages and provide associations as part of various algorithms, including task matching for task tags, task creation recommendations for new tasks or subtasks, or association with multiple tags. For example, if a member has five related tasks managed by the system, with a first representative assisting with three of the tasks and a second representative assisting with two of the tasks, a message from the first representative saying "I'm going to be away for a week" can be processed by the NLP system 1702 and other systems to include three task tags for messages related to the three tasks the first representative is assisting with. A similar message from a backup representative indicating coverage for the week can be assigned the same three task tags. 16 and can interact with the NLP system 1702 to track task progress, such as updating metadata with messages described above to identify the currently responsible agent. Similar analysis can be used to generate reminders for tasks with deadlines or other such actions.
[0158]
[0177] In some implementations, the reminders generated by the task tracking system 1704 may simply be text messages within the real-time chatflow 1730. In other implementations, interaction with the automatic reminders provides a fast interface. The illustrated fast interface provides an option to ignore or delay the reminder using an ignore / snooze interface element. If the reminder is ignored, the automatic reminder may be removed from the real-time chatflow. In some implementations, the ignore input may be communicated to the surrogate 204 to identify why the system created an automatic reminder that the member is ignoring. Such communication to the surrogate device 204 may be used to generate feedback for the learning system to improve the selection of future reminders. Such feedback may identify an error by the member 210, a misalignment of priorities between the member and the task facilitation service 202, or a misunderstanding of a task deadline by the member 210.
[0159]
[0178] If the "snooze" interface element is selected, the user may be prompted to select the time or location of the next reminder, or a new reminder may be selected, either a default or a subsequent reminder selected by the scheduling algorithm. For example, if a hard deadline is approaching, the scheduling algorithm may create an automatic reminder that is presented more quickly than if the reminder was associated with a task without a hard deadline. Any of the information described above for use by the scheduling algorithm or machine learning / AI for reminder selection may be integrated with the reminder dialogue interface to influence the selection of the time or location at which the reminder reappears within the real-time chatflow 1730.
[0160]
[0179] If the member 210 selects to respond or interact with the element, the reminder interaction can include a direct link to an interface associated with the task element associated with the reminder. For example, if the reminder is associated with collecting information from the member 210, the user interface for the response / interaction element can include a direct link to a data entry interface such that selection of the element navigates the member device's display or user interface directly to the associated collection interface without the member having to navigate standard interface options. Similarly, if the reminder is to communicate with a third-party service of the third-party services 214, the element can provide direct navigation to a communication interface (e.g., messaging, email, phone, etc.) with pre-filled contact information to facilitate completion of the task element associated with the reminder. In various implementations, such a direct connection can be automatically generated by the task facilitation service 202 based on the task item associated with the reminder, or the proxy device 204 can be used to configure such a direct link to reduce member interaction to complete the task element associated with the reminder. For example, in the above example, when a task proposal related to moving is processed by the system, the proposal analysis may request a set of data not provided by the member in the initial request. Such information for the move may be the number of rooms to be moved, a date range for moving people, a date range for moving items from one home to another, a budget, a list of specialized items for the move (e.g., piano, art, etc.), or any other such data. Other projects may similarly include data sets identified by the system, and the reminder interactive element as part of an automatic reminder may include a direct link to a customized data request input to improve the operation of the system by reducing the number of input actions to present a data entry interface to the member to complete the data entry action related to the reminder.
[0161]
[0180] The UI management system 1706 can operate as a centralized system for configuration of a default chat interface 1736, customization of the chat interface 1736 based on current member devices, or other such operations. The machine learning system 1708 can operate as described above for any machine learning system to perform real-time processing of the messages or output of the NLP system 1702, which may then be used in various ways for tagging, task tracking, or other such operations.
[0162]
[0181] The I / O system 1710 operates as device support for communication between the task coordination system 208, member devices, surrogate devices, databases, or other such system computing resources described herein. The system management module 1712 can manage the integration of various systems, such as the creation and management system for the task coordination system 208, load balancing of resources for multiple member chat flows 1730, or other such system operations for real-time processing and tagging of task messages.
[0163]
[0182] FIG. 18 illustrates operations of a method 1800. Such method operations may be performed by a member device, such as a member device 120, 212, and corresponding operations may be performed by a server computer implementing a task facilitation service 102, 202. In some aspects, the method is embodied as instructions stored on a computer-readable storage medium that, when executed by one or more processors of the device, cause the device to perform the operations of the illustrated method. Some aspects include a display coupled to the processor to enable a user interface. The user interface facilitates functionality for improving device operation with task management and information presentation to reduce user interaction time to process information and reduce member cognitive load associated with tasks and subtasks via the service 102, 202. This may include machine learning algorithm processing of messages to automatically generate or modify tasks and generate customized user interfaces for task information to give members device functionality with reduced device interaction and an overall reduction in member cognitive load.
[0164]
[0183] FIG. 18 illustrates a method 1800. The method 1800 includes operations for generating, presenting, and using feedback for a chat flow interface associated with a task system, according to examples described herein. The method 1800 includes block 1802 with receiving a set of messages between a member and a representative in real time while the set of messages are being exchanged. The method 1800 includes block 1804 with processing the set of messages to identify one or more task flags associated with the set of messages, where the one or more task flags correspond to a set of tasks that can be performed by the representative on behalf of the member. As described above, the task flags may be pre-generated by an approval or task generation process, or may be newly generated in real time during processing of the messages. The method 1800 further includes block 1806 that describes tracking the chat flow within the chat interface, where the set of messages are exchanged within the chat interface. Such tracking may include processing content between multiple messages within the chat flow. Method 1800 includes block 1808 that describes processing the chat flow using a tagging algorithm to automatically assign at least one of one or more task flags to messages of the set of messages. For a given (e.g., previously approved task), block 1804 can include a tagging algorithm for matching existing tags to the content of the set of messages. For new tag generation, a task generation algorithm can be used with messages determined not to match existing active tags (e.g., tags for uncompleted tasks or approved projects). Method 1800 includes block 1810 that describes generating a message history including the set of messages and corresponding task flag assignments with associated tasks of the set of tasks.The message history may be a data structure or data stored in a database, such as database 1790 for storing chatflow data (e.g., chatflows 1730).
[0165]
[0184] In various implementations, a method such as method 1800 may further involve an operation for processing the message history to generate new task recommendations using a recommendation algorithm based on one or more task flags and the timing of the set of messages in the chatflow, or an operation for processing the chatflow using a tagging algorithm that further involves generating a number of sub-tasks for at least one of the one or more task recommendations based on content of the set of messages in the chatflow and assigning one or more sub-task tags to corresponding messages in the set of messages.
[0166]
[0185] In some implementations, such a method may further operate where processing the chatflow using a tagging algorithm comprises generating a plurality of sub-tasks for at least one of the one or more task recommendations based on content of the set of messages in the chatflow, and assigning a plurality of sub-task tags to a first message of the set of messages.
[0167]
[0186] Some such methods may also or alternatively further involve receiving a pre-filtering input from a member device, where the pre-filtering input identifies a task flag among one or more task flags, processing a message history using the pre-filtering input to adjust display of the messages in a chat interface, receiving real-time messages between the member and the representative while the set of messages are being exchanged, processing the real-time messages in real-time using a filtering algorithm to associate one or more flags with messages of the real-time messages, displaying a first message of the real-time messages in the chat interface based on the pre-filtering input and a first task association with the first message, and hiding a second message of the real-time messages in the chat interface based on the pre-filtering input and a second task association with the second message.
[0168]
[0187] Some implementations of method 1800 may further involve receiving a tag association change message from a proxy device associated with the proxy, updating a message history to modify tags associated with one or more messages based on the tag association change message, and updating a tagging algorithm using the tag association change message.
[0169]
[0188] Some implementations of method 1800 may further involve receiving a task completion notification associated with the set of messages and the one or more task flags; updating a message history to include a task completion flag associated with the one or more task flags and a task validation tag associated with an assignment of at least one of the one or more task flags to a message of the set of messages; accessing task association data for the plurality of message histories and corresponding completed tasks; training a tagging algorithm using the plurality of message histories and the task validation tags in the plurality of message histories, where each of the plurality of message histories includes a task completion flag associated with the one or more task flags; and where the tagging algorithm comprises a machine learning algorithm configured to match message data to the corresponding task flags.
[0170]
[0189] It will be apparent that the methods and operations described above are exemplary, and that such methods may involve operations that are repeated, or that include intermediate steps. Such repeated or intermediate steps may occur, particularly when a computer-implemented system performs operations for a large number (e.g., thousands, millions, etc.) of messages and users simultaneously. In addition, similar methods that do not exactly match the operations described above are possible within the scope of the innovations described herein.
[0171]
[0190] 19 illustrates an illustrative example of an environment 1900 in which communications with members are processed, according to at least one embodiment. In some embodiments, operations performed by the representative 1904 are implemented in part and / or fully using one or more machine learning algorithms, artificial intelligence systems, and / or computational models. For example, as the representative 1904 performs or otherwise coordinates the performance of a task on behalf of the member 1912, the task facilitation service 1902 may update the member's 1912 profile and / or a computational model of the member's 1912 profile.
[0172]
[0191] In some embodiments, as the proxy 1904 performs or otherwise coordinates the performance of a task on behalf of the member 1912, the task facilitation service 1902 continuously updates the member 1912's profile and / or a computational model of the member 1912's profile. For example, when the member 1912 communicates with the task facilitation service 1902's system, the task facilitation service 1902 may continuously update the member 1912's profile and / or a computational model of the member 1912's profile during the interaction.
[0173]
[0192] In some embodiments, as a proxy 1904 performs or otherwise coordinates the performance of a task on behalf of a member 1912, the task facilitation service 1902 dynamically updates the member's 1912 profile and / or the computational model of the member's 1912 profile. For example, as a task is performed on behalf of a member 1912, the vendor performing the task may provide regular updates to the task facilitation service 1902, and the task facilitation service 1902 may dynamically update the member's 1912 profile and / or the computational model of the member's 1912 profile upon each update from the vendor.
[0174]
[0193] In some embodiments, when a proxy 1904 performs or otherwise coordinates the performance of a task on behalf of a member 1912, the task facilitation service 1902 automatically updates the member's 1912 profile and / or the computational model of the member's 1912 profile. For example, when a proposal is generated for a member, the task facilitation service 1902 may automatically update the member's 1912 profile and / or the computational model of the member's 1912 profile as part of the proposal generation process.
[0175]
[0194] In some embodiments, as the proxy 1904 performs or otherwise coordinates the performance of a task on behalf of the member 1912, the task facilitation service 1902 updates the member 1912's profile and / or the computational model of the member 1912's profile in real time. For example, when the member 1912 accepts a proposal, the task facilitation service 1902 may update the member 1912's profile and / or the computational model of the member 1912's profile when acceptance of the proposal is given, rather than delaying the update.
[0176]
[0195] In some embodiments, the task facilitation service 1902 uses the machine learning subsystem 1906 of the task facilitation service 1902 to update the member 1912's profile and / or the computational model of the member 1912's profile. In some embodiments, the machine learning subsystem 1906 is a component of the task facilitation service 1902 configured to implement machine learning algorithms, artificial intelligence systems, and / or computational models. In one example, the machine learning subsystem 1906 may use various algorithms to train the machine learning models using sample and / or live data. Additionally, the machine learning subsystem 1906 may update the machine learning models as new data is received. In another example, the machine learning subsystem 1906 may train and / or update various artificial intelligence systems or generate, train, and / or update various computational models. For example, the computational model of the member 1912's profile may be generated, trained, and / or updated by the machine learning subsystem 1906 as new information is received regarding the member 1912.
[0177]
[0196] In some embodiments, after a member's 1912 profile and / or a computational model of a member's 1912 profile has been updated over a period of time (e.g., six months, a year, etc.) and / or through a set of tasks (e.g., 20 tasks, 30 tasks, etc.), the task facilitation service 1902 system (e.g., task recommendation system) utilizes one or more machine learning algorithms, artificial intelligence systems, and / or computational models to continuously, automatically, dynamically, and in real-time generate new tasks. For example, the task recommendation system may generate new tasks based on various attributes of the member's profile (e.g., historical data corresponding to communications between the member and the surrogate, the surrogate's performance and the member's feedback corresponding to the tasks / suggestions presented, etc.) with or without surrogate interaction. In some embodiments, the task facilitation service 1902 system (e.g., task recommendation system) may also automatically communicate with the member 1912 to obtain any additional information required and generate suggestions that may be presented to the member 1912 for performance of these tasks.
[0178]
[0197] In the example shown in Figure 19, communications between a member 1912 and a task facilitation service 1902 may be routed to one or more entities within the task facilitation service 1902. Although the example shown in Figure 19 shows a communications router 1914 (referred to in the figure as "router"), as may be contemplated, as shown in Figure 19, the router 1914 is an abstract representation of one or more techniques for routing communications between entities. Thus, communications from a member 1912 to the task facilitation service 1902 may be routed to one or more entities of the task facilitation service, and communications from one or more entities of the task facilitation service 1902 may be routed back to the member 1912.
[0179]
[0198] 19 , as communications are routed 1916 to the surrogate 1904 and may also be routed 1918 to the task facilitation service system and / or subsystem 1908, the surrogate 1904 may monitor communications between the task facilitation service system and / or subsystem 1908 and the member 1912 to ensure that the interaction maintains a positive polarity as described herein. For example, if the member 1912 is interacting with the task recommendation system, the surrogate 1904 may determine whether the member 1912 is satisfied with the interaction. If the surrogate 1904 determines that the conversation has a negative polarity (e.g., the member 1912 is not satisfied with the interaction), the surrogate 1904 may intervene to improve the interaction.
[0180]
[0199] Similarly, other interactions between the task facilitation service systems and / or subsystems 1908 and the members 1912 may be routed 1920 to a member communication subsystem 1922, which may be configured to monitor interactions between the task facilitation service systems and / or subsystems 1908 and the members 1912. In some embodiments, the member communication subsystem 1922 may be configured to intercept interactions between the task facilitation service systems and / or subsystems 1908 and the members 1912 (e.g., using a router 1914). In such embodiments, all such interactions may be routed 1920 between the members 1912 and the member communication subsystem 1922, and may be routed 1925 between the member communication subsystem 1922 and the task facilitation service systems and / or subsystems 1908. In such embodiments, interactions between the task facilitation service systems and / or subsystems 1908 and the members 1912 may not be routed directly 1918. In such an embodiment, the surrogate 1904 may still monitor the interaction between the task facilitation service system and / or subsystem 1908 and the member 1912 to ensure that the interaction maintains a positive polarity as described above (e.g., by routing 1916 the interaction to the surrogate 1904).
[0181]
[0200] In some embodiments, the surrogate 1904 can interact with the machine learning subsystem 1906 to update the member's profile indicating changing member preferences based on interactions between the surrogate 1904 and the member 1912. In some embodiments, the task facilitation service system and / or subsystem 1908 can interact with the machine learning subsystem 1906 to update the member's profile, for example, when a suggestion is accepted or rejected. Additionally, as shown in FIG. 19 , interactions between the task facilitation service 1902 and the member 1912 can be further routed 1926 between the member communication subsystem 1922 and the machine learning subsystem 1906. Thus, interactions between the member 1912 and, for example, a suggestion creation subsystem can be used to update the member's profile when a suggestion is created.
[0182]
[0201] Thus, unlike automated customer service systems and environments where the systems and environments may have little or no knowledge of a user's interactions with agents and / or other automated systems, the task facilitation service system and / or subsystem 1908 may continuously, dynamically, automatically, and / or in real-time update the member's 1912 profile and / or the computational model of the member's 1912 profile. For example, the task facilitation service system and / or subsystem 1908 may update the member's 1912 profile and / or the computational model of the member's 1912 profile using the machine learning subsystem 1906 as described herein. Thus, the task facilitation service system and / or subsystem 1908 may update the member's 1912 profile and / or the computational model of the member's 1912 profile to provide up-to-date information about the member based on the member's automated interactions with the task facilitation service 1902, based on the member's interactions with the surrogate 1904, and / or based on tasks performed on behalf of the member 1912 over time. This information may also be updated continuously, automatically, dynamically, and / or in real-time as tasks and / or suggestions are created, proposed, and implemented for members 1912. This information may also be used by the task facilitation service 1902 to anticipate, identify, and present appropriate or intelligent interactions with members 1912 (e.g., in response to the queries, needs, and / or objectives of the members 1912).
[0183]
[0202] FIG. 20 illustrates a computing system architecture 2000 including various components in electronic communication with each other, according to various embodiments. The exemplary computing system architecture 2000 illustrated in FIG. 20 includes a computing device 2002 having various components in electronic communication with each other using a connection 2006, such as a bus, according to some implementations. The exemplary computing system architecture 2000 includes a processing unit 2004 in electronic communication with the various system components using the connection 2006 and including a system memory 2014. In some embodiments, the system memory 2014 includes read only memory (ROM), random access memory (RAM), and other such memory technologies, including but not limited to those described herein. In some embodiments, the exemplary computing system architecture 2000 includes a cache 2008 of high speed memory directly connected to the processor 2004, in close proximity to the processor 2004, or integrated as part of the processor 2004. The system architecture 2000 can copy data from the memory 2014 and / or storage device 2010 to the cache 2008 for quick access by the processor 2004. In this manner, the cache 2008 can provide performance improvements that reduce or eliminate processor delays in the processor 2004 due to waiting for data. Using modules, methods and services such as those described herein, the processor 2004 can be configured to perform various acts. In some embodiments, the cache 2008 can include multiple types of caches including, for example, a level 1 (L1) cache and a level 2 (L2) cache. The memory 2014 may be referred to herein as a system memory or computer system memory. The memory 2014 may include, at various times, elements of an operating system, one or more applications, data associated with the operating system or one or more applications, or other such data associated with the computing device 2002.
[0184]
[0203] Other system memory 2014 may also be available for use. Memory 2014 may include multiple different types of memory with different performance characteristics. Processor 2004 may include any general purpose processor and one or more hardware or software services, such as services 2012 stored in storage device 2010, configured to control processor 2004 as well as special purpose processors, where software instructions are incorporated into the actual processor design. Processor 2004 may be a complete self-contained computing system including multiple cores or processors, connectors (e.g., buses), memory, memory controllers, caches, etc. In some embodiments, such self-contained computing systems with multiple cores are symmetric. In some embodiments, such self-contained computing systems with multiple cores are asymmetric. In some embodiments, processor 2004 may be a microprocessor, a microcontroller, a digital signal processor ("DSP"), or a combination of these and / or other types of processors. In some embodiments, the processor 2004 may include multiple elements, such as a core, one or more registers, and one or more processing units, such as an arithmetic logic unit (ALU), a floating point unit (FPU), a graphics processing unit (GPU), a physical processing unit (PPU), a digital systems processing (DSP) unit, or a combination of these and / or other such processing units.
[0185]
[0204] To enable user interaction with the computing system architecture 2000, the input devices 2016 may represent any number of input mechanisms, such as a microphone for speech, a touch-sensitive screen for gesture or graphical input, a keyboard, a mouse, motion input, a pen, and other such input devices. The output devices 2018 may also be one or more of several output mechanisms known to those skilled in the art, including, but not limited to, a monitor, a speaker, a printer, a haptic device, and other such output devices. In some instances, a multimodal system may enable a user to provide multiple types of input to communicate with the computing system architecture 2000. In some embodiments, the input devices 2016 and / or the output devices 2018 may be coupled to the computing device 2002 using a remote connection device, such as, for example, a communication interface, such as the network interface 2020 described herein. In such embodiments, the communication interface may govern and manage the input and output received from the attached input devices 2016 and / or output devices 2018. As can be contemplated, there is no limitation to operating on any particular hardware configuration, and therefore the basic features herein can be readily substituted for other hardware, software, or firmware configurations as they are developed.
[0186]
[0205] In some embodiments, the storage device 2010 may be described as a non-volatile storage device or non-volatile memory. Such non-volatile memory or non-volatile storage device may be a hard disk or other type of computer-readable medium capable of storing data that is accessible by a computer, such as a magnetic cassette, a flash memory card, a solid-state memory device, a digital versatile disk, a cartridge, RAM, ROM, and hybrids thereof.
[0187]
[0206] As described above, the storage device 2010 may include hardware and / or software services, such as services 2012, that may control or configure the processor 2004 to perform one or more functions, including, but not limited to, the methods, processes, functions, systems, and services described herein in various embodiments. In some embodiments, the hardware or software services may be implemented as modules. As shown in the exemplary computing system architecture 2000, the storage device 2010 may be connected to other parts of the computing device 2002 using system connections 2006. In some embodiments, a hardware service or hardware module, such as services 2012, that performs a function may include software components stored in a non-transitory computer-readable medium that may perform functions, such as those described herein, with respect to necessary hardware components, such as the processor 2004, connections 2006, cache 2008, storage device 2010, memory 2014, input devices 2016, output devices 2018, etc.
[0188]
[0207] The disclosed process for generating and executing experience recommendations may be implemented using a computing system, such as the exemplary computing system illustrated in FIG. 20, which uses one or more components of an exemplary computing system architecture 2000. The exemplary computing system may include a processor (e.g., a central processing unit), a memory, a non-volatile memory, and an interface device. The memory may store data and / or one or more sets of code, software, scripts, etc. The components of the computer system may be coupled together via a bus or through some other known or convenient device.
[0189]
[0208] In some embodiments, a processor may be configured to perform some or all of the methods and functions for generating and executing experience recommendations described herein by executing code using a processor, such as, for example, processor 2004, where the code is stored in a memory, such as memory 2014, as described herein. One or more of the user devices, provider servers or systems, database systems, or other such devices, services or systems may include some or all of the components of a computing system, such as the exemplary computing system shown in FIG. 20 that uses one or more components of the exemplary computing system architecture 2000 described herein. As may be contemplated, variations of such systems may be considered within the scope of the present disclosure.
[0190]
[0209] The present disclosure contemplates a computer system taking any suitable physical form. By way of example and not limitation, a computer system may be an embedded computer system, a system on a chip (SOC), a single board computer system (SBC) (e.g., a computer on module (COM) or system on module (SOM)), a desktop computer system, a laptop or notebook computer system, a tablet computer system, a wearable computer system or interface, an interactive kiosk, a mainframe, a mesh of computer systems, a mobile phone, a personal digital assistant (PDA), a server, or a combination of two or more of these. Where appropriate, a computer system may include one or more computer systems present in a cloud computing system that may include one or more cloud components that are unitary or distributed, across multiple locations, across multiple machines, and / or in one or more networks, as described herein in connection with computing resource provider 2028. Where appropriate, one or more computer systems may perform one or more steps of one or more methods described or illustrated herein without substantial spatial or temporal limitations. By way of example and not limitation, one or more computer systems may perform one or more steps of one or more methods described or illustrated herein in real time or in batch mode. One or more computer systems may perform one or more steps of one or more methods described or illustrated herein at different times or in different locations, where appropriate.
[0191]
[0210] The processor 2004 may be a conventional microprocessor, such as an Intel®, AMD®, Motorola®, or other such microprocessor. Those skilled in the art will recognize that the terms "machine-readable (storage) medium" or "computer-readable (storage) medium" include any type of device that is accessible by a processor.
[0192]
[0211] The memory 2014 may be coupled to the processor 2004 by a connector or bus, such as, for example, the connector 2006. As used herein, a connector or bus, such as the connector 2006, is a communication system that transfers data between components within the computing device 2002 and, in some embodiments, may be used to transfer data between computing devices. The connector 2006 may be a data bus, a memory bus, a system bus, or other such data transfer mechanism. Examples of such connectors include, but are not limited to, an Industry Standard Architecture (ISA) bus, an Enhanced ISA (EISA) bus, a Parallel AT Attachment (PATA) bus (e.g., an Integrated Drive Electronics (IDE) or Enhanced IDE (EIDE) bus), or various types of Peripheral Component Interconnect (PCI) buses (e.g., PCI, PCIe, PCI-104, etc.).
[0193]
[0212] The memory 2014 may include RAM, including but not limited to dynamic RAM (DRAM), static RAM (SRAM), synchronous dynamic RAM (SDRAM), non-volatile random access memory (NVRAM), and other types of RAM. DRAM may include error correcting code (EEC). The memory may also include ROM, including but not limited to programmable ROM (PROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, mask ROM (MROM), and other types of ROM. The memory 2014 may also include read-only storage media (e.g., CD ROM and DVD The memory may include a magnetic or optical data storage medium, including a ROM (read only memory) or another storage medium (e.g., a CD or DVD). The memory may be local, remote, or distributed.
[0194]
[0213] As explained above, the connector 2006 (or bus) may also couple the processor 2004 to a storage device 2010, which may include a non-volatile memory or storage device and may also include a drive unit. In some embodiments, the non-volatile memory or storage device is a magnetic floppy or hard disk, a magnetic optical disk, an optical disk, a ROM (e.g., CD-ROM, DVD-ROM, EPROM, or EEPROM), a magnetic or optical card, or another form of storage device for data. Some of this data may be written to the memory during execution of software in the computer system by a direct memory access process. The non-volatile memory or storage device may be local, remote, or distributed. In some embodiments, the non-volatile memory or storage device is optional. As may be contemplated, a computing system may be created with all applicable data available in memory. A typical computer system will usually include at least one processor, a memory, and a device (e.g., a bus) that couples the memory to the processor.
[0195]
[0214] The software and / or data associated with the software may be stored in a non-volatile memory and / or drive unit. In some embodiments (e.g., for large programs), it may not be possible to store the entire program and / or data in memory at all times. In such embodiments, the program and / or data may be moved in and out of memory from additional storage devices, such as, for example, storage device 2010. Nevertheless, it should be understood that for the software to run, it is moved, when necessary, to a computer-readable location suitable for processing, and for purposes of explanation, that location is referred to as memory herein. Even when the software is moved to memory for execution, the processor may utilize hardware registers to store values associated with the software, and ideally, a local cache that serves to speed up execution. A software program as used herein is assumed to be stored in any known or convenient location (from non-volatile storage to hardware registers) when the software program is referred to as being "implemented in a computer-readable medium." A processor is considered to be "configured to execute a program" when at least one value associated with the program is stored in a register readable by the processor.
[0196]
[0215] The connection 2006 may also couple the processor 2004 to a network interface device, such as a network interface 2020. The interface may include one or more of a modem or other such network interfaces, including but not limited to those described herein. It will be appreciated that the network interface 2020 may be considered to be part of the computing device 2002 or may be separate from the computing device 2002. The network interface 2020 may include one or more of an analog modem, an integrated services digital network (ISDN) modem, a cable modem, a token ring interface, a satellite transmission interface, or other interfaces for coupling the computer system to other computer systems. In some embodiments, the network interface 2020 may include one or more input and / or output (I / O) devices. The input / output devices may include, by way of example and not limitation, an input device, such as input device 2016, and / or an output device, such as output device 2018. For example, the network interface 2020 may include a keyboard, a mouse, a printer, a scanner, a display device, and other such components. Other examples of input and output devices are described herein. In some embodiments, the communications interface device may be implemented as a completely separate computing device.
[0197]
[0216] In some embodiments, computing device 2002 may be connected to one or more additional computing devices, such as computing device 2025, via network 2022 using a connection such as network interface 2020. In such embodiments, computing device 2025 may execute one or more services 2026 to perform one or more functions under the control of or on behalf of programs and / or services operating on computing device 2002. In some embodiments, a computing device, such as computing device 2025, may include one or more of the types of components described with respect to computing device 2002, including, but not limited to, a processor, such as processor 2004, a connection, such as connection 2006, a cache, such as cache 2008, a storage device, such as storage device 2010, a memory, such as memory 2014, an input device, such as input device 2016, and an output device, such as output device 2018. In such embodiments, computing device 2025 may perform functions such as those described herein with respect to computing device 2002. In some embodiments, computing device 2002 may be connected to multiple computing devices, such as computing device 2025, each of which may also be connected to multiple computing devices, such as computing device 2025. Such embodiments may be referred to herein as a distributed computing environment.
[0198]
[0217] In some embodiments, computing device 2002 and / or computing device 2025 may be connected to computing resource provider 2028 over network 2022 using a network interface such as a network interface (e.g., network interface 2020) described herein. In such embodiments, one or more systems (e.g., services 2030 and services 2032) hosted within computing resource provider 2028 (also referred to herein within a "computing resource provider environment") may execute one or more services to perform one or more functions under the control of or on behalf of programs and / or services operating on computing device 2002 and / or computing device 2025. Systems such as services 2030 and services 2032 may include one or more computing devices, such as the computer devices described herein for executing computer code to perform one or more functions under the control of or on behalf of programs and / or services operating on computing device 2002 and / or computing device 2025.
[0199]
[0218] For example, when the amount of data for computing device 2002 exceeds the capacity of storage device 2010, for example, computing resource provider 2028 may provide a service to operate on service 2030 to store data for computing device 2002. In another example, computing resource provider 2028 may provide a service to first instantiate a virtual machine (VM) on service 2032, use the VM to access data stored on service 2032, perform one or more operations on the data, and provide the results of those one or more operations to computing device 2002. Such operations (e.g., storing data and instantiating a VM) may be referred to herein as operating "in the cloud," "within a cloud computing environment," or "within a hosted virtual machine environment," and computing resource provider 2028 may be referred to herein as a "cloud." Examples of such computing resource providers include, but are not limited to, Amazon® Web Services (AWS®), Microsoft's Azure®, IBM Cloud®, Google Cloud®, Oracle Cloud®, and the like.
[0200]
[0219] Services provided by the computing resource providers 2028 include, but are not limited to, data analytics, data storage, archival storage, big data storage, virtual computing (including various scalable VM architectures), blockchain services, containers (e.g., application encapsulation), database services, development environments (including sandbox development environments), e-commerce solutions, gaming services, media and content management services, security services, serverless hosting, virtual reality (VR) systems, and augmented reality (AR) systems. Various techniques that facilitate such services include, but are not limited to, virtual machines, virtual storage, database services, system schedulers (e.g., hypervisors), resource management systems, various types of short-term, intermediate, long-term, and archival storage devices, and the like.
[0201]
[0220] As may be contemplated, systems such as services 2030 and services 2032 may implement versions of various services (e.g., services 2012 or services 2026) on behalf of or under the control of computing device 2002 and / or computing device 2025. Such implemented versions of various services may involve one or more virtualization techniques, for example, such that when a service is running on, for example, service 2030, it may appear to a user of computing device 2002 that service 2012 is running on computing device 2002. As may also be contemplated, various services operating within the computing resource provider 2028 environment may be distributed among various systems within the environment, as well as partially distributed on computing device 2025 and / or computing device 2002.
[0202]
[0221] The client devices, user devices, computer resource provider devices, network devices, and other devices may be computing systems that include, among other things, one or more integrated circuits, input devices, output devices, data storage devices, and / or network interfaces. The integrated circuits may include, among other things, one or more processors, volatile memory, and / or non-volatile memory, such as, for example, those described herein. The input devices may include, for example, keyboards, mice, keypads, touch interfaces, microphones, cameras, and / or other types of input devices, including, but not limited to, the input devices described herein. The output devices may include, for example, display screens, speakers, haptic feedback systems, printers, and / or other types of output devices, including, but not limited to, the output devices described herein. The data storage devices, such as hard drives or flash memory, may enable the computing device to store data temporarily or permanently. The network interfaces, such as wireless or wired interfaces, may enable the computing device to communicate with a network. Examples of computing devices (e.g., computing device 2002) include, but are not limited to, desktop computers, laptop computers, server computers, handheld computers, tablets, smartphones, personal digital assistants, digital home assistants, wearable devices, smart devices, and combinations of these and / or other such computing devices, as well as machines and apparatuses in which a computing device is embedded and / or virtually implemented.
[0203]
[0222] The techniques described herein may also be implemented in electronic hardware, computer software, firmware, or any combination thereof. Such techniques may be implemented in any of a variety of devices, such as a general purpose computer, a wireless communication device handset, or an integrated circuit device having multiple uses, including applications in wireless communication device handsets and other devices. Any features described as modules or components may be implemented together in an integrated logic device, or separately as separate but interoperable logic devices. If implemented in software, the techniques may be realized at least in part by a computer-readable data storage medium comprising program code including instructions that, when executed, perform one or more of the methods described above. The computer-readable data storage medium may form part of a computer program product, which may include packaging materials. The computer-readable medium may comprise a memory or a data storage medium, such as those described herein. The techniques may additionally or alternatively be realized at least in part by a computer-readable communication medium, such as a propagated signal or radio wave, that carries or communicates program code in the form of instructions or data structures and can be accessed, read, and / or executed by a computer.
[0204]
[0223] The program code may be executed by a processor, which may include one or more processors, such as one or more digital signal processors (DSPs), general-purpose microprocessors, application specific integrated circuits (ASICs), field programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuits. Such a processor may be configured to perform any of the techniques described in this disclosure. A general-purpose processor may be a microprocessor, but alternatively, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices (e.g., a combination of a DSP and a microprocessor), multiple microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Thus, the term "processor" as used herein may refer to any of the above structures, any combination of the above structures, or any other structure or apparatus suitable for implementing the techniques described herein. Furthermore, in some aspects, the functionality described herein may be provided within dedicated software or hardware modules configured to implement an interrupted database update system.
[0205]
[0224] As used herein, the terms "machine-readable medium" and equivalent terms "machine-readable storage medium", "computer-readable medium", and "computer-readable storage medium" refer to media including, but not limited to, portable or non-portable storage devices, optical storage devices, removable or non-removable storage devices, and various other media capable of storing, containing, or carrying instructions and / or data. Computer-readable media may include non-transitory media on which data may be stored, which does not include carrier waves and / or transitory electronic signals propagating wirelessly or over wired connections. Examples of non-transitory media may include, but are not limited to, magnetic disks or tapes, optical storage media such as compact disks (CDs) or digital versatile disks (DVDs), solid-state drives (SSDs), flash memories, memories, or memory devices.
[0206]
[0225] A machine-readable medium or machine-readable storage medium may have stored thereon code and / or machine-executable instructions, which may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and / or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means, including memory sharing, message passing, token passing, network transmission, etc. Further examples of machine-readable storage medium, machine-readable media, or computer-readable (storage) media include, but are not limited to, recordable type media, such as volatile and non-volatile memory devices, floppy and other removable disks, hard disk drives, optical disks (e.g., CDs, DVDs, etc.), and transmission type media, such as digital and analog communications links, among others.
[0207]
[0226] As may be contemplated. Although examples herein may show or refer to a machine-readable medium or machine-readable storage medium as a single medium, the terms "machine-readable medium" and "machine-readable storage medium" should be interpreted to include a single medium or multiple media (e.g., a centralized or distributed database and / or associated caches and servers) that store one or more sets of instructions. The terms "machine-readable medium" and "machine-readable storage medium" are also interpreted to include any medium capable of storing, encoding, or carrying a set of instructions for a system to execute, causing the system to perform any one or more of the methods or modules disclosed herein.
[0208]
[0227] Some portions of the detailed descriptions herein may be presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of operations leading to a desired result. The operations require physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, primarily for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
[0209]
[0228] It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities.Unless otherwise indicated, and as will be apparent from the following description, it will be appreciated that throughout the description, descriptions utilizing terms such as "processing" or "calculating" or "computing" or "determining" or "displaying" or "generating" refer to the acts and processes of a computer system or similar electronic computing device that manipulates and converts data represented as physical (electronic) quantities in the computer system's registers and memory into other data that is similarly represented as physical quantities in the computer system's memory or registers or other such information storage, transmission or display device.
[0210]
[0229] It should also be noted that the individual implementations may be described as a process that is depicted as a flowchart, flow diagram, data flow diagram, structure diagram, or block diagram. Although the flowchart, flow diagram, data flow diagram, structure diagram, or block diagram may describe operations as a sequential process, many of the operations may be performed in parallel or simultaneously. Additionally, the order of operations may be rearranged. A process depicted in a figure is terminated when its operations are completed, but may have additional steps not included in the figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination may correspond to a return of the function to the calling function or to the main function.
[0211]
[0230] In some embodiments, one or more implementations of algorithms such as those described herein may be implemented using machine learning or artificial intelligence algorithms. Such machine learning or artificial intelligence algorithms may be trained using supervised, unsupervised, reinforcement, or other such training techniques. For example, a set of data may be analyzed using one of a variety of machine learning algorithms to identify correlations between different elements of the set of data without supervision and feedback (e.g., unsupervised training techniques). Machine learning data analysis algorithms may also be trained using sample or live data to identify potential correlations. Such algorithms may include k-means clustering algorithms, fuzzy c-means (FCM) algorithms, expectation maximization (EM) algorithms, hierarchical clustering algorithms, density-based spatial clustering of noisy applications (DBSCAN) algorithms, and the like. Other examples of machine learning or artificial intelligence algorithms include, but are not limited to, genetic algorithms, backpropagation, reinforcement learning, decision trees, liner classification, artificial neural networks, anomaly detection, and the like. More generally, machine learning or artificial intelligence methods may include regression analysis, dimensionality reduction, meta-learning, reinforcement learning, deep learning, and other such algorithms and / or methods. As can be contemplated, the terms "machine learning" and "artificial intelligence" are often used interchangeably due to the degree of overlap between these fields, and many of the techniques and algorithms disclosed have similar approaches.
[0212]
[0231] As an example of a supervised training technique, a set of data may be selected for training a machine learning model to facilitate identification of correlations between members of the set of data. The machine learning model may be evaluated to determine whether the machine learning model is generating accurate correlations between members of the set of data based on sample inputs provided to the machine learning model. Based on this evaluation, the machine learning model may be modified to increase the likelihood that the machine learning model will identify the desired correlations. The machine learning model may be further dynamically trained by soliciting feedback (i.e., monitoring) from a user of the system regarding the efficacy of the correlations provided by the machine learning or artificial intelligence algorithm. The machine learning algorithm or artificial intelligence may use this feedback to improve the algorithm for generating the correlations (e.g., the feedback may be used to further train the machine learning algorithm or artificial intelligence to provide more accurate correlations).
[0213]
[0232] Although some aspects of the disclosure are presented below in some claim form, the inventors contemplate various aspects of the disclosure in any number of claim forms. Any claim intended to be treated under 35 U.S.C. 192(f) will commence with the words "means for." Accordingly, the applicants reserve the right to add additional claims after filing this application to pursue such additional claim forms for other aspects of the disclosure.
[0214]
[0233] Examples may also relate to objects generated by the computing processes described herein. Such objects may comprise information resulting from the computing processes, where the information is stored on a non-transitory, tangible computer-readable storage medium, and may include any implementation of a computer program object or other data combination described herein.
[0215]
[0234] The language used in this specification has been selected primarily for ease of reading and instructional purposes, and may not have been selected to delineate or limit the subject matter. Therefore, it is intended that the scope of the disclosure be limited not by this detailed description, but by any claims published on an application based on this specification. Therefore, the disclosure of the examples is intended to be illustrative, but not limiting, of the scope of the subject matter described in the following claims.
[0216]
[0235] Specific details have been given in the preceding description to provide a thorough understanding of various implementations of systems and components for a context-connected system. However, those skilled in the art will appreciate that the implementations described above may be practiced without these specific details. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form so as not to obscure the embodiments with unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail so as to avoid obscuring the embodiments.
[0217]
[0236] The above detailed description of the present technology has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the present technology to the precise form disclosed. Many modifications and variations are possible in light of the above teachings. The described embodiments have been chosen to best explain the principles of the present technology and its practical application, and to enable others skilled in the art to utilize the present technology in various embodiments with various modifications as may be suitable for the particular applications contemplated. It is intended that the scope of the present technology be defined by the claims.
Claims
1. 1. A computer-implemented method comprising: receiving a set of messages in real time between the member and the representative while the set of messages is being exchanged; processing the set of messages to identify one or more task flags associated with the set of messages, wherein the one or more task flags correspond to a set of tasks performable by the agent on behalf of the member; tracking a chat flow within a chat interface, wherein the set of messages are exchanged within the chat interface; processing the chatflow using a tagging algorithm to automatically assign at least one of the one or more task flags to messages in the set of messages; generating a message history including the set of messages and corresponding task flag assignments with associated tasks of the set of tasks.
2. 2. The computer-implemented method of claim 1, further comprising processing the message history to generate new task recommendations using a recommendation algorithm based on the one or more task flags and timing of the set of messages in the chatflow.
3. Processing the chatflow using the tagging algorithm includes: generating a plurality of subtasks for at least one of the one or more task flags based on content of the set of messages in the chatflow; and assigning one or more subtask tags to corresponding messages of the set of messages.
4. Processing the chatflow using the tagging algorithm includes: generating a plurality of subtasks for at least one of the one or more task flags based on content of the set of messages in the chatflow; and assigning a plurality of subtask tags to a first message of the set of messages.
5. receiving a pre-filtering input from a member device, wherein the pre-filtering input identifies a task flag among the one or more task flags; processing the message history using the pre-filtering input to tailor a display of messages within the chat interface; receiving real-time messages between the member and a representative while the set of messages is being exchanged; processing the real-time messages in real-time using a filtering algorithm to associate one or more flags with the real-time messages; displaying a first one of the real-time messages in the chat interface based on the pre-filtered input and a first task association with the first message; 2. The computer-implemented method of claim 1, further comprising hiding a second one of the real-time messages in the chat interface based on the pre-filtering input and a second task association with the second message.
6. receiving a tag association change message from a proxy device associated with the proxy; updating the message history to modify tags associated with one or more messages based on the tag association change message; The computer-implemented method of claim 1 , further comprising: updating the tagging algorithm using the tag association change message.
7. receiving a task completion notification associated with the set of messages and the one or more task flags; updating the message history to include a task completion flag associated with the one or more task flags and a task validation tag associated with the assignment of the at least one of the one or more task flags to a message of the set of messages; accessing task association data for a plurality of message histories and corresponding completed tasks, wherein each of the plurality of message histories includes a task completion flag associated with the one or more task flags; 2. The computer-implemented method of claim 1, further comprising training the tagging algorithm using the plurality of message histories and task verification tags in the plurality of message histories, wherein the tagging algorithm comprises a machine learning algorithm configured to match message data to corresponding task flags.
8. a memory configured to store a set of messages associated with a member and a proxy, wherein the proxy is assigned to the member for performance of a task on the member's behalf; and one or more processors coupled to the memory, the one or more processors: receiving said set of messages in real time between said member and said representative while said set of messages are being exchanged; processing the set of messages to identify one or more task flags associated with the set of messages, wherein the one or more task flags correspond to a set of tasks performable by the agent on behalf of the member; tracking a chat flow within a chat interface, wherein the set of messages are exchanged within the chat interface; processing the chatflow using a tagging algorithm to automatically assign at least one of the one or more task flags to messages in the set of messages; generating a message history including the set of messages and corresponding task flag assignments having associated tasks of the set of tasks.
9. The one or more processors:
10. The device of claim 8, further configured for operations comprising processing the message history to generate new task recommendations using a recommendation algorithm based on the one or more task flags and timing of the set of messages in the chatflow.
10. Processing the chatflow using the tagging algorithm includes: generating a plurality of subtasks for at least one of the one or more task flags based on content of the set of messages in the chatflow; and assigning one or more subtask tags to corresponding messages of the set of messages.
11. Processing the chatflow using the tagging algorithm includes: generating a plurality of subtasks for at least one of the one or more task flags based on content of the set of messages in the chatflow; and assigning a plurality of subtask tags to a first message of the set of messages.
12. The one or more processors: receiving a pre-filtering input from a member device, wherein the pre-filtering input identifies a task flag among the one or more task flags; processing the message history using the pre-filtering input to tailor a display of messages within the chat interface; receiving real-time messages between the member and a representative while the set of messages is being exchanged; processing the real-time messages in real-time using a filtering algorithm to associate one or more flags with the real-time messages; displaying a first one of the real-time messages in the chat interface based on the pre-filtered input and a first task association with the first message; 10. The device of claim 8, further configured for an operation comprising: hiding a second one of the real-time messages in the chat interface based on the pre-filtering input and a second task association with the second message.
13. The one or more processors: receiving a tag association change message from a proxy device associated with the proxy; updating the message history to modify tags associated with one or more messages based on the tag association change message; 10. The device of claim 8, further configured for operations comprising: updating the tagging algorithm using the tag association change message.
14. The one or more processors: receiving a task completion notification associated with the set of messages and the one or more task flags; updating the message history to include a task completion flag associated with the one or more task flags and a task validation tag associated with the assignment of the at least one of the one or more task flags to a message of the set of messages; accessing task association data for a plurality of message histories and corresponding completed tasks, wherein each of the plurality of message histories includes a task completion flag associated with the one or more task flags; 10. The device of claim 8, further configured for operations comprising: training the tagging algorithm using the plurality of message histories and task verification tags in the plurality of message histories, wherein the tagging algorithm comprises a machine learning algorithm configured to match message data to corresponding task flags.
15. A non-transitory computer-readable medium comprising instructions that, when executed by one or more processors of a device, cause the device to: receiving a set of messages in real time between the member and the representative while the set of messages is being exchanged; processing the set of messages to identify one or more task flags associated with the set of messages, wherein the one or more task flags correspond to a set of tasks performable by the agent on behalf of the member; tracking a chat flow within a chat interface, wherein the set of messages are exchanged within the chat interface; processing the chatflow using a tagging algorithm to automatically assign at least one of the one or more task flags to messages in the set of messages; generating a message history including the set of messages and corresponding task flag assignments having associated tasks of the set of tasks.
16. The instructions cause the device to:
16. The non-transitory computer-readable medium of claim 15, further comprising: processing the message history to generate new task recommendations using a recommendation algorithm based on the one or more task flags and timing of the set of messages in the chatflow.
17. Processing the chatflow using the tagging algorithm includes: generating a plurality of subtasks for at least one of the one or more task flags based on content of the set of messages in the chatflow; and assigning one or more subtask tags to corresponding messages of the set of messages.
18. Processing the chatflow using the tagging algorithm includes: generating a plurality of subtasks for at least one of the one or more task flags based on content of the set of messages in the chatflow; and assigning a plurality of subtask tags to a first message of the set of messages.
19. The instructions cause the device to: receiving a pre-filtering input from a member device, wherein the pre-filtering input identifies a task flag among the one or more task flags; processing the message history using the pre-filtering input to tailor a display of messages within the chat interface; receiving real-time messages between the member and a representative while the set of messages is being exchanged; processing the real-time messages in real-time using a filtering algorithm to associate one or more flags with the real-time messages; displaying a first one of the real-time messages in the chat interface based on the pre-filtered input and a first task association with the first message; 16. The non-transitory computer-readable medium of claim 15, further comprising: hiding a second one of the real-time messages in the chat interface based on the pre-filtering input and a second task association with the second message.
20. The instructions cause the device to: receiving a tag association change message from a proxy device associated with the proxy; updating the message history to modify tags associated with one or more messages based on the tag association change message; and updating the tagging algorithm using the tag association change message.
Citation Information
Patent Citations
Task management method, terminal, information processing device, and program
JP2017097782A
Method and device for tagging chat messages
JP2017525063A