Systems and methods for intent discovery and process execution

JP7635434B2Active Publication Date: 2025-02-25LIVEPERSON INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2023572562
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-05-24
Filing Date
2022-05-20
Publication Date
2025-02-25
Estimated Expiration
2042-05-20

Smart Images

  • Figure 0007635434000001
    Figure 0007635434000001
  • Figure 0007635434000002
    Figure 0007635434000002
  • Figure 0007635434000003
    Figure 0007635434000003
Patent Text Reader

Abstract

The disclosed embodiments provide a framework for intent discovery based on user input and execution of processes based on the discovered intent. The intent processing system provides, via an interface, a graphical representation of different intent clusters corresponding to different intents. An intent cluster includes a set of intent terms and / or phrases that can be used to submit a request or problem associated with the intent. When a user selects an intent term and / or phrase from the intent cluster via the interface, the intent processing system can identify an action that can be performed to address the user's request or problem.
Need to check novelty before this filing date? Find Prior Art

Description

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001]

[0001] This patent application claims the benefit of priority to U.S. Provisional Patent Application No. 63 / 192,312, filed May 24, 2021, the disclosure of which is incorporated herein by reference. [Technical field]

[0002]

[0002] The present disclosure relates generally to systems and methods for intent discovery based on user input and execution of processes based on discovered intents. More specifically, techniques are provided for developing a framework for identifying intents based on input and cluster selection and providing actionable responses to the identified intents. Summary of the Invention

[0003]

[0003] The disclosed embodiments may provide a framework for identifying intents based on an input and a cluster selection and providing actionable responses to the identified intents. According to some embodiments, a computer-implemented method is provided. The computer-implemented method comprises generating a graphical representation of a set of intent clusters. The intent clusters include a set of intent terms associated with an intent. The set of intent clusters is generated using a machine learning algorithm trained to cluster the intent terms according to their corresponding intents. The computer-implemented method further comprises detecting a selection of one or more intent terms from an intent cluster of the set of intent clusters. The computer-implemented method further comprises identifying one or more actions corresponding to an intent associated with the intent cluster. The one or more actions are identified based on the intent and the one or more selected intent terms. The computer-implemented method further comprises facilitating execution of the one or more actions to fulfill the intent.

[0004] In some embodiments, the graphical representation of the set of intent clusters includes a set of spherical objects, the spherical objects further including a set of intent terms associated with the intent clusters.

[0005] In some embodiments, the set of intent clusters corresponds to a set of frequently detected intents, which are identified based on an evaluation of historical conversation data collected over a period of time.

[0006] In some embodiments, the graphical representation of the set of intent clusters is organized according to a strike zone of the interface.

[0007] In some embodiments, the computer-implemented method further comprises detecting a spike in requests associated with one or more intents. The computer-implemented method further comprises updating a graphical representation of the set of intent clusters. The graphical representation of the set of intent clusters is updated in real-time upon detection of the spike.

[0008]

[0008] In some embodiments, the computer-implemented method further comprises updating the graphical representation of the set of intent clusters according to a request to promote a product, the request specifying one or more intents associated with the product.

[0009] In some embodiments, the computer-implemented method further comprises using one or more clustering algorithms to determine the number of intent clusters to be included in the set of intent clusters.

[0010] In one embodiment, a system includes one or more processors and a memory containing instructions that, when executed by the one or more processors, cause the system to perform a process described herein. In another embodiment, a non-transitory computer-readable storage medium stores executable instructions that, when executed by one or more processors of a computer system, cause the computer system to perform a process described herein.

[0011]

[0011] Various embodiments of the present disclosure are described in detail below. Although specific implementations are described, it should be understood that this is done for illustrative purposes only. Those skilled in the art will recognize that other components and configurations can be used without departing from the spirit and scope of the present disclosure. Therefore, the following description and drawings are illustrative and should not be construed as limiting. Numerous specific details are described to provide a thorough understanding of the present disclosure. However, in certain instances, well-known or conventional details are not described to avoid obscuring the description. A reference to an embodiment or an embodiment in the present disclosure may be a reference to the same embodiment or any embodiment, and such a reference means at least one of the embodiments.

[0012]

[0012] Reference to "one embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with this embodiment is included in at least one embodiment of the present disclosure. The appearances of the phrase "in one embodiment" in various places throughout this specification do not necessarily all refer to the same embodiment, or to separate or alternative embodiments that are mutually exclusive from other embodiments. Furthermore, various features are described that may be exhibited by some embodiments and not by other embodiments.

[0013]

[0013] The terms used herein generally have their ordinary meanings in the art, within the context of this disclosure and in the specific context in which each term is used. Alternative wording and synonyms may be used for any one or more of the terms described herein, and no special importance is placed on whether a term is recited or explained herein. In some cases, synonyms of a particular term are provided. The recitation of one or more synonyms does not preclude the use of other synonyms. The use of examples anywhere in this specification, including examples of any term described herein, is merely illustrative and is not intended to further limit the scope and meaning of the disclosure or of any example term. Similarly, the disclosure is not limited to the various embodiments provided herein.

[0014]

[0014] Without intending to limit the scope of the present disclosure, examples of instruments, devices, methods, and their related results according to the embodiments of the present disclosure are given below. Please note that titles or subtitles may be used in the examples for the convenience of the reader, but this should not limit the scope of the present disclosure in any way. Unless otherwise defined, technical and scientific terms used herein have the meanings commonly understood by those skilled in the art to which the present disclosure pertains. In case of conflict, the present document, including definitions, will control.

[0015]

[0015] Additional features and advantages of the present disclosure will be set forth in the description which follows, and in part will be apparent from the description, or may be learned by practice of the principles disclosed herein. The features and advantages of the present disclosure may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. These and other features of the present disclosure will become more fully apparent from the following description and the appended claims, or may be learned by practice of the principles described herein.

[0016]

[0016] The present disclosure is described in conjunction with the accompanying drawings. [Brief description of the drawings]

[0017] [Figure 1] FIG. 1 illustrates an illustrative example of an environment in which various embodiments may be implemented. [Diagram 2]

[0018] FIG. 2 illustrates an illustrative example of an environment in which an intent processing system of a brand interaction platform, according to at least one embodiment, provides a graphical representation of intent clusters via an interface through which actions may be identified based on customer selection of intent terms via the interface. [Diagram 3]

[0019] FIG. 3 illustrates an illustrative example of an environment in which an intent processing system generates and presents various intent clusters based on similarity and frequency of use of intent terms, according to at least one embodiment. [Figure 4]

[0020] FIG. 4 illustrates an illustrative example of an environment in which an intent processing system updates an interface to focus on a top-level intent cluster based on a customer selection of an intent term from the top-level intent cluster, according to at least one embodiment. [Diagram 5]

[0021] FIG. 5 illustrates an illustrative example of an environment in which an intent processing system updates an interface to present related intent terms from an intent cluster based on a customer selection of a particular intent term from the intent cluster, according to at least one embodiment. [Figure 6]

[0022] FIG. 6 illustrates an illustrative example of an environment in which an intent processing system performs one or more actions based on a selection of one or more intent terms associated with one or more actions, according to at least one embodiment. [Figure 7]

[0023] FIG. 7 illustrates an illustrative example of a process for generating intent clusters based on similarities among intents and intent terms for presentation to a customer via an interface according to at least one embodiment. [Figure 8]

[0024] FIG. 8 illustrates an illustrative example of a process for performing one or more actions based on selection of one or more intent terms from a cluster of intent terms presented via an interface, according to at least one embodiment. [Figure 9]

[0025] FIG. 9 illustrates an illustrative example of an environment in which various embodiments may be implemented. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0018]

[0026] In the accompanying drawings, 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.

[0019]

[0027] The following description provides only preferred examples of the embodiment(s) and is not intended to limit the scope, applicability, or configuration of the present disclosure. Rather, the following description of the preferred example(s) of the embodiment(s) provides those skilled in the art with an enabling description for implementing the preferred example(s) of the embodiment. It is understood that various changes may be made in the arrangement and function of elements without departing from the spirit and scope as set forth in the appended claims.

[0020]

[0028] 1 illustrates an illustrative example of an environment 100 in which various embodiments may be implemented. In the environment 100, a customer 108 of a particular brand or other entity may access an interface 106 provided by a brand interaction platform to submit a request to have a problem addressed. For example, the customer 108 may submit a request to the brand interaction platform to submit a monthly payment associated with a service plan offered by the brand. As another example, the customer 108 may submit a request to the brand interaction platform to obtain troubleshooting information related to goods and / or services offered to the customer 108 by the brand.

[0021]

[0029] In some embodiments, the brand interaction platform provides a graphical user interface (GUI) 106 to the customer 108 via a computing device 110 (e.g., a smartphone, a personal computer, etc.) through which the customer 108 may communicate with the brand interaction platform to submit their request. For example, the customer 108 may utilize the computing device 110 to access a web portal or site provided by the brand interaction platform to access the GUI 106 to submit a request for a particular issue or intent to the brand interaction platform. As another example, the brand interaction platform may provide an application that may be installed on the computing device 110. The application may enable the customer 108 to access the brand interaction platform over a communications network (e.g., the Internet). Additionally, the application may continually communicate with the brand interaction platform to update the GUI 106 according to known intent terms and phrases, as described herein.

[0022]

[0030] In some embodiments, the brand interaction platform, via the intent processing system 102, generates a graphical representation of intent terms and / or phrases associated with intents addressed by the intent processing system 102 over time. The intent processing system 102 may be implemented on a computing device of the brand interaction platform or may be implemented as an application or executable code executing on a computing device of the brand interaction platform. The graphical representation of the intent terms and / or phrases may, in some cases, include a word cloud 104 mapped onto a graphical representation of a spherical object that may be manipulated via the GUI 106. For example, the intent processing system 102 may identify intent terms and intent phrases associated with intents commonly submitted by customers of the brand over a period of time (e.g., daily, weekly, monthly, etc.). Alternatively, the intent processing system 102 may identify intent terms and phrases associated with historical intents or issues submitted by customers 108 during prior interactions with the brand interaction platform. For example, as a customer 108 communicates with an agent 116 associated with the brand interaction platform, the intent processing system 102 may assess any messages exchanged between the customer 108 and the agent 116 to identify one or more intents. Examples of intents may include (for example) topic, sentiment, complexity, and urgency. Topics may include, but are not limited to, subjects, products, services, technical issues, usage questions, complaints, refund requests, or purchase requests, etc. Intents may be determined based on, for example, semantic analysis of the message (e.g., by identifying keywords, sentence structure, repeated words, punctuation characters, and / or non-article words), user input (e.g., with one or more categories selected), and / or message-related statistics (e.g., typing speed and / or response latency).

[0023]

[0031] In some embodiments, the assessment of the message is performed using an artificial intelligence or machine learning model configured to perform a semantic analysis of the message and determine the intent. The semantic meaning for a particular class may be defined using a training dataset and a machine learning model. To perform this classification based on semantic similarity, the message may be encoded using an encoder model trained on the data that converts natural language into a vector representation. A convolutional neural network may be used to classify the vectors into different semantic classes. In some embodiments, the message is passed through a keyword matching system to determine whether any of the words in the message correspond to operative words. If no operative words are detected, the message may be processed using an artificial intelligence or machine learning model to identify operative words. In some cases, the intent may be identified by engaging the customer in a conversation that may include clarifying questions or requesting additional information.

[0024]

