Dialogue system based on contextual information

Techniques that facilitate a dialogue system based on contextual information are provided. In one example, a system includes a contextual information component and a dialogue routing component. The contextual information component determines contextual information associated with a user identity based on a statement related to communication information received by a computing device associated with the user identity. The dialogue routing component generates a path traversal for a dialogue system based on the contextual information to facilitate generation of a response to the statement by the dialogue system.

BACKGROUND

The subject disclosure relates to dialogue systems, and more specifically, to artificial intelligence related to dialogue systems. A dialogue system (e.g., a conversational computing system, a chatbox system, a digital assistant, etc.) is a computer system that can employ artificial intelligence and/or natural language processing to facilitate human-computer interaction. A dialogue system generally handles a single task due to complexity of managing different tasks. Furthermore, a dialogue system generally relies on user statement input provided to the dialogue system and/or intent of user statement input to generate a response to a question provided to the dialogue system. In one example, Guo et al., U.S. Patent Publication No. 2018/0082184, discloses that “the question determination module 302 may be configured to analyze the question and determine a question type. Analyzing the question may refer to deriving the semantic meaning of that question (what the question is actually asking). The question determination module 302 may be configured to analyze the question through deriving how many parts or meanings are embedded in the question. Features of questions may be learned for a question-answer matching.” However, relying on user statement input provided to the dialogue system and/or intent of user statement input to generate a response can, for example, lead to the user input being routed to an incorrect skill of the dialogue system.

SUMMARY

According to an embodiment, a system can comprise a contextual information and a dialogue component. The contextual information component can determine contextual information associated with a user identity based on a statement related to communication information received by a computing device associated with the user identity. The dialogue routing component can generate a path traversal for a dialogue system based on the contextual information to facilitate generation of a response to the statement by the dialogue system. The system can provide various advantages as compared to conventional dialogue system techniques. In certain embodiments, the system can provide improved performance of routing input of a dialogue system to a corresponding skill of the dialogue system. In an embodiment, the dialogue routing component can generate a machine learning model associated with the path traversal for the dialogue system based on the contextual information. In another embodiment, the dialogue routing component can route information associated with the statement to a skill for the dialogue system based on the contextual information. In yet another embodiment, the contextual information component can determine intent information based on the statement. In certain embodiments, the dialogue routing component can generate the path traversal for the dialogue system based on the contextual information and the intent information. In yet another embodiment, the contextual information component can determine the contextual information based on location data indicative of a location associated with the computing device. In yet another embodiment, the contextual information component can determine the contextual information based on user profile data stored in the computing device. In yet another embodiment, the contextual information component can determines a first classification for the statement and a second classification for the contextual information. In certain embodiments, the system can comprise a communication component. In an embodiment, the communication component can obtain the statement based on audio data received by the computing device. In another embodiment, the communication component can obtain the statement based on textual data received by the computing device. In certain embodiments, the dialogue routing component can generate the path traversal for the dialogue system to improve performance of the dialogue system.

According to another embodiment, a computer-implemented method is provided. The computer-implemented method can comprise determining, by a system operatively coupled to a processor, contextual information associated with a user identity based on a statement related to communication information received by a computing device associated with the user identity. The computer-implemented method can also comprise generating, by the system, a path traversal for a dialogue system based on the contextual information to facilitate generation of a response to the statement by the dialogue system. The method can provide various advantages as compared to conventional dialogue system techniques. In certain embodiments, the method can provide improved performance of routing input of a dialogue system to a corresponding skill of the dialogue system. In an embodiment, the computer-implemented method can comprise generating, by the system, a machine learning model associated with the path traversal for the dialogue system based on the contextual information. In another embodiment, the computer-implemented method can comprise routing, by the system, information associated with the statement to a skill for the dialogue system based on the contextual information. In yet another embodiment, the computer-implemented method can comprise obtaining, by the system, the statement based on audio data received by the computing device or textual data received by the computing device. In certain embodiments, the generating the path traversal can comprise improving performance of the dialogue system.

According to yet another embodiment, a computer program product for improving a dialogue system can comprise a computer readable storage medium having program instructions embodied therewith. The program instructions can be executable by a processor and cause the processor to determine, by the processor, contextual information associated with a user identity based on a statement related to communication information received by a computing device associated with the user identity. The program instructions can also cause the processor to generate, by the processor, a path traversal for the dialogue system based on the contextual information to facilitate generation of a response to the statement by the dialogue system. The computer program product can provide various advantages as compared to conventional dialogue system techniques. In certain embodiments, the computer program product can provide improved performance of routing input of a dialogue system to a corresponding skill of the dialogue system. In an embodiment, the program instructions can also cause the processor to generate, by the processor, a machine learning model associated with the path traversal for the dialogue system based on the contextual information. In another embodiment, the program instructions can also cause the processor to route, by the processor, information associated with the statement to a skill for the dialogue system based on the contextual information. In yet another embodiment, the program instructions can also cause the processor to obtain, by the processor, the statement based on audio data received by the computing device or textual data received by the computing device.

DETAILED DESCRIPTION

Characteristics are as follows:

Service Models are as follows:

Deployment Models are as follows:

In this regard, a dialogue system (e.g., a conversational computing system, a chatbox system, a digital assistant, etc.) is a computer system that can employ artificial intelligence (AI) and/or natural language processing (NLP) to facilitate human-computer interaction. A dialogue system generally handles a single task due to complexity of managing different tasks. Furthermore, a dialogue system generally relies on user statement input provided to the dialogue system and/or intent of user statement input to generate a response to a question provided to the dialogue system. However, relying on user statement input provided to the dialogue system and/or intent of user statement input to generate a response can, for example, lead to the user input being routed to an incorrect skill of the dialogue system. As disclosed herein, a “skill” can be, for example, a model (e.g., a machine learning model, a generative model, etc.) that generates a response (e.g., an answer) in response to the user statement input provided to the dialogue system. As such, a dialogue system and/or dialogue skill routing associated with a dialogue system can be improved.

