Patent ID: 12217744

DETAILED DESCRIPTION

The embodiments described herein, which have been shown and described by way of example, and many of their advantages will be understood by the foregoing description, and it will be apparent that various changes can be made in the form, construction, and arrangement of the components without departing from the disclosed subject matter or without sacrificing one or more of its advantages. Indeed, the described forms of these embodiments are merely explanatory. These embodiments are susceptible to various modifications and alternative fonus, and the following claims are intended to encompass and include such changes and not be limited to the particular forms disclosed, but rather to cover all modifications, equivalents, and alternatives falling with the spirit and scope of this disclosure.

FIG.1is a diagram of an example of a system100, which includes a dialogue framework200that leverages neural commonsense reasoning for task-oriented dialogue. The dialogue framework200is configured to incorporate external knowledge into a task-oriented dialogue in a scalable manner. For example, the dialogue framework200is configured to leverage neural event-centric knowledge via encoding based on generative knowledge graphs, thereby being scalable to represent commonsense knowledge, which is broad and diverse. Moreover, the dialogue framework200is advantageously configured to use the neural event-centric commonsense knowledge as an intermediate hop along a multi-hop reasoning path to guide the input towards the output. In addition, the dialogue framework200includes an encoder-decoder architecture, which is at least domain agnostic, language agnostic, and task agnostic. Furthermore, the dialogue framework200is configured to infer event-centric knowledge (e.g., goal data) from the input (e.g., input data20and situational data30) to ensure that the output is aligned along a same psychological/social relation (e.g., “wants” relation) as the input, thereby providing meaningful human-machine interaction. Moreover, the dialogue framework200is configured to generate output, such as event-centric knowledge (e.g., goal data), which provides additional supervision during the training process and provides insight into an intermediate step of the dialogue framework200during the testing/employment process.

Referring toFIG.1, the system100includes at least a processing system110. The processing system110includes at least an electronic processor, a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor, a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), any suitable processing technology, or any number and combination thereof. The processing system110is operable to execute the dialogue framework200, as described herein.

The system100includes at least a memory system120, which is operatively connected to the processing system110. In an example embodiment, the memory system120includes at least one non-transitory computer readable medium, which is configured to store and provide access to various data to enable at least the processing system110to perform the operations and functions of the dialogue framework200, as disclosed herein. In an example embodiment, the memory system120comprises a single computer readable storage device or a plurality of computer readable storage devices. The memory system120can include electrical, electronic, magnetic, optical, semiconductor, electromagnetic, or any suitable storage technology that is operable with the system100. For instance, in an example embodiment, the memory system120can include random access memory (RAM), read only memory (ROM), flash memory, a disk drive, a memory card, an optical storage device, a magnetic storage device, a memory module, any suitable type of memory device, or any number and any combination thereof. With respect to the processing system110and/or other components of the system100, the memory system120is local, remote, or a combination thereof (e.g., partly local and partly remote). For example, the memory system120can include at least a cloud-based storage system (e.g. cloud-based database system), which is remote from the processing system110and/or other components of the system100.

The memory system120includes at least the dialogue framework200and other relevant data160, which are stored thereon and accessible therefrom. The dialogue framework200includes computer readable data that, when executed by the processing system110, is configured to generate a system response80upon receiving input data20, which is task-oriented. The computer readable data includes instructions, code, routines, various related data, any suitable software component/technology, or any number and combination thereof. The dialogue framework200and/or the other relevant data160may include training data, which is used to train, test, and develop any of the machine learning models described herein. The dialogue framework200and/or other relevant data160may also include various annotations, various loss data, various parameter data, as well as any related data that enables the dialogue framework200to be trained, executed, or both trained and executed to perform the functions as described herein while meeting certain performance criteria. The other relevant data160may include any type of situational data, which provides context for input data20within the same timeframe. As a non-limiting example, the other relevant data160may include weather data, traffic data, environment data, etc. The other relevant data160also includes various data (e.g. operating system, etc.), which enables the system100to perform the functions as discussed herein.