[0032] In some embodiments, the evaluation of the message is performed using an artificial intelligence or machine learning model configured to perform a semantic analysis of the message and determine the intent. The semantic meaning for a particular class may be defined using a training dataset and a machine learning model. To perform this classification based on semantic similarity, the message may be encoded using an encoder model trained on the data that converts natural language into a vector representation. A convolutional neural network may be used to classify the vectors into different semantic classes. In some embodiments, the message is passed through a keyword matching system to determine whether any of the words in the message correspond to a head word. If no head word is detected, the message may be processed using an artificial intelligence or machine learning model to identify the head word.

[0025]

[0033] In some embodiments, the intent processing system 102 performs an analysis of previously identified intents for a brand's customers to determine how frequently the identified intent was detected over a period of time. For example, the intent processing system 102 may aggregate all intents detected or otherwise processed over a predefined time period (e.g., daily, weekly, monthly, etc.) for a brand's myriad customers and perform a statistical analysis of the aggregated intents to determine the popularity or frequency of each intent over the predefined time period. For example, for a particular intent, the intent processing system 102 may determine the number of times the intent was detected over the predefined time period. Using this number, the intent processing system 102 may determine a percentage corresponding to how frequently the intent was detected compared to other intents. As an illustrative example, if a particular intent is detected 20 times over a predefined time period, and during that same time period the intent processing system 102 detects intents (including the particular intent) a total of 100 times, then the frequency of the particular intent may be 20%.

[0026]

[0034] In an embodiment, the intent terms and / or phrases presented via the word cloud 104 mapped onto the graphical representation of the spherical object are sized based on the frequency of detection of the intent terms and / or phrases over a predefined time period. For example, a particular intent term or phrase that was frequently encountered by the intent processing system 102 over a predefined time period may be represented using a larger font in the word cloud 104. Alternatively, a particular intent term or phrase that was infrequently encountered by the intent processing system 102 over a predefined time period may be represented using a smaller font compared to the font used for other more frequently detected intent terms and / or phrases. This may allow the customer 108 to more easily identify common intent terms and / or phrases that may be of interest to the customer 108 and that may be related to the customer's actual problems. It should be noted that while spherical objects are used extensively throughout this disclosure for illustrative purposes, the word cloud 104 may also be mapped onto graphical representations of other three-dimensional objects (e.g., a cubic or rectangular prism object, an n-sided three-dimensional object, a cylindrical object, etc.).

[0027]

[0035] As described above, the intent processing system 102 may identify intent terms and phrases associated with intents commonly submitted by customers of a brand over a period of time, or associated with historical intents or issues submitted by a customer 108 during a previous interaction with the brand interaction platform. Thus, the intent processing system 102 may generate the word cloud 104 based on the frequency of intent terms and / or phrases that correspond to the intents of the brand's customer base, or that correspond to the customer's 108's own intents. For example, a customer 108 interacting with the GUI 106 may be presented with a word cloud 104 corresponding to intent terms and / or phrases, sized according to the frequency with which those terms and / or phrases were detected by the intent processing system 102 for a variety of customers over a predefined period of time. Alternatively, the word cloud 104 may correspond to intent terms and / or phrases, sized according to the frequency with which those terms and / or phrases were detected by the intent processing system 102 for a customer 108 over a predefined period of time. Note that the predefined time period may vary based on the population for which the intent is being analyzed (e.g., a customer 108 vs. a pool of customers, etc.).

[0028]

[0036] In one embodiment, the intent processing system 102 implements a machine learning algorithm or artificial intelligence that utilizes historical conversation data for the customer 108 and other customers associated with the brand as input to identify relationships between different intent terms and / or phrases for various intents. The machine learning algorithm or artificial intelligence may be trained using unsupervised training techniques. For example, a dataset of input messages and corresponding intents may be analyzed using a clustering algorithm to identify correlations between different types of intent terms and / or phrases with different intents or intent types. Exemplary clustering algorithms that may be trained using sample member attributes and representative attributes (e.g., historical data, hypothetical data, etc.) to identify potential pairings 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 applications with noise (DBSCAN) algorithm, and the like. Based on the output of a machine learning algorithm or artificial intelligence generated using a dataset of input messages and corresponding intents, the intent processing system 102 may classify certain intent terms and / or phrases as being associated with a particular intent. Thus, each known intent may be associated with various intent terms and / or phrases commonly used by customers of the brand in messages exchanged with agents 116 and / or other services 112 when expressing an intent or problem they would like addressed.

[0029]

[0037] In an embodiment, when a customer 108 accesses the GUI 106 to initiate a conversation with the intent processing system 102, the intent processing system 102 presents a word cloud 104 corresponding to a top cluster of the most popular intent terms and / or phrases associated with frequently encountered intents (e.g., from either the customer 108 or a pool of customers associated with the brand). Using a cursor or other interactive element (e.g., a finger in the case of a touch screen display element, etc.), the customer 108 may select intent terms and / or phrases from the word cloud 104 to provide an initial indication of the problem or intent that the customer 108 would like addressed. As described above, the word cloud 104 may be mapped onto a graphical representation of a spherical object that may be manipulated via the GUI 106. Thus, the customer 108 may interact with the graphical representation of the spherical object via the computing device 110 to rotate the word cloud 104 to more easily view and select a desired intent term or phrase from the interface 106.

[0030]

[0038] In some embodiments, the intent processing system 102 provides, via the interface 106, a dialog field 118 through which the customer 108 may submit messages or queries for a particular problem or intent to the intent processing system 102. When the customer 108 enters a text string into the dialog field 118, the intent processing system 102 may evaluate the text string to identify any intent terms and / or phrases associated with a known intent. For example, in some embodiments, the intent processing system 102 may process the new text string using natural language processing (NLP) to identify any intent terms and / or phrases expressed by the customer 108 via the dialog field 118. In some instances, the intent processing system 102 may utilize a keyword search for each term expressed in the new text string entered into the dialog field 118 to identify any intent terms and / or phrases expressed by the customer 108. It should be noted that the customer 108 may use additional and / or alternative communication methods to convey a message to the intent processing system 102. For example, the customer 108 may provide a voice recording expressing an intent or problem that they would like addressed by an agent or other service associated with the brand. Accordingly, the intent processing system 102 may process the voice recording using NLP or other artificial intelligence to identify any intent terms and / or phrases associated with the intent.

[0031]

[0039] In an embodiment, when a customer 108 selects an intent term or phrase from the word cloud 104, the intent processing system 102 updates the word cloud 104 to present new clusters of intent terms and / or phrases that may belong to the same cluster as the selected intent term or phrase. For example, based on the intent term or phrase selected by the customer 108 from the word cloud 104, the intent processing system 102 may query a clustering algorithm or other artificial intelligence to identify clusters or classifications of the selected intent term or phrase. Once the intent processing system 102 identifies a cluster or class to which the selected intent term or phrase corresponds, the intent processing system 102 may identify other intent terms and / or phrases that correspond to this cluster or class. The intent processing system 102 may update the word cloud 104 to remove any intent terms and / or phrases that are not associated with a cluster or class. Additionally, the intent processing system 102 may update the word cloud 104 to present those intent terms and / or phrases associated with the cluster or class of the originally selected intent term or phrase.

[0032]

[0040] If the customer 108 chooses to enter a text string in the dialog field 118 or otherwise sends one or more messages to the intent processing system 102 via the GUI 106 instead of selecting an intent term or phrase from the word cloud 104, the intent processing system 102 may automatically and in real time update the word cloud 104 according to any intent terms and / or phrases detected from the customer's text string or one or more messages. As an illustrative example, if the customer 108 submits the text string "Excuse me, I need to make a payment," the intent processing system 102 may detect the intent phrase "make a payment" from the text string. Detection of the intent phrase "make a payment" may cause the intent processing system 102 to identify a cluster of intent terms and phrases that correspond to an intent associated with a payment. Based on the intent terms and phrases in this cluster, the intent processing system 102 may automatically and in real time update the word cloud 104 to present these intent terms and phrases. In some instances, the intent processing system 102 may dynamically update the word cloud 104 as the customer 108 enters text strings into the dialog fields 118. For example, the intent processing system 102 may evaluate the text strings in real time as they are submitted through the dialog fields 118. Thus, the word cloud 104 may be continually updated as the intent processing system 102 processes the text strings in real time as they are submitted.

[0033]

[0041] In an embodiment, the intent processing system 102 continues to update the word cloud 104 according to the intent term and / or phrase selected by the customer 108 until an intent term or phrase corresponding to an action executable by the intent processing system 102 is selected. For example, if the customer 108 selects an intent term or phrase corresponding to a payment method from the word cloud 104 (e.g., “Credit Card”, “Apple Pay”, “By Check”, etc.), the intent processing system 102 may cause the computing device 110 to present the customer 108 with a payment authorization screen to submit the payment to the brand. Alternatively, the intent processing system 102 may redirect the customer 108 to a payment processing service, through which the customer 108 may submit the payment using the selected payment method. As yet another example, the intent processing system 102 may assign an agent 116 to the customer 108, which may communicate with the customer 108 to process the payment.

[0034]

[0042] In some instances, when the intent processing system 102 identifies an intent based on a customer's selection of intent terms and / or phrases via the GUI 106, the intent processing system 102 may determine to which endpoint the communication should be routed. For example, if the customer 108 has previously communicated with a given agent 116 via the computing device 110, the communication routing may generally be biased toward the same agent 116. Once an intent is identified based on a customer's interaction with the GUI 106 and the selection of intent terms and / or phrases, other factors that may affect the routing may include, for example, customer or agent sentiment inferred or identified in connection with the previous communication, the topic of the current communication (and, for example, the extent to which it is related to the topic of the previous communication and / or to a knowledge base associated with one or more agents 116), whether the agent 116 is available, and / or the predicted response latency of the computing device 114 utilized by the agent 116. Such factors may be considered in absolute terms or relative to similar metrics corresponding to other agents 116. Re-routing rules (eg, client-specific rules or general rules) may indicate how such factors should be evaluated and weighted to determine whether to give up agent consistency.

[0035]

[0043] When a computing device 110 (or other computing devices associated with the same customer 108 or account) has not previously communicated (e.g., regarding a client-related matter) with a given computing device 114 associated with an agent 116, the selection of the agent may be performed based on factors such as, for example, the extent to which the knowledge bases of the various agents 116 correspond to the topic of the communication, the availability of the various agents 116 at a given time and / or on a channel type, the type and / or capabilities of the agent 116, the language match between the customer 108 and the agent 116, and / or personality analysis. In one instance, the rules may identify how to determine sub-scores for one or more factors such as these and the weight to assign to each score. A score for each agent 116 may be determined by combining (e.g., summing) the weighted sub-scores. The selection of the agent may then be made by comparing the agent's scores (e.g., to select the high or highest score).

[0036]

[0044] If the intent processing system 102 determines, based on the identified intent, that another service 112 may provide a resolution to the intent, the intent processing system 102 may route the communication from the customer 108 to an endpoint corresponding to the other service 112. For example, if the intent corresponds to arranging a payment on a phone bill issued by a wireless carrier service, the intent processing system 102 may route the customer 108 to the wireless carrier service to enable the customer 108 to make a payment on an existing phone bill via the computing device 110.

[0037]

