US2022129639A1PendingUtilityA1

Conditional responses to application commands in a client-server system

Assignee: SOUNDHOUND INCPriority: Jul 14, 2015Filed: Jan 5, 2022Published: Apr 28, 2022
Est. expiryJul 14, 2035(~9 yrs left)· nominal 20-yr term from priority
G06F 40/30H04L 67/565H04L 67/10
61
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A user request is received (e.g., in natural language form) by a client device. In order to facilitate richer natural language understanding, a response-processing server handles interpretation of the request, rather than requiring the client device to interpret it. The response-processing server determines the various possible responses that client devices could make in response to the request based on (for example) the state of the application data, and/or the capabilities of the client devices. The response-processing server accordingly a response package that describes a number of different conditional responses that client devices could have to the request. The client device selects a response from the response package, executes the command (if possible), and provides the user with some representation of the response.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A computer-implemented method performed by a server, the method comprising:
 receiving, for a first application and for a second application of a plurality of applications:
 a semantic grammar describing valid natural language commands for the application, and 
 a response schema describing a format for a response package including a plurality of conditional responses to natural language commands that client devices select; 
   wherein the response schema for the first application is different from the response schema for the second application;   receiving a first natural language command and a second natural language command from a client device;   determining that the semantic grammar of the first application can interpret the first natural language command and that and the semantic grammar of the second application can interpret the second natural language command;   responsive to determining that the semantic grammar of the first application can interpret the first natural language command, generating a first response package conforming to the response package format of the response schema of the first application and including a first plurality of conditional responses of the client device and a first set of view types which specify configurations for displaying the conditional responses, wherein view types are used responsive to whether the client device is capable of supporting the view types;   responsive to determining that the semantic grammar of the second application can interpret the second natural language command, generating a second response package conforming to the response package format of the response schema of the second application and including a second plurality of conditional responses of the client device and a second ordered set of view types which specify configurations for displaying the conditional responses, wherein lower ordered view types are used responsive to the client device not being capable of providing higher ordered view types,   wherein the first response package is different from the second response package; and   providing the first response package and the second response package to the client device for execution.   
     
     
         2 . The computer-implemented method of  claim 1 , wherein the response package comprises command parameter values derived from the natural language command and aiding the client device in executing the natural language command. 
     
     
         3 . The computer-implemented method of  claim 1 , wherein the semantic grammar and the response schema are received over a network from an application developer located remotely from the server. 
     
     
         4 . The computer-implemented method of  claim 1 , wherein the response package is formatted to allow the client device to choose a conditional response responsive to multiple steps of determination. 
     
     
         5 . A non-transitory computer-readable storage medium comprising instructions of an application that when executed by a processor of a client device perform actions comprising:
 sending a natural language command for delivery to a server;   receiving from the server a response package containing a plurality of conditional responses to the natural language command;   determining, using at least data of the response package, whether the application of the client device can execute a first one of the plurality of conditional responses on the client device;   responsive to determining that the application can execute the first one of the plurality of conditional responses:
 identifying a response string specified within the response package based on at least one of whether the client device has a display, or whether the client device has text-to-speech code, and 
 outputting the response string in a manner corresponding to the response string; and 
   responsive to determining that the application cannot execute the first one of the plurality of conditional responses:   identifying a default response within the response package, and   outputting the default response.   
     
     
         6 . The non-transitory computer-readable storage medium of  claim 5 , the actions further comprising displaying the conditional response in a manner based on view types that the client device supports. 
     
     
         7 . The non-transitory computer-readable storage medium of  claim 5 , wherein executing the conditional response comprises:
 identifying, within the response package, command parameter values; and   executing the conditional response using the identified command parameter values.   
     
     
         8 . The non-transitory computer-readable storage medium of  claim 5 , the actions further comprising:
 identifying response text specified in the first one of the conditional responses; and   displaying the identified response text.   
     
     
         9 . The non-transitory computer-readable storage medium of  claim 5 , wherein the response package is formatted to allow the client device to choose a conditional response responsive to multiple steps of determination. 
     
     
         10 . The non-transitory computer-readable storage medium of  claim 5 , wherein identifying a response string specified within the response package based on at least one of whether the client device has a display, and whether the client device has text-to-speech code, is based on whether the client device has a display. 
     
     
         11 . The non-transitory computer-readable storage medium of  claim 5 , wherein identifying a response string specified within the response package based on at least one of whether the client device has a display, and whether the client device has a text-to-speech code, is based on whether the client device has text-to-speech code. 
     
     
         12 . A computer-implemented method for providing appropriate responses to different types of user interfaces, the method comprising:
 receiving a first request from a first client device of a first type;   generating a first response package for the first request, the first response package having a first conditional response and a second conditional response;   transmitting the first response package to the first client device;   receiving a second request from a second client device of a second type;   generating, in response to the second request, a second response package including the first conditional response and the second conditional response; and   transmitting the second response package to the second client device;   wherein the first client device, because it is of the first type, uses the first conditional response to perform a first command and the second client device, because it is of the second type, uses the second conditional response to perform a second command.   
     
     
         13 . The computer-implemented method of  claim 12 , wherein the first request comprises a natural language command, and wherein the first response package comprises command parameter values derived from the natural language command and aiding the client device in executing the natural language command. 
     
     
         14 . The computer-implemented method of  claim 12 , wherein the first response package is formatted to allow the first client device to choose a conditional response responsive to multiple steps of determination. 
     
     
         15 . A computer-implemented method comprising:
 providing a semantic grammar describing natural language commands for an application, and a response schema describing a response package format including a plurality of conditional responses to valid natural language commands for the application;   responsive to receipt of a user natural language command delegated from a client device:
 determining that the semantic grammar can interpret the natural language command; 
 executing action code of the semantic grammar to generate a response package conforming to the response package format and including a plurality of conditional responses of the client device and a first ordered set of view types which specify configurations for displaying the conditional responses; and 
 providing the response package to the client device for execution; and 
   responsive to receipt of a second user natural language command different from the user natural language command, determining that a second semantic grammar can interpret the second natural language command and executes action code of the second semantic grammar to generate a second response package conforming to a second response package format corresponding to the second semantic grammar.   
     
     
         16 . The computer-implemented method of  claim 15 , wherein upon receipt of the response package, the client device:
 determines, using data of the response package, whether the application can execute the natural language command; and   responsive to determining that the application can execute the natural language command:
 executes the natural language command; 
 identifies, based at least in part on a result of the execution, an identified one of the conditional responses; 
 identifies response text specified in the identified one of the conditional responses; and 
 displays the identified response text.

Join the waitlist — get patent alerts

Track US2022129639A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.