To address these and/or other issues associated with conventional dialogue systems, embodiments described herein include systems, computer-implemented methods, and computer program products for providing a dialogue system based on contextual information. For example, contextual information can be employed to improve performance of dialogue skill routing of user statement input to a corresponding skill of the dialogue system. In an embodiment, a dialogue system can be modeled and/or configured with multiple skills. The dialogue system can also employ a dialogue skill routing process. The dialogue skill routing process can employ an intent of a user input statement provided to the dialogue system and/or contextual information of the user input statement. For instance, contextual information associated with the user input statement can be extracted. In certain embodiments, the contextual information can be extracted by a language model such as, for example, a NLP model, a Natural Language Understanding (NLU) model and/or another type of language model. Additionally or alternatively, the contextual information can be extracted based on other non-textual data related with a user (e.g., a user identity) associated with the user input statement. The contextual information associated with the language model can include an entity such as, for example, a location, a name of a place, a date, a time, a noun, a verb, a feature and/or another entity. The contextual information associated with the other non-textual data can include an entity such as, for example, a user location, a user profile, and/or other data associated with a user. In an aspect, a model can be generated to route the user input statement to a corresponding skill associated with the dialogue system. In certain embodiments, a classification model can be generated to infer a correct skill for the user input statement to be routed via the dialogue system. As such, an improved dialogue system can be provided. For example, performance for routing input of a dialogue system to a corresponding skill of the dialogue system can be improved. Accuracy and/or quality of a response provided by a dialogue system can also be improved. Moreover, accuracy of data generated by a machine learning model for dialogue routing can be improved and/or quality of data generated by a machine learning model for dialogue routing can be improved.

FIG.1illustrates a block diagram of an example, non-limiting system100that facilitates a dialogue system based on contextual information in accordance with one or more embodiments described herein. In various embodiments, the system100can be a system associated with technologies such as, but not limited to, dialogue system technologies, human-computer dialogue system technologies, human-computer dialogue management technologies, conversational computing system technologies, chatbox system technologies, digital assistant technologies, digital concierge technologies, cloud computing technologies, mobile enterprise technologies, natural language processing technologies, natural language understanding technologies, artificial intelligence technologies, machine learning technologies, computer technologies, server technologies, server/client technologies, internet technology technologies, information technologies, digital technologies, data processing technologies, and/or other computer technologies. The system100can employ hardware and/or software to solve problems that are highly technical in nature, that are not abstract and that cannot be performed as a set of mental acts by a human. Further, some of the processes performed may be performed by one or more specialized computers (e.g., one or more specialized processing units, a specialized computer with a dialogue component, etc.) for carrying out defined tasks related to machine learning, dialogue systems, dialogue routing and/or one or more other technologies. The system100and/or components of the system can be employed to solve new problems that arise through advancements in technologies mentioned above, and/or computer architecture, and the like. One or more embodiments of the system100can provide technical improvements to dialogue systems, human-computer dialogue systems, human-computer dialogue management systems, conversational computing systems, chatbox systems, digital assistant systems, digital concierge systems, cloud computing systems, mobile enterprise systems, natural language processing systems, natural language understanding systems, artificial intelligence systems, machine learning systems, computer systems, server systems, server/client systems, internet technology systems, information systems, digital systems, data processing systems, and/or other computer systems. One or more embodiments of the system100can also provide technical improvements to a processing unit (e.g., a processor) associated with a dialogue skill routing process by improving processing performance of the processing unit, improving processing efficiency of the processing unit, and/or reducing an amount of time for the processing unit to perform a dialogue skill routing process.

In the embodiment shown inFIG.1, the system100can include a dialogue component102. As shown inFIG.1, the dialogue component102can include a contextual information component104and a dialogue routing component106. Aspects of the dialogue component102can constitute machine-executable component(s) embodied within machine(s), e.g., embodied in one or more computer readable mediums (or media) associated with one or more machines. Such component(s), when executed by the one or more machines, e.g., computer(s), computing device(s), virtual machine(s), etc. can cause the machine(s) to perform the operations described. In an aspect, the dialogue component102can also include memory108that stores computer executable components and instructions. Furthermore, the dialogue component102can include a processor110to facilitate execution of the instructions (e.g., computer executable components and corresponding instructions) by the dialogue component102. As shown, the contextual information component104, the dialogue routing component106, the memory108and/or the processor110can be electrically and/or communicatively coupled to one another in one or more embodiments. In certain embodiments, the dialogue component102can be implemented on and/or in connection with a dialogue system.

The dialogue component102(e.g., the contextual information component104of the dialogue component102) can receive statement data112. The statement data112can include one or more statements associated with a user identity. In an aspect, the statement data112can be provided by a computing device. For example, a user can employ a computing device to generate the statement data112. In another aspect, the statement data112can be related to communication information. For instance, the statement data112can be provided via one or more communications generated by a computing device. In yet another aspect, the statement data112can include audio data generated by a computing device and/or textual data generated by a computing device. For example, a user can employ a computing device to provide one or more statements of the statement data112via user input (e.g., user utterance) formatted as audio data and/or textual data. The audio data can include, for example, speech data (e.g., voice data), auditory data, video data, conversation data, and/or other non-textual data. The textual data can include, for example, input data, typed data, message data, conversation data and/or other textual data. A computing device can be, for example, a user device, an electronic device, a display device, a desktop computer, a laptop computer, a smart device, a smart phone, a mobile device, a handheld device, a tablet device, a virtual reality device, a portable computing device, or another computing device associated with a display.