[0045] In some instances, the intent processing system 102 may monitor communications between the customer 108 and the agent 116 or other services 112 to determine customer sentiment with respect to identifying the customer's intent based on the customer's selection of intent terms and / or phrases from the word cloud 104, and with respect to routing communications based on the identification of the customer's intent. For example, if the customer 108 expresses in a communication that the intent processing system 102 selected an undesirable action based on the intent terms and / or phrases selected by the customer 108, the intent processing system 102 may use this feedback to retrain a clustering algorithm or artificial intelligence used to associate intent terms and / or phrases with particular intents to more accurately associate the customer's selection with the appropriate intent. As another example, if a customer 108 determines that an intent term and / or phrase in a particular word cloud 104 is not relevant or irrelevant to the customer's intent as the customer navigates through the word cloud 104 to select intent terms and / or phrases for that intent, the intent processing system 102 may retrain the clustering algorithm or artificial intelligence to more accurately associate the previously selected intent term, intent phrase, or customer communication entered into the dialogue field 118 with an appropriate cluster that corresponds to the customer's actual intent. For example, if a customer 108 selects the intent phrase "payment plan" and the intent processing system 102 updates the word cloud 104 to present intent terms and / or phrases associated with intents corresponding to making bill payments, the customer may indicate that these intent terms and / or phrases are not related to creating a payment plan. This may cause the intent processing system 102 to update the clustering algorithm or artificial intelligence to more accurately associate the phrase "payment plan" with other intent terms and / or phrases associated with intents corresponding to creating or managing a payment plan.

[0038]

[0046] 2 illustrates an illustrative example of an environment 200 in which an intent processing system 204 of a brand interaction platform 202 provides a graphical representation of intent clusters via an interface through which actions may be identified based on a customer selection of an intent term via the interface, according to at least one embodiment. In the environment 200, a customer 214 may access the brand interaction platform 202 via an intent messaging application 216. The intent messaging application 216 is provided by the brand interaction platform 202 and may run on a customer's computing device, such as a smartphone, tablet computer, personal computer, and the like. In some instances, a customer 214 may access the brand interaction platform 202 via a website or web portal using a browser application installed on the customer's computing device.

[0039]

[0047] In an embodiment, the intent messaging application 216 communicates with the application interaction system 210 of the intent processing system 204 to identify and present top clusters of intent terms and / or phrases that may be used by the customer 214 to begin defining an intent. The application interaction system 210 may be implemented on a computing device of the intent processing system 204 or may be implemented as an application or executable code running on a computing device of the brand interaction platform 202. The application interaction system 210 may access an intent database 206 maintained by the intent processing system 204 to identify intent terms and / or phrases that may form top clusters of intent terms and / or phrases that may be presented to the customer 214 via the intent messaging application 216. The intent database 206 may include entries corresponding to known intent terms and phrases associated with different intents. Additionally, the entries corresponding to known intent terms or phrases may indicate relationships between the intent term / phrase and other intent terms or phrases (e.g., clusters of terms or phrases associated with known intents). As mentioned above, the intent processing system 204 may utilize clustering algorithms or artificial intelligence to identify relationships between different intent terms and / or phrases for various intents. These relationships may be recorded in the intent database 206 via various intent term or phrase entries.

[0040]

[0048] The application interaction system 210, via the GUI of the intent messaging application 216, may generate a word cloud including the intent terms and phrases corresponding to the identified top clusters. As described above, the word cloud may be mapped onto a graphical representation of a spherical object that may be manipulated via the GUI of the intent messaging application 216. For example, using a cursor or other interactive element (e.g., a finger or stylus in the case of a touch screen display element, etc.), the customer 214 may manipulate the graphical representation of the spherical object (e.g., rotate it along various axes, etc.) to evaluate different intent terms and / or phrases of the top clusters. Through the word cloud, the customer 214 may select a particular intent term or phrase that may be used to begin identifying the customer's intent.

[0041]

[0049] In an embodiment, if the customer 214 selects an intent term or phrase from the word cloud, the application dialogue system 210 utilizes the selected intent term or phrase to identify a corresponding intent cluster from the intent database 206. As described above, an intent cluster may include a set of intent terms and / or phrases that may be associated with a particular intent and a corresponding action. Furthermore, the intent cluster may define a relationship between different intent terms and phrases. For example, the intent phrase "make a payment" may be associated with payment-specific intent phrases such as "3@$40", "5@$24", etc., whereby these intent phrases may correspond to a number of payments to be made and the amount for each of these payments. Furthermore, the intent phrase "make a payment" may be associated with other intent terms and phrases such as "pay bill", "credit card", "Apple Pay", and the like. The application dialogue system 210 may update the word cloud to present the intent cluster that corresponds to the first intent term or phrase selected from the top-level cluster.

[0042]

[0050] In one embodiment, in response to a customer's selection of an intent term or phrase from the word cloud, the application interaction system 210 submits the selected intent term or phrase to the process execution system 212 to identify a customer-specific intent term or phrase that can be presented to the customer 214 for further definition of the customer's intent. The process execution system 212 may be implemented on a computing device of the intent processing system 204 or may be implemented as an application or executable code executing on a computing device of the brand interaction platform 202. Using the illustrative example above, if the customer 214 selects the intent phrase "make a payment," the process execution system 212 may access the user database 208 to access the customer's account and identify any outstanding accounts the customer 214 may have with the brand or other services 218 associated with the brand. For example, if the process execution system 212 determines, based on the customer's account in the user database 208, that the customer 214 has an outstanding balance of $120 and the customer 214 selects the intent phrase "make a payment," the process execution system 212 may generate payment-specific intent phrases such as "3@$40," "5@$24," and the like.

[0043]

[0051] In some instances, the process execution system 212 may access the intent database 206 to identify sample intent terms or phrases that can be used to create a customer-specific intent term or phrase. For example, an intent cluster corresponding to an intent to make a payment on an account may include a sample intent phrase such as "X@$YY," where "X" may indicate the number of payments and "YY" may indicate the amount for each payment. Based on the intent term or phrase selected by the customer 214 from the top cluster, the process execution system 212 may use information from the user database 208 to identify sample intent phrases and personalize the new intent phrase or term. As an illustrative example, if the customer 214 selects the intent phrase "make a payment" and the process execution system 212 identifies the sample intent phrase "X@$YY" from the corresponding intent cluster, the process execution system 212 may determine different payment terms that can be offered to the customer 214 based on the customer's account from the user database 208. Based on these different payment terms, the process execution system 212 may modify the sample intent phrases to define one or more personalized payment procedures for the customer 214. For example, if the customer 214 has an outstanding balance of $120 and the customer 214 is authorized to split the outstanding balance over four to five payments, the process execution system 212 may modify the sample intent phrase "X@$YY" to generate personalized intent phrases "4@$30" and "5@$24." The process execution system 212 may associate these personalized intent phrases with the sample intent phrases and corresponding intent clusters such that a customer selection of any personalized intent phrase can be used to identify a corresponding intent term / phrase and / or action that may be performed according to the intent.

[0044]

[0052] In an embodiment, the application dialogue system 210 may highlight, via a GUI presented to the customer 214 via the intent messaging application 216, any particular intent terms and / or phrases from the intent cluster that are associated with a previously selected intent term or phrase. For example, if the customer 214 selects the intent phrase "make a payment" from a top cluster presented in the word cloud, the application dialogue system 210 may update the word cloud to present a wide variety of intent terms and / or phrases that are in the same intent cluster as the selected intent phrase. Additionally, the application dialogue system 210 may determine from the intent database 206 which intent terms and / or phrases are directly associated with the selected intent term or phrase. For example, the intent phrase "make a payment" may be directly associated with the intent phrases "pay the bill," "3@$40," "1@$120," and the like. The application dialogue system 210 may update the word cloud presented via the GUI to highlight these directly related intent phrases to enable the customer 214 to immediately identify related intent phrases that may correspond to the customer's intent. Highlighting the intent terms or phrases may include (without being limited to) using alternative font colors, using alternative fonts, using alternative font sizes, applying a shape around the related intent terms or phrases, and the like. In some instances, the directly related intent terms or phrases may be determined based on the frequency with which these intent terms or phrases are used with a previously selected intent term or phrase.

[0045]

[0053] As the customer 214 continues to select intent terms and / or phrases from the word cloud, the application dialogue system 210 may send the selected intent terms and / or phrases strings to the process execution system 212 to determine whether the selected intent terms and / or phrases strings define a particular customer intent for which one or more actions may be performed to address the intent. For example, if the customer 214 selects the intent phrases "make a payment," "5@$24," and "Apple Pay," the process execution system 212 may determine that the customer 214 wishes to make an initial payment of $24 using Apple Pay for a particular account. Additionally, the process execution system 212 may determine that the customer 214 wishes to make five payments (e.g., monthly payments, etc.) to the account over a period of time. Accordingly, the process execution system 212 may send a notification to the application interaction system 210 to update the customer's account in the user database 208 to define a payment schedule for the customer 214 according to the selected terms, and to send billing information to Apple Pay® on the customer's computing device to receive the initial payment. The customer 214 may be provided with payment-related information via Apple Pay®, through which the customer 214 may authorize the payment.

[0046]

[0054] In some cases, if the process execution system 212 determines that the identified intent can be resolved by another service 218 or agent 220, the process execution system 212 may redirect the customer 214 to the other service 218 or agent 220 according to the identified intent. As described above, the intent processing system 204 may determine to which endpoint the communication should be routed. For example, if the customer 214 has previously communicated with a given agent 220, the communication routing may generally be biased toward the same agent 220. Once an intent is identified, other factors that may affect the routing may include, for example, the sentiment of the customer or agent inferred or identified in connection with the previous communication, the topic of the current communication (and, for example, the extent to which it is related to the topic of the previous communication and / or to a knowledge base associated with one or more agents 220), whether the agent 220 is available, and / or the expected response latency of the computing device utilized by the agent 220. Such factors may be considered in absolute terms or relative to similar metrics corresponding to other agents 220. Re-routing rules (eg, client-specific rules or general rules) may indicate how such factors should be evaluated and weighted to determine whether to give up agent consistency.

[0047]

[0055] If the process execution system 212 determines, based on the identified intent, that another service 218 may provide a solution to the intent, the process execution system 212 may route the communication from the customer 214 to an endpoint corresponding to the other service 218. For example, if the intent corresponds to making a payment on a phone bill issued by a wireless carrier service, the process execution system 212 may route the customer 214 to the wireless carrier service to enable the customer 214 to make a payment on an existing phone bill. The process execution system 212 may route the communication via the intent messaging application 216 to an endpoint corresponding to the other service 218. This may enable the customer 214 to communicate with the other service 218 using the intent messaging application 216.

[0048]

[0056] In an embodiment, as an alternative to providing a graphical representation of a word cloud containing popular intent terms or phrases, the intent messaging application 216 may provide a dialog field or other messaging option through which the customer 214 may communicate with the intent processing system 204. As the customer 214 enters a message into a dialog field via the intent messaging application 216, the application dialogue system 210 may dynamically and in real-time process the message as it is entered to identify any intent terms or phrases used by the customer 214. For example, the application dialogue system 210 may query the intent database 206 using the terms in the message to determine whether any of these terms correspond to intent terms or phrases stored in the intent database 206. In some instances, the application dialogue system 210 may use NLP or artificial intelligence to process the message and identify any intent terms or phrases in the message.

[0049]

