DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Response to Amendment
The amendment filed 08/11/2025 has been entered. Claims 1 and 11 have been amended. Claims 1-6, 8-11, 13, 15-17 and 21-24 remain pending in the application.
Response to Arguments
Claim Rejections - 35 USC §103
Regarding the newly amended claim 1, Applicant argues that “Sachindran does not teach or suggest the claimed "binding" but instead teaches sequential programming operations for cross-communication across multiple generate artificial intelligence engines (GAIs). Sachindran's intent is lower the barrier to entry for using Al and to allow greater adoption of GAIs. Sachindran, Para. 15. Fig. 3 of Sachindran teaches creating in internal relationship between App1 and App2. When tied back to the goal of Sachindran, this teaching then lowers the barrier to entry for users accepting and using Al technology because now App1 and App2 are interlinked. By contrast, the claimed binding of claims 1 and 11 recite, inter alia, "processing the user context to electronically generate a binding, wherein the binding includes a data connection and at least one computer processing function associated therewith between two or more of applications and data sets." E.g. Para. 59 notes a "binding, similar to a task, is a general term for a data connection or correlation." The binding takes a first computing event and generates a secondary action, thus "binding" different applications and/or data sets. Paras. 70-74 list exemplary types of bindings. Para. 70 notes the exemplary embodiment of detecting a videoconferencing application is being terminated, a second application can be triggered to then generate a summary of the videoconference. Para. 71 gives another exemplary embodiment of triggering computer vision for detecting an object in a frame.
Sachindran does not teach or suggest the claimed binding Nothing in Sachindran teaches the binding as claimed including "a data connection and at least one computer processing function associated" with the data connection. Under the broadest reasonable interpretation, Sachindran teaches a sequential connection between app1 and app2 by upon performing of a particular action in app1, generating an output from app 2 based on the GAI framework. Nothing in Sachindran teaches or suggests a computer processing function associated with the data connection because Sachindran's Fig. 3 flow diagram is not based on a data connection but instead is based on tying app1 to app2 via the GAI. No P/A teaching of an engine prompt including the binding The Office Action's interpretation of Sachindran and combination with Malhorta and Borisov overlooks the expressly-recited claim limitation of "electronically converting the predicted intent data field into an engine prompt, including the binding associated therewith." As noted above, Sachindran teaches using the GAI model to output in App1 information from App2. Sachindran does not provide for using its teachings as "an engine prompt" as claimed. At best, Sachindran would not use any type of predicted intent field because Sachindran uses the actual output of App2 as the virtual "prompt" when applying the GAI model prior to input to App1. Sachindran does not need to create an engine prompt because it is not prompting an engine, only using the engine modeling to an existing App2 output. Sachindran further teaches away from "electronically converting the predicted intent data field into an engine prompt" because this detracts from its intended goal of lowering barriers to entry for Al engine adaption. Sachindran seeks to allow the user to keep using App1, but also see the benefits of App2 because of the GAI, not overload to the user with additional engine prompts.”
In response, Examiner relies on a new combination of references.
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-6, 8-11, 13, 15-17, 21 and 24 are rejected under 35 U.S.C. 103 as being unpatentable over Malhotra (US 2022/0277211 Al ) in view of Borisov (US 10,991,369 Bl) in further view of Yim (US 2025/0103648 Al)
Regarding claim 1, Malhotra discloses: A computerized method for generating at least one prompt for an artificial-intelligence engine, the method comprising: electronically tracking user engagement with at least one process device and capturing user interaction data based on the user engagement, (Malhotra, [0043] capture events (corresponding to “user engagement with at least one process device”) in real-time; [0028] process real-time data for purpose of end user engagement; [0031] detect a series of activities performed by a user, where the activities include interactions as between the user and one or more user interface components. The computer system recognizes the series of activities as a sequence of events; [0065] the predictive component 154 can be implemented using a machine-learning process or model, where the machine-learning process is trained to further a particular objective or outcome of the system 100.)
including storing the user interaction data in at least one memory device; (Malhotra, [0052] store event records 113 in the real-time activity store 134, where the event records 113 are based on a corresponding activity information 101; [0055] the activity data store 134 can be implemented using cache memory to enable rapid read operations from the learning sub-system 150.;[0048] receive and record activity information (corresponding to “user interaction data”) 101 from one or more kinds of resources, such as from user-operated devices 98 and from enterprise resources 99… the end user's interaction with the respective resource of the enterprise ; [0049] For example, the mobile device application connector 102A can communicate with a program that executes as part of a mobile application of an enterprise, to receive activity information 101 that pertains to the end user's interaction with the enterprise's mobile application;)
accessing at least one data storage device having the user interaction data associated with the computing device; (Malhotra, [0154] the prediction component 154 accesses the active data store 134 to make one or more determinations as to the intention of individual users of the network site, where the user's intention reflects a likelihood that a user will perform a given action (e.g., conversion action) on a next or subsequence activity; [0052 store event records 113 in the real-time activity store 134, where the event records 113 are based on a corresponding activity information 101.)
electronically analyzing the user interaction data using at least one computing processing engine by referencing at least one data module and processing electronic software operations in relation to the analysis of the user interaction data to electronically generate a user context therefrom; (Malhotra, [0063] the learning sub-system 150 can process the encoded event stream(s) 121 of the end user to make intelligent determinations for the user,…, the learning sub-system 150 can implement an intelligent process (e.g., using a machine or deep learning technique) to determine a user intent, a current user context, and relevant past user context; [0081] the system 100 can analyze the sequence of user activities in connection with a current user activity to predict a user intent (224) ; [0109] For a particular event, the encoded event stream 310 can be processed or analyzed to determine one or more portions 312 which are relevant (or most relevant) to a particular context ( e.g., current event detected for user); [0161] The activity can, for example, correspond to the user initiating a session with respect to the website, where the user lands on a homepage. The initial activity can be any mark that marks a session boundary for the particular context; [0119] generate an output that is indicative of a user intent or interest, in response to receiving input in the form of sequenced events that correspond to detected user activities; [0039] One or more embodiments described herein can be implemented using programmatic modules, engines, or components.)
processing the user context to electronically generate a predicted intent data field based thereon; (Malhotra, fig. 4c, item “predictive purpose” (corresponding to “predicted intent data field”); [0119] generate an output that is indicative of a user intent or interest, in response to receiving input in the form of sequenced events that correspond to detected user activities ;[0109] the encoded event stream 310 can be processed and analyzed (e.g., such as by learning sub-system 150) to predict, for example, the user's intent with in conjunction with a current activity of the user. For a particular event, the encoded event stream 310 can be processed or analyzed to determine one or more portions 312 which are relevant (or most relevant) to a particular context (e.g., current event detected for user); [0065] the predictive component 154 can be configured to categorize users in accordance with a set of predictive categories of a categorization schema, where each category of the categorization schema categorizes the end user in accordance with a prediction about the user. The categorization schema can be made specific to a variety of factors, including a desired outcome for a particular context (e.g., increase propensity of user at e-commerce site to make purchase; )
electronically converting the predicted intent data field into an engine prompt, and generating an output display within a user display interface of the engine prompt; (Malhotra, [0036] The set of events are recorded in sequence to reflect an order in time in which each of the multiple activities that define the set of events took place. The computer system determines, using the sequence of events, a value representing an intent or interest of the uses, and the computer system implements a trigger based on the value representing the intent or interest of the user; fig. 4c, item “predictive purpose” (corresponding to “predicted intent data field”); [0132] the decision logic 630 can associate one or more sequence of events with such an outcome (e.g., user has intent to purchase, but is concerned about shipping and reliability), resulting in the event handler 680 signaling the appropriate trigger 682 (e.g., promotion to provide a shipping warranty to the end user) (corresponding to “an engine prompt”))
However, Malhotra does not clearly disclose:
processing the user context to electronically generate a binding, wherein the binding includes a data connection and at least one computer processing function associated therewith between two or more of applications and data sets; including the binding associated therewith; and in response to a user selection via the display interface, engaging at least one computing engine based at least one the engine prompt.
However, Borisov discloses:
and in response to a user selection via the display interface, engaging at least one computing engine based at least one the engine prompt. (Borisov, Fig. 8; column 8, line 65- the input is received from the user 112 n via text entered into a field within a GUI the conversation definition engine 302 provides for presentation to user 112 n. For example, the conversation definition engine 302 receives “Schedule Appointment” from a field in a GUI the conversation definition engine 302 provides for presentation to the user 112 n; column 13, line 46- when a user 112a responds negatively to a confirmation of a prefilled slot ( e.g. conversation prompt engine 308 prompts user 112a to confirm that the new appointment should be made with Dr. A and the user says "no"), the slot filling engine 306 will not attempt to pre fill the slot with (e.g. with "Dr. A") in the future and uses a different prompt (e.g. a request prompt such as "Which doctor would you like to see?") to obtain information for that slot the next time user 112a schedules an appointment; column 14, line 63- The action implementation engine 310 includes code and routines for performing an action associated with the conversation. For example, the action implementation engine 310 may add an appointment to a calendar or interact with a calendaring application to add the appointment based on the slots filled in a "Schedule Appointment" conversation between user 112a and the chatbot.)
Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Malhotra with the teaching of Borisov to provide a declarative (rather than imperative framework) for developing a chatbot, which simplifies the generation of a chatbot conversation and reduces or eliminates the need for coding. This may beneficially broaden the pool of potential chatbot developers ( e.g. potentially eliminating the need for a data scientist), (Borisov, column 7, line 52) and also to utilize analytics to determine what information to prompt the user for next in a conversation and to utilize information from a previous conversation to supply necessary information for a conversation, (Borisov, column 1, line 35).
However Malhotra in view of Borisov does not clearly disclose:
processing the user context to electronically generate a binding, wherein the binding includes a data connection and at least one computer processing function associated therewith between two or more of applications and data sets; including the binding associated therewith,
However Yim discloses:
processing the user context to electronically generate a binding,
(Yim, [0003], e.g. the dynamic application capability binding information (and/or the application entity usage information) of a plurality of app entities donated by one or more applications of the client device; [0068], e.g. updated app capability binding information for a respective app entity. [0007], e.g. the application entity
usage information for an app…include a usage history of the app entity, where the usage history of the app entity can include last access time, last modification time, one or more usage frequencies (e.g., usage counts/times within past 24 hours,
within past week, within past month, etc.), and/or a full usage history, of the app entity; [0008], e.g. The verb-based succinct query (e.g., "pause") can include a verb that indicates an action or intent ( e.g., "pause"), but can be void of any app entity in association with such action ( or intent). Audio data capturing the verb-based succinct query of "pause" [0054], e.g. utilize one or more user identification techniques described herein to identify a given user, from among the multiple users, and tailor any dialog session accordingly by utilizing a given persona that the given user assigned to the automated assistant …utilizing information that is specific to the given user ( e.g., calendar information for the given user, mobile device information from a mobile device of the given user ( e.g., incoming electronic communications directed to the given user), etc.), and/or other information to tailor the dialog session to the given user.)
wherein the binding includes a data connection and at least one computer processing function associated therewith between two or more of applications and data sets; (Yim, [0015] The dynamic application capability binding information indicates whether an app entity is capable of enabling performance of an action given a particular status of the app entity. For instance, when the dynamic application capability binding information indicates that the second app entity ("timer") has an active status and the third app entity ("stopwatch") has an inactive status, the second app entity can be determined as being capable of being "paused", while the third app entity can be filtered/excluded from being recommended to user R based on fact that an inactive stopwatch cannot be paused. Similarly, when the dynamic application capability binding information indicates that the fourth app entity ("song A") has an active status ( e.g., being played) and the fifth app entity ("song B") has an inactive status (e.g., not being played), the fourth app entity ("song A") is determined as can be paused, while the fifth app entity ("song B") is determined as cannot be paused. This would reduce the number of candidates for app entity in association with the intent of "pause" from 5 (e.g., "alarm", "timer", "stopwatch", "song A", "song B") to 3 ("timer", "stopwatch", "song A"); [0102] The capability information, for instance, includes static capability information listing action(s) each of the set of application entities is capable of performing, so as to be indicative of whether any of the set of application entities is associated with a function that corresponds to the action.)
including the binding associated therewith,
(Yim, [0016] based on the intent of "pause" and based on the app entities ("timer", "stopwatch", "song A") determined as being in associated with the intent of "pause" using the application capability binding information, the fulfillment engine can generate an assistant output responsive to the spoken utterance of "pause". Based on the assistant output, textual content (e.g., a prompt) such as "Which would like to pause, timer, stopwatch, or song A?" can be generated and rendered audibly and/or visually to user R, via the computing device)
Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Malhotra in view of Borisov with the teaching of Yim so that fewer interaction between the user and the application could result in reduced consumption of computing resources, battery resources, and/or network resources, while enhancing user experience by providing a response and/or performing a desired action in an efficient manner, (Yim, [0022]).
Regarding claim 2, Malhotra in view of Borisov in view of Yim discloses all of the features with respect to claim 1 as outlined above. Claim 2 further recites: using a content capture module to capture the user engagement with the processing device. (Malhotra, [0064] the intelligent processes of the learning sub-system 150 can include …(ii) an intervention component 156 to determine an intervention or engagement (e.g., channel selection for sending notification, timing of notification, content of notification) for the end user; [0069] the event handler 160 can implement processes to learn effective engagement actions with respect to individual end users; [0048] the system 100 includes multiple different connectors 102 to receive and record activity information 101 from one or more kinds of resources, such as from user-operated devices 98 and from enterprise resources 99; [0049] the mobile device application connector 102A can communicate with a program that executes as part of a mobile application of an enterprise, to receive activity information 101 that pertains to the end user's interaction with the enterprise's mobile application… obtain activity information from device resources (e.g., … and/or gyroscope to sample for movement information, camera, microphone, etc.) and/or software resources (e.g., third-party applications)… , the mobile device application connector 102A can include an API provided with a corresponding mobile application to obtain sensor information)
Regarding claim 3, Malhotra in view of Borisov in view of Yim discloses all of the features with respect to claim 2 as outlined above. Claim 3 further recites: wherein the content capture includes one or more of: audio, video, data, single screen capture, continuous screen capture. (Malhotra, [0049] the mobile device application connector 102A can communicate with a program that executes as part of a mobile application of an enterprise, to receive activity information 101 that pertains to the end user's interaction with the enterprise's mobile application. the mobile device application connector 102A can interact with (i) third-party applications running on the corresponding mobile device, and/or (ii) one or more APIs that are available on the mobile device to obtain activity information from device resources (e.g., satellite receiver to sample for location information, accelerometer and/or gyroscope to sample for movement information, camera, microphone (corresponding to “audio”), etc.) and/or software resources (e.g., third-party applications)… , the mobile device application connector 102A can include an API provided with a corresponding mobile application to obtain sensor information)
Regarding claim 4, Malhotra in view of Borisov in view of Yim discloses all of the features with respect to claim 1 as outlined above. Malhotra in view of Borisov is silent to disclose: wherein the generating the predicted intent data field uses a large language model.
However Yim discloses:
wherein the generating the predicted intent data field uses a large language model. (Yim, [0076] Such large language model input can be processed, using the LLM, to generate a natural language model output, based on which the prompt such as "do you want to tum the alarm back on?" can be generated; [0083] The model input can be processed using a classifier 508 ( or a large language model) as input, to generate an output indicating a plurality of probabilities that correspond to the plurality of app entity candidates of "alarm", "timer", and "light", respectively. The plurality of probabilities can each indicate a likelihood that a corresponding app entity candidate (e.g., alarm, timer, light) is to be turned back on; [0052] corresponding predicted measures ( e.g., probabilities, log likelihoods, and/ or other values) for NLU output)
Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Malhotra in view of Borisov with the teaching of Yim so that fewer interaction between the user and the application could result in reduced consumption of computing resources, battery resources, and/or network resources, while enhancing user experience by providing a response and/or performing a desired action in an efficient manner, (Yim, [0022]).
Regarding claim 5, Malhotra in view of Borisov in view of Yim discloses all of the features with respect to claim 1 as outlined above. Claim 5 further recites: where in the user interaction data include a plurality of unstructured data, (Malhotra, [0049] an API provided with a corresponding mobile application to obtain sensor information (corresponding to “unstructured data”))
the method further comprising: converting the unstructured data into vectors;
and storing the vectors in a vector database. (Malhotra, [0049] an API provided with a corresponding mobile application to obtain sensor information [0059] In variations, vectorization logic 138 can be implemented to generate vector representations of user activity profiles stored in the historical data store 132 and/or the real-time activity data store 134. The vectorization logic 138 can generate vector representations for encoded data streams associated with the end user in the historical data store 132; [0124] the event processing component 656 can structure the information about detected events, by generating a record 657 of the detected activity; [0128] the vectorization component 658 can generate vectoral representations 669 of event sequences, based on for example a determination that a set of events are relevant to one another, and/or in response to a current user activity. The record store 660 may also store vectorized forms of individual events, as well as vectoral representation of identified event sequences or groups, where the vectoral representation applies to the collective group.)
Regarding claim 6, Malhotra in view of Borisov in view of Yim discloses all of the features with respect to claim 5 as outlined above. Claim 6 further recites: wherein generating the predicted intent data field is based at least on vectors retrieved from the vector database. (Malhotra, [0126] the event processing component 656 can retrieve historical event records 651 in connection with the event processing component 656 encoding and analyzing the current event record 657 .The event processing component 656 can update the record store 660 with the current event record, and vectorization component 658 can vectorize the updated record store 660 to generate a vector representation 669 that is based at least in part on the encoded event stream of the user. The event processing component 656 can further analyze the vector representation 669 in connection with the current event record, in order to make a predictive determination of the user's intent or interest. )
Regarding claim 8, Malhotra in view of Borisov in view of Yim discloses all of the features with respect to claim 1 as outlined above. Claim 8 further recites: wherein the computing engine is an artificial intelligence engine. (Malhotra, [0065] the predictive component 154 can be implemented using a machine-learning (corresponding to “an artificial intelligence engine”) process or model, where the machine-learning process is trained to further a particular objective or outcome of the system 100.)
Regarding claim 9, Malhotra in view of Borisov in view of Yim discloses all of the features with respect to claim 1 as outlined above. Claim 9 further recites: wherein the computing engine is a utility application. (Malhotra, [0073], a mobile application of an end user device can operate to implement some of the functions or features, as described with system 100. In such variations, a mobile device can execute an application that records the occurrence of certain, predefined user events related to the mobile device. To illustrate, the end user may take a picture of a product when walking in a store, and the picture capture, when cross-related to the location of the user, can identify the event. Still further, the end user can operate the app (corresponding to “a utility application”) to place an item with an online retailer in a shopping cart.)
Regarding claim 10, Malhotra in view of Borisov in view of Yim discloses all of the features with respect to claim 1 as outlined above. Claim 10 further recites: wherein the computing engine is a search engine. (Malhotra, [0087] the activity information can reflect an event of search, and an attribute of the event may correspond to the search term; [0110] searching for a product in an e-commerce site); [0122] the programmatic resource can include a browser interface that enables the activity monitor 654 to detect certain types of browser activity ( e.g., search for product, product viewing, placing product in shopping cart, purchasing product, etc.); [0039] One or more embodiments described herein can be implemented using programmatic modules, engines, or components. A programmatic module, engine, or component can include a program, a sub-routine, a portion of a program, or a software component or a hardware component capable of performing one or more stated tasks or functions.)
Regarding claim 11, Malhotra discloses: A computerized method comprising: accessing at least one data storage device having user interaction data associated with a computing device; (Malhotra, [0154] the prediction component 154 accesses the active data store 134 to make one or more determinations as to the intention of individual users of the network site, where the user's intention reflects a likelihood that a user will perform a given action (e.g., conversion action) on a next or subsequence activity; [0052] the connectors 102 store event records 113 in the real-time activity store 134, where the event records 113 are based on a corresponding activity information 101; [0049] receive activity information 101 that pertains to the end user's interaction with the enterprise's mobile application.)
electronically analyzing the user interaction data using at least one computing processing engine referencing at least one language model and electronically process the analysis of the user interaction data to generate a user context therefrom; (Malhotra, [0063] the learning sub-system 150 can process the encoded event stream(s) 121 of the end user to make intelligent determinations for the user,…, the learning sub-system 150 can implement an intelligent process (e.g., using a machine or deep learning technique) to determine a user intent, a current user context, and relevant past user context; [0081] the system 100 can analyze the sequence of user activities in connection with a current user activity to predict a user intent (224) ; [0109] For a particular event, the encoded event stream 310 can be processed or analyzed to determine one or more portions 312 which are relevant (or most relevant) to a particular context ( e.g., current event detected for user); [0161] The activity can, for example, correspond to the user initiating a session with respect to the website, where the user lands on a homepage. The initial activity can be any mark that marks a session boundary for the particular context; [0119] generate an output that is indicative of a user intent or interest, in response to receiving input in the form of sequenced events that correspond to detected user activities; [0039] One or more embodiments described herein can be implemented using programmatic modules, engines, or components.)
generating a predicted intent data field based on the user context;
(Malhotra, fig. 4c, item “predictive purpose” (corresponding to “predicted intent data field”); [0119] generate an output that is indicative of a user intent or interest, in response to receiving input in the form of sequenced events that correspond to detected user activities ;[0109] the encoded event stream 310 can be processed and analyzed (e.g., such as by learning sub-system 150) to predict, for example, the user's intent with in conjunction with a current activity of the user. For a particular event, the encoded event stream 310 can be processed or analyzed to determine one or more portions 312 which are relevant (or most relevant) to a particular context (e.g., current event detected for user); [0065] the predictive component 154 can be configured to categorize users in accordance with a set of predictive categories of a categorization schema, where each category of the categorization schema categorizes the end user in accordance with a prediction about the user. The categorization schema can be made specific to a variety of factors, including a desired outcome for a particular context (e.g., increase propensity of user at e-commerce site to make purchase; )
electronically converting the predicted intent data field into at least one engine prompt, for an artificial intelligence engine and generating an output display visible within a user display interface; (Malhotra, [0036] The set of events are recorded in sequence to reflect an order in time in which each of the multiple activities that define the set of events took place. The computer system determines, using the sequence of events, a value representing an intent or interest of the uses, and the computer system implements a trigger based on the value representing the intent or interest of the user; fig. 4c, item “predictive purpose” (corresponding to “predicted intent data field”); [0132] the decision logic 630 can associate one or more sequence of events with such an outcome (e.g., user has intent to purchase, but is concerned about shipping and reliability), resulting in the event handler 680 signaling the appropriate trigger 682 (e.g., promotion to provide a shipping warranty to the end user) (corresponding to “an engine prompt”))
However, Malhotra does not clearly disclose:
processing the user context to electronically generate a binding, wherein the binding includes a data connection and at least one computer processing function associated therewith between two or more of applications and data sets; receiving an accept input from the user for accepting the engine prompt as presented or receiving an input of a user-modification of the engine prompt and generating a modified engine prompt; and submitting the engine prompt or the modified engine prompt to the artificial intelligence computing engine.
However, Borisov discloses:
receiving an accept input from the user for accepting the engine prompt as presented or receiving an input of a user-modification of the engine prompt and generating a modified engine prompt; and submitting the engine prompt or the modified engine prompt to the artificial intelligence computing engine. (Borisov, Fig. 8; column 8, line 65- the input is received from the user 112 n via text entered into a field within a GUI the conversation definition engine 302 provides for presentation to user 112 n. For example, the conversation definition engine 302 receives “Schedule Appointment” from a field in a GUI the conversation definition engine 302 provides for presentation to the user 112 n; column 13, line 46- when a user 112a responds negatively to a confirmation of a prefilled slot ( e.g. conversation prompt engine 308 prompts user 112a to confirm that the new appointment should be made with Dr. A and the user says "no"), the slot filling engine 306 will not attempt to pre fill the slot with (e.g. with "Dr. A") in the future and uses a different prompt (e.g. a request prompt such as "Which doctor would you like to see?") to obtain information for that slot the next time user 112a schedules an appointment; column 14, line 63- The action implementation engine 310 includes code and routines for performing an action associated with the conversation. For example, the action implementation engine 310 may add an appointment to a calendar or interact with a calendaring application to add the appointment based on the slots filled in a "Schedule Appointment" conversation between user 112a and the chatbot (corresponding to “artificial intelligence computing engine”).
Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Malhotra with the teaching of Borisov to provide a declarative (rather than imperative framework) for developing a chatbot, which simplifies the generation of a chatbot conversation and reduces or eliminates the need for coding. This may beneficially broaden the pool of potential chatbot developers ( e.g. potentially eliminating the need for a data scientist), (Borisov, column 7, line 52) and also to utilize analytics to determine what information to prompt the user for next in a conversation and to utilize information from a previous conversation to supply necessary information for a conversation, (Borisov, column 1, line 35).
However Malhotra in view of Borisov does not clearly disclose:
processing the user context to electronically generate a binding, wherein the binding includes a data connection and at least one computer processing function associated therewith between two or more of applications and data sets; including the binding associated therewith,
However Yim discloses:
processing the user context to electronically generate a binding, (Yim, [0003], e.g. the dynamic application capability binding information (and/or the application entity usage information) of a plurality of app entities donated by one or more applications of the client device; [0068], e.g. updated app capability binding information for a respective app entity. [0007], e.g. the application entity usage information for an app…include a usage history of the app entity, where the usage history of the app entity can include last access time, last modification time, one or more usage frequencies (e.g., usage counts/times within past 24 hours, within past week, within past month, etc.), and/or a full usage history, of the app entity; [0008], e.g. The verb-based succinct query (e.g., "pause") can include a verb that indicates an action or intent ( e.g., "pause"), but can be void of any app entity in association with such action ( or intent). Audio data capturing the verb-based succinct query of "pause" [0054], e.g. utilize one or more user identification techniques described herein to identify a given user, from among the multiple users, and tailor any dialog session accordingly by utilizing a given persona that the given user assigned to the automated assistant …utilizing information that is specific to the given user ( e.g., calendar information for the given user, mobile device information from a mobile device of the given user ( e.g., incoming electronic communications directed to the given user), etc.), and/or other information to tailor the dialog session to the given user.)
wherein the binding includes a data connection and at least one computer processing function associated therewith between two or more of applications and data sets; (Yim, [0015] The dynamic application capability binding information indicates whether an app entity is capable of enabling performance of an action given a particular status of the app entity. For instance, when the dynamic application capability binding information indicates that the second app entity ("timer") has an active status and the third app entity ("stopwatch") has an inactive status, the second app entity can be determined as being capable of being "paused", while the third app entity can be filtered/excluded from being recommended to user R based on fact that an inactive stopwatch cannot be paused. Similarly, when the dynamic application capability binding information indicates that the fourth app entity ("song A") has an active status ( e.g., being played) and the fifth app entity ("song B") has an inactive status (e.g., not being played), the fourth app entity ("song A") is determined as can be paused, while the fifth app entity ("song B") is determined as cannot be paused. This would reduce the number of candidates for app entity in association with the intent of "pause" from 5 (e.g., "alarm", "timer", "stopwatch", "song A", "song B") to 3 ("timer", "stopwatch", "song A"); [0102] The capability information, for instance, includes static capability information listing action(s) each of the set of application entities is capable of performing, so as to be indicative of whether any of the set of application entities is associated with a function that corresponds to the action.)
including the binding associated therewith,
(Yim, [0016] based on the intent of "pause" and based on the app entities ("timer", "stopwatch", "song A") determined as being in associated with the intent of "pause" using the application capability binding information, the fulfillment engine can generate an assistant output responsive to the spoken utterance of "pause". Based on the assistant output, textual content (e.g., a prompt) such as "Which would like to pause, timer, stopwatch, or song A?" can be generated and rendered audibly and/or visually to user R, via the computing device)
Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Malhotra in view of Borisov with the teaching of Yim so that fewer interaction between the user and the application could result in reduced consumption of computing resources, battery resources, and/or network resources, while enhancing user experience by providing a response and/or performing a desired action in an efficient manner, (Yim, [0022]).
Regarding claim 13, Malhotra in view of Borisov in view of Yim discloses all of the features with respect to claim 11 as outlined above. Claim 13 further recites: accessing additional user interaction data from the at least one storage device; (Malhotra, [0132] The determination component 670 can repeatedly receive updated versions of the decision logic 630, and the updates can be responsive to recent or current events which are detected on the end user device 620. In examples, the decision logic 630 can be based on, for example, a prediction that a user is more likely to respond to a particular trigger ( or other outcome) in a desired way. For example, the decision logic 630 may reflect numerous possible machine-learned outcomes which are based on past event analysis of the user. Additionally, the decision logic 630 may be structured to be determinative of a particular outcome based on any one of numerous possible future event types which may occur in the future. In this way, the user device 620 may use the decision logic 630 to generate an outcome that is based in part on past event sequences that are learned predictors of user intent ( e.g., to purchase a type of product, subject to concerns about shipping or reliability of the product). The decision logic 630 may further reflect the machine-learned determination that the particular user, for who the sequence of events is detected, is more likely to perform a desired action (e.g., purchase item) as a response to a particular trigger (e.g., offer to provide shipping warranty).)
and generating the engine prompt for the artificial intelligence engine based on the additional user interaction data. (Malhotra [0132] he determination component 670 can repeatedly receive updated versions of the decision logic 630, and the updates can be responsive to recent or current events which are detected on the end user device 620. In examples, the decision logic 630 can be based on, for example, a prediction that a user is more likely to respond to a particular trigger ( or other outcome) in a desired way. For example, the decision logic 630 may reflect numerous possible machine-learned outcomes which are based on past event analysis of the user. Additionally, the decision logic 630 may be structured to be determinative of a particular outcome based on any one of numerous possible future event types which may occur in the future. In this way, the user device 620 may use the decision logic 630 to generate an outcome that is based in part on past event sequences that are learned predictors of user intent ( e.g., to purchase a type of product, subject to concerns about shipping or reliability of the product)…The decision logic 630 can associate one or more sequence of events with such an outcome ( e.g., user has intent to purchase, but is concerned about shipping and reliability), resulting in the event handler 680 signaling the appropriate trigger 682 ( e.g., promotion to provide a shipping warranty to the end user).)
Regarding claim 15, Malhotra in view of Borisov in view of Yim discloses all of the features with respect to claim 11 as outlined above. Malhotra in view of Borisov does not clearly disclose:
wherein the language model is a large language model.
However Yim discloses:
wherein the language model is a large language model.
(Yim, [0076] Such large language model input can be processed, using the LLM, to generate a natural language model output, based on which the prompt such as "do you want to tum the alarm back on?" can be generated; [0083] The model input can be processed using a classifier 508 ( or a large language model) as input, to generate an output indicating a plurality of probabilities that correspond to the plurality of app entity candidates of "alarm", "timer", and "light", respectively. The plurality of probabilities can each indicate a likelihood that a corresponding app entity candidate (e.g., alarm, timer, light) is to be turned back on; [0052] corresponding predicted measures ( e.g., probabilities, log likelihoods, and/ or other values) for NLU output)
Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Malhotra in view of Borisov with the teaching of Yim so that fewer interaction between the user and the application could result in reduced consumption of computing resources, battery resources, and/or network resources, while enhancing user experience by providing a response and/or performing a desired action in an efficient manner, (Yim, [0022]).
Regarding claim 16, Malhotra in view of Borisov in view of Yim discloses all of the features with respect to claim 11 as outlined above. Claim 16 further recites: where in the user interaction data include a plurality of unstructured data, the method further comprising: converting the unstructured data into vectors; and storing the vectors in a vector database. (Malhotra, [0049] an API provided with a corresponding mobile application to obtain sensor information (corresponding to “a plurality of unstructured data”); [0059] In variations, vectorization logic 138 can be implemented to generate vector representations of user activity profiles stored in the historical data store 132 and/or the real-time activity data store 134. The vectorization logic 138 can generate vector representations for encoded data streams associated with the end user in the historical data store 132; [0124] the event processing component 656 can structure the information about detected events, by generating a record 657 of the detected activity; [0128] the vectorization component 658 can generate vectoral representations 669 of event sequences, based on for example a determination that a set of events are relevant to one another, and/or in response to a current user activity. The record store 660 may also store vectorized forms of individual events, as well as vectoral representation of identified event sequences or groups, where the vectoral representation applies to the collective group.)
Regarding claim 17, Malhotra in view of Borisov in view of Yim discloses all of the features with respect to claim 16 as outlined above. Claim 17 further recites:
wherein generating the predicted intent data field is based at least on vectors retrieved from the vector database. (Malhotra, [0126] the event processing component 656 can retrieve historical event records 651 in connection with the event processing component 656 encoding and analyzing the current event record 657 .The event processing component 656 can update the record store 660 with the current event record, and vectorization component 658 can vectorize the updated record store 660 to generate a vector representation 669 that is based at least in part on the encoded event stream of the user. The event processing component 656 can further analyze the vector representation 669 in connection with the current event record, in order to make a predictive determination of the user's intent or interest. )
Regarding claim 21, Malhotra in view of Borisov in view of Yim discloses all of the features with respect to claim 1 as outlined above. Malhotra in view of Borisov does not clearly disclose:
wherein the binding is an application binding.
However Yim discloses:
wherein the binding is an application binding. (Yim, [0003] dynamic application capability binding… dynamic application capability binding information (and/or the application entity usage information) of a plurality of app entities donated by one or more applications of the client device.)
Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Malhotra in view of Borisov with the teaching of Yim so that fewer interaction between the user and the application could result in reduced consumption of computing resources, battery resources, and/or network resources, while enhancing user experience by providing a response and/or performing a desired action in an efficient manner, (Yim, [0022]).
Regarding claim 24, Malhotra in view of Borisov in view of Yim discloses all of the features with respect to claim 4 as outlined above. Malhotra in view of Borisov does not clearly disclose:
wherein the binding is a large language model binding.
However Yim discloses:
wherein the binding is a large language model binding.
(Yim, [0003] dynamic application capability binding… dynamic application capability binding information (and/or the application entity usage information) of a plurality of app entities donated by one or more applications of the client device; [0076] Such large language model input can be processed, using the LLM, to generate a natural language model output, based on which the prompt such as "do you want to tum the alarm back on?" can be generated; [0083] The model input can be processed using a classifier 508 ( or a large language model) as input, to generate an output indicating a plurality of probabilities that correspond to the plurality of app entity candidates of "alarm", "timer", and "light", respectively. The plurality of probabilities can each indicate a likelihood that a corresponding app entity candidate (e.g., alarm, timer, light) is to be turned back on; [0052] corresponding predicted measures ( e.g., probabilities, log likelihoods, and/ or other values) for NLU output)
Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Malhotra in view of Borisov with the teaching of Yim so that fewer interaction between the user and the application could result in reduced consumption of computing resources, battery resources, and/or network resources, while enhancing user experience by providing a response and/or performing a desired action in an efficient manner, (Yim, [0022]).
Claim 22 is rejected under 35 U.S.C. 103 as being unpatentable over Malhotra (US 2022/0277211 Al ) in view of Borisov (US 10,991,369 Bl) in further view of Yim (US 2025/0103648 Al) in further view of Messmer (US 20180357802 A1)
Regarding claim 22, Malhotra in view of Borisov in view of Yim discloses all of the features with respect to claim 1 as outlined above. Malhotra in view of Borisov in view of Yim does not clearly disclose:
wherein the binding is computer vision binding.
However Messmer discloses:
wherein the binding is computer vision binding.
(Messmer [0019] a computer vision process and/or system may provide one or more data binding to a face of a person.)
Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Malhotra in view of Borisov in view of Yim with the teaching of Messmer to determine the one or more attributes associated with data binding, (Messmer, [0033]) and also to eliminate latency of the augmented reality system, (Messmer, [0006]).
Claim 23 is rejected under 35 U.S.C. 103 as being unpatentable over Malhotra (US 2022/0277211 Al ) in view of Borisov (US 10,991,369 Bl) in further view of Yim (US 2025/0103648 Al) in further view of Gorelik (US 20060271528 A1)
Regarding claim 23, Malhotra in view of Borisov in view of Yim discloses all of the features with respect to claim 1 as outlined above. Malhotra in view of Borisov in view of Yim does not clearly disclose:
wherein the binding is a global key binding.
However Gorelik discloses:
wherein the binding is a global key binding.
(Gorelik, [0093] a global key is present in the value lookup tables for the identified binding key. Therefore, the new value can be mapped onto the value lookup tables in correspondence to the existing global key. In another embodiment of the invention, when the global key is not present in the value lookup tables for the identified binding key, the global key is generated. Subsequently, the new value is mapped onto the value lookup tables in correspondence to the generated global key.)
Therefore, it would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the teaching of Malhotra in view of Borisov in view of Yim with the teaching of Gorelik to facilitate data retrieval from a plurality of data sources, (Gorelik, abstract), and also to automate the process of data mapping by generating a plurality of Global Data Objects, (Gorelik, [0014]).
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). 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 extension fee 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 date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Faezeh Forouharnejad whose telephone number is (571)270-7416. The examiner can normally be reached on Mondays, Wednesdays and Thursdays.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Shah Sanjiv can be reached on (571)272-4098. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from Patent Center and the Private Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from Patent Center or Private PAIR. Status information for unpublished applications is available through Patent Center and Private PAIR to authorized users only. Should you have questions about access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free)
/F.F. /
Examiner, Art Unit 2166
/SANJIV SHAH/Supervisory Patent Examiner, Art Unit 2166