The contextual information component104can determine (e.g., extract) contextual information (e.g., contextual data) associated with the statement data112. The contextual information can be data that provides context to the statement data112. In an aspect, the contextual information can provide knowledge regarding the statement data112. In an embodiment, the contextual information component104can determine contextual information associated with a user identity based on the statement data112. For instance, the contextual information can include an entity, a feature, an event, a preference, a noun, a verb, a location, a name of a place, a date, a time, and/or other contextual information. In certain embodiments, the contextual information component104can determine the contextual information associated with the statement data112via one or more NLP techniques and/or one or more NLU techniques. For example, the contextual information component104can employ a language model associated with NLP and/or a language model associated with NLP to extract the contextual information from the statement data112. Additionally or alternatively, the contextual information component104can determine the contextual information based on non-textual data related to a user identity that provides the statement data112. The non-textual data can include, for example, a user location associated with the user identity, a location associated with the computing device, a user profile associated with the user identity, historical data associated with the user identity and/or other non-textual data not included in the statement data112. In an example, the contextual information component104can determine the contextual information based on location data indicative of a location associated with a computing device that provides the statement data112. Additionally or alternatively, the contextual information component104can determine the contextual information based on user profile data stored in the computing device that provides the statement data112.

In an embodiment, the contextual information component104can additionally or alternatively determine intent information (e.g., intent data) associated with the statement data112. The intent information can be indicative of one or more intents associated with the statement data112. For instance, the intent information can be indicative of a classification for one or more intents in the one or more statements associated with the statement data112. In certain embodiments, the contextual information component104can determine the intent information associated with the statement data112based on one or more machine learning techniques. For example, the contextual information component104can determine the intent information associated with the statement data112based on one or more machine learning algorithms and/or one or more deep learning. Additionally or alternatively, in certain embodiments, the contextual information component104can determine the intent information associated with the statement data112based on one or more pattern matching techniques. For instance, the contextual information component104can identify one or more patterns in the statement data112to determine the intent information associated with the statement data112. In certain embodiments, the contextual information component104can determine a first classification for the statement data112and a second classification for the contextual information. For example, the contextual information can be associated with a different classification than data (e.g., a phrase) included in the statement data112.

The dialogue routing component106can generate a path traversal for a dialogue system to facilitate generation of a response to the statement data112by the dialogue system. For example, the dialogue routing component106can generate a path traversal for a dialogue system to facilitate generation of a response to one or more statements included in the statement data112. The dialogue system can be a human-computer dialogue system, a human-computer dialogue management system, a conversational computing system, a chatbox system, a digital assistant system, a digital concierge system, and/or another type of dialogue system to facilitate a human-computer interaction (e.g., a human-computer conversation). In certain embodiments, the dialogue system can receive the statement data112. The dialogue routing component106can generate the path traversal based on the contextual information. Additionally or alternatively, the dialogue routing component106can generate the path traversal based on the intent information. The path traversal can be a path along a dialogue skill route to route the statement data112to a skill associated with the dialogue system. For example, the statement data112can be directed along the path to provide an optimal path traversal to a skill associated with the dialogue system. A skill associated with the dialogue system can be, for example, a model (e.g., a machine learning model, a generative model, etc.) that generates a response (e.g., an answer) in response to the statement data112. In an aspect, the dialogue routing component106can generate dialogue routing data114that includes at least the path traversal for the statement data112. In certain embodiments, the dialogue routing component106can generate a machine learning model associated with the path traversal based on the contextual information and/or the intent information. Furthermore, the dialogue routing data114can additionally or alternatively include the machine learning model associated with the path traversal. In certain embodiments, the dialogue routing component106can route information associated with the statement data112to a skill for the dialogue system based on the contextual information and/or the intent information. For instance, the dialogue routing component106can route information associated with the statement data112to a skill for the dialogue system based on the dialogue routing data (e.g., the path traversal and/or the machine learning model associated with the path traversal). As such, the dialogue system can employ the contextual information and/or the intent information associated with the statement data112to generate a response to a phrase associated with the statement data112. For example, the dialogue system can employ the contextual information and/or the intent information associated with the statement data112to generate a response to a question associated with the statement data112.

It is to be appreciated that the dialogue component102(e.g., the contextual information component104and/or the dialogue routing component106) performs a dialogue skill routing process and/or a machine learning process that cannot be performed by a human (e.g., is greater than the capability of a single human mind). For example, an amount of data processed, a speed of processing of data and/or data types processed by dialogue component102(e.g., the contextual information component104and/or the dialogue routing component106) over a certain period of time can be greater, faster and different than an amount, speed and data type that can be processed by a single human mind over the same period of time. The dialogue component102(e.g., the contextual information component104and/or the dialogue routing component106) can also be fully operational towards performing one or more other functions (e.g., fully powered on, fully executed, etc.) while also performing the above-referenced dialogue skill routing process and/or a machine learning process. Moreover, the dialogue routing data114generated by the dialogue component102(e.g., the contextual information component104and/or the dialogue routing component106) can include information that is impossible to obtain manually by a user. For example, a type of information included in the dialogue routing data114can be more complex than information obtained manually by a user.

Additionally, it is to be appreciated that the system100can provide various advantages as compared to conventional dialogue system techniques. The system100can also provide various solutions to problems associated with conventional dialogue system techniques. For instance, performance for routing the statement data112to a corresponding skill of a dialogue system can be improved by employing the system100. Furthermore, accuracy of data generated by a machine learning model associated with the dialogue routing data114can be improved. Moreover, quality of data generated by a machine learning model associated with the dialogue routing data114can be improved by employing the system100.

FIG.2illustrates a block diagram of an example, non-limiting system200in accordance with one or more embodiments described herein. Repetitive description of like elements employed in other embodiments described herein is omitted for sake of brevity.