[0057] If the application interaction system 210 identifies an intent term or phrase in the provided message, the application interaction system 210 may pass the message and the identified intent term or phrase to the process execution system 212 of the intent processing system 204 to determine a subsequent action. In an embodiment, the process execution system 212 utilizes a machine learning algorithm or artificial intelligence to identify an appropriate action to be performed and / or a response to be provided to the customer 214 based on the provided message and the identified intent term or phrase identified by the application interaction system 210. The machine learning algorithm or artificial intelligence may be trained using supervised training techniques. For example, a dataset of input messages, corresponding intent terms and / or phrases, and known relevant responses to these intent terms and / or phrases may be selected for training the machine learning model. In some implementations, the machine learning model may be evaluated based on the input sample messages and corresponding intent terms and / or phrases provided to the machine learning model to determine whether the machine learning model identifies an appropriate response to each of these messages according to the intent terms and / or phrases from the input sample messages. Based on this evaluation, the machine learning model may be modified to increase the likelihood that the machine learning model will produce the desired results (e.g., a follow-up response to solicit additional messages used to identify additional intent terms and / or phrases or to identify appropriate actions). The machine learning model may be further dynamically trained by soliciting feedback from customers, including the customer 214, regarding the identification of intent terms and / or phrases from the messages and regarding responses provided in response to messages submitted by the customer 214.

[0050]

[0058] As an illustrative example, as the customer 214 enters "Excuse me, I'd like to make a payment" into a dialog field, the application interaction system 210 may detect the intent phrase "make a payment" and highlight the phrase in the dialog field. If the customer 214 selects this intent phrase, the application interaction system 210 may provide the entered message and the selected intent phrase to the process execution system 212, which may use the message and the selected intent phrase as input to a machine learning algorithm to determine how to proceed. The machine learning algorithm may solicit an indication of the number of payments to be made from the customer 214, showing as output the response "Okay, how many payments would you like?" If the customer 214 responds with a number, the application interaction system 210 may highlight the number and allow the customer 214 to indicate that this is the number of payments the customer 214 would like to make over time. Thus, the application dialogue system 210 may evaluate the customer's response in the context of the query submitted by the process execution system 212. In some cases, the application dialogue system 210 may utilize NLP or artificial intelligence to process messages exchanged between the customer 214 and the process execution system 212 to contextualize those messages and identify additional responses that may be used to identify intent terms / phrases and actions that may be taken.

[0051]

[0059] Based on the intent terms / phrases identified from the customer's message and the responses submitted to the queries submitted by the process execution system 212, the process execution system 212 may determine whether an action may be performed. Returning to the illustrative example above, once the customer 214 indicates the number of payments he or she would like to make, the process execution system 212 may provide a response of "Sure. How would you like to pay?" to solicit further responses from the customer 214. Additionally, the process execution system 212 may provide one or more possible actions from which the customer 214 may select for the submission of the payment (e.g., credit card, Apple Pay, or check). If the customer 214 selects one of these possible actions, the process execution system 212 may perform one or more actions to facilitate the payment via the selected payment method. Thus, the process execution system 212 may utilize the message submitted by the customer 214 and any identified intent terms and / or phrases to identify the actual intent, and based on the identified intent, determine what action(s) may be performed to address the actual intent.

[0052]

[0060] In an embodiment, if the process execution system 212 directs the customer 214 to another service 218 or agent 220 based on the identified intent, the process execution system 212 may monitor communications between the customer 214 and the agent 220 or other service 218 to determine the customer's sentiment with respect to identifying the customer's intent and with respect to routing the communication based on the identification of the customer's intent. For example, if the customer 214 expresses in a communication that the process execution system 212 selected an undesirable action based on the intent terms and / or phrases selected by the customer 214, the intent processing system 204 may use this feedback to retrain a clustering algorithm or artificial intelligence used to associate intent terms and / or phrases with particular intents to more accurately associate the customer's selection with the appropriate intent. As another example, as the customer 214 navigates the word cloud to select intent terms and / or phrases for that intent, if the customer 214 determines that the intent terms and / or phrases in a particular word cloud are not relevant or irrelevant to the customer's intent, the intent processing system 204 may retrain the clustering algorithm or artificial intelligence to more accurately associate the previously selected intent terms, intent phrases, or customer's communications provided via the intent messaging application 216 with the appropriate cluster that corresponds to the customer's actual intent.

[0053]

[0061] 3 illustrates an illustrative example of an environment 300 in which an intent processing system 302 generates and presents various intent clusters based on similarity and frequency of use of intent terms, according to at least one embodiment. In the environment 300, a customer may access the intent processing system 302 of a brand interaction platform to initiate a conversation with the intent processing system 302 about a particular intent or issue. For example, a customer may access the intent processing system 302 to provide payment for an existing service. As another example, a customer may access the intent processing system 302 to indicate an issue with a particular item purchased from a brand that the customer would like addressed.

[0054]

[0062] As described above, the intent processing system 302 may provide a GUI 310 through which a customer may be presented with one or more word clouds 304 mapped onto a graphical representation of a spherical object 306 that may be manipulated via the GUI 310. Each spherical object 306 presented via the GUI 310 may correspond to a cluster of intent terms and / or phrases associated with a particular intent. In some instances, the intent processing system 302 may present via the GUI 310 a master spherical object corresponding to a top-level cluster of intent terms and / or phrases and one or more sub-level spherical objects corresponding to lower clusters of intent terms and / or phrases. For example, as described above, the master spherical object corresponding to the top-level cluster may include the most popular intent terms and / or phrases associated with frequently encountered intents (e.g., from either a customer or a pool of customers associated with a brand). The one or more sub-level spherical objects may correspond to intent terms and / or phrases associated with a particular intent. The size of each of the one or more sub-level spherical objects may correspond to how frequently the associated intent is detected by the intent processing system 302 over a period of time (eg, weekly, monthly, etc.).

[0055]

[0063] In one embodiment, the size of each of the graphical representations of the spherical objects 306 is proportional to how close the spherical objects are to the front of the customer's computing device and to the strike zone of the GUI 310. For example, the graphical representations of the spherical objects 306 may have a larger size within the primary strike zone of the GUI 310 (e.g., the portion of the GUI 310 where customer interaction is greatest), while the graphical representations of the spherical objects 306 may have a smaller size within the secondary strike zone of the GUI 310 (e.g., the portion of the GUI 310 where customer interaction is discontinued or is less frequent than the primary strike zone). As the spherical objects drift away from the primary and secondary strike zones of the GUI 310, the size of these spherical objects may continue to decrease until a minimum size threshold is reached.

[0056]

[0064] In an embodiment, rather than presenting a master spherical object corresponding to a top cluster of intent terms and / or phrases and one or more sub-level spherical objects corresponding to lower clusters of intent terms and / or phrases, the graphical representation of the spherical object 306 presented via the GUI 310 may correspond to a top cluster corresponding to the most popular intents detected by the intent processing system 302 from communications between the customer and an agent or other service. In an embodiment, the intent processing system 302 may use one or more clustering algorithms or artificial intelligence to define the number of top clusters to be graphically represented in the GUI 310 using the spherical object 306. For example, the intent processing system 302 may utilize a combination of a with labels K-means clustering algorithm, singular value decomposition (SVD), and term frequency - inverse document frequency (TFIDF) to define the number of top clusters. As described above, the intent processing system 302 performs an analysis of previously identified intents for a brand's customers to determine how frequently the identified intents were detected over a period of time. The intent processing system 302 may aggregate all intents detected or otherwise processed over a predefined time period (e.g., daily, weekly, monthly, etc.) for the brand's various customers and perform a statistical analysis of the aggregated intents to determine the popularity or frequency of each intent over the predefined time period. For example, for a particular intent, the intent processing system 102 may determine the number of times the intent was detected over the predefined time period. Using this number, the intent processing system 302 may identify more popular or more frequent intents, which may be used to define top clusters to be presented via the GUI 310.

[0057]

[0065] In an embodiment, the intent processing system 302 may determine, for each top cluster, a density of intent terms and / or phrases to be presented in the word cloud corresponding to the top cluster. The density of the top cluster may be driven by the similarity of the intent terms and / or phrases entered by the customer compared to other top clusters. The intent processing system 302 may utilize a clustering algorithm or artificial intelligence to determine the density of a particular top cluster. For example, the intent processing system 302 may use a combination of TFIDF, SVD, and K-means clustering algorithms to identify intent terms and / or phrases for the top cluster. The intent processing system 302 may then calculate the difference of the identified intent terms and / or phrases with respect to other intent terms and / or phrases for other top clusters. This may result in a difference score. The density of the top cluster may be determined based on the difference score. For example, if the difference score is large, the top cluster may have a high density (e.g., contains a large number of intent terms and / or phrases). Conversely, if the difference score is low, the top cluster may have a lower density (e.g., contain a smaller number of intent terms and / or phrases).

[0058]

[0066] In some instances, the intent processing system 302 may be configured to automatically rotate each graphical representation of the spherical objects 306 in the GUI 310 along its respective axis. Additionally, the spherical objects 306 may be configured to behave similarly to those in a solar system, whereby the spherical objects 306 may rotate along a central axis and act as satellites orbiting an invisible spherical object. As the spherical objects 306 rotate along this central axis, the size of each spherical object 306 may automatically and dynamically change based on its proximity to the front of the computing device and to the primary and secondary strike zones described above.

[0059]

[0067] In an embodiment, the intent processing system 302 may dynamically and in real-time update the GUI 310 based on customer intent request spikes. For example, as a customer interacts with the GUI 310 or otherwise communicates with the intent processing system 302 about different issues and intents, the intent processing system 302 may determine in real-time how frequently these issues and intents were detected. Based on this updated data, the intent processing system 302 may determine whether changes to the top clusters presented via the GUI 310 are needed. For example, if a particular intent is being detected at a higher rate over a short period of time (e.g., a spike), the intent processing system 302 may update the GUI 310 in real-time to present the top clusters that correspond to this particular intent. The intent processing system 302 may also, in some cases, remove least frequent intent clusters from the GUI 310 to accommodate intent clusters that correspond to the particular intent. Thus, at any given time, the GUI 310 may present the top cluster that corresponds to the intent that has the highest volume at that given time.

[0060]

[0068] It should be noted that the intent clusters presented using the graphical representation of the spherical object 306 via the GUI 310 may be determined based on factors or criteria other than historical frequency or volume. For example, a brand may define which clusters are presented based on a particular interest. As an illustrative example, if a brand wishes to promote a particular product or service, the brand may indicate to the intent processing system 302 that the top clusters presented via the GUI 310 should correspond to intents related to the particular product or service. As another example, the intent processing system 302 may generate top clusters for intents as a result of a real-time spike in the detection of intents. For example, if the intent processing system 302 detects a spike for intents related to flight cancellations due to a weather event, the intent processing system 302 may dynamically and in real-time define the top clusters associated with this intent.

[0061]

[0069] In an embodiment, the intent processing system 302 provides a dialog field 308 via the GUI 310 through which a customer may enter a text string to communicate their request, problem, or intent. As described above, when a customer enters a text string into the dialog field 308, the intent processing system 302 may evaluate the text string to identify any intent terms and / or phrases associated with a known intent. For example, the intent processing system 302 may process the new text string using NLP to identify any intent terms and / or phrases expressed by the customer via the dialog field 308. In some instances, the intent processing system 302 may utilize a keyword search for each term expressed in the new text string entered into the dialog field 308 to identify any intent terms and / or phrases expressed by the customer. Based on the identified intent terms and / or phrases, the intent processing system 302 may dynamically and in real time manipulate the graphical representation of the spherical object 306 corresponding to the top cluster to present the most likely intent matches. For example, the intent processing system 302 may orient the spherical object 306 such that a spherical object corresponding to a top cluster associated with an identified intent term and / or phrase is presented prominently within a primary strike zone of the GUI 310, resulting in the size of the spherical object being adjusted (e.g., increased) according to its location within the primary strike zone. Additionally, the intent processing system 302 may orient the spherical object such that an identified intent term and / or phrase is presented closer to the front of the computing device. This may allow a customer to select a prominently displayed intent term or phrase from the top cluster and continue with the submission of that question or intent.

