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 .
DETAILED ACTION
The instant application having Application No. 15992143 has a total of 27 claims pending in the application, of which claims 9, 14, and 17-21 have been cancelled.
Claim Rejections - 35 USC § 101
Claim Rejections – 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-8, 10-13, 15-16, and 22-27 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
Step 1: Claim 1 is a process type claim. Claim 10 is a machine type claim, and claim 22 is a manufacture type claim. Therefore, claims 1-8, 10-13, 15-16, and 22-27 are directed to either a process, machine, manufacture or composition of matter.
As per claim 1,
2A Prong 1:
“responsive to receiving the indication that the chat… is to be updated, causing … features to be presented… comprise a dialog included in training data for training the chat… wherein the chat… has been trained based upon the training data, wherein the dialog comprises a first dialog turn set forth by the chat… to an end user, a second dialog turn set forth by the chat… to the end user, a third dialog turn set forth by the chat… to the end user, and further wherein the second dialog turn was set forth by the chat… to the end user subsequent to the chat… setting forth the first dialog turn to the end user, and the third dialog turn was set forth by the chat … to the end user subsequent to the chat… setting forth the second dialog turn to the end user” A telemarketer mentally or with pencil and paper reviews the dialog manual for their position, containing questions from users and planned responses to frequently encountered dialogs.
“…wherein the chat… has a state” The telemarketer mentally or with pencil and paper notes where they are currently in the preplanned dialog.
“responsive to receiving the indication that the updated dialog is to be generated: removing the third dialog turn from the dialog such that the chat… has the state” The telemarketer mentally or with pencil and paper decides to update the planned conversation, and removes the piece they no longer wish to include.
“based upon the selection of the response, updating the chat… wherein future dialog turns output by the chat… in response to user inputs are a function of the updating of the chat…” The telemarketer mentally or with pencil and paper adds in responses to the planned dialog to be used in the future.
2A Prong 2: This judicial exception is not integrated into a practical application.
Additional elements:
“A client computing device”, “graphical user interface (GUI)” “a display”, “the GUI features”, “second GUI features”, “the second GUI features” (mere instructions to apply the exception using a generic computer component);
“chatbot” (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f) – Examiner’s note: The learning algorithm is a generic chatbot with no additional features or limitations other than being a generic, off the shelf chatbot.
“receiving… an indication that the chatbot is to be updated”, “receiving an indication that the second dialog turn has been selected by a user …”, “subsequent to receiving the indication that the second dialog turn has been selected by the user, receiving an indication that an updated dialog is to be generated wherein the updated dialog is to include the first dialog turn while failing to include the third dialog turn”, “presenting a text entry field”, “Subsequent to presenting the text entry field, receiving, by way of the text entry field, a fourth dialog turn from the user to add to the dialog following the second dialog turn selected by the user”, “in response to receiving the fourth dialog turn causing …to be presented on the display… comprise selectable responses of the chat... to the fourth dialog turn set forth by the user”, “receiving from the user, a selection of a response from among the selectable responses” Adding insignificant extra-solution activity to the judicial exception - see MPEP 2106.05(g)).
2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception.
Additional elements:
“A client computing device”, “graphical user interface (GUI)” “a display”, “the GUI features”, “second GUI features”, “the second GUI features” (mere instructions to apply the exception using a generic computer component)
“chatbot” (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f) – Examiner’s note: The learning algorithm is a generic chatbot with no additional features or limitations other than being a generic, off the shelf chatbot.
“receiving… an indication that the chatbot is to be updated”, “receiving an indication that the second dialog turn has been selected by a user …”, “subsequent to receiving the indication that the second dialog turn has been selected by the user, receiving an indication that an updated dialog is to be generated wherein the updated dialog is to include the first dialog turn while failing to include the third dialog turn”, “presenting a text entry field”, “Subsequent to presenting the text entry field, receiving, by way of the text entry field, a fourth dialog turn from the user to add to the dialog following the second dialog turn selected by the user”, “in response to receiving the fourth dialog turn causing …to be presented on the display… comprise selectable responses of the chat... to the fourth dialog turn set forth by the user”, “receiving from the user, a selection of a response from among the selectable responses” (MPEP 2106.05(d)(II) indicate that merely “receiving and transmitting data” is a well‐understood, routine, conventional function when it is claimed in a merely generic manner (as it is in the present claim). Thereby, a conclusion that the claimed receiving and displaying steps are well-understood, routine, conventional activity is supported under Berkheimer).
As per claim 2-7, these claims contain additional mental steps and generic machine learning similar to claim 1, and is rejected for similar reasons to claim 1.
As per claim 8, this claim contains additional mental steps, generic machine learning, and generic computer hardware similar to claim 1, and is rejected for similar reasons.
As per claim 10,
2A Prong 1:
“Based upon the indication that the chatbot is to be updated… where the dialog includes a dialog turn set forth by the end user to the chat…, where the dialog comprises a first set of dialog turns between the chatbot and the end user that occurred prior to the dialog turn, wherein the dialog comprises a second set of dialog turns between the chatbot and the end user that occurred subsequent to the dialog turn, and further wherein the chatbot has a state at the dialog turn” ” A telemarketer mentally or with pencil and paper reviews the dialog manual for their position, containing questions from users and planned responses to frequently encountered dialogs and notes where they are in the planned dialog.
“based upon the indication that the updated dialog is to be generated: removing the second set of dialog turns form the dialog such that the chatbot has the state” The telemarketer mentally or with pencil and paper removes a portion of the dialog they no longer wish to include.
“Based upon the indication that the potential response is the desired response to the new dialog turn, updating the chat… wherein future responses output by the chat… in response to user inputs are a function of the updating of the chat…” The telemarketer mentally or with pencil and paper adds in new dialog to be used in the future.
2A Prong 2: This judicial exception is not integrated into a practical application.
Additional elements:
“A server”, “a processor”, “memory” “a client computing device”, “a display” (mere instructions to apply the exception using a generic computer component);
“chatbot” (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f) – Examiner’s note: The learning algorithm is a generic chatbot with no additional features or limitations other than being a generic, off the shelf chatbot.
“receiving… an indication that a chatbot is to be updated”, “displaying a dialog between the chatbot and an end user of the chatbot”, “receiving an indication that a developer of the chatbot has selected the dialog turn” “subsequent to receiving the indication that the developer of the chatbot has selected the dialog turn, receiving an indication that an updated dialog is to be generated wherein the update dialog is to include the first set of dialog turns but is not to include the second set of dialog turns”, “presenting a text entry field”, “subsequent to presenting the text entry field on the display, receiving, by way of the text entry field, a new dialog turn from the developer to add to the dialog, the new dialog turn immediately follows the dialog turn selected by the developer”, “based upon the new dialog turn, casing potential responses of the chatbot to the new dialog turn to be displayed on a display of the client computing device” , “receiving, from the developer, an indication that a potential response from amongst the potential responses is a desired response to the new dialog turn” Adding insignificant extra-solution activity to the judicial exception - see MPEP 2106.05(g)).
2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception.
Additional elements:
“A server”, “a processor”, “memory” “a client computing device”, “a display” (mere instructions to apply the exception using a generic computer component)
“chatbot” (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f) – Examiner’s note: The learning algorithm is a generic chatbot with no additional features or limitations other than being a generic, off the shelf chatbot.
“receiving… an indication that a chatbot is to be updated”, “displaying a dialog between the chatbot and an end user of the chatbot”, “receiving an indication that a developer of the chatbot has selected the dialog turn” “subsequent to receiving the indication that the developer of the chatbot has selected the dialog turn, receiving an indication that an updated dialog is to be generated wherein the update dialog is to include the first set of dialog turns but is not to include the second set of dialog turns”, “presenting a text entry field”, “subsequent to presenting the text entry field on the display, receiving, by way of the text entry field, a new dialog turn from the developer to add to the dialog, the new dialog turn immediately follows the dialog turn selected by the developer”, “based upon the new dialog turn, casing potential responses of the chatbot to the new dialog turn to be displayed on a display of the client computing device” , “receiving, from the developer, an indication that a potential response from amongst the potential responses is a desired response to the new dialog turn” (MPEP 2106.05(d)(II) indicate that merely “receiving and transmitting data” is a well‐understood, routine, conventional function when it is claimed in a merely generic manner (as it is in the present claim). Thereby, a conclusion that the claimed receiving and displaying steps are well-understood, routine, conventional activity is supported under Berkheimer).
As per claims 11 and 16, these claims contain additional mental steps and generic machine learning similar to claim 10, and are rejected for similar reasons.
As per claim 12, this claim has similar machine learning aspects to claim 10, and is rejected for similar reasons.
As per claim 13, this claim ahs similar mental steps, generic machine learning, and receiving and transmitting of data similar to claim 10, and is rejected for similar reasons.
As per claim 15, this claim has similar generic computer hardware to claim 10, and is rejected for similar reasons.
As per claim 22,
2A Prong 1:
“responsive to receiving the indication that the chat… is to be updated, causing … features to be presented… comprise a dialog included in training data for training the chat… wherein the chat… has been trained based upon the training data, wherein the dialog comprises dialog turns set forth by the chat… to an end user” A telemarketer mentally or with pencil and paper reviews the dialog manual for their position, containing questions from users and planned responses to frequently encountered dialogs.
“.. Wherein the chat.. has a state at the dialog turn, wherein the dialog includes a first set of dialog turns that precede the dialog turn and a second set of dialog turns that follow the dialog turn” The telemarketer examines a particular portion of the planned dialog.
“responsive to receiving the indication that the updated dialog is to be generated: removing the third dialog turn from the dialog such that the chat… has the state” The telemarketer mentally or with pencil and paper decides to update the planned conversation, and removes the piece they no longer wish to include.
“based upon the selection of the response, updating the chat… wherein future dialog turns output by the chat… in response to user inputs are a function of the updating of the chat…” The telemarketer mentally or with pencil and paper adds in responses to the planned dialog to be used in the future.
2A Prong 2: This judicial exception is not integrated into a practical application.
Additional elements:
“A computer readable storage medium” “a processor”, “a client computing device”, “graphical user interface (GUI)” “a display”, “the GUI features”, “second GUI features”, “the second GUI features” (mere instructions to apply the exception using a generic computer component);
“chatbot” (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f) – Examiner’s note: The learning algorithm is a generic chatbot with no additional features or limitations other than being a generic, off the shelf chatbot.
“receiving… an indication that a chatbot is to be updated”, “receiving an indication that a dialog turn in the dialog turns has been selected by the user…” “subsequent to receiving the indication that the dialog turn has been selected by the user, receiving an indication that an updated dialog is to include the first set of dialog turns while failing to include the second set of dialog turns”, “presenting a text entry field”, “Subsequent to presenting the text entry field, receiving, by way of the text entry field presented on the display, a new dialog turn from the user to add to the dialog following the dialog turn selected by the user”, “in response to receiving the new dialog turn causing …to be presented on the display… comprise selectable responses of the chat... to the new dialog turn set forth by the user”, “receiving from the user, a selection of a response from among the selectable response as a desired response of the chatbot to the new dialog turn set forth by the user” Adding insignificant extra-solution activity to the judicial exception - see MPEP 2106.05(g)).
2B: The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception.
Additional elements:
“A computer readable storage medium” “a processor”, “a client computing device”, “graphical user interface (GUI)” “a display”, “the GUI features”, “second GUI features”, “the second GUI features” (mere instructions to apply the exception using a generic computer component)
“chatbot” (Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea - see MPEP 2106.05(f) – Examiner’s note: The learning algorithm is a generic chatbot with no additional features or limitations other than being a generic, off the shelf chatbot.
“receiving… an indication that a chatbot is to be updated”, “receiving an indication that a dialog turn in the dialog turns has been selected by the user…” “subsequent to receiving indication that the dialog turn has been selected by the user, receiving an indication that an updated dialog is to include the first set of dialog turns while failing to include the second set of dialog turns”, “presenting a text entry field”, “Subsequent to presenting the text entry field, receiving, by way of the text entry field presented on the display, a new dialog turn from the user to add to the dialog following the dialog turn selected by the user”, “in response to receiving the new dialog turn causing …to be presented on the display… comprise selectable responses of the chat... to the new dialog turn set forth by the user”, “receiving from the user, a selection of a response from among the selectable response as a desired response of the chatbot to the new dialog turn set forth by the user” (MPEP 2106.05(d)(II) indicate that merely “receiving and transmitting data” is a well‐understood, routine, conventional function when it is claimed in a merely generic manner (as it is in the present claim). Thereby, a conclusion that the claimed receiving and displaying steps are well-understood, routine, conventional activity is supported under Berkheimer).
As per claim 23-24 and 26, these claims contain similar mental steps and generic machine learning to claim 22, and are rejected for similar reasons.
As per claims 25 and 27, these claims contain similar generic machine learning to claim 22, and are rejected for similar reasons.
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 (i.e., changing from AIA to pre-AIA ) 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, 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-2, 7, 10, 15, and 22-23 are rejected under 35 U.S.C. 103 as being unpatentable over Raison et al (US 20170293834 A1) in view of Xiaojiang (US 20140122083 A1) and Perez et al (US 20170316777 A1).
Regarding Claim 1, Raison teaches a method for updating a chatbot, the method comprising:
receiving, from a client computing device, an indication that the chatbot is to be updated; (Raison [0061] [0062] [0064]: describing receiving an indication to update the chatbot via a developer console; Fig. 1 and 3)
responsive to receiving the indication that the chatbot is to be updated, causing graphical user interface (GUI) features to be presented on a display of the client computing device, (Raison [0061] [0062] [0064]: displaying a developer console comprising various features; Fig. 3)
the GUI features comprise a dialog included in training data for training the chatbot, (Raison [0061]-[0064]: story section may be selected by selecting a stories selection control 305. The stories section may be used for configuring stories [dialog] for use in teaching a natural language machine learning component the desired behavior for a messaging bot; a log section (for viewing logs of a messaging bot's messaging interactions, such as may be used to generate additional stories) wherein the chatbot has been trained based upon the training data, (Raison [0029] [0033] [0064]: describing that the messaging bot is trained based on the examples [training data]; the system receives all of the conversations a messaging bot has engaged in and is trained on such conversations; a user can then select one of the conversations to modify it and use the modified conversation to further train the messaging bot; [0032] [0062] [0065])
wherein the dialog comprises a first dialog turns turn set forth by the chatbot to an end user, a second dialog turn set forth by the chatbot to the end user, and a third dialog turn set forth by the chatbot to the end user, (Raison [0050] [0054]: message thread may be between, for instance, a user and a messaging bot; [0062] [0078]: dialog includes messages between a messaging bot and user; Fig. 2A showing a dialog comprising at least three dialog turns set forth by the chatbot) and
further wherein the second dialog turn was set forth by the chatbot to the end user subsequent to the chatbot setting forth the first dialog turn to the end user, and the third dialog turn was set forth by the chatbot to the end user subsequent to the chatbot setting forth the second dialog turn to the end user; (Fig. 2A showing the order of the dialog turns)
receiving an indication that the [second] dialog turn has been selected by a user of the client computing device, (Raison [0064] [0102]: a developer may choose to copy a logged conversation to the story section and edit and annotate the logged conversation to generate a story; Fig 3 showing a selected dialog turn; [0029] [0075])
wherein the chatbot has a state at the [second] dialog turn; (Raison [0029] [0075]: A branch may be performed on a received user message, changing which portion of an example conversation should be performed depending on the contents of the user message [the received user message at the portion being the state of the dialog turn]. This may ease the development of stories by preventing the duplication of effort where two stories would have some portion be the same, such as an initial portion, while having other portions be different depending on how the user responds; Fig.3... NOTE: Examiner notes that a dialog turn can be between a first set of dialog turns and second set of dialog turns based on paragraph [0029] and Fig. 3 describing a received user message can have dialog turns preceding it [Fig.3] and a set of dialogs turns following [0029].)
subsequent to receiving the indication that the [second] dialog turn has been selected by the user, receiving an indication that an updated dialog is to be generated, (Raison [0075] [0076]: A particular branch option may be selected to make an active branch option; The branch section for a branch option is the path in the example messaging conversation that will be taken if the branch option is received from a user as a user message; Fig. 3)
wherein the updated dialog is to include the first dialog turn while failing to include the third dialog turn; (Raison [0029]: two stories would have some portion be the same, such as an initial portion, while having other portions be different)
Raison does teach selecting a dialog turn and branching the conversation [0029] [0075] and displaying a developer console in response to an indication of updating a dialog [0029] [0064] [0075] [0076]. However, Raison is not specific to selecting the second dialog turn, which is set forth by the chatbot to the user, such that receiving an indication that the second dialog turn has been selected by a user of the client computing device, wherein the chatbot has a state at the second dialog turn; subsequent to receiving the indication that the second dialog turn has been selected by the user, receiving an indication that an updated dialog is to be generated, … responsive to receiving the indication that the updated dialog is to be generated: removing the second set of dialog turns from the dialog such that the chatbot has the state; and presenting a text entry field on the display; subsequent to presenting the text entry field on the display, receiving, by way of the text entry field, a fourth dialog turn from the user to add to the dialog following the second dialog turn selected by the user.
Xiaojiang teaches receiving an indication that the second dialog turn has been selected by a user of the client computing device, (Xiaojiang [0162]-[0165]: describing user selection of a dialog turn set forth by the chatbot)
wherein the chatbot has a state at the second dialog turn; (Xiaojiang Figs. 5A and 6A showing a dialog, where dialog turn 314C being at a state)
subsequent to receiving the indication that the second dialog turn has been selected by the user, receiving an indication that an updated dialog is to be generated, (Xiaojiang [0165] [0167]: describing following user selection of the dialog turn, generating a user interface to update the dialog; Fig. 6A)
responsive to receiving the indication that the updated dialog is to be generated: removing the third dialog turn from the dialog such that the chatbot has the state; (Xiaojiang [0088] [0089] [0091]: Chatbot system 108 marks the old reply as delete; [0123] [0124]: When users delete an input or output message from the script, system deletes all of its children and children of children; [0183]; Figs. 5A, 6A, and 6B showing the third dialog turn (the dialog turns below 314C) removed from the dialog such that the chatbot has a state – the selected dialog turn 314C being at the state) and
presenting a text entry field on the display; (Xiaojiang [0083] [0167]: "Create user reply" interface 600 includes text box 608; Fig. 6A)
subsequent to presenting the text entry field on the display, receiving, by way of the text entry field, a fourth dialog turn from the user to add to the dialog following the second dialog turn selected by the user; (Xiaojiang [0167] [0169]: the word "No" is entered in text box 608 to respond that the website is not based on WordPress or other CMSs. The user then selects save button 606 to save the reply; [0182]: the new input or output message is stored as a child of the first input or output message)
It would have been obvious to one of ordinary skill in the art before the effective filing date of Applicant's subject matter to indicate a dialog turn set forth by the chatbot in order to be at a state and to remove the third dialog turn and present a text entry field which receives a new dialog turn to be added to the dialog as taught by Xiaojiang for the benefit of updating a chatbot of Raison, with a reasonable expectation of success, for enhancing user input communication (Xiaojiang [0002]) and in order to provide better replies (Xiaojiang [0088] [0091]). Additionally, Raison teaches in order to ease the development of stories by preventing the duplication of effort where two stories would have some portion be the same, such as an initial portion, while having other portions be different depending on how the user responds [0029]. In addition, both references (Raison and Xiaojiang) teach features that are directed to analogous art and they are directed to the same field of endeavor, such as, updating dialogue systems. This close relation between both of the references highly suggests a reasonable expectation of success.
Although Raison does teach generating the one or more bot responses may comprise generating a plurality of bot response options [0083] [0096] [0112] [0119] and that new examples may be generated, expanding the examples available to a NLP system for learning how to process natural language for the messaging bot [0033] [0064] [0090], Raison in view of Xiaojiang may not explicitly teach every aspect of in response to receiving the fourth dialog turn, causing second GUI features to be presented on the display of the client computing device, the second GUI features comprise selectable responses of the chatbot to the fourth dialog turn set forth by the user; receiving, from the user, a selection of a response from amongst the selectable responses; and based upon the selection of the response, updating the chatbot, wherein future dialog turns output by the chatbot in response to user inputs are a function of the updating of the chatbot.
Perez teaches in response to receiving the fourth dialog turn, causing second GUI features to be presented on the display of the client computing device, the second GUI features comprise selectable responses of the chatbot to the fourth dialog turn set forth by the user; (Perez [0100] [0101]: describing in response to annotator writes the chosen utterance 82 in a text entry box as what a customer would respond to the dialog turn [selected second dialog turn set forth by the chatbot], a set of predefined intentions, dialog acts are eligible, and may be displayed to the annotator in a drop down menu)
receiving, from the user, a selection of a response from amongst the selectable responses; (Perez [0101]: user selects a response from the list; Fig. 7) and
based upon the selection of the response, updating the chatbot, wherein future dialog turns output by the chatbot in response to user inputs are a function of the updating of the chatbot. (Perez [0101]: the annotator, by clicking on the “annotate” button 124, generates the annotation, which becomes a new node in the dialog tree associated with the given scenario; Fig. 7)
It would have been obvious to one of ordinary skill in the art before the effective filing date of Applicant's subject matter to cause display of second GUI features comprise selectable responses of the chatbot to the fourth dialog turn set forth by the user in response to receiving the fourth dialog turn and update the chatbot based on a selection of a response from amongst the selectable responses for future dialog turns as taught by Perez for the benefit of updating a chatbot of Raison in view of Xiaojiang, with a reasonable expectation of success, to allow less restricted exploration of dialogue policies (Perez [0051]) and in order to provide options to a user for quicker interaction, thus, improving and enhancing user decision making. In addition, both references (Raison in view of Xiaojiang and Perez) teach features that are directed to analogous art and they are directed to the same field of endeavor, such as, updating dialogue systems. This close relation between the references highly suggests a reasonable expectation of success.
Regarding Claim 2, Raison in view of Xiaojiang in further view of Perez teaches wherein the chatbot is configured to identify entities in the fourth dialog turn, (Raison [0069]-[0071] [0082]: example structured data extraction specifies the portion of the example user message associated with the entity name specification that the messaging bot should be trained to extract from similar example; [0131]) and
wherein updating the chatbot comprises updating the chatbot with respect to the entities identified in the fourth dialog turn. (Raison [0027]: stories may also be annotated with examples of the information that a bot should be extracting from user messages, thereby teaching the bots what to learn and how [0069] [0071]: example structured data extraction is trained; [0082]: extracting one or more values from the received user message and storing the one or more values in a structured data object) [The motivation of claim 1 is applicable to claim 2 and thereby incorporated]
Regarding Claim 7, Raison in view of Xiaojiang in further view of Perez teaches wherein the selectable responses have respective scores assigned thereto, wherein a score assigned to the response identifies a likelihood, as computed by the chatbot, that the response is a correct response to the fourth dialog turn. (Raison [0120] [0196]: generating the bot response may comprise: receiving a plurality of suggested bot responses, each of the plurality of suggested bot responses associated with a response ranking score...selecting the bot response as a suggested bot response of the post-processed suggested bot responses with a highest response ranking score; [0123]: coherence score may be a rating between 0 and 1 of how coherent each of the plurality of suggested bot responses is with the existing history of the user-to-bot conversation) [The motivation of claim 1 is applicable to claim 7 and thereby incorporated]
Regarding Claim 10, Raison teaches a server computing device comprising: a processor; (Raison [0146] [0158] [0159]: processor) and
memory storing instructions that, when executed by the processor, cause the processor to perform acts comprising: (Raison [0147] [0160]-[0162]: memory)
receiving, from a client computing device that is in network communication with the server computing system, an indication that a chatbot is to be updated; (Raison [0061] [0062] [0064]: describing receiving an indication to update the chatbot via a developer console; Fig. 1 and 3)
based upon the indication that the chatbot is to be updated, displaying a dialog between the chatbot and an end user of the chatbot, (Raison [0062]-[0064]: displaying a developer console comprising various features; the developer console including a log section for viewing logs of a messaging bot's messaging interactions; a developer may interact with a log to further review or edit; Fig. 3)
where the dialog includes a dialog turn set forth by the end user to the chatbot, wherein the dialog comprises a first set of dialog turns between the chatbot and the end user that occurred prior to the dialog turn, wherein the dialog comprises a second set of dialog turns between the chatbot and the end user that occurred subsequent to the dialog turn, further wherein the chatbot has a state at the dialog turn; (Raison [0050] [0054]: message thread may be between, for instance, a user and a messaging bot; [0062] [0078]: dialog includes messages between a messaging bot and user; Fig. 2A showing a dialog comprising at least three dialog turns set forth by the chatbot and the ordering of the dialog turns) (Raison [0029] [0075]: A branch may be performed on a received user message, changing which portion of an example conversation should be performed depending on the contents of the user message [the received user message at the portion being the state of the dialog turn]. This may ease the development of stories by preventing the duplication of effort where two stories would have some portion be the same, such as an initial portion, while having other portions be different depending on how the user responds; Fig.3...NOTE: Examiner notes that a dialog turn can be between a first set of dialog turns and second set of dialog turns based on paragraph [0029] and Fig. 3 describing a received user message can have dialog turns preceding it [Fig.3] and a set of dialogs turns following [0029].)
receiving an indication that a developer of the chatbot has selected the dialog turn; (Raison [0029] [0075]: A branch may be performed on a received user message [a dialog turn]; [0064] [0102]: a developer may choose to copy a logged conversation to the story section and edit and annotate the logged conversation to generate a story; Fig 3 showing a selected dialog turn)
subsequent to receiving the indication that the developer of the chatbot has selected the dialog turn, receiving an indication that an updated dialog is to be generated, (Raison [0075] [0076]: A particular branch option may be selected to make an active branch option; The branch section for a branch option is the path in the example messaging conversation that will be taken if the branch option is received from a user as a user message; Fig. 3) wherein the updated dialog is to include the first set of dialog turns but is not to include the second set of dialog turns, (Raison [0029]: two stories would have some portion be the same, such as an initial portion, while having other portions be different)
Although Raison does teach displaying a developer console in response to an indication of updating a dialog [0029] [0064] [0075] [0076], Raison may not explicitly teach every aspect of based upon the indication that the updated dialog is to be generated: removing the second set of dialog turns from the dialog such that the chatbot has the state; and presenting a text entry field on the display; subsequent to presenting the text entry field on the display, receiving, by way of the text entry field, a new dialog turn from the developer to add to the dialog, the new dialog turn immediately follows the dialog turn selected by the developer.
Xiaojiang teaches based upon the indication that the updated dialog is to be generated: removing the second set of dialog turns from the dialog such that the chatbot has the state; (Xiaojiang [0088] [0089] [0091]: Chatbot system 108 marks the old reply as delete; [0123] [0124]: When users delete an input or output message from the script, system deletes all of its children and children of children; [0169] [[0183]; Figs. 5A, 6A, 6B, and 7B showing a second set of dialog turns is removed from the dialog such that the chatbot has a state) and
presenting a text entry field on the display; (Xiaojiang [0083] [0167] [0171]: "Create user reply" interface includes text box)
subsequent to presenting the text entry field on the display, receiving, by way of the text entry field, a new dialog turn from the developer to add to the dialog, the new dialog turn immediately follows the dialog turn selected by the developer; (Xiaojiang [0167] [0171]-[0173]: the word "No" is entered in text box 608 to respond that the website is not based on WordPress or other CMSs. The user then selects save button 606 to save the reply; [0182]: the new input or output message is stored as a child of the first input or output message)
It would have been obvious to one of ordinary skill in the art before the effective filing date of Applicant's subject matter to remove the second set of dialog turns and present a text entry field which receives a new dialog turn to be added to the dialog as taught by Xiaojiang for the benefit of updating a chatbot of Raison, with a reasonable expectation of success, for enhancing user input communication (Xiaojiang [0002]) and in order to provide better replies (Xiaojiang [0088] [0091]). Additionally, Raison teaches in order to ease the development of stories by preventing the duplication of effort where two stories would have some portion be the same, such as an initial portion, while having other portions be different depending on how the user responds [0029]. In addition, both references (Raison and Xiaojiang) teach features that are directed to analogous art and they are directed to the same field of endeavor, such as, updating dialogue systems. This close relation between both of the references highly suggests a reasonable expectation of success.
Although Raison does teach generating the one or more bot responses may comprise generating a plurality of bot response options [0083] [0096] [0112] [0119] and that new examples may be generated, expanding the examples available to a NLP system for learning how to process natural language for the messaging bot [0033] [0064] [0090], Raison in view of Xiaojiang may not explicitly teach every aspect of based upon the new dialog turn, causing potential responses of the chatbot to the new dialog turn to be displayed on a display of the client computing device; receiving, from the developer, an indication that a potential response from amongst the potential responses is a desired response to the new dialog turn; and based upon the indication that the potential response is the desired response to the new dialog turn, updating the chatbot, wherein future responses output by the chatbot in response to user inputs are a function of the updating of the chatbot.
Perez teaches based upon the new dialog turn, causing potential responses of the chatbot to the new dialog turn to be displayed on a display of the client computing device; (Perez [0100] [0101]: describing in response to annotator writes the chosen utterance 82 in a text entry box as what a customer would respond to the dialog turn [selected second dialog turn set forth by the chatbot], a set of predefined intentions, dialog acts are eligible, and may be displayed to the annotator in a drop down menu)
receiving, from the developer, an indication that a potential response from amongst the potential responses is a desired response to the new dialog turn; (Perez [0101]: user selects a response from the list; Fig. 7) and
based upon the indication that the potential response is the desired response to the new dialog turn, updating the chatbot, wherein future responses output by the chatbot in response to user inputs are a function of the updating of the chatbot. (Perez [0101]: the annotator, by clicking on the “annotate” button 124, generates the annotation, which becomes a new node in the dialog tree associated with the given scenario; Fig. 7)
It would have been obvious to one of ordinary skill in the art before the effective filing date of Applicant's subject matter to cause display of second GUI features comprise selectable responses of the chatbot to the fourth dialog turn set forth by the user in response to receiving the fourth dialog turn and update the chatbot based on a selection of a response from amongst the selectable responses for future dialog turns as taught by Perez for the benefit of updating a chatbot of Raison in view of Xiaojiang, with a reasonable expectation of success, to allow less restricted exploration of dialogue policies (Perez [0051]) and in order to provide options to a user for quicker interaction, thus, improving and enhancing user decision making. In addition, both references (Raison in view of Xiaojiang and Perez) teach features that are directed to analogous art and they are directed to the same field of endeavor, such as, updating dialogue systems. This close relation between the references highly suggests a reasonable expectation of success.
Regarding Claim 15, Raison in view of Xiaojiang and Perez teaches wherein a computer-implemented assistant comprises the chatbot. (Raison [0019] [0022] [0054] [0062] [0078]: network-accessible services [assistant] comprise the messaging bot; live user-to-bot messaging conversation) [The motivation of claim 10 is applicable to claim 15 and thereby incorporated]
Regarding Claim 22, Raison teaches a computer-readable storage medium comprising instructions that, when executed by a processor, cause the processor to perform acts comprising: (Raison [0161] [0227])
receiving, from a client computing device, an indication that a chatbot is to be updated; (Raison [0061] [0062] [0064]: describing receiving an indication to update the chatbot via a developer console; Fig. 1 and 3)
responsive to receiving the indication that the chatbot is to be updated, causing graphical user interface (GUI) features to be presented on a display of the client computing device, (Raison [0061] [0062] [0064]: displaying a developer console comprising various features; Fig. 3)
the GUI features comprise a dialog included in training data for training the chatbot, (Raison [0061]-[0064]: story section may be selected by selecting a stories selection control 305. The stories section may be used for configuring stories [dialog] for use in teaching a natural language machine learning component the desired behavior for a messaging bot; a log section (for viewing logs of a messaging bot's messaging interactions, such as may be used to generate additional stories) wherein the chatbot has been trained based upon the training data, (Raison [0029] [0033] [0064]: describing that the messaging bot is trained based on the examples [training data]; the system receives all of the conversations a messaging bot has engaged in and is trained on such conversations; a user can then select one of the conversations to modify it and use the modified conversation to further train the messaging bot; [0032] [0062] [0065]) and
further wherein the dialog comprises dialog turns set forth by the chatbot to an end user; (Raison [0050] [0054]: message thread may be between, for instance, a user and a messaging bot; [0062] [0078]: dialog includes messages between a messaging bot and user; Fig. 2A showing a dialog comprising dialog turns set forth by the chatbot)
receiving an indication that a dialog turn in the dialog turns has been selected by a user of the client computing device, (Raison [0029] [0075]: A branch may be performed on a received user message [a dialog turn]; [0064] [0102]: a developer may choose to copy a logged conversation to the story section and edit and annotate the logged conversation to generate a story; Fig 3 showing a selected dialog turn)
wherein the chatbot has a state at the dialog turn, wherein the dialog includes a first set of dialog turns that precede the dialog turn and a second set of dialog turns that follow the dialog turn; (Raison [0029] [0075]: A branch may be performed on a received user message [a dialog turn]; [0064] [0102]: a developer may choose to copy a logged conversation to the story section and edit and annotate the logged conversation to generate a story; Fig 3 showing a selected dialog turn) wherein the chatbot has a state at the dialog turn, wherein the dialog includes a first set of dialog turns that precede the dialog turn and a second set of dialog turns that follow the dialog turn; (Raison [0029] [0075]: A branch may be performed on a received user message, changing which portion of an example conversation should be performed depending on the contents of the user message [the received user message at the portion being the state of the dialog turn]. This may ease the development of stories by preventing the duplication of effort where two stories would have some portion be the same, such as an initial portion, while having other portions be different depending on how the user responds; Fig.3... NOTE: Examiner notes that a dialog turn can be between a first set of dialog turns and second set of dialog turns based on paragraph [0029] and Fig. 3 describing a received user message can have dialog turns preceding it [Fig.3] and a set of dialogs turns following [0029].)
subsequent to receiving the indication that the dialog turn has been selected by the user, receiving an indication that an updated dialog is to be generated, (Raison [0075] [0076]: A particular branch option may be selected to make an active branch option; The branch section for a branch option is the path in the example messaging conversation that will be taken if the branch option is received from a user as a user message; Fig. 3) wherein the updated dialog is to include the first set of dialog turns while failing to include the second set of dialog turns; (Raison [0029]: two stories would have some portion be the same, such as an initial portion, while having other portions be different)
Although Raison does teach displaying a developer console in response to an indication of updating a dialog [0029] [0064] [0075] [0076], Raison may not explicitly teach every aspect of responsive to receiving the indication that the updated dialog is to be generated: removing the second set of dialog turns from the dialog such that the chatbot has the state; and presenting a text entry field on the display; subsequent to presenting the text entry field on the display, receiving, by way of the text entry field presented on the display, a new dialog turn from the user to add to the dialog following the dialog turn selected by the user.
Xiaojiang teaches responsive to receiving the indication that the updated dialog is to be generated: removing the second set of dialog turns from the dialog such that the chatbot has the state; (Xiaojiang [0088] [0089] [0091]: Chatbot system 108 marks the old reply as delete; [0123] [0124]: When users delete an input or output message from the script, system deletes all of its children and children of children; [0169] [[0183]; Figs. 5A, 6A, 6B, and 7B showing a second set of dialog turns is removed from the dialog such that the chatbot has a state) and
presenting a text entry field on the display; (Xiaojiang [0083] [0167] [0171]: "Create user reply" interface includes text box)
subsequent to presenting the text entry field on the display, receiving, by way of the text entry field presented on the display, a new dialog turn from the user to add to the dialog following the dialog turn selected by the user; (Xiaojiang [0167]: the word "No" is entered in text box 608 to respond that the website is not based on WordPress or other CMSs. The user then selects save button 606 to save the reply; [0171]-[0173]; [0182]: the new input or output message is stored as a child of th