The system200includes the dialogue component102. The dialogue component102can include the contextual information component104, the dialogue routing component106, a communication component202, the memory108and/or the processor110. The communication component202can facilitate obtaining the statement data112. Additionally or alternatively, the communication component202can facilitate transmission of a response associated with the statement data112. In an embodiment, the communication component202can obtain the statement data112from a computing device. The computing device can be a user device, an electronic device, a display device, a desktop computer, a laptop computer, a smart device, a smart phone, a mobile device, a handheld device, a tablet device, a virtual reality device, a portable computing device, or another computing device associated with a display. In an embodiment, the communication component202can obtain the statement data112based on audio data received by the computing device and/or generated by the computing device. For example, the communication component202can obtain the statement data112based on speech data (e.g., voice data), auditory data, video data, conversation data, and/or other non-textual data received by the computing device and/or generated by the computing device. In certain embodiment, the communication component202can obtain the statement data112based on audio data received by a recording device (e.g., a microphone) of the computing device. In another embodiment, the communication component202can obtain the statement data112based on textual data received by the computing device and/or generated by the computing device. For example, the communication component202can obtain the statement data112based on input data, typed data, message data, conversation data and/or other textual data received by the computing device and/or generated by the computing device. In certain embodiment, the communication component202can obtain the statement data112based on textual data received by a user interface (e.g., a graphical user interface) of the computing device.

In yet another embodiment, the communication component202can generate audio data associated with a response (e.g., an answer) related to the statement data112. For example, the communication component202can generate speech data (e.g., voice data), auditory data, video data, conversation data, and/or other non-textual data associated with a response (e.g., an answer) related to the statement data112. Additionally or alternatively, the communication component202can generate textual data associated with a response (e.g., an answer) related to the statement data112. For example, the communication component202can generate output data, message data, conversation data and/or other textual data associated with a response (e.g., an answer) related to the statement data112. In certain embodiments, the communication component202can facilitate presentation of at least a portion of the audio data and/or the textual data via a user interface (e.g., a graphical user interface) of the computing device associated with the statement data112. Additionally or alternatively, the communication component202can facilitate presentation of at least a portion of the audio data and/or the textual data via an output device (e.g., a speaker) of the computing device associated with the statement data112.

Additionally, it is to be appreciated that the system200can provide various advantages as compared to conventional dialogue system techniques. The system200can also provide various solutions to problems associated with conventional dialogue system techniques. For instance, performance for routing the statement data112to a corresponding skill of a dialogue system can be improved by employing the system200. Furthermore, accuracy of data generated by a machine learning model associated with the dialogue routing data114can be improved. Moreover, quality of data generated by a machine learning model associated with the dialogue routing data114can be improved by employing the system200.

FIG.3illustrates a block diagram of an example, non-limiting system300in accordance with one or more embodiments described herein. Repetitive description of like elements employed in other embodiments described herein is omitted for sake of brevity.

The system300includes the contextual information component104, the dialogue routing component106, the communication component202, the memory108and/or the processor110. In the embodiment shown inFIG.3, the dialogue routing component106can include a machine learning component302. The machine learning component302can generate a model (e.g., a machine learning model) associated with the dialogue routing data114. For example, the machine learning component302can generate a model (e.g., a machine learning model) to facilitate routing the statement data112to a skill of the dialogue system. In one example, the machine learning component302can generate a classification model to infer a correct skill for the statement data112. In certain embodiments, the machine learning component302can generate a rule based model. For instance, the machine learning component302can generate a rule engine based on the contextual information. For example, the machine learning component302can generate a rule based model where:
g(xinput)=Prob(Sj|xinput)
h(xcontext)={hi(ei,vi)}
and
hi(ei,vi)={0,1}|S|

where |S| is the number of skills and xinputcorresponds to the statement data112and xcontextcorresponds to the contextual information. Sjcan correspond to a jth skill, where j is an integer. Furthermore, g(xinput) can be a first function and h(xcontext) can be a second function. Moreover,
xinput=[w1,w2, . . . ,wn] wherewi: ith word in user utterance
xcontext={(e1,v1), . . . ,(em,vm)} where (ei,vi): ith entity and intent in the system

In an aspect, a function ƒ(xinput, xcontext) can be combined with the function g(xinput) and rules specified by the function h(xcontext) as follows:

where the probability for each skill is composed with the rule-based function higiven entity-value pairs extracted from user statement input. In certain embodiments, the machine learning component302can additionally or alternatively generate a predictive model. For instance, the machine learning component302can generate a predictive model by embedding the contextual information and the statement data112. For example, the machine learning component302can combine a recurrent neural network model and a word embedding model to represent the statement data112and the contextual information in numerical vector. For example, the numerical model can be provided as follows:

The machine learning component302can employ machine learning and/or principles of artificial intelligence (e.g., one or more machine learning processes) to generate the dialogue routing data114. The machine learning component302can perform learning explicitly or implicitly with respect to learning one or more patterns, one or more inferences, one or more correlations, one or more features and/or information related to the statement data112and/or the contextual data. In an aspect, the machine learning component302can learn one or more patterns, one or more inferences, one or more correlations, one or more features and/or information related to the statement data112and/or the contextual data based on classifications, correlations, inferences and/or expressions associated with principles of artificial intelligence. For instance, the machine learning component302can employ an automatic classification system and/or an automatic classification process to learn one or more patterns, one or more inferences, one or more correlations, one or more features and/or information related to the statement data112and/or the contextual data. In one example, the machine learning component302can employ a probabilistic and/or statistical-based analysis (e.g., factoring into the analysis utilities and costs) to learn and/or generate inferences with respect to the statement data112and/or the contextual data. In an aspect, the machine learning component302can include an inference component (not shown) that can further enhance automated aspects of the machine learning component302utilizing in part inference-based schemes to learn one or more patterns, one or more inferences, one or more correlations, one or more features and/or information related to the statement data112and/or the contextual data.