[0062]

[0070] 4 illustrates an illustrative example of an environment in which intent processing system 402 updates interface 412 to focus on a top-level intent cluster based on a customer selection of an intent term from the top-level intent cluster, according to at least one embodiment. In environment 400, a customer may interact with the top-level cluster, which is represented using a graphical representation of a spherical object 406, to select a particular intent term or phrase that corresponds to the customer's problem or intent. For example, as illustrated in FIG. 4, a customer may utilize a cursor or other interactive element (e.g., a finger or stylus in the case of a touch screen display element, etc.) to select an intent term or intent phrase from the graphical representation of a spherical object 406 that represents the top-level cluster of intent terms and / or phrases for a particular intent.

[0063]

[0071] As described above, the intent processing system 402 may present, via the interface 412, a word cloud 404 comprising graphical representations of the spherical objects 406, 408. Each of these graphical representations of the spherical objects 406, 408 may correspond to a top cluster of intent terms and / or phrases associated with a particular intent. The graphical representations of the spherical objects 406, 408 may be sized according to their proximity to the primary and secondary strike zones of the interface 412 and to the front of the customer's computing device. For example, as illustrated in FIG. 4, the graphical representation of the spherical object 406 may have a larger size compared to the graphical representations of the other spherical objects 408 as a result of the spherical object 406 being located within the primary strike zone and near the front of the customer's computing device.

[0064]

[0072] The intent processing system 402 may provide a dialog field 410 through which a customer may submit a message or query for a particular problem or intent to the intent processing system 402. If a customer enters a text string into the dialog field 410, the intent processing system 402 may evaluate the text string to identify any intent terms and / or phrases associated with known intents. As described above, based on the identified intent terms and / or phrases, the intent processing system 402 may dynamically and in real time manipulate the graphical representation of the spherical objects 406, 408 corresponding to the top clusters to present the most likely intent matches. For example, the intent processing system 402 may orient the spherical objects 406, 408 such that the spherical object 406 corresponding to a top cluster associated with an identified intent term and / or phrase is presented prominently within a primary strike zone of the interface 412, resulting in the size of the spherical object 406 being adjusted (e.g., increased) according to its location within the primary strike zone. Additionally, the intent processing system 402 may orient the spherical object 406 such that the identified intent term and / or phrase is presented closer to the front of the computing device.

[0065]

[0073] In one embodiment, if the customer selects an intent term or phrase from the graphical representation of the spherical object 406 corresponding to the top cluster, the intent processing system 402 updates the interface 412 to present only the spherical object 406 corresponding to the top cluster in the word cloud 404. The intent processing system 402 may remove the graphical representation of the other spherical objects 408 to allow the customer to focus only on the top cluster corresponding to the selected intent term or phrase. Additionally, the customer may view other intent terms and / or phrases that belong to the top cluster via the interface 412, which may allow the customer to select other intent terms and / or phrases to further define the problem or intent.

[0066]

[0074] In some instances, when the intent processing system 402 updates the interface 412 to present the spherical object 406 corresponding to the top cluster that includes the intent term or phrase selected by the customer, the intent processing system 402 may highlight any particular intent terms and / or phrases from the top cluster that are related to the previously selected intent term or phrase. For example, if the customer selects the intent phrase "arrange payment" from the top cluster presented in the word cloud 404, the intent processing system 402 may determine which intent terms and / or phrases are directly related to this intent phrase. For example, as illustrated in FIG. 4, the intent phrase "arrange payment" may be directly related to the intent phrases "payment plan," "pay bill," "3@$40," "1@$120," and the like. The intent processing system 402 may update the word cloud 404 presented via the interface 412 to highlight these directly related intent phrases to enable the customer to immediately identify related intent phrases that may correspond to the customer's intent. Highlighting intent terms or phrases may include (without being limited to) using alternative font colors, using alternative fonts, using alternative font sizes, applying a shape around the associated intent terms or phrases, and the like.

[0067]

[0075] FIG. 5 illustrates an illustrative example of an environment 500 in which an intent processing system 502 updates an interface 512 to present related intent terms from an intent cluster based on a customer selection of a particular intent term 508 from the intent cluster, according to at least one embodiment. In the environment 500, the intent processing system 502 may present an intent cluster corresponding to a particular intent in a word cloud 504 presented via the interface 512. The intent cluster may be a top-level cluster graphically represented on a spherical object that may be manipulated via the interface 512. For example, a customer may utilize a cursor or other interactive element (e.g., a finger or stylus in the case of a touch screen display element, etc.) to manipulate the spherical object corresponding to the intent cluster along one or more degrees of freedom. As the customer manipulates the spherical object via the interface 512, the intent processing system 502 may dynamically and in real-time modify the size of each of the intent terms and / or phrases of the intent cluster according to their relative position on the spherical object. This may allow a customer to manipulate the spherical object to access specific intent terms or phrases for selection.

[0068]

[0076] The word cloud 504 illustrated in FIG. 5 may correspond to the spherical object 406 described above in connection with FIG. 4. For example, the word cloud 504 may include a spherical object corresponding to a top-level cluster including intent terms and / or phrases associated with a customer's selection of the intent phrase "make a payment." As illustrated in FIG. 5, a customer may select intent phrase 506 ("3@$40") to indicate that the customer wishes to create a payment plan whereby the customer may submit three payments of $40 toward the outstanding balance. As described above, the intent processing system 502 may identify sample intent terms or phrases that may be used to create a customer-specific intent term or phrase. For example, an intent cluster corresponding to an intent to make a payment on an account may include a sample intent phrase such as "X@$YY," where "X" may indicate the number of payments and "YY" may indicate the amount for each payment. Based on the intent term or phrase selected by the customer from the top cluster (e.g., "checkout"), the intent processing system 502 may identify sample intent phrases and personalize new intent phrases or terms according to information available about the customer.

[0069]

[0077] As illustrated in FIG. 5, if a customer selects the intent phrase “Payment Procedure” and the intent processing system 502 identifies the sample intent phrase “X@$YY” from the corresponding intent cluster, the intent processing system 502 may determine different payment terms that may be offered to the customer based on the customer's account. Based on these different payment terms, the intent processing system 502 may modify the sample intent phrase to define one or more personalized payment procedures for the customer. For example, and as illustrated in FIG. 5, if customer 24 has an outstanding balance of $120 and the customer is authorized to split this outstanding balance over 1 to 5 payments, the intent processing system 502 may modify the sample intent phrase “X@$YY” to generate personalized intent phrases “1@$120,” “2@$60,” “3@$40,” “4@$30,” and “5@$24.” The intent processing system 502 may associate these personalized intent phrases with sample intent phrases and corresponding intent clusters such that a customer selection of any personalized intent phrase may be used to identify corresponding intent terms / phrases and / or actions that may be performed in accordance with the intent.

[0070]

[0078] If a customer selects a particular intent term or phrase 506 from the word cloud 504, the intent processing system 502 may dynamically update the word cloud 504 to present any intent terms and / or phrases 508 from the intent cluster that are directly associated with the selected intent term or phrase 506. For example, the intent processing system 502 may dynamically rotate or otherwise manipulate a spherical object corresponding to the intent cluster to present one or more intent terms and / or phrases 508 that are directly related to the selected intent term or phrase 506. As an illustrative example, if a customer selects the intent phrase "3@$40," the intent processing system 502 may identify the intent terms and phrases "check," "Apple Pay," and "credit card" as directly related to the selected intent phrase. The intent processing system 502, via interface 512, may rotate or otherwise manipulate the spherical object corresponding to the intent cluster to prominently feature the intent terms and phrases “check,” “Apple Pay®,” and “credit card.” In some instances, as described above, the intent processing system 502 may further highlight these directly related intent phrases 508 to enable the customer to immediately identify related intent phrases that may correspond to the customer's intent.

[0071]

[0079] In some instances, the customer may further communicate with the intent processing system 502 via the dialog field 510 to provide additional context regarding the problem or intent. This additional context may be used by the intent processing system 502 to determine which intent terms and / or phrases may correspond to the customer's problem or intent. As an illustrative example, if the customer enters the message "I would like to schedule an appointment in 3 installments" in the dialog field 510, the intent processing system 502 may process this message using NLP to identify the intent phrase 506 ("3@$40") from the intent cluster presented in the word cloud 504. Based on this identification of the intent phrase 506, the intent processing system 502 may dynamically and in real time manipulate the graphical representation of the spherical object corresponding to the intent cluster to present the most likely intent match (e.g., "3@$40"). For example, the intent processing system 502 may orient the intent clusters within the word cloud 504 so that the identified intent terms and / or phrases are presented closer to the front of the computing device. This may allow a customer to select a prominently displayed intent term or phrase from the intent cluster and continue with the submission of that problem or intent.

[0072]

[0080] 6 illustrates an illustrative example of an environment 600 in which an intent processing system 602 performs one or more actions based on a selection of one or more intent terms 606 associated with one or more actions, according to at least one embodiment. In the environment 600, the intent processing system 602 may detect that a customer has selected an intent term or phrase 606 from an intent cluster that is associated with one or more actions that may be performed to address a particular intent or issue. For example, as illustrated in FIG. 6, when a customer selects an intent phrase 606 ("Apple Pay®") from a word cloud 604 presented via an interface 612, the intent processing system 602 may evaluate the intent phrase 606 to determine whether the intent phrase 606 is associated with one or more actions that may be performed for the customer.

[0073]

[0081] As described above, as the customer continues to select intent terms and / or phrases from the word cloud 604, the intent processing system 602 may use the strings of the selected intent terms and / or phrases to determine whether the strings of the selected intent terms and / or phrases define a particular customer intent for which one or more actions may be performed to address the intent. For example, if the customer selects the intent phrases “Checkout,” “3@$40,” and “Apple Pay®,” the intent processing system 602 may determine that the customer wishes to pay an initial payment of $40 using Apple Pay® for a particular account. Further, the intent processing system 602 may determine that the customer wishes to make three payments (e.g., monthly payments, etc.) against the account over a period of time. Thus, the intent processing system 602 may update the customer's account in accordance with the selected terms to define a payment schedule for the customer and send billing information to Apple Pay® on the customer's computing device to receive the initial payment. The customer may be provided with information related to the payment via an Apple Pay® payment window 608, through which the customer may authorize the payment.

[0074]