In an example embodiment, as shown inFIG.1, the system100is configured to include at least one human machine interface (HMI) system130. The HMI system130includes at least one user interface, at least one HMI device, or any umber of combination thereof. For example, the HMI system130may include a visual user interface, an auditory user interface, a tactile user interface, any suitable user interface, or any number and combination thereof. The HMI system130is operable to communicate with the I/O system140. The HMI system130is also operable to communicate with one or more other components (e.g., processing system110, memory system120, etc.) of the system100. More specifically, for example, the processing system110is configured to obtain or extract input data20directly or indirectly from the HMI system130, the memory system120, and/or the I/O system140. In response to the input data20, the processing system110is configured to provide the I/O system140and/or the HMI system130with a system response80, which is generated via the dialogue framework200.

In an example embodiment, as shown inFIG.1, the system100is configured to include at least one sensor system150. The sensor system150includes one or more sensor devices. As non-limiting examples, the sensor system150includes a global positioning system (GPS) sensor, a temperature sensor, an image sensor, a motion detection sensor, a biosensor, a tactile sensor, a sound sensor, any suitable sensing device, or any number and combination thereof. The sensor system150is configured to obtain sensor data, which provides a basis for the situational data30.

In addition, the system100includes other components that contribute to the training and/or execution of the dialogue framework200. In this regard, for example, the I/O system140may include an I/O interface and may include one or more I/O devices (e.g., microphone, keyboard device, touch display device, microphone, mouse, speaker device, etc.). Also, the system100includes other functional modules170, such as any appropriate hardware technology, software technology, or combination thereof that assist with or contribute to the functioning of the system100and/or the dialogue framework200. For example, the other functional modules170include communication technology that enables components of the system100to communicate with each other as described herein. In general, the system100is configured to provide training to the machine learning models of the dialogue framework200. The system100is configured to deploy/employ the dialogue framework200for use in another system (e.g.FIG.6). The system100is also configured to employ and run the dialogue framework200for real-time use.

FIG.2is a conceptual diagram that provides a high-level overview of a non-limiting example of task-oriented dialogue involving the dialogue framework200. As shown inFIG.2, the task-oriented dialogue begins when a user10provides the input data20of “Can you turn on the air-conditioning?” to the dialogue framework200. In this case, the input data20relates to a task of turning on an air-conditioning unit. The dialogue framework200is configured to receive the input data20as text data or character data even though the input data20may have been obtained by the system100in a different form (e.g., speech, motion detection, image data, etc.). InFIG.2, for instance, the user10provides an utterance, which is converted, via the system100, into text data to be provided as input data20for the dialogue framework200.

In addition, the dialogue framework200is configured to obtain situational data30. The situational data30provides context for the input data20. In this regard, the situational data30includes an objective description of a circumstance in which the input data20was made. For instance, inFIG.2, the situational data30includes the following, objective description: “The user is in a room. The room temperature is high.” The dialogue framework200is configured to obtain the situational data30from one or more sensors, one or more data sources (e.g., databases, servers, applications, etc.), any suitable system, or any number and combination thereof. As a non-limiting example, inFIG.2, the dialogue framework200receives location data from a location sensor and temperature data from a temperature sensor, whereby the location data provides a location of the user10around the time of the utterance and whereby the temperature data provides the temperature at the location of the user10around the time of the utterance. The system100is configured to convert the sensor data into text data and/or character data and provide this text data and/or character data to the dialogue framework200as the situational data30.

Also, the dialogue framework200is configured to include a set of candidate responses50. The dialogue framework200is configured to perform the task of response selection by choosing a best response60from among the set of candidate responses50. The set of candidate responses50include a number of predetermined responses, which relate to the application in which the dialogue framework200is employed. InFIG.2, the dialogue framework200is applied to a hotel application and thus provides a number of candidate responses that relate to hotel services of one or more hotels. As non-limiting examples, the set of candidate responses50include (1) “Would you like something cold to drink?” as a candidate response, (2) “Would you like to reserve the swimming pool?” as a candidate response, (3) “Would you like to reserve the shuttle service?” as a candidate response, and (4) “Would you like to reserve the laundry service?” as a candidate response, as well as a number of other candidate responses. In this regard, the set of candidate responses50may include any suitable number of candidate responses, where each candidate response provides a suitable response (e.g., recommendation) for the current application. This response selection feature is advantageous in ensuring that the application only provides responses, which are appropriate and which reside within a scope of the current application (e.g., hotel application).