The machine learning component302can employ any suitable machine-learning based techniques, statistical-based techniques and/or probabilistic-based techniques. For example, the machine learning component302can employ deep learning, expert systems, fuzzy logic, SVMs, Hidden Markov Models (HMMs), greedy search algorithms, rule-based systems, Bayesian models (e.g., Bayesian networks), neural networks, other non-linear training techniques, data fusion, utility-based analytical systems, systems employing Bayesian models, etc. In another aspect, the machine learning component302can perform a set of machine learning computations associated with learning one or more patterns, one or more inferences, one or more correlations, one or more features and/or information related to the statement data112and/or the contextual data. For example, the machine learning component302can perform a set of clustering machine learning computations, a set of logistic regression machine learning computations, a set of decision tree machine learning computations, a set of random forest machine learning computations, a set of regression tree machine learning computations, a set of least square machine learning computations, a set of instance-based machine learning computations, a set of regression machine learning computations, a set of support vector regression machine learning computations, a set of k-means machine learning computations, a set of spectral clustering machine learning computations, a set of rule learning machine learning computations, a set of Bayesian machine learning computations, a set of deep Boltzmann machine computations, a set of deep belief network computations, and/or a set of different machine learning computations to learn one or more patterns, one or more inferences, one or more correlations, one or more features and/or information related to the statement data112and/or the contextual data.

Additionally, it is to be appreciated that the system300can provide various advantages as compared to conventional dialogue system techniques. The system300can also provide various solutions to problems associated with conventional dialogue system techniques. For instance, performance for routing the statement data112to a corresponding skill of a dialogue system can be improved by employing the system300. Furthermore, accuracy of data generated by a machine learning model associated with the dialogue routing data114can be improved. Moreover, quality of data generated by a machine learning model associated with the dialogue routing data114can be improved by employing the system300.

FIG.4illustrates a block diagram of an example, non-limiting system400in accordance with one or more embodiments described herein. Repetitive description of like elements employed in other embodiments described herein is omitted for sake of brevity.

The system400includes a computing device402and a dialogue system404. The dialogue system404can include the dialogue component102. In an embodiment, the dialogue component102can include the contextual information component104, the dialogue routing component106, the communication component202, the machine learning component302, the memory108and/or the processor110. In certain embodiments, the dialogue system404can be a server system. In certain embodiments, the dialogue system404can be implemented in a network computing environment (e.g., a cloud computing environment). The dialogue system404can be communicatively coupled to the computing device402via a network406. The network406can be a communication network, a wireless network, a wired network, an internet protocol (IP) network, a voice over IP network, an internet telephony network, a mobile telecommunications network or another type of network. The computing device402can be configured to interact with a user (e.g., a user identity). For example, the computing device402can be configured to obtain the statement data112. Additionally or alternatively, the computing device402can be configured to present a response (e.g., an answer) related to the statement data112. The computing device402can be a user device, an electronic device, a display device, a desktop computer, a laptop computer, a smart device, a smart phone, a mobile device, a handheld device, a tablet device, a virtual reality device, a portable computing device, or another computing device associated with a display. In certain embodiments, the computing device402can transmit data (e.g., at least a portion of the statement data112) to the dialogue system404via the network306. For example, in certain embodiments, the computing device402can transmit data (e.g., at least a portion of the statement data112) to the dialogue component102of the dialogue system404via the network406. Additionally or alternatively, the computing device402can receive data (e.g., at least a portion of the response related to the statement data112) from the dialogue system404via the network406. For example, in certain embodiments, the computing device402can receive data (e.g., at least a portion of the response related to the statement data112) from the dialogue component102of the dialogue system404via the network406. In certain embodiments, the computing device402can be communicatively coupled to an application programming interface of the dialogue system404.

Additionally, it is to be appreciated that the system400can provide various advantages as compared to conventional dialogue system techniques. The system400can also provide various solutions to problems associated with conventional dialogue system techniques. For instance, performance for routing the statement data112to a corresponding skill of the dialogue system404can be improved by employing the system400. Furthermore, accuracy of data generated by a machine learning model associated with dialogue routing can be improved. Moreover, quality of data generated by a machine learning model associated with dialogue routing can be improved by employing the system400.

FIG.5illustrates a block diagram of an example, non-limiting system500in accordance with one or more embodiments described herein. Repetitive description of like elements employed in other embodiments described herein is omitted for sake of brevity.

The system500includes a dialogue system502. The dialogue system502can correspond to at least a portion of the dialogue system404. The dialogue system502can include a routing node504. The routing node504can route the statement data112to a skill from a set of skills5061-N, where N is an integer. The set of skills5061-Ncan include, for example, two or more skills. In an aspect, the routing node504can be a routing node in a path traversal to the set of skills5061-N. For example, the routing node504can be a routing node in a path along a dialogue skill route that includes multiple routing nodes to route the statement data112to a particular skill from the set of skills5061-N. In an embodiment, the dialogue system502can employ a machine learning model508to facilitate routing the statement data112to a skill from a set of skills5061-Nvia the routing node504. A skill from the set of skills5061-Ncan be, for example, a model (e.g., a machine learning model, a generative model, etc.) that generates a response (e.g., an answer) in response to the statement data112. For instance, a skill from the set of skills5061-Ncan be a software program that represents a particular capability of a task and/or an answer in a specific domain. Furthermore, in an embodiment, a user associated with a computing device (e.g., the computing device402) can interact with a skill from the set of skills5061-Nto automate a task, make a decision and/or control a hardware device. In a non-limiting embodiment, the skill5061can provide a first skill associated with a digital concierge platform, the skill5062can provide a second skill associated with the digital concierge platform. In another non-limiting embodiment, the skill5061can provide a first skill associated with control of an electronic device, the skill5062can provide a second skill associated with control of the electronic device. In yet another non-limiting embodiment, the skill5061can provide a first skill associated with control of an internet of things device, the skill5062can provide a second skill associated with control of the internet of things device. In yet another non-limiting embodiment, the skill5061can provide a first skill associated with providing information (e.g., providing a weather forecast, etc.), the skill5062can provide a second skill associated with providing information (e.g., providing weather forecast, etc.). In an aspect, the skill5061can be a first model associated with a first skill that generates a first response to the statement data112, the skill5062can be a second model associated with a second skill that generates a second response to the statement data112, the skill506Ncan be an Nth model associated with an Nth skill that generates an Nth response to the statement data112, etc.

