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 filed 07/16/2025 have been fully considered but they are not persuasive.
With regards to argument “1. Solomon Does Not Maintain Slot-Filling Context Across an Intervening Unrelated Intent - Cannot Recognize the Third Input Using Prior Context
(1) "identifying a second intent of the second input, wherein the second intent is determined to have non-slot-filling intent;"
(2) "in response to the second intent of the second input having the non-slot-filling intent, querying the user to provide additional input associated with the non-slot-filling intent;"
(3)"at the chatbot, receiving a third input from the user responsive to the querying the user to provide the additional input;" and
(4) "determining that a third intent of the third input includes the slot-filling answer based on the slot-filling context saved in the conversation history." This claim structure makes clear that the system must be capable of maintaining the slot- filling context even after an intervening input (the second input) that is unrelated to slot-filling, and then, upon receiving a subsequent input (the third input), recognize that this input provides a slot-filling answer by leveraging the previously saved slot-filling context. In other words, the claims require the system to persist slot-filling context across at least one intervening non-slot- filling input and to apply that context when evaluating later user inputs. ”, Examiner respectfully disagrees.
Regarding (1)identifying a second intent of the second input, wherein the second intent is determined to have non-slot-filling intent ([0110] Accordingly and at 328, in some examples the method 300 may include identifying a pause within an utterance from a user along with an intent of the user to continue speaking and add to the utterance. [0111] For example, a user may pause mid-utterance to think about what she should say next. In other examples, a user may be interrupted mid-utterance by an external event, such as another person speaking, distracting activity from the user's environment such as a loud noise or bright light, or a variety of other external activities. Examiner notes, due to the unrelated response, the second intent is therefore a non-slot filling intent, i.e. the second response cannot be used to fill the slots for the first utterance.);
Regarding (2) in response to the second intent of the second input having the non-slot-filling intent, querying the user to provide additional input associated with the non-slot-filling intent (This is essentially switching to a different/new intent template in response to the second input not corresponding to the initial slot-filling intent. Solomon teaches continued interaction with the user using the second resolver to resolve the second intent. [0114] If the system needs to ask for input or otherwise audibly converse with the user before the predetermined period of time expires, the system may use interruption language constructs that may provide for a more gentle interruption of the user's current potential engagement. Examples of interruption language constructs include “by the way” and “additionally”. In some examples, such language constructs may be used even where the user has stopped speaking and/or the current conversation has “timed out,” and the system is not presently listening to the user. [0129], Accordingly, the first resolver is replaced by a second resolver that proceeds to analyze the new intent template and establish a new conversation.);
Regarding (3), at the chatbot, receiving a third input from the user responsive to the querying the user to provide the additional input ([0116] When the intent handler 50 receives a response to its query from the user (via the voice listener 30 and parser 40), the intent handler may populate the slot with the response.); and
Regarding (4)determining that a third intent of the third input includes the slot-filling answer based on the slot-filling context saved in the conversation history (See conversation history in Fig. 5; [0127], In some examples, the system may track multiple conversations that are occurring simultaneously or otherwise overlapping, and may interact with participants in each conversation as appropriate for each conversation; Further evidence of maintaining slot-filling context across an intervening unrelated intent is provided at least in [0119] After speaking this first phrase, Justin's mother may pause for a brief period of time, such as 3 or 4 seconds. After this pause, she may speak a second phrase “and me” which is received by the parser 40. Examiner notes the pause can be interpreted as an intervening input determined to have non-slot-filling intent. [0120] Based at least in part on this second phrase beginning with the conjunction “and” followed by the pronoun “me”, the second resolver may determine that Justin's mother intends to refer to a prior utterance. The second resolver may utilize an anaphoric resolution technique to associate the word “me” to Justin's mother. By using this data and analyzing the previously-established commitment, the second resolver may determine that the intent associated with the second phrase “and me” is related to the intent associated with the prior phrase “When Justin is near the oven, alert Erich.” Accordingly, the second resolver may modify the previously-established commitment to broadcast a warning to both Erich and Justin's mother when Justin is within 1 meter of the oven in the kitchen. [0128]-[0129] for example, which teaches “The first resolver may determine that the content slot (“Justin”) of the action “Call Justin” is ambiguous because the user has both a Justin Smith and a Justin Doe in the user's contacts database. Accordingly, the first resolver may respond with a query to the user of “Which Justin—Justin Doe or Justin Smith?” In this example, the user responds with an unrelated response, “Please record TV Show A tonight.”[0129] The first resolver may analyze this response and its corresponding new intent template by referring to the immediately preceding intent template and its missing content slot. Because the user's response is completely unrelated to the query just presented to the user, the first resolver determines that the new intent template represents a new intent of the user, and thus the new intent template should not be fused with the preceding intent template.”
With regards to argument “2. The Prior Art Does Not Teach Parsing User Input Without Using the Prior Slot-Filling Context Applicant respectfully submits that neither Solomon nor Goyal, alone or in combination, teaches or suggests the claimed limitation of, after deactivation of the slot-filling system, "determining a fourth intent of the fourth input without the slot-filling context," as recited in the independent claims.” Examiner respectfully disagrees. Examiner notes each new topic is treated independently in Solomon: [0087], If the intent handler 50 determines that the two or more intent templates should not be fused together, then a new topic may be started using the most recently received intent template. Solomon further teaches, for example, Fig. 23, where once slots are filled (1819), the system loops back, with the fourth input’s intent being determined (1802 and 1804) without the slot filling context associated with the previous intent template. See also [0286], Eventually all missing information is gathered or provided, and thus the method may include exiting the loop (step 1812 at YES) upon determining that no slot exists with required missing or unresolved slot information. Examiner notes the fourth input is therefore treated as a new topic independent of the third input in step 1812.
With regards to argument “3. The Prior Art Does Not Teach Deactivating the Slot-Filling System After a Number of Non-Slot-Filling Inputs”, Examiner respectfully disagrees. Goyal teaches deactivating the slot-filling system in response to a number of non-slot-filling inputs being received from the user (Fig. 6 and [0039] the secondary chat bot service has failed to advance the conversation (respond relevantly) a threshold number of times (e.g., due to the secondary chat bot service being unable to understand the user); This indicates that after a number of inputs that do not fill the slots corresponding to the conversation, the chat session can be ended with the particular secondary chat bot service so that another secondary chat bot service can be chosen.
For at least these reasons Examiner respectfully submits that the cited references teach the claimed limitations.
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.
Claims 1-3, 6-13, 15, and 21 are rejected under 35 U.S.C. 103 as being unpatentable over Solomon et al. (US 2018/0233141) in view of Goyal et al. (US 2022/0021630).
Claim 1
Solomon teaches a computer-implemented method of operating a dialogue system, the computer-implemented method comprising:
at a chatbot, receiving a first input from a user (130 of Fig. 3; For example, “Call Justin” in [0128]);
identifying a first intent of the first input (abstract: At the processor, the method may include receiving natural language user input from the user, parsing the user input at an intent handler to determine an intent template with slots;);
based on the first intent, activating a slot-filling system (abstract: populating the slots in the intent template with information from user input) and
saving slot-filling context in a stored conversation history, wherein the slot-filling context corresponds to the first input (See Fig. 5 “conversation history” and corresponding citation: [0088] As described in more detail below, where a slot of an intent template has missing information, the intent handler 50 may perform data gathering operations (such as to ask the user to clarify or provide information, or try to gather the information in another way) in order to populate information in the slot. Once each slot contains information, the intent handler 50 may determine if the information in each slot is unambiguous. For information identified as ambiguous, the intent handler 50 may apply one or more of a variety of techniques to resolve the ambiguity. See also [0104] At 316 the method 300 may include identifying slots with missing information and populating these slots with collected information.);
with the slot-filling system activated:
at the chatbot, querying the user to provide a slot-filling answer (abstract: populating the slots in the intent template with information from user input, and performing resolution on the intent template to partially resolve unresolved information. If a slot with missing slot information exists in the partially resolved intent template, a loop may be executed at the processor to fill the slots. [0003], if information is still missing, presenting a missing information query to the user to fill the slot with the missing slot information; [0128], the first resolver may respond with a query to the user of “Which Justin—Justin Doe or Justin Smith?”);
at the chatbot, receiving a second input from the user responsive to the querying ([0003], receiving a user response to the missing information query;);
identifying a second intent of the second input, wherein the second intent is determined to have non-slot-filling intent ([0003], re-performing resolution based on the partially resolved intent template and the user response; [0110] Accordingly and at 328, in some examples the method 300 may include identifying a pause within an utterance from a user along with an intent of the user to continue speaking and add to the utterance. [0111] For example, a user may pause mid-utterance to think about what she should say next. In other examples, a user may be interrupted mid-utterance by an external event, such as another person speaking, distracting activity from the user's environment such as a loud noise or bright light, or a variety of other external activities. See also [0128] In some examples, the intent handler 50 may determine that an intent associated with a newly received phrase is not related to the intent of an immediately preceding commitment. For example, an intent template corresponding to the utterance “Call Justin” may be received and processed by a first resolver into a first commitment. The first resolver may determine that the content slot (“Justin”) of the action “Call Justin” is ambiguous because the user has both a Justin Smith and a Justin Doe in the user's contacts database. Accordingly, the first resolver may respond with a query to the user of “Which Justin—Justin Doe or Justin Smith?” In this example, the user responds with an unrelated response, “Please record TV Show A tonight.”; [0129], Because the user's response is completely unrelated to the query just presented to the user, the first resolver determines that the new intent template represents a new intent of the user, and thus the new intent template should not be fused with the preceding intent template. Accordingly, the first resolver is replaced by a second resolver that proceeds to analyze the new intent template and establish a new conversation. Examiner notes, due to the unrelated response, the second intent is therefore a non-slot filling intent, i.e. the second response cannot be used to fill the slots for the first utterance.);
in response to the second intent of the second input having the non-slot-filling intent, querying the user to provide additional input associated with the non-slot-filling intent ([0114] If the system needs to ask for input or otherwise audibly converse with the user before the predetermined period of time expires, the system may use interruption language constructs that may provide for a more gentle interruption of the user's current potential engagement. Examples of interruption language constructs include “by the way” and “additionally”. In some examples, such language constructs may be used even where the user has stopped speaking and/or the current conversation has “timed out,” and the system is not presently listening to the user. [0129], Accordingly, the first resolver is replaced by a second resolver that proceeds to analyze the new intent template and establish a new conversation.);
at the chatbot, receiving a third input from the user responsive to the querying the user to provide the additional input; and determining that a third intent of the third input includes the slot-filling answer based on the slot-filling context saved in the conversation history ([0115] At 336 the method 300 may include querying the user for information missing from a slot. In some examples, the intent handler 50 may ask the user for information missing from one or more slots of an intent template. For example, regarding the phrase “When Bob comes into the room with the others introduce” and its explicitly missing information in the content slot following the word “introduce,” the intent handler 50 may broadcast a spoken word query to the user asking “Whom do you want to introduce?”).
Solomon further teaches, for example, Fig. 23, where once slots are filled (1819), the system loops back, with the fourth input’s intent being determined (1802 and 1804) without the slot filling context associated with the previous intent template. See also [0286], Eventually all missing information is gathered or provided, and thus the method may include exiting the loop (step 1812 at YES) upon determining that no slot exists with required missing or unresolved slot information. Examiner can interpret deactivation to exiting the loop after slot information has been resolved. However, Solomon may not particularly detail deactivating the slot-filling system in response to a number of non-slot-filling inputs being received from the user; at the chatbot, receiving a fourth input from the user; and with the slot-filling system being inactive, determining a fourth intent of the fourth input without the slot-filling context.
Goyal teaches deactivating the slot-filling system in response to a number of non-slot-filling inputs being received from the user (Fig. 6 and [0039] the secondary chat bot service has failed to advance the conversation (respond relevantly) a threshold number of times (e.g., due to the secondary chat bot service being unable to understand the user); This indicates that after a number of inputs that do not fill the slots corresponding to the conversation, the chat session can be ended with the particular secondary chat bot service so that another secondary chat bot service can be chosen.[0040] If at 606 it is determined that a condition to end the chat session has been met, at 608, the control flag is taken back (by the primary chat bot service). After the control flag is taken back, a different secondary chat bot service to assist the user may be selected. For example, if the user has switched from asking about a restaurant reservation to asking about an information technology problem, a chat session with a restaurant reservation bot would end and a chat session with an information technology bot could begin (due to the restaurant reservation bot not being capable of handling information technology requests). In some embodiments, the primary chat service bot selects a different secondary chat service bot in a chat bot ecosystem (e.g., as shown in FIGS. 1 and 2) by performing the process of FIG. 3. Stated alternatively, in some embodiments, the process for selecting an appropriate secondary chat bot service is repeated when the user switches conversation topics. [0017] In the example illustrated, NLU engine 114 is communicatively connected to primary bot 110. NLU (natural language understanding) may be utilized by primary bot 110 to determine intents from utterances (in chat messages) provided by a user of client 102. The determined intents can be utilized to select appropriate secondary bots suited to the determined intents. Therefore, Goyal teaches deactivating a secondary chat bot after condition to end the chat session has been met. Without any of the secondary bots being active, primary bot can then determine intent of the fourth input from the user, that is different from the original context.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to incorporate the switching of bots based on intent, as taught by Goyal with the intelligent assistant of Solomon, which has parser 40 and intent handler 50, because doing so would have enabled users are able to ask questions within the knowledge domains of secondary chat bots simply by communicating with the primary chat bot ([0011] of Goyal).
Claim 2
Solomon of the combination teaches the computer-implemented method of claim 1, wherein the slot-filling context includes a current status of the slot-filling system, wherein the current status includes a missing parameter of the first intent, and already-filled parameters of the first intent ([0063] In some examples, each slot may embody one of three states: (1) missing information, (2) information present with unresolved ambiguity, and (3) information present with any ambiguity resolved.).
Claim 3
Solomon of the combination teaches the computer-implemented method of claim 1, wherein the slot-filling context includes information regarding slots corresponding to the first intent that are not yet filled ([0063] In some examples, each slot may embody one of three states: (1) missing information, (2) information present with unresolved ambiguity, and (3) information present with any ambiguity resolved.).
Claim 6
Solomon of the combination teaches the computer-implemented method of claim 1, further comprising: defining all slots to be filled based on the first intent (for example, 1806 of Fig. 23); not filling any of the slots with information associated with the second input based on the second intent determined to have non-slot-filling intent (Examiner notes, as a result of the pause intent, the slots are not filled yet; [0110] Accordingly and at 328, in some examples the method 300 may include identifying a pause within an utterance from a user along with an intent of the user to continue speaking and add to the utterance. [0111] For example, a user may pause mid-utterance to think about what she should say next. In other examples, a user may be interrupted mid-utterance by an external event, such as another person speaking, distracting activity from the user's environment such as a loud noise or bright light, or a variety of other external activities.); and
filling at least one of the slots with information associated with the third input based on the third intent determined to have slot-filling intent ([0116] When the intent handler 50 receives a response to its query from the user (via the voice listener 30 and parser 40), the intent handler may populate the slot with the response. At this point, the method 300 may return to 304 and the steps following to analyze this newly-added information for any ambiguities as described above.).
Claim 7
Solomon of the combination teaches the computer-implemented method of claim 1, wherein the steps of identifying the first intent of the first input and identifying the second intent of the second input are performed utilizing one or more processors programmed to perform natural language understanding (NLU) ([0060], the parser 40 analyzes the text and confidence values to determine an intent of the user in speaking the received utterance. The parser 40 may translate the natural language text received from the voice listener 30 into a machine-executable language that represents a user's intention underlying the natural language.).
Claim 8
This claim is the system claim including broader limitations than those provided in claim 1, and therefore it is rejected for similar reasons. For example, this claim omits the last three paragraphs of claim 1. HMI ([0274], The user interface may be an audio user interface, in which the user speaks utterances that are received via a microphone and the system responds with audio responses emitted via a speaker; a graphical user interface displaying visual (e.g., textual or graphical) representations of a dialog; or a combination thereof, and may also include two- or three-dimensional gesture recognition sensed via a touch screen or depth camera for example. Schematic representations of dialogs presented via the user interface are illustrated in FIG. 24-26B, described below. Executing the programs at the processor may cause the steps of method 1800 to be performed. )
Claim 9
Solomon of the combination teaches the system of claim 8, wherein the one or more processors are further programmed to determine the second intent of the second input includes the slot-filling answer based on the slot-filling context saved in storage ([0115] At 336 the method 300 may include querying the user for information missing from a slot. In some examples, the intent handler 50 may ask the user for information missing from one or more slots of an intent template. For example, regarding the phrase “When Bob comes into the room with the others introduce” and its explicitly missing information in the content slot following the word “introduce,” the intent handler 50 may broadcast a spoken word query to the user asking “Whom do you want to introduce?”).
Claim 10
Solomon of the combination teaches the system of claim 8, wherein the one or more processors are further programmed to: activate a slot-filling system based on the determined first intent, and determine the second intent of the second input based on the slot-filling context saved in storage only when the slot-filling system is activate (See for example, Fig. 5 with intent template 1 and intent template 2 which are all saved in conversation history.).
Claim 11
Solomon of the combination teaches the system of claim 10, wherein the one or more processors are further programmed to: when the slot-filling system is inactive, determine the second intent of the second input without the slot-filling context (Examiner notes, specific embodiment/steps as claimed is not described adequately in the specification. See for example, Fig. 23, where once slots are filled (1819), the system loops back, with the second input’s intent being determined (1802 and 1804) without the slot filling context associated with the previous intent template.). .
Claim 12
Solomon of the combination teaches the system of claim 8, wherein the slot-filling context includes a current status of the slot-filling system ([0063] In some examples, each slot may embody one of three states: (1) missing information, (2) information present with unresolved ambiguity, and (3) information present with any ambiguity resolved.).
Claim 13
This claim recites substantially the same limitations as those provided in claim 3 above, and therefore it is rejected for the same reasons.
Claim 15
This claim recites substantially the same limitations as those provided in claim 7 above, and therefore it is rejected for the same reasons.
Claim 21
Solomon teaches the computer-implemented method of claim 1, further comprising: filling a slot associated with the first intent with the slot-filling answer associated with the third intent (Fig. 5 and [0086] As described in more detail below, the intent handler 50 may analyze the intent template 2 along with context information 110 to determine whether to utilize first resolver 1 or second resolver 2 to resolve the intent template 2).
Conclusion
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to THOMAS H MAUNG whose telephone number is (571)270-5690. The examiner can normally be reached Monday-Friday, 9am-6pm, EST.
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, Carolyn R. Edwards can be reached on 1-(571) 2707136. 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.
/THOMAS H MAUNG/Primary Examiner, Art Unit 2692