The dialogue framework200is configured to evaluate each candidate response from the set of candidate responses50in order to choose the best response60for addressing the input data20. The dialogue framework200is configured to select the best response60from among the set of candidate responses50based on an evaluation process (e.g., a ranking process) involving, for example, likelihood scores as determined with respect to neural commonsense reasoning. More specifically, the dialogue framework200is configured to determine or infer goal data40based on the input data20and the situational data30. In this regard, the dialogue framework200performs a first hop along a multi-hop reasoning path from the input to the output in which the first hop is defined from the input (e.g., input data20and situational data30) to the goal data40.

The dialogue framework200is trained to take into account goal data40when generating the likelihood score for each candidate response. In this regard, for example, the dialogue framework200is configured to assign a greater likelihood score to a candidate response that exhibits greater alignment with the goal data40compared to another candidate response that exhibits lesser alignment with the goal data40. For example, inFIG.2, the dialogue framework200is configured to determine that the goal data40is “to cool off” based on the neural commonsense knowledge embeddings associated with the input data20and the situational data30. In this example, the neural commonsense knowledge embeddings capture psychological and/or social types of commonsense knowledge, which may be event-based, such as goals. In this case, the dialogue framework200is configured to determine that the best response60is “Would you like something cold to drink?” because its distributed representation is related to a distributed representation of the goal data40(“to cool off”) via the relation data (e.g., “wants” relation). In this regard, the dialogue framework200performs a second hop along a multi-hop reasoning path from the input to the output in which the second hop is defined from the goal data40to the best response60. Upon determining and selecting the best response60from the set of candidate responses50based on one or more predetermined criteria (e.g. greatest likelihood score), the dialogue framework200is configured to provide the best response60as a part of the system response80.

Furthermore, the dialogue framework200is configured to include an in-domain dialogue system, which includes dialogue data70that directly addresses the input data20. For example, inFIG.2, the in-domain dialogue system is configured to communicate with one or more systems (e.g., air conditioning unit) of its network to determine a reply (e.g., “sure” or “no”) to the input data20. In addition, the in-domain dialogue system may be configured to activate one or more controls to fulfil the request of the input data20. As an example, inFIG.2, the in-domain dialogue system is configured to generate the reply of “Sure” as dialogue data70and also activate one or more controls to turn on the air conditioning unit. Upon generating the dialogue data70and upon selecting the best response60, the dialogue framework200is configured to generate a system response80that includes the dialogue data70and the best response60. InFIG.2, for instance, the dialogue framework200generates the system response80of “Sure, would you like something cold to drink?,” thereby providing a reply (e.g., “Sure”) that directly addresses the request of the input data20while also providing an additional conversational element (e.g., “would you like something cold to drink?”) that is aligned with an inferred goal (e.g., “to cool off”) of the request of the input data20(e.g., “Can you turn on the air-conditioning?”). The dialogue framework200is therefore advantageous in being able to provide the user10with a richer, more meaningful communication experience in task-oriented dialogue.

As discussed above,FIG.2illustrates a non-limiting example in which the dialogue framework200leverages goal data40to select the best response60upon receiving input data20and situational data30. Although the dialogue framework200uses goal data as an intermediate hop along a multi-hop reasoning path, the dialogue framework200is not limited to goal-oriented modeling. That is, the dialogue framework200can be trained to use any relation data to obtain corresponding commonsense reasoning data from an event-centric knowledge graph that is suitable for a particular application. In this regard, for instance, instead of goal modeling with goal data, the dialogue framework200can be trained to perform other types of data modeling with other types of commonsense reasoning data. As another example, for instance, the dialogue framework200may be trained to perform necessity modeling with necessity data. In such a case, the dialogue framework200is configured to leverage necessity data (instead of goal data) as an intermediate hop along the multi-hop reasoning path to select the best response60upon receiving input data20and situational data30. As a non-limiting example, when configured for necessity modeling and when given the input data20(e.g., “Can you tur on the air-conditioning?”) and the situational data30(e.g., “The user is in a room. The room temperature is high. The window is open.”), the dialogue framework200is configured to use the necessity data (e.g., “to turn on the air-conditioning”) to determine the best response60(e.g., “Please close the window.”), which is needed to ensure the effectiveness of turning on the air-conditioning. In this case, for example, the dialogue framework200is configured to generate the system response80of “Sure, please close the window.” As demonstrated above, the dialogue framework200is advantageous in being able to use neural event-centric commonsense reasoning data as a guide to select the best response60(and/or to generate event-centric knowledge) dynamically based on input data20and situational data30. The dialogue framework200is advantageous in providing this foundation for incorporating commonsense knowledge into task-oriented dialogue to provide a richer, more meaningful human-machine interaction.