[0082] Continuing with the illustrative example shown in FIG. 6, once the customer authorizes the payment via payment window 608, Apple Pay® (or other digital wallet service or application on the customer's computing device) may send the payment information to a payment processing service 610 associated with the brand to fulfill the customer's intent or issue. The payment processing service 610 may send a receipt or other confirmation to the intent processing system 602 to indicate that the customer's payment was processed in accordance with the customer's intent or issue. This may cause the intent processing system 602 to update the interface 612 to provide the customer with a digital receipt or other confirmation of the payment.

[0075]

[0083] It should be noted that the one or more actions that can be taken to address an intent may include actions that are not associated with payment or billing issues. For example, if the intent processing system 602 identifies an intent based on a customer's selection of intent terms and / or phrases via the interface 612, the intent processing system 602 may determine to which endpoint the communication should be routed. For example, if the customer has previously communicated with a given agent, the communication routing may generally be biased toward the same agent. Once an intent is identified based on a customer's interaction with the interface 612 and the selection of intent terms and / or phrases, other factors that may affect the routing may include, for example, customer or agent sentiment inferred or identified in connection with the previous communication, the topic of the current communication (and, for example, the extent to which it is related to the topic of the previous communication and / or to a knowledge base associated with one or more agents), whether an agent is available, and / or the predicted response latency of a computing device utilized by the agent. If the customer has not previously communicated with a given agent, agent selection may be performed as described above.

[0076]

[0084] FIG. 7 illustrates an illustrative example of a process 700 for generating intent clusters based on similarities between intents and intent terms for presentation to a customer via an interface, according to at least one embodiment. The process 700 may be performed by an intent processing system of a brand interaction platform. In step 702, the intent processing system may determine similarities between user-provided intents previously processed during communication between a customer and an agent / other service associated with a particular brand. For example, the intent processing system may utilize a machine learning algorithm or artificial intelligence configured to use historical conversation data about customers associated with a brand as input to identify relationships between different intent terms and / or phrases for various intents. As described above, the machine learning algorithm or artificial intelligence may be trained using unsupervised training techniques. For example, a dataset of input messages and corresponding intents may be analyzed using a clustering algorithm to identify correlations between different types of intent terms and / or phrases at different intents or intent types.

[0077]

[0085] In step 704, the intent processing system may identify one or more intent clusters based on the identified similarities between the various intent terms and / or phrases identified from the historical conversation data. For example, the output of a machine learning algorithm or artificial intelligence generated using a dataset of input messages and corresponding intents may include a classification of various intent terms and / or phrases according to different clusters associated with a particular intent. Thus, based on this output, the intent processing system may classify certain intent terms and / or phrases as being associated with a particular intent. As a result, each known intent may be associated with various intent terms and / or phrases commonly used by customers of the brand in messages exchanged with agents and / or other services when expressing an intent or problem that the customers want addressed.

[0078]

[0086] In step 706, the intent processing system may determine a hierarchy of intent clusters based on parameters associated with the corresponding intents. As described above, the intent processing system may perform an analysis of previously identified intents for the brand's customers to determine the frequency with which the identified intents were detected over a period of time. For example, the intent processing system may aggregate all intents detected or otherwise processed over a predefined time period (e.g., daily, weekly, monthly, etc.) for various customers of the brand and perform a statistical analysis of the aggregated intents to determine the popularity or frequency of each intent over the predefined time period. For example, for a particular intent, the intent processing system may determine the number of times that this intent was detected over the predefined time period. Using this number, the intent processing system may determine a percentage corresponding to the frequency with which the intent was detected compared to other intents.

[0079]

[0087] As described above, the graphical representation of the spherical object presented via the GUI provided by the intent processing system may correspond to the top clusters corresponding to the most popular intents detected by the intent processing system from the communications between the customer and the agent or other service. In an embodiment, the intent processing system 302 may use one or more clustering algorithms or artificial intelligence to define the number of top clusters to be graphically represented in the GUI using the spherical object. For example, the intent processing system may utilize a combination of labeled K-means clustering algorithm, SVD, and TFIDF to define the number of top clusters. Based on an analysis of previously identified intents for the brand's customers to determine the frequency with which the identified intents were detected over a period of time, the intent processing system may perform a statistical analysis of the aggregated intents to determine the popularity or frequency of each intent over a predefined period of time. For example, for a particular intent, the intent processing system may determine the number of times this intent was detected over a predefined period of time. Using this number, the intent processing system may identify more popular or more frequent intents, which may be used to define a hierarchy of intent clusters.

[0080]

[0088] At step 708, the intent processing system may generate graphical representations of the intent clusters according to the determined hierarchy of the intent clusters and the known interface strike zones. As described above, the size of each of the graphical representations of the spherical objects is proportional to how close the spherical object is to the front of the customer's computing device and to the strike zones of the GUI. For example, the graphical representations of the spherical objects may have a larger size within the GUI's primary strike zone (e.g., portions of the GUI where customer interaction is greatest), while the graphical representations of the spherical objects may have a smaller size within the GUI's secondary strike zone (e.g., portions of the GUI where customer interaction is disrupted or is less frequent than the primary strike zone). As the spherical objects move away from the GUI's primary and secondary strike zones, the size of these spherical objects may continue to decrease until a minimum size threshold is reached.

[0081]

[0089] Each spherical object presented via the GUI may correspond to a cluster of intent terms and / or phrases associated with a particular intent. In some instances, the intent processing system may present via the GUI a master spherical object corresponding to a top-level cluster of intent terms and / or phrases associated with the most popular intents, and one or more sub-level spherical objects corresponding to lower clusters of intent terms and / or phrases corresponding to less popular intents. The size of each of the one or more spherical objects may correspond to a hierarchy of intent clusters, where the hierarchy corresponds to how frequently the associated intent was detected by the intent processing system over a period of time (e.g., weekly, monthly, etc.).

[0082]

[0090] It should be noted that process 700 may be performed using additional and / or alternative steps. For example, the graphical representation of one or more intent clusters may be generated independent of known interface strike zones. As an illustrative example, the intent processing system may use one or more clustering algorithms or artificial intelligence to define the number of top clusters to be graphically represented in the GUI using spherical objects. The intent processing system may utilize a labeled K-means clustering algorithm, SVD, and TFIDF to define the number of top clusters. While the top clusters may be identified based on a hierarchy of intent clusters, the intent processing system may be configured to automatically rotate each graphical representation of the spherical objects in the GUI along an individual axis. Additionally, these spherical objects may be configured to behave similarly to those in a solar system, whereby the spherical objects may rotate along a central axis and function as satellites orbiting an invisible spherical object. As the spherical objects rotate along this central axis, the size of each spherical object 306 may automatically and dynamically change based on its proximity to the front of the computing device and to the primary and secondary strike zones described above. Thus, the size and movement of the top-level clusters in the GUI may be independent of the hierarchy of intent clusters determined by the intent processing system.

[0083]

[0091] FIG. 8 illustrates an illustrative example of a process 800 for performing one or more actions based on a selection of one or more intent terms from a cluster of intent terms presented via an interface, according to at least one embodiment. The process 800 may be performed by an intent processing system of a brand interaction platform. In step 802, the intent processing system may detect a user selection of a particular cluster of intent terms. As described above, a customer accessing the brand interaction platform may be presented with an interface through which the customer may interact with a word cloud to define an intent or problem that may be solved by the intent processing system. The intent processing system may present, via the interface, a word cloud comprising graphical representations of spherical objects. Each of these graphical representations of spherical objects may correspond to a top cluster of intent terms and / or phrases associated with a particular intent. The graphical representations of the spherical objects may be sized according to their proximity to the primary and secondary strike zones of the interface and to the front of the customer's computing device.

[0084]

[0092] If the customer selects an intent term or phrase from the graphical representation of the spherical object corresponding to the top cluster, the intent processing system may isolate the selected cluster of intent terms through the interface in step 804. For example, the intent processing system may update the interface to present only the spherical object corresponding to the selected top cluster in the word cloud. The intent processing system may remove other graphical representations of the spherical object to allow the customer to focus only on the top cluster corresponding to the selected intent term or phrase. Additionally, the customer may view other intent terms and / or phrases belonging to the top cluster through the interface, which may allow the customer to select other intent terms and / or phrases to further define the problem or intent.

[0085]

[0093] In step 806, the intent processing system may detect a user selection of an intent term from the isolated cluster of intent terms and / or phrases corresponding to a particular intent. For example, the customer may utilize a cursor or other interactive element (e.g., a finger or stylus in the case of a touch screen display element, etc.) to manipulate a spherical object corresponding to the intent cluster along one or more degrees of freedom. Further, the customer may utilize a cursor or other interactive element to select an intent term or phrase from the isolated cluster to further define the intent or problem. If the customer selects a particular intent term or phrase, the intent processing system may detect this selection.

[0086]

[0094] In step 808, the intent processing system may determine whether the selected intent term or phrase corresponds to other intent terms or phrases for the particular intent. If the intent processing system determines that the selected intent term or phrase corresponds to other intent terms or phrases for the particular intent, the intent processing system may update the interface to present these other intent terms or phrases in step 810 and return to step 804, where the intent processing system may separate the intent term cluster to highlight these other intent terms or phrases. For example, the intent processing system may dynamically update the interface to present any intent terms and / or phrases from the intent cluster that are directly associated with the selected intent term or phrase. For example, the intent processing system may dynamically rotate or otherwise manipulate a spherical object corresponding to the intent cluster to present one or more intent terms and / or phrases that are directly associated with the selected intent term or phrase. In some cases, as described above, the intent processing system may further highlight these directly related intent terms and / or phrases to enable a customer to immediately identify related intent phrases that may correspond to the customer's intent.

[0087]

[0095] If the intent processing system determines that the selected intent term or phrase does not correspond to any other intent term or phrase from the intent cluster, the intent processing system may perform one or more actions corresponding to the intent associated with the selected intent term and / or phrase in step 812. As an illustrative example, if a customer selects the intent phrases "Checkout," "3@$40," and "Apple Pay," the intent processing system may determine that the customer wishes to pay an initial payment of $40 using Apple Pay for a particular account. Further, the intent processing system may determine that the customer wishes to make three payments (e.g., monthly payments, etc.) against the account over a period of time. Thus, the intent processing system may update the customer's account in accordance with the selected term to define a payment schedule for the customer and send billing information to Apple Pay on the customer's computing device to receive the initial payment. The customer may be provided with information related to the payment via an Apple Pay payment window, through which the customer may authorize the payment. Additionally, when a customer authorizes a payment through a payment window, Apple Pay® (or other digital wallet service or application on the customer's computing device) may send payment information to a payment processing service associated with the brand to fulfill the customer's intent or issue.

[0088]

[0096] 9 illustrates a computing system architecture 900 including various components in electrical communication with one another using a connection 906, such as a bus, according to some implementations. The example system architecture 900 includes a processing unit (CPU or processor) 904 and system connections 906 coupling various system components to the processor 904, including system memory 920, such as ROM 918 and RAM 916. The system architecture 900 may include a cache 902 of high-speed memory directly connected to, adjacent to, or integrated as part of the processor 904. The system architecture 900 may copy data from the memory 920 and / or storage device 908 to the cache 902 for quick access by the processor 904. In this manner, the cache may provide a performance boost that prevents the processor 904 from being delayed while waiting for data. These and other modules may control or be configured to control the processor 904 to perform various actions.

[0089]

[0097] Other system memory 920 may be available for use as well. Memory 920 may include multiple different types of memory having different performance characteristics. Processor 904 may include any general purpose processor, as well as hardware or software services, such as service 1 910, service 2 912, and service 3 914, stored in storage device 908 and configured to control processor 904, as well as special purpose processors where software instructions are embedded in the actual processor design. Processor 904 may be a completely self-contained computing system including multiple cores or processors, buses, memory controllers, caches, etc. Multi-core processors may be symmetric or asymmetric.

[0090]

[0098] To enable user interaction with the computing system architecture 900, the input devices 922 may represent any number of input mechanisms, such as a microphone for audio, a touch-sensitive screen for gesture or graphical input, a keyboard, a mouse, motion input, and voice. The output devices 924 may also be one or more of several output mechanisms known to those skilled in the art. In some cases, a multi-modal system may enable a user to provide multiple types of input to communicate with the computing system architecture 900. The communications interface 926 may generally govern and manage user input and system output. There is no limitation to operating on any particular hardware arrangement, and thus the basic functions herein may be easily replaced with improved hardware or firmware configurations as they are developed.

[0091]

[0099] The storage device 908 is a non-volatile memory and may be a hard disk or other type of computer-readable medium that may store data accessible by a computer, such as a magnetic cassette, a flash memory card, a solid-state memory device, a digital versatile disk, a cartridge, RAM 916, ROM 918, and hybrids thereof.

[0092]

[0100] The storage device 908 may include services 910, 912, 914 for controlling the processor 904. Other hardware or software modules are also contemplated. The storage device 908 may be connected to a system connection 906. In one aspect, a hardware module that performs a particular function may include software components stored in a computer readable medium in association with the necessary hardware components, such as the processor 904, connections 906, and output devices 924, etc., to perform that function.

[0093]

[0101] The disclosed methods may be performed using a computing system. An example 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 to each other via a bus or through some other known or convenient device. The processor may be configured to perform, for example, all or a portion of the methods described herein, for example, by executing code stored in the memory. One or more of a user device or computer, a provider server or system, or a suspended database update system may include components of a computing system or variations of such systems.

[0094]

[0102] The present disclosure contemplates a computer system taking any suitable physical form, including, but not limited to, a point of sale ("POS"). By way of example and not limitation, the 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 a system on module (SOM)), a desktop computer system, a laptop or notebook computer system, 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, the computer system may include one or more computer systems; may be unitary or distributed; may span multiple locations; may span multiple machines; and / or may reside in a cloud that may include one or more cloud components in one or more networks. 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, where appropriate, perform one or more steps of one or more methods described or illustrated herein at different times or in different locations.

[0095]

[0103] The processor may be, for example, a conventional microprocessor such as an Intel Pentium microprocessor or a Motorola power PC 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 can be accessed by a processor.

[0096]

[0104] The memory may be coupled to the processor, for example, by a bus. The memory may include random access memory (RAM), such as, for example and without limitation, dynamic RAM (DRAM) and static RAM (SRAM). The memory may be local, remote, or distributed.

[0097]

[0105] The bus may also couple the processor to non-volatile memory and drive units. Non-volatile memory is often a magnetic floppy or hard disk, a magneto-optical disk, an optical disk, a read-only memory (ROM) such as a CD-ROM, an EPROM or EEPROM, a magnetic or optical card, or another form of storage for large amounts of data. Some of this data is often written to the memory by a direct memory access process during the execution of software in the computer. Non-volatile storage may be local, remote, or distributed. Non-volatile memory is optional, since a system may be created with all applicable data available in memory. A typical computer system will usually include at least a processor, a memory, and a device (e.g., a bus) that couples the memory to the processor.

[0098]

[0106] The software may be stored in a non-volatile memory and / or a drive unit. In fact, for large programs, it may not even be possible to store the entire program in memory. It should be understood, however, that in order to execute the software, it is moved, if necessary, to a computer-readable location suitable for processing, and for purposes of illustration, that location is referred to herein as memory. 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. As used herein, a software program 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.

[0099]

[0107] The bus may also couple the processor to a network interface device. The interface may include one or more of a modem or a network interface. It will be understood that the modem or network interface may be considered to be part of the computer system. The interface may include an analog modem, an integrated services digital network (ISDN0 modem, a cable modem, a token ring interface, a satellite transmission interface (e.g., "Direct PC"), or other interface for coupling the computer system to other computer systems. The interface may include one or more input and / or output (I / O) devices. The I / O devices may include, by way of example and not limitation, a keyboard, a mouse or other pointing device, disk drives, printers, scanners, and other input and / or output devices including display devices. The display devices may include, by way of example and not limitation, a cathode ray tube (CRT), a liquid crystal display (LCD), or any other applicable known or convenient display device.

[0100]

[0108] In operation, a computer system may be controlled by operating system software, including a file management system, such as a disk operating system. One example of operating system software with associated file management system software is the family of operating systems known as Windows® from Microsoft Corporation of Redmond, Washington, and their associated file management systems. Another example of operating system software with its associated file management system software is the Linux®™ operating system and its associated file management system. The file management system may be stored in non-volatile memory and / or drive units, and may cause the processor to perform various operations required by the operating system to store data in memory, including storing files on the non-volatile memory and / or drive units, and to input and output data.

[0101]

[0109] Some portions of the detailed description 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, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.

[0102]

[0110] 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, throughout this description, descriptions using terms such as "processing" or "computing" or "calculating" or "determining" or "displaying" or "generating" or the like are understood to refer to the actions and processes of a computer system or similar electronic computing device that manipulates and converts data, which are represented as physical (electronic) quantities in the computer system's registers and memory, into other data, which are similarly represented as physical quantities in the computer system's memory or registers, or other such information storage, transmission, or display devices.

[0103]

[0111] The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform some of the example methods. The required structure for a variety of these systems will appear from the description below. In addition, the techniques are not described with reference to any particular programming language, and thus the various examples may be implemented using a variety of programming languages.

[0104]

[0112] In various implementations, the system may operate as a standalone device or may be connected (e.g., networked) to other systems. In a networked deployment, the system may operate in the capacity of a server or a client system in a client-server network environment, or as a peer system in a peer-to-peer (or distributed) network environment.

[0105]

[0113] The system may be a server computer, a client computer, a personal computer (PC), a tablet PC, a laptop computer, a set-top box (STB), a personal digital assistant (PDA), a mobile phone, an iPhone, a Blackberry, a processor, a telephone, a web appliance, a network router, switch or bridge, or any system capable of executing (sequentially or otherwise) a set of instructions that specify actions to be taken by that system.

[0106]

[0114] Although the machine-readable medium or machine-readable storage medium is shown as being a single medium by way of example, 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" should also be interpreted to include any medium capable of storing, encoding, or carrying a set of instructions for execution by a system and causing the system to perform any one or more of the techniques or modules disclosed herein.

[0107]

[0115] In general, the routines executed to implement implementations of the present disclosure may be implemented as a sequence of instructions, a module, an object, a program, a component, or a specific application or part of an operating system, referred to as a “computer program.” A computer program typically comprises one or more instructions stored at various times in various memory and storage devices within a computer that, when read and executed by one or more processing units or processors in the computer, cause the computer to perform operations to implement elements involved in various aspects of the present disclosure.

[0108]

[0116] Furthermore, while the examples have been described in the context of fully functional computers and computer systems, those skilled in the art will appreciate that the various examples may be distributed as program objects in a variety of forms, and that the present disclosure applies equally regardless of the particular type of machine or computer-readable medium used to actually accomplish the distribution.

[0109]

[0117] Further examples of machine-readable storage media, 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., Compact Disk Read Only Memories (CD ROMS), Digital Versatile Disks (DVDs), etc.), and transmission type media such as digital and analog communications links, among others.

[0110]

[0118] In some circumstances, an operation of a memory device, such as a change in state from a binary 1 to a binary 0 or vice versa, may comprise a transformation, such as, for example, a physical transformation. In certain types of memory devices, such a physical transformation may comprise a physical transformation of an article to a different state or thing. For example, but not by way of limitation, for some types of memory devices, a change in state may involve the accumulation and storage of an electric charge or the release of a stored electric charge. Similarly, in other memory devices, a change in state may comprise a physical change or transformation in magnetic orientation, or a physical change or transformation in molecular structure, such as from crystalline to amorphous or vice versa. The foregoing is not intended to be an exhaustive list of all examples in which a change in state from a binary 1 to a binary 0 or vice versa in a memory device may comprise a transformation, such as a physical transformation. Rather, the foregoing is intended as an illustrative example.

[0111]

[0119] Storage media may typically be non-transient or may comprise a non-transient device. In this context, non-transient storage media may include a device that is tangible, meaning that the device has a concrete, tangible physical form, although the device may change its physical state. Thus, for example, non-transient refers to a device that remains tangible despite this change in state.

[0112]

[0120] The above description and drawings are illustrative and should not be construed as limiting the subject matter to the precise form disclosed. Those skilled in the art will appreciate that many modifications and variations are possible in light of the above disclosure. Numerous specific details have been described in order to provide a thorough understanding of the present disclosure. However, in certain instances, well-known or conventional details have not been described in order to avoid obscuring the description.

[0113]

[0121] As used herein, the terms "connected," "coupled," or any variation thereof, when applied to modules of a system, means any connection or coupling, either direct or indirect, between two or more elements, and the coupling of connections between the elements may be physical, logical, or any combination thereof. In addition, the words "herein," "above," "below," and words of similar import, when used in this application, shall refer to this application as a whole and not to any particular portions of this application. Where the context permits, words in the above Detailed Description using singular or plural numbers may also include the plural or singular number, respectively. The singular "or" in reference to a list of two or more items encompasses all of the following interpretations of the singular number: any of the items in the list, all of the items in the list, or any combination of the items in the list.

[0114]

[0122] Those skilled in the art will appreciate that the disclosed subject matter may be embodied in other forms and manners not set forth below. It will be understood that the use of relationship-indicating terminology, such as first, second, top and bottom, if any, is used only to distinguish one entity or action from another, without necessarily requiring or implying any such actual relationship or order between such entities or actions.

[0115]

[0123] Although processes or blocks are presented in a given order, alternative implementations may perform routines having steps or use systems having blocks in a different order, and some processes or blocks may be deleted, moved, added, sub-divided, substituted, combined, and / or modified to provide alternative combinations or sub-combinations. Each of these processes or blocks may be implemented in a variety of different ways. Also, while processes or blocks are at times shown as being performed sequentially, these processes or blocks may instead be performed in parallel or at different times. Additionally, any specific numbers described herein are merely examples, and alternative implementations may use different values ​​or ranges.

[0116]

[0124] The teachings of the disclosure provided herein may be applied to other systems, not necessarily the system described above. Elements and operations of the various examples described above may be combined to provide further examples.

[0117]

[0125] Any of the above patents and applications and other references, including any that may be listed in accompanying application papers, are incorporated herein by reference. Aspects of the present disclosure may be modified, if necessary, to employ the systems, functionality, and concepts of the various references described above to provide still further examples of the present disclosure.

[0118]

[0126] These and other changes may be made to the disclosure in light of the above detailed description. Although the above description describes certain examples and describes the best mode contemplated, no matter how detailed the above may be in the text, the present teachings may be implemented in many ways. The details of the system may vary widely in the details of its implementation while still being encompassed by the subject matter disclosed herein. As noted above, a particular terminology used when describing a particular feature or aspect of the disclosure should not be interpreted as implying that the terminology is redefined herein to be limited to any characteristic, feature, or aspect of the disclosure with which the terminology is associated. In general, the terms used in the following claims should not be interpreted as limiting the disclosure to the particular implementations disclosed herein, unless the detailed description section above explicitly defines such terms. Thus, the actual scope of the disclosure encompasses not only the disclosed implementations, but also all equivalent ways of practicing or implementing the disclosure under the claims.

[0119]

[0127] Although certain aspects of the disclosure are presented below in certain claim forms, 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. § 112(f) will begin with the words "means for." Accordingly, the applicants reserve the right to add additional claims after the filing of this application to pursue such additional claim forms for other aspects of the disclosure.

[0120]

[0128] The terms used in this specification generally have their ordinary meaning in the art, within the context of this disclosure, and in the specific context in which each term is used. Certain terms used to describe this disclosure have been described above or elsewhere in this specification to provide additional guidance to practitioners regarding the description of this disclosure. For convenience, certain terms may be highlighted, for example, by using capital letters, italics, and / or quotation marks. The use of highlighting does not affect the scope and meaning of the term, which is the same in the same context whether or not it is highlighted. It will be understood that the same element may be described in more than one way.

[0121]

[0129] As a result, alternative wording and synonyms may be used for any one or more of the terms described herein, and no special importance is placed on whether a term is recited or explained herein. Synonyms of certain terms are provided. The recitation of one or more synonyms does not preclude the use of other synonyms. The use of examples anywhere in this specification, including examples of any term described herein, is merely illustrative and is not intended to further limit the scope and meaning of the disclosure or of any exemplified term. Similarly, the disclosure is not limited to the various examples provided herein.

[0122]

[0130] Without intending to further limit the scope of the present disclosure, examples of instruments, devices, methods, and their related results according to the examples of the present disclosure are given below. Please note that titles or subtitles may be used in the examples for the convenience of the reader, but this should not limit the scope of the present disclosure in any way. Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the art to which this disclosure pertains. In the event of any discrepancy, the present document, including definitions, shall prevail.

[0123]

[0131] Some portions of this description describe examples in terms of algorithms and symbolic representations of operations on information. These algorithmic descriptions and representations are commonly used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. While these operations have been described functionally, computationally, or logically, it will be understood that they may be implemented by computer programs or equivalent electrical circuits, microcode, or the like. Further, it has been found to be convenient at times to refer to these arrangements of operations as modules, without loss of generality. The described operations and their associated modules may be embodied in software, firmware, hardware, or any combination thereof.

[0124]

[0132] Any of the steps, operations, or processes described herein may be performed or implemented using one or more hardware or software modules, alone or in combination with other devices. In some examples, a software module is implemented in a computer program object comprising a computer readable medium containing computer program code, which may be executed by a computer processor to perform any or all of the steps, operations, or processes described.

[0125]

[0133] Examples may also relate to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes and / or it may comprise a general-purpose computing device selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a non-transitory tangible computer-readable storage medium, or any type of medium suitable for storing electronic instructions, that may be coupled to a computer system bus. Furthermore, any computing system referred to herein may include a single processor or may be an architecture employing a multi-processor design for increased computing power.

[0126]

[0134] 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 the computer program objects or other data combinations described herein.

[0127]

[0135] The language used herein has been selected primarily for ease of reading and instructional purposes, and may not have been selected to delineate or limit the subject matter. Accordingly, the scope of the present disclosure is intended to be limited not by this detailed description, but by any claims issued on an application based hereon. Accordingly, 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.

[0128]

[0136] Specific details have been provided in the foregoing description to provide a thorough understanding of various implementations of systems and components for a contextually connected system. However, those skilled in the art will appreciate that the above-described implementations 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 in order to avoid obscuring the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.

[0129]

[0137] It should also be noted that the individual implementations may be described as a process that is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe operations as a sequential process, many of the operations may be performed in parallel or concurrently. Additionally, the order of operations may be rearranged. A process terminates when its operations are completed, but may have additional steps not included in the diagram. 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.

[0130]

[0138] The client 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, for example, one or more processors, volatile memory, and / or non-volatile memory, among other things. The input devices may include, for example, a keyboard, a mouse, a keypad, a touch interface, a microphone, a camera, and / or other types of input devices. The output devices may include, for example, a display screen, a speaker, a haptic feedback system, a printer, and / or other types of output devices. The data storage devices, such as a hard drive or flash memory, may enable the computing device to temporarily or permanently store data. The network interfaces, such as wireless or wired interfaces, may enable the computing device to communicate with a network. Examples of computing devices include desktop computers, laptop computers, server computers, handheld computers, tablets, smartphones, personal digital assistants, digital home assistants, and machines and equipment in which computing devices are embedded.

[0131]

[0139] The term "computer-readable medium" includes, but is not limited to, portable or non-portable storage devices, optical storage devices, and various other media capable of storing, containing, or transporting instruction(s) and / or data. Computer-readable media may include non-transitory media in which data may be stored and 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), flash memory, memory or memory devices. A computer-readable medium may store 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, or the like.

