Dialog system for transitioning between state diagrams
AssigneeSap SE
InventorsPriyanka Khaitan, Haichao Wei, Kevin Hsu, Mitchell Clark
Life of this patent
Estimating the term…
Abstract
Systems and methods are provided for receiving and processing a query to determine an intent of the query, and analyzing the intent of the query to determine that the intent of the query is associated with a use case state diagram. Systems and methods further provide for traversing a plurality of nodes in the user case state diagram to generate a value for each relevant node, performing an operation associated with the query using the generated values, and providing the results of the operation to a computing device.
Claims20
A method comprising:
- determining, by a server computer, that an intent of a first query received from a user via a computing device is associated with a first use case state diagram of a plurality of predetermined use case state diagrams, wherein the first use case state diagram comprises a plurality of nodes to traverse to satisfy a query and wherein each node comprises a key-value pair;
- traversing the first use case state diagram, wherein traversing the first use case state diagram comprises generating and storing a value for each node in the first use case state diagram based on available data or data requested from the computing device;
- during traversal of the first use case state diagram, receiving;
- response data in response to data requested from the computing device;
- determining that the response data is a second query with an intent associated with a second use case state diagram of the plurality of predetermined use case state diagrams;
- traversing the second use case state diagram to provide a response to the second query;
- receiving a third query from the computing device;
- processing the third query to determine an intent of the third query;
- determining that the intent of the third query is associated with the first use case state diagram, wherein generated values for a plurality of nodes of the first use case state diagram continue to persist in memory;
- determining a node where the user left off in the first use case diagram based on the generated values;
- continuing from the node where the user left off in the first user case diagram, for each node in a flow of the first use case state diagram:
- determining, by the server computer, whether data is available to determine a value for the node;
- based on a determination that data is available to determine a value for the node, generating, by the server computer, the value for the node based on the data, and storing the value in the key-value pair for the node;
- based on a determination that data is not available to determine a value for the node, generating, by the server computer, a request message to request the data from the computing device, receiving, by the server computer, the data from the computing device, generating the value for the node based on the data from the computing device, and storing the value in the key-value pair for the node;
- performing, by the server computer, an operation associated with the third query, using the key-value pairs for the plurality of nodes that contain generated values;
- and
- providing, by the server computer, results of the operation to the computing device.
A server computer comprising:
- determining that an intent of a first query received from a user via a computing device is associated with a first use case state diagram of a plurality of predetermined use case state diagrams, wherein the first use case state diagram comprises a plurality of nodes to traverse to satisfy a query and wherein each node comprises a key-value pair;
- traversing the first use case state diagram, wherein traversing the first use case state diagram comprises generating and storing a value for each node in the first use case state diagram based on available data or data requested from the computing device;
- during traversal of the first use case state diagram, receiving response data in response to data requested from the computing device;
- determining that the response data is a second query with an intent associated with a second use case state diagram of the plurality of predetermined use case state diagrams;
- traversing the second use case state diagram to provide a response to the second query;
- receiving a third query from the computing device;
- processing the third query to determine an intent of the third query;
- determining that the intent of the third query is associated with the first use case state diagram, wherein generated values for a plurality of nodes of the first use case state diagram continue to persist in memory;
- determining a node where the user left off in the first use case diagram based on the generated values;
- continuing from the node where the user left off in the first user case diagram, for each node in a flow of the first use case state diagram:
- determining whether data is available to determine a value for the node;
- based on a determination that data is available to determine a value for the node, generating the value for the node based on the data, and storing the value in the key-value pair for the node;
- based on a determination that data is not available to determine a value for the node, generating a request message to request the data from the computing device, receiving the data from the computing device, generating the value for the node based on the data from the computing device, and storing the value in the key-value pair for the node;
- performing an operation associated with the third query, using the key-value pairs for the plurality of nodes that contain generated values;
- and
- providing results of the operation to the computing device.
A non-transitory computer-readable medium comprising instructions stored thereon that are executable by at least one processor to cause a computing device to perform operations comprising:
- determining that an intent of a first query received from a user via a computing device is associated with a first use case state diagram of a plurality of predetermined use case state diagrams, wherein the first use case state diagram comprises a plurality of nodes to traverse to satisfy a query and wherein each node comprises a key-value pair;
- traversing the first use case state diagram, wherein traversing the first use case state diagram comprises generating and storing a value for each node in the first use case state diagram based on available data or data requested from the computing device;
- during traversal of the first use case state diagram, receiving response data in response to data requested from the computing device;
- determining that the response data is a second query with an intent associated with a second use case state diagram of the plurality of predetermined use case state diagrams;
- traversing the second use case state diagram to provide a response to the second query;
- receiving a third query from the computing device;
- processing the third query to determine an intent of the third query;
- determining that the intent of the third query is associated with the first use case state diagram, wherein generated values for a plurality of nodes of the first use case state diagram continue to persist in memory;
- determining a node where the user left off in the first use case diagram based on the generated values;
- continuing from the node where the user left off in the first user case diagram, for each node in a flow of the first use case state diagram:
- determining whether data is available to determine a value for the node;
- based on a determination that data is available to determine a value for the node, generating the value for the node based on the data, and storing the value in the key-value pair for the node;
- based on a determination that data is not available to determine a value for the node, generating a request message to request the data from the computing device, receiving the data from the computing device, generating the value for the node based on the data from the computing device, and storing the value in the key-value pair for the node;
- performing an operation associated with the third query, using the key-value pairs for the plurality of nodes that contain generated values;
- and
- providing results of the operation to the computing device.
Dependencies are inferred from the claim text.