FIG.3is a conceptual diagram that shows an architecture of the dialogue framework200according to an example embodiment. In this example, the dialogue framework200is configured for task-oriented dialogue. As shown inFIG.3, the dialogue framework200is configured to obtain input data300, situational data310, and a set of candidate responses340. In addition, the dialogue framework200is configured to generate score data350(e.g., likelihood score) for each candidate response340based on the input data300and the situational data310. The dialogue framework200is also configured to select the best response from among the set of candidate responses340with respect to one or more predetermined criteria. For instance, the dialogue framework is configured to select the best response as being the candidate response that is associated with the greatest score data350. In addition, the dialogue framework200is advantageously configured to generate goal data360to provide an indication of the commonsense reasoning data that is being used in the generation of the score data350.

The dialogue framework200includes an encoder-decoder configuration. The encoder is configured to obtain or receive the input data300and the situational data310. In an example, the encoder is configured to process concatenated data320, which includes the input data300concatenated with the situational data310. More specifically, the encoder includes at least (i) a first encoding network to provide a first encoded representation of the concatenated data320and (ii) a second encoding network to provide a second encoded representation of the concatenated data320. In this regard, the encoder is configured to provide at least two different encoded representations of the same concatenated data320. These two different encoded representations are then combined to generate concatenated data330, which includes the first encoded representation concatenated with the second encoded representation.

The first encoding network includes a token embedder210. The token embedder210is configured to encode the concatenated data320into the first encoded representation. The first encoded representation includes a first hidden representation (e.g., a first vector representation) based on a set of tokens, where each token represents a logical part (e.g. a word) of the concatenated data320. For example, the token embedder210is configured to map the concatenated data320to a number of vectors in at least one embedding space. The token embedder210is advantageously configured to ensure topical similarity with respect to features of the input data300and the situational data310. The token embedder210is configured to assist with semantics and clarify natural language ambiguities, which may occur in the input data300and the situational data310. For instance, the token embedder210ensures that the dialogue framework200is enabled to determine that “a bank” within a particular context of input data300(and/or situational data310) refers to the intended meaning of “a financial institution” instead of another meaning of “an edge of a river.” After generating the first encoded representation via the token embedder210, the dialogue framework200is configured to generate the combined encoded representation330.

The second encoding network includes a generative pre-trained knowledge encoding network220. The generative pre-trained knowledge encoding network220is an encoding component, which is extracted from a first machine learning model. For example, the first machine learning model comprises a first generative pre-trained transformer language model. The first machine learning model is pre-trained with a number of existing, symbolic commonsense knowledge bases. More specifically, for instance, the first machine learning model includes transformers, which are pre-trained to predict commonsense knowledge graphs in response to input data and situational data. In this example, the commonsense knowledge bases and the commonsense knowledge graphs include at least psychological and/or social types of event-centric knowledge (e.g., goals). The generative pre-trained knowledge encoding network220is then extracted from this first generative pre-trained transformer language model. More specifically, the encoding component of the first machine learning model is separated from the corresponding decoding component of that first machine learning model. Upon being extracted from the first machine learning model, the encoding component (i.e., the generative pre-trained knowledge encoding network220) is employed as a part of the encoder of the dialogue framework200. The generative pre-trained knowledge encoding network220is advantageous in being able to encode a given input dynamically with respect to neural event-centric commonsense reasoning even if the given input was unobserved during the pre-training.

