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 Arguments
Applicant’s arguments with respect to claim(s) 1-14, 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.
Allowable Subject Matter
Claim 24 objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Claim Rejections - 35 USC § 103
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, 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.
Claim(s) 1-6, 8-17, 20, 22-23, and 25 is/are rejected under 35 U.S.C. 103 as being unpatentable over Singaraju et al. (US 20190103095 A1) in view of Kobashikawa et al. (US 20200219413 A1) in view of Kalns (US 20140310001 A1).
Regarding claim 1, Singaraju et al. discloses computing platform comprising:
at least one processor; ([0006], Figure 1 message processor 150)
a communication interface communicatively coupled to the at least one processor; ([0003]-[0006] interfaces implemented via processor; [0037] messaging application)
memory storing computer-readable instructions that, when executed by the at least one processor, cause the computing platform to: ([0006] memory containing instructions that are executed by a processor)
receive a first message; ([0038] system for the bot to receive messages; [0085]: example utterances received by the system)
apply one or more natural language processing algorithms to the first message to identify a first intent associated with the first message and a first confidence score associated with the identified first intent ([0070]: distinguishability score [confidence score] for the utterance associated with the intent), wherein the computing platform includes a machine learning engine having instructions that direct the computing platform to set, define, and iteratively refine one or more optimization rules for a classification model; ([0050]: machine learning-based classification models to determine an intent; [0070]: calculating a distinguishability score; the creation and training of a classification model inherently involves mathematical optimization of a loss function; [0027]: iteratively optimize the classification models used by the system)
determine, using the classification model, machine learning algorithms, natural language understanding algorithms, natural language processing algorithms, and artificial intelligence algorithms, that the first confidence score exceeds a predetermined intent identification threshold; ([0084]: judging the scores against a predetermined value, Fig 4)
identify, in response to determining that the first confidence score exceeds the predetermined intent identification threshold ([0084]: it’s clear that if there is a good distinguishability score, the intent is determined, otherwise process moved to 460), a first destination device associated with the identified intent; ([0058]: based on a determined intent, identifies that a banking server is the destination device; banking server identified once the intent is detected- Refer to Fig 4 for intent determination )
generate a second message, wherein the second message comprises the identified intent; ([0058]: “send a command” to check the balance, which was the intent associated with the example prompt)
send, to the first destination device, the second message, wherein sending the second message to the first destination device causes the first destination device to perform an action associated with the identified first intent. ([0040]: converting a user’s message to a REST call that is sent to enterprise services; [0058]: receiving a bank balance from the server based on identified intent to check balance)
Singaraju et al. does not disclose:
dynamically tune the predetermined intent identification threshold to support a target percentage of confidence scores that exceed or fail the predetermined intent identification threshold by:
identifying that a percentage of confidence scores exceeding or failing the predetermined intent identification threshold exceed the target percentage,
based on identifying that a percentage of confidence scores exceeding or failing the predetermined intent identification threshold exceeds the target percentage, increasing the predetermined intent identification threshold.
However, Kobashikawa et al. does disclose dynamically tune the predetermined intent identification threshold to support a target percentage of confidence scores that exceed or fail the predetermined intent identification threshold ([0052]-[0053] threshold estimation) by:
identifying that a percentage of confidence scores exceeding or failing the predetermined intent identification threshold exceed the target percentage, ([0052]-[0053]: identify if too many or too few reliability scores are above the threshold)
based on identifying that a percentage of confidence scores exceeding or failing the predetermined intent identification threshold exceeds the target percentage, increasing the predetermined intent identification threshold. ([0052]-[0053]: adjusting the threshold to reach a target accuracy; increasing the threshold decreases the amount of false positives, thus the proportion of reliability scores that exceed the threshold)
wherein predetermined intent identification threshold comprises a value of 0.7; ([0052]-[0053], Table 4: threshold 0.7 is disclosed)
wherein increased predetermined intent identification threshold comprises a value of 0.8; ([0052]-[0053], Table 4: threshold 0.8 is disclosed; the needed threshold for a target percentage is computable)
wherein the percentage comprises 75%; ([0052]-[0053]: proportion of scores exceeding the threshold is computable from a given threshold) and the target percentage comprises 50%. ([0052]-[0053]: a target accuracy percentage is chosen)
It would have been obvious to one with ordinary skill in the art before the effective filing date to dynamically tune a threshold as described in Kobashikawa because it allows for the threshold to optimized to achieve a desired target accuracy (Kobashikawa [0054]). One with ordinary skill in the art could apply the known technique of threshold estimation disclosed by Kobashikawa to the known device of Singaraju to yield predictable results (Kobashikawa [0052]-[0054] and Table 4: the proportion of scores exceeding the threshold/accuracy percentages, with respect to different thresholds are computable).
Furthermore, it would have been obvious to one with ordinary skill in the art before the effective filing date to try the particular claimed values as they fall within ranges taught by the prior art, and the tuning of such values is the subject of design preference as well as routine optimization and experimentation in the art. The percentage is computable from the set of scores and the threshold, the increased threshold is computable from the set of scores and the target percentage (see Kobashikawa [0052]-[0053], Table 4).
Singaraju and Kobashikawa do not teach wherein identifying the first destination device comprises accessing a dynamic table that includes correlation information between:
intents and destination devices,
the destination devices and structured formats, wherein the structured formats indicate formats in which data should be input into the corresponding destination device, and
the structured formats and mandatory/optional fields, wherein the mandatory/optional fields indicate data fields of the structured formats for which
data must be provided for an action to be processed at the corresponding destination device;
However, Kalns does teach wherein identifying the first destination device comprises accessing a dynamic table ([0073]: intent table) that includes correlation information between:
intents and destination devices, (Fig 11, [0025], [0113]: input intents are matched to output intents which may be automated actions, the parts of the system may be implemented as API calls)
the destination devices and structured formats, wherein the structured formats indicate formats in which data should be input into the corresponding destination device, (Table 2, [0025], [0113]: certain actions require certain parameters, API calls)
the structured formats and mandatory/optional fields, wherein the mandatory/optional fields indicate data fields of the structured formats for which data must be provided for an action to be processed at the corresponding destination device; ([0025]: certain actions have certain mandatory parameters)
It would have been obvious to one with ordinary skill in the art before the effective filing date to have used a table to map intents to outputs as taught by Kalns because it allows the device to provide access to electronic information and services in a conversational manner (See Kalns [0002]).
Regarding claim 2, Singaraju et al. and Kobashikawa disclose its parent elements as written for claim 1 above. Singaraju further discloses the computing platform wherein applying the one or more natural language processing algorithms to the first message causes the computing platform to identify a second intent associated with the first message and a second confidence score associated with the second identified intent. ([0003]-[0004], [0070]: confidence scores are calculated for a pair of intents associated with one message)
Regarding claim 3, Singaraju et al. and Kobashikawa disclose its parent elements as written for claim 2 above. Singaraju further discloses the computing platform wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, further cause the computing platform to:
determine that the second confidence score does not exceed the predetermined intent identification threshold; ([0084]: checking if distinguishability score is below a certain threshold)
send, in response to determining that the second confidence score does not exceed the predetermined intent identification threshold, one or more commands directing an enterprise user device to display a prompt for manual review of the second identified intent. ([0088], Figure 6: If distinguishability scores are too low, shows the user a manual review screen as shown in the drawing)
Regarding claim 4, Singaraju et al. and Kobashikawa disclose its parent elements as written for claim 3 above. Singaraju further discloses the computing platform wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, further cause the computing platform to:
receive, in response to the one or more commands directing the enterprise user device to display the prompt for manual review of the second identified intent, a third message indicating user input entered at the enterprise user device in response to the prompt for the manual review of the second identified intent; and ([0026-0027]: the user is provided with editing options when prompted for manual review when the threshold is too low)
tune, based on the user input, one or more machine learning models used to determine the second intent. ([0026-0027]: classification models are retrained based on user inputs; Also refer to S 470, Fig 4, S1080, Fig 10)
Regarding claim 5, Singaraju et al. and Kobashikawa disclose its parent elements as written for claim 4 above. Singaraju further discloses the computing platform wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, further cause the computing platform to:
identify, based on the user input entered at the enterprise user device in response to the prompt for the manual review of the second identified intent, a second destination device associated with the second identified intent and a structured format associated with the second destination device; ([0088]: user can edit utterances or intents; [0028]: an intent carries a desired action; [0058]: desired actions are associated with destination devices such as a bank server, “command” implies a format specific to the device; [0040]: a REST call is an API call of a particular format, they necessarily have to be specific to the destination server)
generate a fourth message, wherein the fourth message comprises the second identified intent and conforms to the structured format associated with the second destination device; and ([0088]: user can edit utterances or intents; [0058]: identified intents are used to create a message that sends a command to a remote device)
send, to the second destination device, the second message, wherein sending the second message to the second destination device causes the second destination device to perform an action associated with the second identified intent. ([0058]: sending the command causes an action such as retrieving a balance from a bank)
Regarding claim 6, Singaraju et al. and Kobashikawa disclose its parent elements as written for claim 5 above. Singaraju further discloses the computing platform wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, further cause the computing platform to:
receive:
a first feedback message indicating the first destination device performed the action associated with the first identified intent, and ([0058]: system receives a balance from the bank server)
a second feedback message indicating the second destination device performed the action associated with the second identified intent; ([0058]: system receives feedback from the bank server)
generate, based on the first feedback message and the second feedback message, a third feedback message indicating that the action associated with the first identified intent and the action associated with the second identified intent have been completed; and ([0058] system generates a message comprising the received information)
send, to a sender device associated with the first message, the third feedback message. ([0058] system provides the message to the user)
Regarding claim 8, Singaraju et al. and Kobashikawa disclose its parent elements as written for claim 1 above. Singaraju further discloses the computing platform, wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, further cause the computing platform to:
determine, prior to sending the second message, that the first message does not contain information needed by the first destination device to perform the action associated with the first intent; ([0040]: bot system may require additional information)
send, to a sender device that sent the first message, one or more commands directing the sender device to display a prompt for the information needed by the first destination device to perform the action associated with the first intent; ([0040]: “prompt the end user for additional input parameters or request other additional information”)
receive, from the sender device and in response to the one or more commands directing the sender device to display a prompt for the information needed by the first destination device to perform the action associated with the first intent, the information needed by the first destination device to perform the action associated with the first intent. ([0040]: requesting additional information)
Regarding claim 9, Singaraju et al. and Kobashikawa disclose its parent elements as written for claim 8 above. Singaraju further discloses the computing platform wherein generating the second message comprises generating, using the information needed by the first destination device to perform the action associated with the first intent, the second message. ([0040]: requesting additional information and converting the user’s message into a REST call)
Regarding claim 10, Singaraju et al. and Kobashikawa disclose its parent elements as written for claim 1 above. Singaraju further discloses the computing platform wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, further cause the computing platform to:
perform an automated data enrichment process to cause execution of the action without requesting additional input from a user ([0052]-[0054]; [0058]-[0060]: automatically retrieving relevant information to execute the action without prompting the user), wherein performing the automated data enrichment process comprises:
determining, prior to sending the second message, that the first message does not contain information needed by the first destination device to perform the action associated with the first intent; ([0040]: system may require additional user information)
identifying an enterprise data source hosting the information needed by the first destination device to perform the action associated with the first intent; ([0058]: system may retrieve information from enterprise services)
sending, to the enterprise data source hosting the information needed by the first destination device to perform the action associated with the first intent, one or more commands directing the enterprise data source to provide the information needed by the first destination device to perform the action associated with the first intent; and ([0058]: retrieving account information from the enterprise data source)
receiving, from the enterprise data source and in response to the one or more commands directing the enterprise data source to provide the information needed by the first destination device to perform the action associated with the first intent, the information needed by the first destination device to perform the action associated with the first intent, wherein generating the second message comprises generating, based on the information needed by the first destination device to perform the action associated with the first intent, the second message. ([0058]: retrieving account information from the enterprise data source. The end user can make a selection, allowing the initial prompt to be completed)
Regarding claim 11, Singaraju et al. and Kobashikawa disclose its parent elements as written for claim 10 above. Singaraju further discloses the computing platform wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, further cause the computing platform to:
identify a structured format associated with the first destination device, wherein the second message conforms to the structured format associated with the first destination device. ([0040]: converting a user utterance to a REST call to an enterprise service. REST calls necessarily conform to a format based on the end device)
Regarding claim 12, Singaraju et al. and Kobashikawa disclose its parent elements as written for claim 11 above. Singaraju et al. further discloses the computing platform wherein identifying the first destination device associated with the identified intent and the structured format associated with the first destination device comprises accessing a dynamic stored table ([0042]: intents constitute mappings of inputs and actions, trivially represented as a table), wherein the dynamic stored table contains:
correlations between one or more intents and one or more destination devices; ([0042] intents map an input to an action, thus the intents themselves are correlated to the action, which can be associated with a particular enterprise service or end device as seen in [0058])
correlations between the one or more destination devices and one or more structured formats; and ([0040]: REST calls inherently need to be tailored to the destination device)
correlations between the one or more structured formats and one or more mandatory data fields, wherein determining prior to sending the second message, that the first message does not contain the information needed by the first destination device to perform the action associated with the first intent comprises comparing content from the first message with one or more mandatory data fields associated with one or more structured formats () associated with one or more destination devices associated with the first intent ([0040]: REST calls inherently follow a structure with certain required fields depending on the destination server. Converts a user's message to a REST call with the proper parameters and detects if information is missing. The system may prompt the user for additional information.)
Regarding claims 13-14 and 20, they disclose limitations analogous to those described in claims 1-12, and are rejected for the same reasoning. Claims 13-14 are further directed to a method. Claim 20 is further directed to a non-transitory computer-readable media storing instructions (disclosed by Singaraju et al. [0005]).
Regarding claim 22, which depends from claim 1 addressed above, Kalns discloses wherein the structured formats comprise one or more of a file type or file layout ([0113]: API calls are sent through a packet structure).
Regarding claim 23, which depends from claim 1 addressed above, Kalns discloses wherein the mandatory/optional fields indicate that for a fund transfer to be completed, a value of funds must be specified within a mandatory field. ([0025]: transfer funds intent is only confirmed when the required amount is received)
Regarding claim 25, which depends from claim 1 addressed above, Kalns discloses wherein generating the second message comprises:
automatically obtain additional information for inclusion in the second message and
automatically enrich, using the additional information and without prompting a user to provide the additional information, the second message. ([0082]-[0085]: meta intents)
Claim(s) 7 is/are rejected under 35 U.S.C. 103 as being unpatentable over Singaraju et al. in view of Kobashikawa et al. in view of Kalns as applied to claims 8 and 17 above, and further in view of Terry et al. (WO2019191337A1).
Regarding claim 7, Singaraju and Kobashikawa disclose its parent elements as written above for claim 6. Singaraju and Kobashikawa do not disclose the computing platform wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, further cause the computing platform to: identify a language of the first message, wherein generating the third feedback message comprises generating the third feedback message in the language of the first message.
However, Terry et al. does disclose the computing platform wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, further cause the computing platform to: identify a language of the first message, wherein generating the third feedback message comprises generating the third feedback message in the language of the first message. ([00100]-[0101]: detects the language used by the user in sent messages and chooses the language to respond in accordingly)
While Singaraju et al. discloses a system can perform different actions depending on the utterance, it doesn’t explicitly mention the identification of the uttered language. Terry et al. does teach this concept. It would have been obvious to one with ordinary skill in the art before the effective filing date to respond to the user in the language they are using in as taught by Terry et al. in Singaraju et al. because it allows the system to infer the user’s conversational preferences (see Terry et al. [0040]-[0041], [0100]).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ALVIN ISKENDER whose telephone number is (703)756-4565. The examiner can normally be reached M-F.
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, HAI PHAN can be reached on (571) 272-6338. 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.
/ALVIN ISKENDER/ Examiner, Art Unit 2654
/HAI PHAN/ Supervisory Patent Examiner, Art Unit 2654