DETAILED ACTION
This action is in response to the initial filing of application no. 18/976,213 on 12/10/2024.
Claims 21 - 40 are still pending in this application, with claims 21, 28 and 35 being independent.
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Allowable Subject Matter
Aside from the non-prior art rejection, it has been determined that the prior art fails to teach or suggest in reasonable combination the limitations recited by the independent claims 21, 28 and 35 filed on 12/10/2024.
Claims 21, 28 and 35 recite the following limitations.
receive, by the natural language dialog system of the provider network, a plurality of natural language inputs associated with a dialog with a user; determine, by the natural language dialog system and based at least in part on processing one or more of the natural language inputs, a service from the plurality of services of the provider network to access via operations offered by the service; determine, by the natural language dialog system and based at least in part on processing one or more of the natural language inputs using an operation prediction feature of a machine learning model, one or more operations accessible via a command-line interface of the determined service; and generate, by the natural language dialog system, one or more commands for the command-line interface of the determined service requesting the one or more determined operations.
For example, Arora et al. (US 2020/0175971) (“Arora”) discloses the following: receive, by the natural language dialog system of the provider network, a plurality of natural language inputs associated with a dialog with a user (Fig.4, 410, 411, 412, 413; [0036 – 0042] [0050] [0085 – 0087]); determine, by the natural language dialog system and based at least in part on processing one or more of the natural language inputs, a service (e.g. query for information on packet drops indicates a data communication service) from the plurality of services of the provider network to access via operations offered by the service ([0028] [0030 -0047] [0085 – 0088] [0095] [0097] [0103 – 0106] [0109] [0111 – 0115]); and generate, by the natural language dialog system, one or more commands (e.g. adjust beam settings) for the determined service requesting one or more determined operations (Fig.2, 283 and 298, Fig.4, 424; [0095 – 0088] [0095] [0097] [0101]).
Yet, Arora fails to teach the following: determine, by the natural language dialog system and based at least in part on processing one or more of the natural language inputs using an operation prediction feature of a machine learning model, one or more operations accessible via a command-line interface of the determined service; and generate, by the natural language dialog system, one or more commands for the command-line interface of the determined service.
Moreover, Nokbak Nyembe et al. (US 2019/0318238) (“Nokbak”) discloses the following: receive, by the natural language dialog system of the provider network, a plurality of natural language inputs associated with a dialog with a user (Fig.3, 302; [0048 – 0051]); determine, by the natural language dialog system and based at least in part on processing one or more of the natural language inputs, a service (skill agent , wherein each skill agent is specialized to provide services including troubleshooting, deploying hardware and/or software, etc., [0038]) from the plurality of services of the provider network to access via operations offered by the service (Fig.3, 306; [0038] [0052] [0053] [0057]); determine, by the natural language dialog system and based at least in part on processing one or more of the natural language inputs using an operation prediction feature of a machine learning model, one or more operations (actions) of the determined service ([0060] [0061]); and generate, by the natural language dialog system, one or more commands, for the determined service requesting one or more determined operations ([0061] [0062] [0066] [0067]).
Yet, Nokbak fails to teach the following: the determined service (skill agent) has a command line interface; the operation prediction feature of a machine learning model predicts one or more operations accessible via a command-line interface of the determined service; and the one or more commands are generated for the command-line interface of the determined service.
Additionally, Kaushik (US 2016/0112241) discloses the following: receive, by a natural language dialog system of a provider network (instant messenger application, Fig.2, 210), a plurality of a natural language inputs (“how are things going” and “please add bandwidth”) associated with a dialog (chat) with a user ([0023] [0036] [0039]); and generate, by the natural language dialog system, one or more commands for the command-line interface of a service requesting one or more operations ([0025] [0036] [0039]).
Yet, Kaushik fails to teach the following: determine, by the natural language dialog system and based at least in part on processing one or more of the natural language inputs, a service from the plurality of services of the provider network to access via operations offered by the service; and determine, by the natural language dialog system and based at least in part on processing one or more of the natural language inputs using an operation prediction feature of a machine learning model, one or more operations accessible via a command-line interface of the determined service, wherein the one or more commands for the command-line interface are of the determined service requesting the one or more determined operations.
Furthermore, Kwong et al. (US 2018/0367941) (“Kwong”) discloses the following: receive, by a natural language dialog system of a provider network, a plurality of a natural language inputs [0022 – 0026] [0032]); and generate, by the natural language dialog system, one or more commands for the command-line interface of a service requesting one or more operations ([0022 – 0026] [0032]).
Yet, Kwong fails to teach the following: determine, by the natural language dialog system and based at least in part on processing one or more of the natural language inputs, a service from the plurality of services of the provider network to access via operations offered by the service; and determine, by the natural language dialog system and based at least in part on processing one or more of the natural language inputs using an operation prediction feature of a machine learning model, one or more operations accessible via a command-line interface of the determined service, wherein the one or more commands for the command-line interface are of the determined service requesting the one or more determined operations.
Moreover, Panemagalore et al. (US 2016/0260430) (“Panemagalore”) discloses the following: receive, by a natural language dialog system of a provider network, a plurality of a natural language inputs ([0093 - 0096]); and generate, by the natural language dialog system, one or more commands for the command-line interface of a service requesting one or more operations ([0078 – 0083] [0097 – 0111]).
Yet, Panemagalore fails to teach the following: determine, by the natural language dialog system and based at least in part on processing one or more of the natural language inputs, a service from the plurality of services of the provider network to access via operations offered by the service; and determine, by the natural language dialog system and based at least in part on processing one or more of the natural language inputs using an operation prediction feature of a machine learning model, one or more operations accessible via a command-line interface of the determined service, wherein the one or more commands for the command-line interface are of the determined service requesting the one or more determined operations.
Claims 22-27, 29 -34 and 36 – 40 are objected to for being dependent on a rejected base claim.
Double Patenting
The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer.
The claim mapping between the current application and US 12,197,503 is as follows.
Current Application
21. (New) A system, comprising: one or more processors and one or more memories, of a natural language dialog system of a provider network to provide a plurality of services, to receive, by the natural language dialog system of the provider network, a plurality of natural language inputs associated with a dialog with a user; determine, by the natural language dialog system and based at least in part on processing one or more of the natural language inputs, a service from the plurality of services of the provider network to access via operations offered by the service; determine, by the natural language dialog system and based at least in part on processing one or more of the natural language inputs using an operation prediction feature of a machine learning model, one or more operations accessible via a command-line interface of the determined service; and generate, by the natural language dialog system, one or more commands for the command-line interface of the determined service requesting the one or more determined operations.
22. (New) The system of claim 21, wherein: the plurality of natural language inputs comprise: an initial turn; and one or more additional turns, to obtain one or more parameter values for the one or more determined operations; and to obtain the one or more parameter values, the one or more processors and one or more memories to: generate a natural language output that: acknowledges a previous natural language input of the plurality of natural language inputs, and solicits the one or more parameter values for the one or more determined operations.
23. (New) The system of claim 22, the one or more processors and one or more memories to: identify, via machine learning model use of parameter name and value labeling and based at least in part on a state representation for the command and one or more natural language inputs, one or more parameter values for the parameter names; and update the state representation for the command with the one or more identified parameter values.
24. (New) The system of The system of wherein said identify the one or more parameter values is based at least in part on a dialog history that occurred prior to the one or more natural language inputs.
25. (New) The system of claim 23, the one or more processors and one or more memories to: send the one or more commands to the determined service using an interface of the determined service, wherein the one or more operations are performed by the determined service with the one or more identified parameter values responsive to the command.
26. (New) The system of claim 21, wherein: the operation prediction feature of the machine learning model uses rule-based heuristics to navigate rule-based data structures to generate natural language output.
27. (New) The system of claim 26, wherein: said determine one or more operations accessible via the command-line interface comprises: for a first natural language input that follows at least a partial CLI syntax, use a first one or more rule-based heuristics to extract information from the first natural language input; and for a second natural language input that does not follow at least a partial CLI syntax, use a second one or more rule-based heuristics different from the first one or more rule-based heuristics, to extract information from the second natural language input.
28. (New) A method, comprising: receiving, by a natural language dialog system of a provider network to provide a plurality of services, a plurality of natural language inputs associated with a dialog with a user; determining, by the natural language dialog system and based at least in part on processing one or more of the natural language inputs, a service from a plurality of services of the provider network to access via operations offered by the service; determining, by the natural language dialog system and based at least in part on processing one or more of the natural language inputs using an operation prediction feature of a machine learning model, one or more operations accessible via a command-line interface of the determined service; and generating, by the natural language dialog system, one or more commands for the command-line interface of the determined service requesting the one or more determined operations.
29. (New) The method of claim 28, wherein: the operation prediction feature of the machine learning model uses rule-based heuristics to navigate rule-based data structures to generate natural language output.
30. (New) The method of claim 28, wherein: said determining one or more operations accessible via the command-line interface comprises: for a first natural language input that follows at least a partial CLI syntax, using a first one or more rule-based heuristics to extract information from the first natural language input; and for a second natural language input that does not follow at least a partial CLI syntax, using a second one or more rule-based heuristics different from the first one or more rule-based heuristics, to extract information from the second natural language input.
31. (New) The method of claim 28, wherein: the machine learning model implements parameter name and value labeling to identify one or more parameter values for parameter names in the natural language inputs.
32. (New) The method of claim 31, further comprising: updating, based at least in part on the identified one or more parameter values for parameter names, a state representation for the one or more operations.
33. (New) The method of claim 32, wherein the state representation is configured to indicate: the determined service name; one more names for the one or more operation; and the identified one or more parameter values for parameter names for the one or more operations.
34. (New) The method of claim 28, wherein: the plurality of natural language inputs comprise: an initial turn; and one or more additional turns, to obtain one or more parameter values for the one or more determined operations; and to obtain the one or more parameter values, the method comprises: generating a natural language output that: acknowledges a previous natural language input, and solicits the one or more parameter values for the one or more determined operations.
35. (New) One or more non-transitory computer-readable media storing program instructions executable on or across one or more processors to perform: responsive to receipt, by a natural language dialog system of a provider network, of a plurality of natural language inputs associated with a dialog with a user: determining, by the natural language dialog system and based at least in part on processing one or more of the natural language inputs, a service from a plurality of services of the provider network to access via operations offered by the service; determining, by the natural language dialog system and based at least in part on processing one or more of the natural language inputs using an operation prediction feature of a machine learning model, one or more operations accessible via a command-line interface of the determined service; and generating, by the natural language dialog system, one or more commands for the command-line interface of the determined service requesting the one or more determined operations.
36. (New) The one or more non-transitory computer-readable storage media of claim 35, wherein the program instructions cause the operation prediction feature of the machine learning model to use rule-based heuristics to navigate rule-based data structures to generate natural language output.
37. (New) The one or more non-transitory computer-readable storage media of claim 35, wherein: said determining one or more operations accessible via the command-line interface comprises :for a first natural language input that follows at least a partial CLI syntax, using a first one or more rule-based heuristics to extract information from the first natural language input; and for a second natural language input that does not follow at least a partial CLI syntax, using a second one or more rule-based heuristics different from the first one or more rule-based heuristics, to extract information from the second natural language input.
38. (New) The one or more non-transitory computer-readable storage media of claim 35, wherein the program instructions are executable to perform: sending the one or more commands to the determined service using an interface of the determined service, wherein the one or more operations are performed by the determined service with the one or more identified parameter values responsive to the command.
39. (New) The one or more non-transitory computer-readable storage media of claim 35, wherein the program instructions are executable to perform: updating, based at least in part on the identified one or more parameter values for parameter names, a state representation for the one or more operations, wherein the state representation indicates the determined service name, the one or more operation names, and the identified one or more parameter values for parameter names for the one or more operations.
40. (New) The one or more non-transitory computer-readable storage media of claim 35, wherein: the one or more natural language inputs comprise :an initial turn; and one or more additional turns, to obtain one or more parameter values for the one or more determined operations; and to obtain the one or more parameter values, the program instructions are executable to perform :generating a natural language output that: acknowledges a previous natural language input, and solicits the one or more parameter values for the one or more determined operations.
US 12,197,503
1. A system, comprising: a provider network comprising a plurality of services, wherein the plurality of services comprise a plurality of interfaces associated with a plurality of operations offered by the plurality of services; and a natural language dialog system comprising one or more processors and one or more memories to store computer-executable instructions that, when executed, cause the one or more processors to: receive a first natural language input associated with a dialog between a user and the natural language dialog system; determine a particular operation of a command-line interface for a particular service of the plurality of services based at least in part on analysis of the first natural language input; based at least in part on the first natural language input, generate a first state representation of the dialog indicating the particular service and the particular operation; generate a first natural language output based at least in part on the first natural language input, wherein the first natural language output solicits a second natural language input associated with the dialog; receive the second natural language input; determine one or more parameter values for the particular operation of the command-line interface based at least in part on analysis of the second natural language input; based at least in part on the first state representation and the second natural language input, generate a second state representation of the dialog indicating the particular service, the particular operation, and the one or more parameter values; and generate a command, of the command-line interface of the service, invoking the particular operation of the particular service with the one or more parameter values, wherein the command is generated based at least in part on the second state representation.
2. The system as recited in claim 1, wherein the one or more memories store additional computer-executable instructions that, when executed, cause the one or more processors to: generate a second natural language output based at least in part on the second natural language input, wherein the second natural language output solicits a third natural language input associated with the dialog; receive the third natural language input; determine an additional one or more parameter values of the particular operation based at least in part on analysis of the third natural language input; and based at least in part on the second state representation and the third natural language input, generate a third state representation of the dialog indicating the particular service, the particular operation, the one or more parameter values, and the additional one or more parameter values, wherein the command is generated based at least in part on the third state representation.
3. The system as recited in claim 1, wherein the one or more memories store additional computer-executable instructions that, when executed, cause the one or more processors to: send the command to the particular service using an interface of the particular service, wherein the particular operation is performed by the particular service with the one or more parameter values responsive to the command.
4.The system as recited in claim 1, wherein the first state representation and the second state representation comprise one or more hierarchical data structures.
5.A method, comprising: receiving, by a natural language dialog system, a plurality of natural language inputs associated with a dialog with a user; maintaining, by the natural language dialog system based at least in part on individual ones of the natural language inputs, a state representation of the dialog, wherein the state representation indicates one or more services of a plurality of services of a provider network and one or more operations offered by the one or more services that are accessible via a command-line interface; generating, by the natural language dialog system, one or more natural language outputs associated with the dialog and that solicit additional natural language input comprising one or more parameter values for the one or more operations, wherein the one or more natural language outputs are generated based at least in part on the state representation, and wherein an individual one of the natural language outputs is generated based at least in part on an individual one of the natural language inputs; updating, by the natural language dialog system based at least in part on the additional nature language input, the state representation to indicate the one or more parameter values; and generating, by the natural language dialog system based at least in part on the updated state representation indicating the one or more parameter values, one or more commands including the one or more parameter values for the command-line interface of the one or more services requesting the one or more operations offered by the one or more services.
6. The method as recited in claim 5, wherein the state representation is updated based at least in part on the individual ones of the natural language inputs to indicate the one or more parameter values of the one or more operations.
7. The method as recited in claim 5, further comprising: determining, by the natural language dialog system based at least in part on a first natural language input of the plurality of natural language inputs, the one or more operations; and determining, by the natural language dialog system based at least in part on a second natural language input of the plurality of natural language inputs, the one or more parameter values for the one or more operations, wherein the second natural language input is solicited using a first natural language output of the one or more natural language outputs; and wherein the state representation is updated based at least in part on the second natural language input to indicate the one or more parameter values.
8. The method as recited in claim 5, further comprising: sending the one or more commands to the one or more services, wherein the one or more operations are performed by the one or more services responsive to the one or more commands.
9. The method as recited in claim 5, wherein the one or more natural language outputs are generated using one or more ontologies associated with the one or more services.
10. The method as recited in claim 5, wherein the state representation is updated based at least in part on a dialog history, wherein the dialog history comprises one or more of the natural language inputs.
11. The method as recited in claim 5, further comprising: determining, by the natural language dialog system, the one or more services and the one or more operations using one or more machine learning techniques based at least in part on the plurality of natural language inputs.
12. The method as recited in claim 5, wherein the state representation comprises a hierarchical data structure.
13. The method as recited in claim 5, wherein the one or more natural language outputs are generated using one or more machine learning techniques.
14. One or more non-transitory computer-readable storage media storing program instructions that, when executed on or across one or more processors, perform: generating state information associated with one or more resources in a provider network; receiving one or more natural language inputs in a dialog with a client, wherein at least one of the natural language inputs indicates one or more parameter values; selecting, by a dialog system and based at least in part on processing one or more of the natural language inputs using a service prediction feature of a machine learning model, one or more services from [of] a plurality of services of the provider network to access via operations offered by the one or more services, wherein the plurality of services are distinct from the dialog system; determining, by the dialog system and based at least in part on one or more of the natural language inputs, one or more operations offered by the one or more services determined using the service prediction feature of the machine learning model, wherein the one or more operations offered by the determined one or more services is accessible via a command-line interface; and generating one or more commands for the command-line interface requesting the one or more operations offered by the one or more services with the one or more parameter values indicated via the natural language inputs.
15. The one or more non-transitory computer-readable storage media as recited in claim 14, further comprising additional program instructions that, when executed on or across the one or more processors, perform: sending the one or more commands to the one or more services using one or more interfaces of the one or more services, wherein the one or more operations are performed by the one or more services with the one or more parameter values responsive to the one or more commands.
16. The one or more non-transitory computer-readable storage media as recited in claim 14, wherein the one or more resources are managed by the provider network on behalf of the client, and wherein the state information comprises one or more parameter values for the one or more resources.
17. The one or more non-transitory computer-readable storage media as recited in claim 14, wherein the state information comprises one or more prior natural language inputs from the client.
18. The one or more non-transitory computer-readable storage media as recited in claim 14, wherein the state information comprises one or more prior commands generated for the client based at least in part on one or more prior natural language inputs.
19. The one or more non-transitory computer-readable storage media as recited in claim 14, further comprising additional program instructions that, when executed on or across the one or more processors, perform: generating one or more natural language outputs associated with the dialog, wherein the one or more natural language outputs are generated based at least in part on the one or more natural language inputs and the state information.
20. The one or more non-transitory computer-readable storage media as recited in claim 14, wherein the one or more commands are generated using a hierarchical data structure.
Claims 21, 28 and 35 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1, 5 and 14 of U.S. Patent No. 12,197,503 Although the claims at issue are not identical, they are not patentably distinct from each other.
As shown above, claims 1, 5 and 14 of US 12,197,503 recite the limitations of claims 21, 28 and 35 of the current application, respectively, except for the following: using an operation prediction feature of a machine learning model to determine the one or more operations. However, using an algorithm, e.g. a machine learning model, to analyze a natural language input is an obvious variant of analyzing natural language input as recited by claims 1, 5 and 14 of US 12,197,503. Thus, claims 21, 28 and 35 of the current application and claims 1, 5 and 14 of US 12,197,503 are not patentably distinct.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to SONIA L GAY whose telephone number is (571)270-1951. The examiner can normally be reached Monday-Friday 9-5 ET.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Daniel Washburn can be reached at 571-272-5551. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/SONIA L GAY/Primary Examiner, Art Unit 2657