Referring toFIG.3, when employed by the dialogue framework200, the generative pre-trained knowledge encoding network220is incorporated in parallel with the token embedder210such that the generative pre-trained knowledge encoding network220receives the same input (e.g., concatenated data320) as the token embedder210. In this regard, the generative pre-trained knowledge encoding network220may be referred to as the second encoding network of the encoder. This second encoding network is configured to encode the concatenated data320into the second encoded representation. The second encoded representation includes a second hidden representation (e.g., a second vector representation) based on neural commonsense knowledge embeddings. The encoding component is configured to generate commonsense knowledge embeddings in at least one embedding space dynamically for given input (e.g., concatenated data320inFIG.3). The commonsense knowledge embeddings are associated with psychological and social types of event-centric knowledge (e.g., goals). After generating the second encoded representation via the generative pre-trained knowledge encoding network220, the dialogue framework200is configured to generate the combined encoded representation330.

The encoder is configured to output the first encoded representation from the token embedder210and the second encoded representation from the generative pre-trained knowledge encoding network220. The dialogue framework200is configured to concatenate the first encoded representation and the second encoded representation to generate the combined encoded representation330. The encoder is operably connected to the decoder. The encoder is configured to provide the combined encoded representation330to the decoder.

The decoder includes a generative pre-trained language decoding network230, which is a decoding component that is extracted from a second machine learning model. The second machine learning model comprises a second generative pre-trained language model. Also, the second machine learning model is an autoregressive language model that includes a transformer. The second machine learning model is configured to be domain agnostic, language agnostic, and task agnostic. In this regard, for instance, the second machine learning model is pre-trained with a diverse corpus of unlabeled text. More specifically, for instance, the second machine learning model includes transformers, which are pre-trained to perform one or more tasks, such as (i) predicting event-centric knowledge (e.g., goal data) and (ii) predicting score data to select response data from among a set of candidate responses340, according to given input (e.g., input data300and situational data310). The decoding component is then extracted from this second generative pre-trained transformer language model. More specifically, the decoding component of the second generative pre-trained language model is separated from the corresponding encoding component of that second generative pre-trained language model. Upon being extracted from the second generative pre-trained language model, the generative pre-trained language decoding network230is employed as the decoder of the dialogue framework200. The generative pre-trained language decoding network230is advantageous in being able to decode a given input dynamically with respect to neural event-centric commonsense reasoning to perform one or more tasks, such as predicting score data and predicting goal data.

Referring toFIG.3, when employed by the dialogue framework200, the decoder is configured to receive the combined encoded representation330from the encoder. As aforementioned, the combined encoded representation330is a concatenation that includes the first encoded representation from the token embedder210and the second encoded representation from the generative pre-trained knowledge encoding network220. The decoder is configured to decode the combined encoded representation330to generate output data, which includes score data350and goal data360. More specifically, for instance, inFIG.3, the generative pre-trained language decoding network230comprises a multilayer transformer-decoder. This multilayer transformer-decoder includes (i) a first language modeling head240to generate the score data350for a candidate response and (ii) a second language modeling head250to generate the goal data360. The first language modeling head240includes a final fully-connected layer followed by soflmax on top of or after the last layer of the generative pre-trained language decoding network230. The second language modeling head250includes a final fully-connected layer followed by softmax on top of or after the last layer of the generative pre-trained language decoding network230.

FIGS.4and5illustrate conceptual diagrams relating to the development of the dialogue framework200ofFIG.3according to an example embodiment. The development of the dialogue framework200includes at least a forward training process400involving a speaker type of training model and a recursive training process500involving a listener type of training model. More specifically,FIG.4illustrates the forward training process400in which the dialogue framework200is trained with a first set of training data, which includes input data410and situational data420. The dialogue framework200is trained with a sufficient amount of this training data to ensure that the dialogue framework200is configured to operate at a predetermined performance threshold during testing and/or employment.

Upon receiving the input data410and the situational data420, the dialogue framework200is configured to provide concatenated data430to the encoder. The concatenated data430includes the input data410and the situational data420. The encoder is configured to generate a first encoded representation of the concatenated data430via the token embedder210. The encoder is also configured to generate a second encoded representation of the concatenated data430via the generative pre-trained knowledge encoding network220. The first encoded representation and the second encoded representation are provided to the decoder as a combined encoded representation440. The decoder is configured to decode the combined encoded representation440via the generative pre-trained language decoding network230. In addition, the first language model head240is configured to generate response data450based on the input data410and the situational data420. Also, the second language model head250is configured to generate goal data460based on the input data410and the situational data420.

