DETAILED ACTION
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 .
Response to Amendment
Applicants’ amendment filed on 3/23/26 has been entered. Claims 1, 7, 13, 17-18 have been amended. No claims have been canceled. No new claims have been added. Claims 1-20 are still pending in this application, with claims 1, 13, 17 being independent.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102 of this title, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-20 are rejected under 35 U.S.C. 103 as being unpatentable over U.S. Patent Application Publication No. 2020/0042334 to Radebaugh et al. (“Radebaugh”) in view of U.S. Patent Application Publication No. 20230259714 to Lange (“Lange”).
As to claim 1, Radebaugh discloses a system comprising: computer-readable memory storing executable instructions; and one or more processors programmed by the executable instructions to at least: manage a plurality of natural language processing sessions [paragraph 0048], wherein a natural language processing session of the plurality of natural language processing sessions comprises: receipt of a natural language query [paragraph 0242 : “In some examples, once natural language processing module 732 identifies an actionable intent (or domain) based on the user request, natural language processing module 732 can generate a structured query to represent the identified actionable intent”]; generation of one or more natural language prompts for parameter data associated with an application programming interface (API) request to be executed [paragraph 0242: “natural language processing module 732 can generate a structured query to represent the identified actionable intent…”also see paragraphs 0246-0247]; receipt of one or more corresponding natural language responses to the one or more natural language prompts [paragraph 0242]; retrieval of the parameter data from the one or more corresponding natural language responses [paragraph 0242];
execution of the API request comprising the parameter data [paragraph 0243, 0246-0247]; generate a corpus of training data based on the plurality of natural language processing sessions, wherein the corpus of training data comprises a plurality of training data input vector a reference data output vector that represents the API request as a desired output to be generated from a training data input vector [paragraph 0336: “Based on the data, the global application vocabulary store may generate and/or train one or more language models that allow the digital assistant to recognize and process utterances containing the application specific vocabulary”]; and train a natural-language-to-API model using the corpus of training data, wherein the natural-language-to-API model is trained to generate API requests using natural language query input [paragraphs 0246: “, also see paragraph 0336].
Radebaugh does not expressly disclose aggregate session data for each of the plurality of natural language processing sessions in memory, wherein the session data comprises the parameter data, the API request, the telemetry data, and at least one of the natural language query, the one or more natural language prompts, or the one or more natural language responses; generate a corpus of training data based on the session data, wherein the corpus of training data comprises a plurality of training pairs, wherein each training pair of the plurality of training pairs comprises a training data input vector that represents the natural language query, and a reference data output vector that represents the API request as a desired output to be generated from a training data input vector.
In the same or similar field of invention, Lange discloses aggregate session data for each of the plurality of natural language processing sessions in memory [paragraphs 0094-95, 0104-105, 0109-110], wherein the session data comprises the parameter data, the API request, the telemetry data, and at least one of the natural language query, the one or more natural language prompts, or the one or more natural language responses [Lange paragraphs 0094-95 (table 1 shows a session log with different telemetry data such as initial query, parameters, events etc.), 0104-105, 0109-0110]; generate a corpus of training data based on the session data [Lange paragraphs 0094-95 (Table 1), 0104-105, 0109-0110], wherein the corpus of training data comprises a plurality of training pairs, wherein each training pair of the plurality of training pairs comprises a training data input vector that represents the natural language query [Lange paragraphs 0094-95 (Table 1), 0104-105, 0109-0110], and a reference data output vector that represents the API request as a desired output to be generated from a training data input vector [Lange paragraphs 0094-95 (Table 1), 0104-105, 0109-0110]. As per Lange, training examples in the data can include one or more pairs. A pair can include one or more lines from a session log, such as the log shown in TABLE 1 with telemetry data. The one or more session log lines can be paired with one or more API calls issued by the LM in response to the one or more session log lines, representing the desired output of the LM at a point in a conversation between an agent and a user.
It would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify Radebaugh to have feature of aggregate session data for each of the plurality of natural language processing sessions in memory, wherein the session data comprises the parameter data, the API request, the telemetry data, and at least one of the natural language query, the one or more natural language prompts, or the one or more natural language responses; generate a corpus of training data based on the session data, wherein the corpus of training data comprises a plurality of training pairs, wherein each training pair of the plurality of training pairs comprises a training data input vector that represents the natural language query, and a reference data output vector that represents the API request as a desired output to be generated from a training data input vector as taught by Lange. The suggestion/motivation would have been to provide a system for navigating a conversation graph using a language model trained to generate Application Programming Interface (API) calls in response to natural language input from a user computing device to advance or terminate the conversation [Lange column 0006].
As to claim 2, Radebaugh discloses wherein the API request comprises a search query regarding a travel reservation [paragraphs 0234, 0237, 0273].
As to claim 3, Radebaugh discloses wherein a particular API request generated by the natural-language-to-API model comprises a string representing a plurality of parameters, and wherein a natural language query input, used by the natural-language-to-API model to generate the particular API request, represents fewer than all of the plurality of parameters [paragraphs 0223: “natural-language -to-API model to generate the particular API request, represents fewer than all of the plurality of parameters (para [0223], "STT processing module 730 can include one or more ASR systems. The one or more ASR systems can process the speech input that is received through 1/O processing module 728 to produce a recognition result. Each ASR system can include a front-end speech pre-processor. The front-end speech pre-processor can extract representative features from the speech input. For example, the front-end speech pre-processor can perform a Fourier transform on the speech input to extract spectral features that characterize the speech input as a sequence of representative multi-dimensional vectors...."].
As to claim 4, Radebaugh discloses wherein the training data input vector represents both the natural language query and context data regarding a user account associated with the natural language query [paragraph 0268].
As to claim 5, Radebaugh discloses wherein the natural-language-to-API model is trained to generate a particular API request using both natural language query input and context data input associated with the natural language query input [paragraph 0268].
As to claim 6, Radebaugh discloses wherein the one or more processors are further programmed by the executable instructions to send, to an inference system, the natural- language-to-API model [paragraph 246].
As to claim 7, Radebaugh discloses wherein the one or more processors are further programmed by the executable instructions to: manage a second plurality of natural language processing sessions using the natural-language-to-API model [paragraph 0305: "In some examples, a software application may fail to perform a task. In response, the device may display one or more affordances which a user may select to acknowledge failure of the task and/or request performance of a task. As an example, selection of an affordance may cause the user device to perform the same task that previously failed. This may include providing a same intent to the software application. The intent may with the same or different parameters and/or parameter values. As another example, selection of an affordance may cause the device to perform a different task, such as a task associated with a different domain"]; evaluate performance of the natural-language-to-API model based on management of the second plurality of natural language processing sessions; and determine, based on evaluation of the performance of the natural-language-to- API model, to retrain the natural-language-to-API model [paragraphs 0305-0306]. Further, Lange discloses second session data comprising second telemetry data corresponding to the second plurality of natural language processing sessions [Lange paragraphs 0094-95 (Table 1), 0104-105, 0109-0110]; In addition, the same motivation is used as the rejection of claim 1.
As to claim 8, Radebaugh discloses wherein the one or more processors are further programmed by the executable instructions to: determine, for a first subset of natural language processing sessions of a second plurality of natural language processing sessions, to manage each natural language processing session of the first subset using the natural-language-to-API model [paragraph 0048, 0246-0249]; and determine, for a second subset of natural language processing sessions of the second plurality of natural language processing sessions, to manage each natural language processing session of the second subset using a dialog-based query parameter manager [paragraph 0305].
As to claim 9, Radebaugh discloses wherein the one or more processors are further programmed by the executable instructions to use a selection model to determine whether a natural language processing session of the second plurality of natural language processing sessions is to be managed using the natural-language-to-API model or the dialog-based query parameter manager [paragraphs 0242, 0246].
As to claim 10, Radebaugh discloses wherein the one or more processors are further programmed by the executable instructions to determine, for a third subset of natural language processing sessions of the second plurality of natural language processing sessions, to manage each natural language processing session of the third subset of natural language processing sessions using a second natural-language-to-API model different from the natural-language- to-API model [paragraphs 0242, 0246].
As to claim 11, Radebaugh discloses wherein the one or more processors are further programmed by the executable instructions to: evaluate performance of the natural-language-to-API model based on management of the first subset of natural language processing sessions [paragraph 0305]; evaluate performance of the second natural-language-to-API model based on management of the third subset of natural language processing sessions; and determine, based on performance of the natural-language-to-API model exceeding performance of the second natural-language-to-API model by a threshold amount, to retrain the second natural-language-to-API model [paragraphs 0305, 0336].
As to claim 12, Radebaugh discloses wherein the natural-language-to-API model comprises one of: a transformer-based artificial neural network, a recurrent neural network, a convolutional neural network, or an encoder-decoder machine learning model [paragraph 0272].
As to claim 13, Radebaugh discloses a computer-implemented method comprising: under control of a computing system comprising one or more processors configured to execute specific instructions, wherein a natural language processing session of the plurality of natural language processing sessions comprises generating a natural language prompt for parameter data associated with an application programming interface (API) [paragraphs 0242-0243, 0246-0247], receiving a corresponding natural language response to the natural language prompt, and retrieving the parameter data from the corresponding natural language response [paragraphs 0242-0243, 0246-0247]; obtaining a corpus of training data based on a plurality of natural language processing sessions, wherein the corpus of training data comprises a plurality of training data input vectors and a plurality of reference data output vectors, wherein a reference data output vector of the plurality of reference data output vectors represents a travel-based search request as a desired output to be generated from a training data input vector, representing a natural language query regarding a travel reservation and of a training data input vector, representing a natural language query regarding a travel reservation [paragraphs 0336, also see 0234, 0237, 0273]; and training a natural-language-to-API model using the corpus of training data, wherein the natural-language-to-API model is trained to generate predicted travel based API search requests using natural language query input [paragraph 0246, also see 0234, 0237, 0273].
Radebaugh does not expressly disclose generating session data for the plurality of natural language processing sessions, wherein the session data comprises, from each session of the plurality of natural processing sessions, the natural language prompt, the corresponding natural language response, an API request comprising the parameter data generated in the session, and the telemetry data; Obtaining a corpus of training data based on the session data, wherein the corpus of training data comprises a plurality of training pairs, wherein each training pair of the plurality of training pairs comprise a training data input vector representing a natural language query and a reference data output vector request as a desired output to be generated from the training data input vector.
In the same or similar field of invention, Lange discloses generating session data for the plurality of natural language processing sessions [paragraphs 0094-95, 0104-105, 0109-110], wherein the session data comprises, from each session of the plurality of natural processing sessions, the natural language prompt, the corresponding natural language response, an API request comprising the parameter data generated in the session, and the telemetry data [Lange paragraphs 0094-95 (table 1 shows a session log with different telemetry data such as initial query, parameters, events etc.), 0104-105, 0109-0110]; Obtaining a corpus of training data based on the session data, wherein the corpus of training data comprises a plurality of training pairs, wherein each training pair of the plurality of training pairs comprise a training data input vector representing a natural language query [Lange paragraphs 0094-95 (Table 1), 0104-105, 0109-0110] and a reference data output vector request as a desired output to be generated from the training data input vector [Lange paragraphs 0094-95 (Table 1), 0104-105, 0109-0110].
In the same or similar field of invention, Lange discloses aggregate session data for each of the plurality of natural language processing sessions in memory [paragraphs 0094-95, 0104-105, 0109-110], wherein the session data comprises the parameter data, the API request, the telemetry data, and at least one of the natural language query, the one or more natural language prompts, or the one or more natural language responses [Lange paragraphs 0094-95 (table 1 shows a session log with different telemetry data such as initial query, parameters, events etc.), 0104-105, 0109-0110]; generate a corpus of training data based on the session data [Lange paragraphs 0094-95 (Table 1), 0104-105, 0109-0110], wherein the corpus of training data comprises a plurality of training pairs, wherein each training pair of the plurality of training pairs comprises a training data input vector that represents the natural language query [Lange paragraphs 0094-95 (Table 1), 0104-105, 0109-0110], and a reference data output vector that represents the API request as a desired output to be generated from a training data input vector [Lange paragraphs 0094-95 (Table 1), 0104-105, 0109-0110]. As per Lange, training examples in the data can include one or more pairs. A pair can include one or more lines from a session log, such as the log shown in TABLE 1 with telemetry data. The one or more session log lines can be paired with one or more API calls issued by the LM in response to the one or more session log lines, representing the desired output of the LM at a point in a conversation between an agent and a user.
It would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify Radebaugh to have feature of generating session data for the plurality of natural language processing sessions, wherein the session data comprises, from each session of the plurality of natural processing sessions, the natural language prompt, the corresponding natural language response, an API request comprising the parameter data generated in the session, and the telemetry data; Obtaining a corpus of training data based on the session data, wherein the corpus of training data comprises a plurality of training pairs, wherein each training pair of the plurality of training pairs comprise a training data input vector representing a natural language query and a reference data output vector request as a desired output to be generated from the training data input vector as taught by Lange. The suggestion/motivation would have been to provide a system for navigating a conversation graph using a language model trained to generate Application Programming Interface (API) calls in response to natural language input from a user computing device to advance or terminate the conversation [Lange column 0006].
As to claim 14, Radebaugh discloses wherein training the natural- language-to-API model comprises generating a particular API request comprising a string representing a plurality of parameters, and wherein a natural language query input, used by the natural-language-to-API model to generate the particular API request, represents fewer than all of the plurality of parameters [paragraph 0223].
As to claim 15, Radebaugh discloses wherein the training data input vector represents both the natural language query and context data regarding a user account associated with the natural language query, and wherein training the natural-language-to-API model comprises training the natural-language-to-API model to generate a particular API request using both natural language query input and context data input associated with the natural language query input [paragraph 0246, also see paragraph 0336].
As to claim 16, Radebaugh discloses sending the natural-language-to-API model to an inference system [paragraph 0246].
As to claim 17, Radebaugh discloses a computer-implemented method comprising: under control of a computing system comprising one or more processors configured to execute specific instructions, receiving a natural language query [paragraph 0242]; generating natural-language-to-API model input representing at least a portion of the natural language query [paragraph 0242]; generating model output using a natural-language-to-API model and the natural-language-to-API model input, wherein the model output represents an API request to be executed in response to the natural language query [paragraph 0242]; and executing the API request [paragraph 0223, also see paragraphs 0246, 0336], wherein the natural-language-to-API model is trained using a corpus of training data [paragraphs 0243, 0246-0247].
Radebaugh does not expressly disclose wherein the natural-language-to-API model is trained using a corpus of training data generated based on telemetry data obtained in response to a plurality of natural language training sessions, wherein the telemetry data is used to generate a plurality of training pairs according to the plurality of natural language training sessions and wherein each training pair of the plurality of training pairs comprise a training data input vector, representing a training query, and a reference data output vector, representing the API request and parameter data desired to be output in response to the training data input vector.
In the same or similar field of invention, Lange discloses wherein the natural-language-to-API model is trained using a corpus of training data generated based on telemetry data [Lange paragraphs 0094-95, table 1 shows a session log with different telemetry data such as initial query, parameters, events etc.] obtained in response to a plurality of natural language training sessions [Lange paragraphs 0094-95 (Table 1), 0104-105, 0109-0110], wherein the telemetry data is used to generate a plurality of training pairs according to the plurality of natural language training sessions [Lange paragraphs 0094-95 (Table 1), 0104-105, 0109-0110] and wherein each training pair of the plurality of training pairs comprise a training data input vector, representing a training query [Lange paragraphs 0094-95 (Table 1), 0104-105, 0109-0110], and a reference data output vector, representing the API request and parameter data desired to be output in response to the training data input vector [Lange paragraphs 0094-95 (Table 1), 0104-105, 0109-0110]. As per Lange, training examples in the data can include one or more pairs. A pair can include one or more lines from a session log, such as the log shown in TABLE 1 with telemetry data. The one or more session log lines can be paired with one or more API calls issued by the LM in response to the one or more session log lines, representing the desired output of the LM at a point in a conversation between an agent and a user.
It would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify Radebaugh to have feature of wherein the natural-language-to-API model is trained using a corpus of training data generated based on telemetry data obtained in response to a plurality of natural language training sessions, wherein the telemetry data is used to generate a plurality of training pairs according to the plurality of natural language training sessions and wherein each training pair of the plurality of training pairs comprise a training data input vector, representing a training query, and a reference data output vector, representing the API request and parameter data desired to be output in response to the training data input vector as taught by Lange. The suggestion/motivation would have been to provide a system for navigating a conversation graph using a language model trained to generate Application Programming Interface (API) calls in response to natural language input from a user computing device to advance or terminate the conversation [Lange column 0006].
As to claim 18, Radebaugh discloses determining, for a first subset of natural language processing sessions of a plurality of natural language processing sessions, to manage each natural language processing session of the first subset using the natural-language-to-API model [paragraph 0048]; and determining, for a second subset of natural language processing sessions of the plurality of natural language processing sessions, to manage each natural language processing session of the second subset using a dialog-based query parameter manager [paragraph 0305].
As to claim 19, Radebaugh discloses using a selection model to determine whether a natural language processing session of the plurality of natural language processing sessions is to be managed using the natural-language-to-API model or the dialog-based query parameter manager [paragraph 0305].
As to claim 20, Radebaugh discloses determining, for a third subset of natural language processing sessions of the plurality of natural language processing sessions, to manage each natural language processing session of the third subset of natural language processing sessions using a second natural-language-to-API model different from the natural-language-to-API model [paragraphs 0242, 0246]; evaluating performance of the natural-language-to-API model based on management of the first subset of natural language processing sessions [paragraphs 0242, 0246]; evaluating performance of the second natural-language-to-API model based on management of the third subset of natural language processing sessions; and determining, based on performance of the natural-language-to-API model exceeding performance of the second natural-language-to-API model by a threshold amount, to retrain the second natural-language-to-API model [paragraphs 0242, 0246, 0336].
Response to Arguments
Applicant’s arguments with respect to claim(s) 1-20 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ANTIM G SHAH whose telephone number is (571)270-5214. The examiner can normally be reached Mon-Fri 7:30am-4pm.
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, Ahmad Matar can be reached at 571-272-7488. 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.
/ANTIM G SHAH/Primary Examiner, Art Unit 2693