The machine learning model508can be generated by the dialogue component102, for example. In an embodiment, the machine learning model508can be a model included in the dialogue routing data114. The machine learning model508can be, for example, a classification model to classify infer a skill from the set of skills5061-Nfor the statement data112. In an embodiment, the dialogue component102can generate the machine learning model508based on the statement data112and the contextual information510. In certain embodiments, the dialogue component102can additionally or alternatively generate the machine learning model508based on intent information associated with the statement data112. The contextual information510can be data that provides context to the statement data112. In an aspect, the contextual information510can provide knowledge regarding the statement data112. In an embodiment, the contextual information component104can determine contextual information510based on the statement data112. For instance, the contextual information510can include an entity, a feature, an event, a preference, a noun, a verb, a location, a name of a place, a date, a time, and/or other contextual information. In certain embodiments, the contextual information component104can determine the contextual information510via one or more NLP techniques and/or one or more NLU techniques. For example, the contextual information component104can employ a language model associated with NLP and/or a language model associated with NLP to extract the contextual information510from the statement data112. Additionally or alternatively, the contextual information component104can determine the contextual information510based on non-textual data related to a user identity that provides the statement data112. The non-textual data can include, for example, a user location associated with the user identity, a location associated with the computing device402, a user profile associated with the user identity, historical data associated with the user identity and/or other non-textual data not included in the statement data112. In an example, the contextual information component104can determine the contextual information510based on location data indicative of a location associated with a computing device402. Additionally or alternatively, the contextual information component104can determine the contextual information510based on user profile data stored in the computing device402. In an aspect, the contextual information510can be dynamic data. Furthermore, the contextual information510can include session context associated with a dialogue session, built-in shared context associated with contextual information available to two or more skills in the set of skills5061-N, skill context associated with a conversation within a particular skill from the set of skills5061-N, and/or utterance context associated with information regarding a user identity and/or a computing device (e.g., the computing device402) during capture of the statement data112. In an embodiment, the dialogue system502can include the dialogue component102. In another embodiment, the dialogue system502can be communicatively coupled to the dialogue component102. As such, the dialogue system502can dialogue system can provide multiple skills by employing the statement data112(e.g., user utterance) as well as the contextual information510.

Additionally, it is to be appreciated that the system500can provide various advantages as compared to conventional dialogue system techniques. The system500can also provide various solutions to problems associated with conventional dialogue system techniques. For instance, performance for routing the statement data112to a corresponding skill from the set of skills5061-Nof the dialogue system502can be improved by employing the system500. Furthermore, accuracy of data generated by a machine learning model associated with dialogue routing can be improved. Moreover, quality of data generated by a machine learning model associated with dialogue routing can be improved by employing the system500.

FIG.6illustrates a block diagram of an example, non-limiting system600in accordance with one or more embodiments described herein. Repetitive description of like elements employed in other embodiments described herein is omitted for sake of brevity.

The system600includes an example dialogue routing process602. The dialogue routing process602includes a step604where user input is provided. For example, the user input at the step604can correspond to the statement data112. Furthermore, the user input at the step604can include a phrase such as, for example, “I want to fly to someplace for my family vacation.” The dialogue routing process602also includes a step606where candidate skills are determined. For instance, the candidate skills at the step606can include two or more skills from the set of skills5061-Nto potentially route the user input (e.g., the statement data112). In an example, the candidate skills at the step606can include a first skill “FLIGHT_REQUEST” and a second skill “DESTINATION_REQUEST.” Furthermore, the dialogue routing process602also includes a step608where contextual information is determined. For example, the contextual information determined at the step608can correspond to “family vacation.” In an embodiment, the contextual information at the step608can be determined based on a preference (e.g., a user preference). The dialogue routing process602also includes a step610where the user input (e.g., the statement data112) is routed to a particular skill from the candidate skill determined at the step606. For example, at the step610, the user input (e.g., the statement data112) can be routed to the second skill “DESTINATION_REQUEST.”

FIG.7illustrates a block diagram of an example, non-limiting system700in accordance with one or more embodiments described herein. Repetitive description of like elements employed in other embodiments described herein is omitted for sake of brevity.

The system700includes an example dialogue routing process702. The dialogue routing process702includes a step704where user input is provided. For example, the user input at the step704can correspond to the statement data112. Furthermore, the user input at the step704can include a phrase such as, for example, “I'm going to Chicago this weekend.” The dialogue routing process702also includes a step706where candidate skills are determined. For instance, the candidate skills at the step706can include two or more skills from the set of skills5061-Nto potentially route the user input (e.g., the statement data112). In an example, the candidate skills at the step706can include a first skill “FLIGHT_REQUEST” and a second skill “ATTRACTION_REQUEST.” Furthermore, the dialogue routing process702also includes a step708where contextual information is determined. For example, the contextual information determined at the step708can correspond to “Chicago.” In an embodiment, the contextual information at the step708can be determined based on a user location. The dialogue routing process702also includes a step710where the user input (e.g., the statement data112) is routed to a particular skill from the candidate skill determined at the step706. For example, at the step710, the user input (e.g., the statement data112) can be routed to the second skill “ATTRACTION_REQUEST.”