During this forward training process, the dialogue framework200is configured to generate response data450. In addition, the dialogue framework200is configured to generate first loss data L1by comparing the generated response data450with gold-standard response data470for given input data410and given situation data420. The forward training process also includes generating second loss data L2by comparing the generated goal data480with gold-standard goal data480for given input data410and given situation data420. The first loss data L1and the second loss data L2are used to optimize the dialogue framework200. In addition, the forward training process includes fine-tuning the internal parameters of the dialogue framework200to maximize the likelihood of generating the gold-standard response data and the gold-standard goal data.

FIG.5illustrates a recursive training process500in which an encoder-decoder configuration is trained with a second set of training data. The encoder-decoder configuration ofFIG.5includes the same encoder ofFIGS.3and4, but a different decoder than that ofFIGS.3and4. The recursive training process500is advantageous in providing additional supervision for training the token embedder210and the generative pre-trained knowledge encoding network220. The recursive training process500is configured to make use of the generated response data450of the forward training process400(FIG.4). That is, in addition to providing training for the dialogue framework200, the forward training process400also serves as a data augmentation process for providing a second set of training data for the recursive training process500. For example, inFIG.5, the second set of training data includes the same situation data420as the first set of training data along with the corresponding response data450, which was generated by the dialogue framework200ofFIG.4. The second set of training data is a sufficient amount to ensure that the encoder is configured to operate at a predetermined performance threshold during testing and/or employment.

Upon receiving the situational data420and the response data450, the encoder-decoder configuration ofFIG.5is configured to provide concatenated data510to the encoder. The concatenated data510includes the situational data420and the response data450. The encoder is configured to generate a first encoded representation of the concatenated data510via the token embedder210. The encoder is also configured to generate a second encoded representation of the concatenated data510via the generative pre-trained knowledge encoding network220. The first encoded representation and the second encoded representation are provided to the decoder as a combined encoded representation520. The decoder is configured to decode the combined encoded representation520via the generative pre-trained language decoding network530. In this case, the decoder ofFIG.5is different from the decoder ofFIG.4. More specifically, the decoder ofFIG.5includes a generative pre-trained language decoding network530, which is trained to generate goal data540based on response data450and situational data420.

In addition, this recursive training process500includes generating third loss data L3by comparing the generated goal data540to the gold-standard goal data550for given situational data420and given generated response data450. The third loss data L3is used to optimize the encoder-decoder configuration ofFIG.5, particularly the encoder, which is configured to be employed in the dialogue framework200ofFIG.3. In addition, this recursive training process500includes fine-tuning the internal parameters of the encoder-decoder configuration ofFIG.5to maximize the likelihood of generating the gold-standard goal data.

FIG.6is a diagram of a system600, which is configured to include at least the dialogue framework200. In this regard, the system600includes at least an HMI system610, a control system620, and an actuator system630. The system600is configured such that the control system620controls the actuator system630based on the input received from the HMI system610. More specifically, the HMI system610includes one or more user interfaces and/or devices that communicate with one or more I/O devices of the I/O system670. Upon obtaining input, the HMI system710is operable to communicate with the control system620via the input/output (I/O) system670and/or other functional modules650, which includes communication technology.

The control system620is configured to obtain input from the HMI system610. Upon receiving input, the control system620is operable to process the input via a processing system640. In this regard, the processing system640includes at least one processor. For example, the processing system640includes an electronic processor, a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor, a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), processing circuits, any suitable processing technology, or any combination thereof. Upon processing at least the input received from the HMI system610, the processing system640is operable to provide the dialogue framework200with input data20that includes a request to perform a task. The processing system640is also configured to generate at least a system response80via the dialogue framework200. The processing system640is configured to generate output data based on the system response80, which includes (i) dialogue data70that addresses the request and (ii) the best response60that is selected from the set of candidate responses50. The processing system640is configured to provide the output data to the user via the I/O system670and/or the HMI system610. In addition, the processing system640is operable to generate actuator control data based on the output data. The control system620is configured to control the actuator system630according to the actuator control data.