[0132]

[0140] Furthermore, the various examples described above may further be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware, or microcode, the program code or code segments (e.g., computer program product) for performing the necessary tasks may be stored in a computer-readable or machine-readable storage medium (e.g., a medium for storing program code or code segments). A processor(s) implemented in an integrated circuit may perform the necessary tasks.

[0133]

[0141] Where a component is described as being "configured to" perform a particular operation, such configuration may be achieved, for example, by designing electronic circuitry or other hardware to perform the operation, by programming a programmable electronic circuit (e.g., a microprocessor or other suitable electronic circuitry) to perform the operation, or any combination thereof.

[0134]

[0142] The various exemplary logic blocks, modules, circuits, and algorithm steps described in connection with the implementations disclosed herein may be implemented as electronic hardware, computer software, firmware, or a combination thereof. To clearly illustrate this interchangeability of hardware and software, the various exemplary components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.

[0135]

[0143] 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 discrete but interoperable logic devices. When 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 memory or data storage media, such as random access memory (RAM), such as synchronous dynamic random access memory (SDRAM), read only memory (ROM), non-volatile random access memory (NVRAM), electrically erasable programmable read only memory (EEPROM), FLASH memory, magnetic or optical data storage media, and the like. The techniques may additionally or alternatively be realized, at least in part, by a computer-readable communications medium, such as a propagated signal or wave, that can be accessed, read, and / or executed by a computer and that carries or communicates program code in the form of data structures or instructions.