FIG.8illustrates a flow diagram of an example, non-limiting computer-implemented method800that facilitates a dialogue system based on contextual information in accordance with one or more embodiments described herein. Repetitive description of like elements employed in other embodiments described herein is omitted for sake of brevity.

At802, contextual information associated with a user identity is determined, by a system operatively coupled to a processor (e.g., by the contextual information component104), based on a statement related to communication information received by a computing device associated with the user identity. The contextual information can be data that provides context to the statement. In an aspect, the contextual information can provide knowledge regarding the statement. In an embodiment, the contextual information can be determined based on the statement. For instance, the contextual information can include an entity, a feature, an event, a preference, a noun, a verb, a location, a name of a place, a date, a time, and/or other contextual information. In certain embodiments, the contextual information can be determined via one or more NLP techniques and/or one or more NLU techniques. For example, a language model associated with NLP and/or a language model associated with NLP can be employed to extract the contextual information from the statement. Additionally or alternatively, the contextual information can be determined based on non-textual data related to a user identity that provides the statement. The non-textual data can include, for example, a user location associated with the user identity, a location associated with the computing device, a user profile associated with the user identity, historical data associated with the user identity and/or other non-textual data not included in the statement. In an example, the contextual information can be determined based on location data indicative of a location associated with a computing device. Additionally or alternatively, the contextual information can be determined based on user profile data stored in the computing device. In an aspect, the contextual information can be dynamic data. Furthermore, the contextual information can include session context associated with a dialogue session, built-in shared context associated with contextual information available to two or more skills, skill context associated with a conversation within a particular skill, and/or utterance context associated with information regarding a user identity and/or a computing device during capture of the statement.

At804, a path traversal for a dialogue system is generated, by the system (e.g., by the dialogue routing component106), based on the contextual information. Additionally or alternatively, the path traversal for the dialogue system can be generated based on statement input provided to the dialogue system. The dialogue system can be a human-computer dialogue system, a human-computer dialogue management system, a conversational computing system, a chatbox system, a digital assistant system, a digital concierge system, and/or another type of dialogue system to facilitate a human-computer interaction (e.g., a human-computer conversation). The path traversal can be a path along a dialogue skill route to route the statement to a skill associated with the dialogue system. For example, the statement can be directed along the path to provide an optimal path traversal to a skill associated with the dialogue system. A skill associated with the dialogue system can be, for example, a model (e.g., a machine learning model, a generative model, etc.) that generates a response (e.g., an answer) in response to the statement. In certain embodiments, the path traversal for the dialogue system can be additionally generated based on intent information. The intent information can be indicative of one or more intents associated with the statement. For instance, the intent information can be indicative of a classification for one or more intents in the statement.

At806, a response to the statement via the dialogue system is generated, by the system (e.g., by the communication component202), based on the path traversal. The response can be an answer related to the statement. Furthermore, the response can include audio data and/or textual data. In an embodiment, the skill (e.g., the skill associated with the path traversal for the dialogue system) that receives the statement can generate the response. For example, the response can be output generated by the model associated with the skill.

At808, it is determined whether a new statement is received by the dialogue system. If yes, the computer-implemented method800returns to802. If not, the computer-implemented method800returns to808to monitor for a new statement received by the dialogue system. In certain embodiments, the computer-implemented method800can additionally or alternatively include generating, by the system (e.g., by the dialogue routing component106), a machine learning model associated with the path traversal for the dialogue system based on the contextual information. In certain embodiments, the computer-implemented method800can additionally or alternatively include routing, by the system (e.g., by the dialogue routing component106), information associated with the statement to a skill for the dialogue system based on the contextual information. In certain embodiments, the computer-implemented method800can additionally or alternatively include obtaining, by the system (e.g., by the communication component202), the statement based on audio data received by the computing device. In certain embodiments, the computer-implemented method800can additionally or alternatively include obtaining, by the system (e.g., by the communication component202), the statement based on textual data received by the computing device. In certain embodiments, the generating the path traversal comprises improving performance of the dialogue system.

Moreover, because at least determining contextual information, generating a path traversal, generating a response to a statement via a dialogue system, etc. are established from a combination of electrical and mechanical components and circuitry, a human is unable to replicate or perform processing performed, for example, by the dialogue component102(e.g., the contextual information component104, the dialogue routing component106, the communication component202, and/or the machine learning component302) disclosed herein. For example, a human is unable determine contextual information using NLP and/or NLU, generate a path traversal using machine learning, generate a response to a statement via a dialogue system, etc.

With reference again toFIG.9, the example environment900for implementing various embodiments of the aspects described herein includes a computer902, the computer902including a processing unit904, a system memory906and a system bus908. The system bus908couples system components including, but not limited to, the system memory906to the processing unit904. The processing unit904can be any of various commercially available processors. Dual microprocessors and other multi-processor architectures can also be employed as the processing unit904.

The system bus908can be any of several types of bus structure that can further interconnect to a memory bus (with or without a memory controller), a peripheral bus, and a local bus using any of a variety of commercially available bus architectures. The system memory906includes ROM910and RAM912. A basic input/output system (BIOS) can be stored in a non-volatile memory such as ROM, erasable programmable read only memory (EPROM), EEPROM, which BIOS contains the basic routines that help to transfer information between elements within the computer902, such as during startup. The RAM912can also include a high-speed RAM such as static RAM for caching data.