The memory system660is a computer or electronic storage system, which is configured to store and provide access to various data to enable at least the operations and functionality, as disclosed herein. The memory system660comprises a single device or a plurality of devices. The memory system660includes electrical, electronic, magnetic, optical, semiconductor, electromagnetic, any suitable memory technology, or any combination thereof. For instance, the memory system660may include random access memory (RAM), read only memory (ROM), flash memory, a disk drive, a memory card, an optical storage device, a magnetic storage device, a memory module, any suitable type of memory device, or any number and combination thereof. In an example embodiment, with respect to the control system620and/or processing system640, the memory system560is local, remote, or a combination thereof (e.g., partly local and partly remote). For example, the memory system660is configurable to include at least a cloud-based storage system (e.g. cloud-based database system), which is remote from the processing system640and/or other components of the control system620.

The memory system660includes the dialogue framework200. Also, in an example, the memory system660includes a dialogue application system680. The dialogue application system680is configured to ensure that the dialogue framework200is provided with input data20, which includes a request to perform a task in text form. In this regard, the processing system640, via the dialogue application system680, is configured to process the input from the HMI system610. If deemed necessary, the dialogue application system680is configured to generate input data20upon processing the input from the HMI system610. In addition, the dialogue application system680is configured to generate output data in any suitable form (e.g., speech, text, etc.) based on the system response80obtained from the dialogue framework200. In general, the dialogue application system680enables the dialogue framework200to operate seamlessly as a part of the control system620for the desired application.

Furthermore, as shown inFIG.6, the system600includes other components that contribute to operation of the control system620in relation to the HMI system610and the actuator system630. For example, as shown inFIG.6, the memory system660is also configured to store other relevant data690, which relates to the operation of the system600. Also, as shown inFIG.6, the control system620includes the I/O system670, which includes one or more I/O devices that relate to the system600. Also, the control system620is configured to provide other functional modules650, such as any appropriate hardware technology, software technology, or any combination thereof that assist with and/or contribute to the functioning of the system600. For example, the other functional modules650include an operating system and communication technology that enables components of the system600to communicate with each other as described herein. Also, the components of the system600are not limited to this configuration, but may include any suitable configuration as long as the system600performs the functionalities as described herein. For example, the HMI system610may be at least partly integral with the I/O system670and/or the control system620. Accordingly, the system600is useful in various applications.

FIG.7is a diagram of an example of an application of the dialogue framework200with respect to automated personal assistant technology700according to an example embodiment. For instance, as one non-limiting example, the automated personal assistant technology700is a robot710, which is configured to receive input data20that includes an utterance with a request to perform a task. The automated personal assistant technology700is configured to process this utterance and provide input data20as text to the dialogue framework200. In response to the input data20, the automated personal assistant technology700is configured to provide the system response80to the user720. In addition, the automated personal assistant technology700is configured to control an appliance, such as a washing machine, a stove, a vacuum cleaner, an oven, a microwave, a dishwasher, another type of domestic appliance, any suitable apparatus, or any number and combination thereof. The HMI system610includes at least one user interface that operates together with the I/O system670(e.g., a microphone, a touchscreen, a keyboard, display technology, gesturing technology, a camera, a sensor, or any suitable technology) to obtain input.

The control system620is configured to obtain the input from the user720via the HMI system610and/or the I/O system670. The control system620is configured to process the input. The control system620is configured provide input data20as text data based on the input. In addition, the control system620is configured provide a system response80in response to the input data20and the situational data30via the dialogue framework200. The control system620is configured to generate output data based on the system response80. The control system620is configured to provide the system response80to the I/O system670and/or the HMI system610. The control system620is configured to generate actuator control data based on the system response80. Also, as a non-limiting example, in response to the actuator control data, the control system620is configured to control the actuator system630.