[0136]

[0144] 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, such as 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, as used herein, the term "processor" may refer to any of the foregoing structures, any combination of the foregoing structures, or any other structure or apparatus suitable for implementing the techniques described herein. Additionally, in some aspects, the functionality described herein may be provided within dedicated software or hardware modules configured for implementation of a suspended database update system.

[0137]

[0145] The foregoing 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 technology, its practical application, and to enable others skilled in the art to utilize the technology in various embodiments and with various modifications as suited to the particular uses contemplated. It is intended that the scope of the present technology be defined by the claims.

Claims

1. 1. A computer-implemented method, comprising: generating a graphical representation of a set of intent clusters, where an intent cluster includes a set of intent terms associated with an intent, and where the set of intent clusters is generated using a machine learning algorithm trained to cluster intent terms according to their corresponding intents; detecting a selection of one or more intent terms from an intent cluster of the set of intent clusters; identifying one or more actions corresponding to an intent associated with the intent cluster, where the one or more actions are identified based on the intent and the one or more selected intent terms; facilitating execution of the one or more actions to fulfill the intent; and A computer-implemented method comprising:

2. The computer-implemented method of claim 1 , wherein the graphical representation of the set of intent clusters comprises a set of spherical objects, the spherical objects comprising a set of intent terms associated with the intent clusters.

3. 2. The computer-implemented method of claim 1 , wherein the set of intent clusters corresponds to a set of frequently detected intents, the set of frequently detected intents being identified based on an evaluation of historical conversation data collected over a period of time.

4. The computer-implemented method of claim 1 , wherein the graphical representation of the set of intent clusters is organized according to a strike zone of an interface.

5. Detecting a spike in requests associated with one or more intents; updating the graphical representation of the set of intent clusters, where the graphical representation of the set of intent clusters is updated in real time upon detection of the spike; and The computer-implemented method of claim 1 , further comprising:

6. updating the graphical representation of the set of intent clusters in accordance with a request to promote a product, where the request specifies one or more intents associated with the product. The computer-implemented method of claim 1 , further comprising:

7. using one or more clustering algorithms to determine the number of intent clusters to be included in the set of intent clusters. The computer-implemented method of claim 1 , further comprising:

8. 1. A system comprising: one or more processors; and a memory storing instructions that, when executed by the one or more processors, cause the system to: generating a graphical representation of a set of intent clusters, where an intent cluster includes a set of intent terms associated with an intent, and where the set of intent clusters is generated using a machine learning algorithm trained to cluster intent terms according to their corresponding intents; detecting a selection of one or more intent terms from an intent cluster of the set of intent clusters; identifying one or more actions corresponding to an intent associated with the intent cluster, where the one or more actions are identified based on the intent and the one or more selected intent terms; facilitating execution of the one or more actions to fulfill the intent; and A system that allows the user to:

9. The system of claim 8 , wherein the graphical representation of the set of intent clusters comprises a set of spherical objects, the spherical objects comprising a set of intent terms associated with the intent clusters.

10. 10. The system of claim 8, wherein the set of intent clusters corresponds to a set of frequently detected intents, the set of frequently detected intents being identified based on an evaluation of historical conversation data collected over a period of time.

11. The system of claim 8 , wherein the graphical representation of the set of intent clusters is organized according to a strike zone of an interface.

12. The instructions include: Detecting a spike in requests associated with one or more intents; updating the graphical representation of the set of intent clusters, where the graphical representation of the set of intent clusters is updated in real time upon detection of the spike; and The system of claim 8 , further comprising:

13. The instructions include: updating the graphical representation of the set of intent clusters in accordance with a request to promote a product, where the request specifies one or more intents associated with the product. The system of claim 8 , further comprising:

14. The instructions include: using one or more clustering algorithms to determine the number of intent clusters to be included in the set of intent clusters. The system of claim 8 , further comprising:

15. A non-transitory computer-readable storage medium having executable instructions stored thereon, the executable instructions, when executed by one or more processors of a computer system, causing the computer system to: generating a graphical representation of a set of intent clusters, where an intent cluster includes a set of intent terms associated with an intent, and where the set of intent clusters is generated using a machine learning algorithm trained to cluster intent terms according to their corresponding intents; detecting a selection of one or more intent terms from an intent cluster of the set of intent clusters; identifying one or more actions corresponding to an intent associated with the intent cluster, where the one or more actions are identified based on the intent and the one or more selected intent terms; facilitating execution of the one or more actions to fulfill the intent; and A non-transitory computer-readable storage medium that causes

16. 16. The non-transitory computer-readable storage medium of claim 15, wherein the graphical representation of the set of intent clusters comprises a set of spherical objects, the spherical objects comprising a set of intent terms associated with the intent clusters.

17. 16. The non-transitory computer-readable storage medium of claim 15, wherein the set of intent clusters corresponds to a set of frequently detected intents, the set of frequently detected intents identified based on an evaluation of historical conversation data collected over a period of time.

18. 20. The non-transitory computer-readable storage medium of claim 15, wherein the graphical representation of the set of intent clusters is organized according to a strike zone of an interface.

19. The executable instructions may include instructions for causing the computer system to: Detecting a spike in requests associated with one or more intents; updating the graphical representation of the set of intent clusters, where the graphical representation of the set of intent clusters is updated in real time upon detection of the spike; and 20. The non-transitory computer-readable storage medium of claim 15, further comprising:

20. The executable instructions may include instructions for causing the computer system to: updating the graphical representation of the set of intent clusters in accordance with a request to promote a product, where the request specifies one or more intents associated with the product.

20. The non-transitory computer-readable storage medium of claim 15, further comprising:

21. The executable instructions may include instructions for causing the computer system to: using one or more clustering algorithms to determine the number of intent clusters to be included in the set of intent clusters.

20. The non-transitory computer-readable storage medium of claim 15, further comprising:

Citation Information

Patent Citations

  • Graphical user interface tool for dataset analysis

    US10956790B1

  • Methods of aggregating and collaborating search results

    US20160364460A1

  • System and method for contact center communications

    US20180004375A1

  • Systems and methods for intent classification of messages in social networking systems

    US20180012139A1