The computer902further includes an internal hard disk drive (HDD)914(e.g., EIDE, SATA), one or more external storage devices916(e.g., a magnetic floppy disk drive (FDD)916, a memory stick or flash drive reader, a memory card reader, etc.) and an optical disk drive920(e.g., which can read or write from a CD-ROM disc, a DVD, a BD, etc.). While the internal HDD914is illustrated as located within the computer902, the internal HDD914can also be configured for external use in a suitable chassis (not shown). Additionally, while not shown in environment900, a solid state drive (SSD) could be used in addition to, or in place of, an HDD914. The HDD914, external storage device(s)916and optical disk drive920can be connected to the system bus908by an HDD interface924, an external storage interface926and an optical drive interface928, respectively. The interface924for external drive implementations can include at least one or both of Universal Serial Bus (USB) and Institute of Electrical and Electronics Engineers (IEEE) 1394 interface technologies. Other external drive connection technologies are within contemplation of the embodiments described herein.

A number of program modules can be stored in the drives and RAM912, including an operating system930, one or more application programs932, other program modules934and program data936. All or portions of the operating system, applications, modules, and/or data can also be cached in the RAM912. The systems and methods described herein can be implemented utilizing various commercially available operating systems or combinations of operating systems.

Computer902can optionally comprise emulation technologies. For example, a hypervisor (not shown) or other intermediary can emulate a hardware environment for operating system930, and the emulated hardware can optionally be different from the hardware illustrated inFIG.9. In such an embodiment, operating system930can comprise one virtual machine (VM) of multiple VMs hosted at computer902. Furthermore, operating system930can provide runtime environments, such as the Java runtime environment or the .NET framework, for applications932. Runtime environments are consistent execution environments that allow applications932to run on any operating system that includes the runtime environment. Similarly, operating system930can support containers, and applications932can be in the form of containers, which are lightweight, standalone, executable packages of software that include, e.g., code, runtime, system tools, system libraries and settings for an application.

A monitor946or other type of display device can be also connected to the system bus908via an interface, such as a video adapter948. In addition to the monitor946, a computer typically includes other peripheral output devices (not shown), such as speakers, printers, etc.

The computer902can operate in a networked environment using logical connections via wired and/or wireless communications to one or more remote computers, such as a remote computer(s)950. The remote computer(s)950can be a workstation, a server computer, a router, a personal computer, portable computer, microprocessor-based entertainment appliance, a peer device or other common network node, and typically includes many or all of the elements described relative to the computer902, although, for purposes of brevity, only a memory/storage device952is illustrated. The logical connections depicted include wired/wireless connectivity to a local area network (LAN)954and/or larger networks, e.g., a wide area network (WAN)956. Such LAN and WAN networking environments are commonplace in offices and companies, and facilitate enterprise-wide computer networks, such as intranets, all of which can connect to a global communications network, e.g., the Internet.

When used in a LAN networking environment, the computer902can be connected to the local network954through a wired and/or wireless communication network interface or adapter958. The adapter958can facilitate wired or wireless communication to the LAN954, which can also include a wireless access point (AP) disposed thereon for communicating with the adapter958in a wireless mode.

When used in a WAN networking environment, the computer902can include a modem960or can be connected to a communications server on the WAN956via other means for establishing communications over the WAN956, such as by way of the Internet. The modem960, which can be internal or external and a wired or wireless device, can be connected to the system bus908via the input device interface944. In a networked environment, program modules depicted relative to the computer902or portions thereof, can be stored in the remote memory/storage device952. It will be appreciated that the network connections shown are example and other means of establishing a communications link between the computers can be used.

When used in either a LAN or WAN networking environment, the computer902can access cloud storage systems or other network-based storage systems in addition to, or in place of, external storage devices916as described above. Generally, a connection between the computer902and a cloud storage system can be established over a LAN954or WAN956e.g., by the adapter958or modem960, respectively. Upon connecting the computer902to an associated cloud storage system, the external storage interface926can, with the aid of the adapter958and/or modem960, manage storage provided by the cloud storage system as it would other types of external storage. For instance, the external storage interface926can be configured to provide access to cloud storage sources as if those sources were physically connected to the computer902.

Referring now toFIG.10, an illustrative cloud computing environment1050is depicted. As shown, cloud computing environment1050includes one or more cloud computing nodes1010with which local computing devices used by cloud consumers, such as, for example, personal digital assistant (PDA) or cellular telephone1054A, desktop computer1054B, laptop computer1054C, and/or automobile computer system1054N may communicate. Nodes1010may communicate with one another. They may be grouped (not shown) physically or virtually, in one or more networks, such as Private, Community, Public, or Hybrid clouds as described hereinabove, or a combination thereof. This allows cloud computing environment1050to offer infrastructure, platforms and/or software as services for which a cloud consumer does not need to maintain resources on a local computing device. It is understood that the types of computing devices1054A-N shown inFIG.10are intended to be illustrative only and that computing nodes1010and cloud computing environment1050can communicate with any type of computerized device over any type of network and/or network addressable connection (e.g., using a web browser).

Hardware and software layer1160includes hardware and software components. Examples of hardware components include: mainframes1161; RISC (Reduced Instruction Set Computer) architecture based servers1162; servers1163; blade servers1164; storage devices1165; and networks and networking components1166. In some embodiments, software components include network application server software1167and database software1168.

Virtualization layer1170provides an abstraction layer from which the following examples of virtual entities may be provided: virtual servers1171; virtual storage1172; virtual networks1173, including virtual private networks; virtual applications and operating systems1174; and virtual clients1175.

Workloads layer1190provides examples of functionality for which the cloud computing environment may be utilized. Non-limiting examples of workloads and functions which may be provided from this layer include: mapping and navigation1191; software development and lifecycle management1192; virtual classroom education delivery1193; data analytics processing1194; transaction processing1195; and dialogue system software1196.