FIG.8is a diagram of an example of an application of the system100with respect to mobile machine technology according to an example embodiment. As a non-limiting example, the mobile machine technology includes a vehicle800, which is at least partially autonomous or fully autonomous. InFIG.8, the vehicle800includes an HMI system610, which is configured to receive input. Based on the input, the control system620is configured to provide at least input data20to the dialogue framework200. The dialogue framework200is configured to provide a system response80in response to the input data20. The control system620is configured to generate actuator control data, which is at least based on the system response80. For instance, as a non-limiting example, the actuator system630is configured to actuate at least the braking system to stop the vehicle800upon receiving the actuator control data. In this regard, the actuator system630is configured to include a braking system, a propulsion system, an engine, a drivetrain, a steering system, or any number and combination of actuators of the vehicle700. The actuator system630is configured to control the vehicle800so that the vehicle800follows rules of the roads and avoids collisions based at least on the system response80provided by the dialogue framework200.

As described herein, the dialogue framework200provides a number of advantageous features, as well as benefits. For example, the dialogue framework200is configured to leverage neural commonsense reasoning for task-oriented dialogue. By leveraging neural commonsense reasoning, the task-oriented dialogue systems are enabled to provide a richer and more flexible human-machine interaction that more closely resembles human-human interaction. More specifically, for example, the dialogue framework200leverages a scalable commonsense reasoning encoder, which is domain-agnostic and language-agnostic. In this regard, the commonsense reasoning encoder is particularly beneficial in conversational assistance scenarios, where conversational items such as, alternative suggestions, follow-up requests, or other similar comments are desired. Also, the commonsense reasoning encoder leverages a generative, commonsense knowledge base, which captures psychological and social types of event-centric knowledge (e.g., goals, prerequisites, and consequences of events), which is advantageous in inducing helpful responses in various scenarios, such as assistance scenarios.

The dialogue framework200is also configured to overcome a number of the technical problems, which tend to arise when incorporating knowledge representation and reasoning into task-oriented dialogue. For example, these technical problems include (i) inferior scalability of knowledge, (ii) restricted types of knowledge, and (iii) difficulties in operationalizing knowledge for dialogues. More specifically, with respect to scalability, the dialogue framework200is configured to provide a scalable knowledge representation via pre-trained knowledge embeddings that enable unobserved data to be generalized. The dialogue framework200also incorporates a generative knowledge base and operates in an embedding space in which language expressions and symbolic knowledge pieces are seamlessly expressed as real-valued vectors with the intension that words, phrases, and/or any suitable language unit with similar meanings are placed in similar locations within the embedding space. In addition, with respect to knowledge types, the dialogue framework200is configured to leverage a commonsense knowledge base, which captures psychological and social types of event-centric knowledge, such as goals, prerequisites, and consequences of events in order to induce helpful responses in various scenarios. Also, with respect to the operationalizing knowledge for dialogues, the dialogue framework200undergoes a training process that is anchored by implicit goals. The dialogue framework200is trained to learn how to encode information about goals and also generate response data that links to the goal data. The dialogue framework200is therefore enabled to provide response data, which shares the same goal as the input data.

Furthermore, the dialogue framework200shows significant improvement over some other configurations. For example, the dialogue framework200provides a scalability factor, which is not achievable by some rule-based configurations that may fail to operate on unobserved cases for which its predetermined set of rules do not apply. In addition, the dialogue framework200is configured to use commonsense reasoning to provide greater supervision during training and provide greater interpretability over most end-to-end neural model configurations. The dialogue framework200is configured to provide greater interpretability by ensuring that the response data is aligned with a similar or equivalent goal as the request data. In addition, during employment, the dialogue framework200is configured to generate goal data, which provides an indication as to the inner workings of the response-selection process, which would otherwise appear to operate in a black-box manner without the goal data.

That is, the above description is intended to be illustrative, and not restrictive, and provided in the context of a particular application and its requirements. Those skilled in the art can appreciate from the foregoing description that the present invention may be implemented in a variety of forms, and that the various embodiments may be implemented alone or in combination. Therefore, while the embodiments of the present invention have been described in connection with particular examples thereof, the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the described embodiments, and the true scope of the embodiments and/or methods of the present invention are not limited to the embodiments shown and described, since various modifications will become apparent to the skilled practitioner upon a study of the drawings, specification, and following claims. For example, components and functionality may be separated or combined differently than in the manner of the various described embodiments, and may be described using different terminology. These and other variations, modifications, additions, and improvements may fall within the scope of the disclosure as defined in the claims that follow.