DETAILED ACTION
Claims 1-20 are pending for examination.
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 .
Priority
Acknowledgment is made of applicant's claim under US PRO 63/460439 filed on 4/19/2023.
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.
Claim(s) 1-20 are rejected under 35 U.S.C. 103 as being unpatentable over Bellegarda et al, US 20220067283 A1, in view of Arora et al, US 2022/0222706 A1.
Regarding Claim 1, Bellegarda discloses a method comprising:
generating a sequence of tokens from the sequence of actions by tokenizing an action to a token representing a respective item identifier (Bellegarda [0182] – each token includes (i.e., represents) one or more characters or one or more words (e.g., an individual character, a character sequence));
applying a transformer-based machine-learned model to the sequence of tokens to generate predictions for a set of items, a prediction for a respective item indicating a likelihood the user will interact with a content item related to the item as a next action (Bellegarda [0184] – baseline language model 604 includes a neural network-based model; baseline language model 604 may largely generate desirable and appropriate text predictions, but may not generate predictions that reflect the evolving idiosyncrasies of a given language (e.g., emerging vocabulary and grammar such as newly coined terms or phrases, more frequently used phrases, and the like));
selecting a subset of items based on the generated predictions for the set of items, wherein the selected subset of items have predictions above a predetermined threshold (Bellegarda [0183] – The vocabulary associated with baseline language model 604 (baseline vocabulary) can represent the number of different tokens baseline language model 604 is capable of predicting. In some embodiments, the first data includes a plurality of N-dimensional vectors (N being the size of the baseline vocabulary) indicating each output probability distribution, where the index of the vector having the highest value corresponds to the most likely predicted token(s)).
However, Bellegarda does not explicitly disclose receiving, from one or more client devices, a sequence of actions performed by a user during a session of an application of an online system; generating one or more recommendations to the user from the selected subset of items; and displaying the recommendations to the user.
Arora teaches receiving, from one or more client devices, a sequence of actions performed by a user during a session of an application of an online system (Arora [0026] – First customer computing device 110, second customer computing device 112, and Nth customer computing device 114 may communicate with web server 104 over communication network 118. For example, each of multiple computing devices 110, 112, 114 may be operable to view, access, and interact with a website, such as a retailer's website, hosted by web server 104. Web server 104 may transmit user session data related to a customer's activity (e.g., interactions) on the website);
generating one or more recommendations to the user from the selected subset of items (Arora [0031] – The models, when executed by item recommendation computing device 102, allow item recommendation computing device 102 to determine item recommendations for one or more items to advertise to a customer. For example, item recommendation computing device 102 may obtain the models from database 116. Item recommendation computing device 102 may then receive, in real-time from web server 104, current user session data identifying real-time events of the customer interacting with a website (e.g., during a browsing session)); and
displaying the recommendations to the user (Arora [0031] – In response to receiving the user session data, item recommendation computing device 102 may execute the models to determine item recommendations for items to display to the customer).
Therefore, it 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 to modify Bellegarda to generate and display recommendations to the user, as taught by Arora. One would be motivated as the ability to be able to take the data received and then create a response in display-form to a user for items based on their history.
Regarding Claim 2, Bellegarda and Arora teach the method of claim 1, as outlined above.
However, Bellegarda does not explicitly disclose the user actions include one or more of viewing or clicking of a content item related to an item, adding an item to the cart of the user, or submitting a search query on an item on the application of the online system
Arora teaches the user actions include one or more of viewing or clicking of a content item related to an item, adding an item to the cart of the user, or submitting a search query on an item on the application of the online system (Arora [0032] – the initial ranked list of items may include items ranked based on the historical user data with the items already added to the cart by the user during the current user session).
Therefore, it 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 to modify Bellegarda to have user actions include adding an item to the cart of the user, as taught by Arora. One would be motivated to create a cart based on the actions to then purchase the specific items.
Regarding Claim 3, Bellegrada, in combination, further discloses the method of claim 1, wherein the machine-learned model includes a generator model with a transformer-based machine-learned model and a classification layer, wherein the applying the transformer-based machine-learned model comprises:
applying the generator model to the sequence of tokens to generate a set of embeddings (Bellegarda [0183] – System 600 includes baseline language model 604. In some embodiments, baseline language model receives the one or more previous tokens from input module 602 and generates first data corresponding to one or more predicted tokens based on the one or more previous tokens. In this manner, language model 604 may predict token(s) based on previous token(s));
combining the set of embeddings to generate a contextual embedding (Bellegarda [0188] – Based on the aggregated privacy-protected language model parameters, baseline language model 604 is updated (e.g., re-trained) to create privately trained language model 606); and
applying the classification layer to the contextual embedding to generate the predictions for the set of items (Bellegarda [0188] – The updated language model parameters are then output and calibrated noise is introduced to the updated language model parameters to create a set of privacy-protected language model parameters, according to the principles of differential privacy. Each individual user device then transmits the privacy-protected language model parameters to, for instance, a language model server, where the sets of privacy-protected language model parameters from each of the individual user devices are aggregated. Based on the aggregated privacy-protected language model parameters, baseline language model 604 is updated (e.g., re-trained) to create privately trained language model 606).
Regarding Claim 4, Bellegrada, in combination, further discloses the method of claim 3, further comprising performing a pre-training process for the generator model in conjunction with a discriminator model, comprising: obtaining at least one training sequence describing another sequence of actions previously performed by another user tokenized to another sequence of tokens; masking one or more positions of the training sequence; applying parameters of the generator model to the masked training sequence to generate a set of estimated embeddings for the masked positions; and for each masked position, generating a generator loss dependent on a likelihood the generator model predicted the token for the masked position (Bellegrada [0182] - a token refers to a basic processing unit for predictive models, meaning that a predictive model can accept previous token(s) as input and predict following token(s) based on the previous tokens; [0185] – both baseline language model 604 and privately trained language model 606 receive the same previous tokens from input module 602 and generate a (potentially different) plurality of output probability distributions Y′ based on the same previous tokens; [0186] – the vocabulary associated with baseline language model 604 may differ from that of privately trained language model 606 insofar as the vocabulary associated with baseline language model 604 corresponds to a generic vocabulary (e.g., words/phrases found in a dictionary), but the vocabulary associated with privately trained language model 606 corresponds to an emerging vocabulary in addition to the generic vocabulary).
Regarding Claim 5, Bellegrada, in combination, further discloses the method of claim 4, further comprising: generating a corrupt sequence by replacing tokens at the one or more masked positions with tokens sampled from the set of estimated embeddings from the generator model; applying parameters of a discriminator model to the corrupt sequence to generate a prediction for each token indicating whether the token is a replaced token or an original token from the training sequence; and for each token in the corrupt sequence: if the token is an original token, generating a discriminator loss dependent on a likelihood the discriminator model predicted the token was an original token, or if the token is a replaced token, generating a discriminator loss dependent on a likelihood the discriminator model predicted the token was a replaced token (Bellegrada [0191] – discriminator 608 determines a probability that given input set of data corresponding to one or more predicted tokens is attributable to (e.g., learned through) the user privacy preserving training process; [0185] – the first and second data (e.g., including a set of probability distributions corresponding to tokens predicted by models 604 and 606) form a training dataset for discriminator 608).
Regarding Claim 6, Bellegrada, in combination, further discloses the method of claim 5, wherein the discriminator model is another transformer architecture model (Bellegrada [0190] – predictions attributable to the user privacy preserving training process can be identified using discriminator 608. Using discriminator 608 as discussed below may more precisely identify differences between supervised language models and language models trained using the user privacy preserving training process, e.g., compared to computing various analytical divergence measures; [0191] – system 600 includes discriminator 608. In some embodiments, discriminator 608 includes a neural network (e.g., a self-attentive neural network or RNN). In some embodiments, discriminator 608 determines a probability that given input set of data corresponding to one or more predicted tokens is attributable to (e.g., learned through) the user privacy preserving training process).
Regarding Claim 7, Bellegrada, in combination, further discloses the method of claim 3, performing a training process for the classification layer, further comprising: obtaining at least one training sequence describing another sequence of actions previously performed by another user tokenized to another sequence of tokens (Bellegrada [0182] – a token refers to a basic processing unit for predictive models, meaning that a predictive model can accept previous token(s) as input and predict following token(s) based on the previous tokens);
applying the generator model to a sequence of input tokens in the training sequence to generate a set of embeddings; combining the set of embeddings to a contextual embedding; applying parameters of the classification layer to the contextual embedding to generate estimated predictions for the set of items; and generating a loss function indicating a difference between a vector indicating the predictions for the set of items and another vector representing a next token that comes after the sequence of input tokens in the training sequence (Bellegrada [0188] – Each user device individually gathers training data (e.g., user inputted text), building a user data corpus. On each individual user device, the user data corpus is used to update language model parameters used to update (e.g., re-train) baseline language model 604, e.g., so the updated model can account for an emerging vocabulary (as provided by the user inputted text). The updated language model parameters are then output and calibrated noise is introduced to the updated language model parameters to create a set of privacy-protected language model parameters, according to the principles of differential privacy); and
backpropagating one or more terms obtained from the loss function to update the parameters of the classification layer (Bellegrada [0190] – predictions attributable to the user privacy preserving training process can be identified by computing an analytical divergence measure (e.g., a Jensen-Shannon divergence) between the first and second data (e.g., each including a set of probability distributions corresponding to tokens predicted by respective models 604 and 606), aggregated over all generated data. In some embodiments, predictions attributable to the user privacy preserving training process can be identified using discriminator 608).
Regarding Claim 8, Bellegarda and Arora teach the method of claim 1, as outlined above.
However, Bellegarda does not explicitly disclose generating the one or more recommendations comprises: identifying a set of candidate content items promoting the selected subset of items; entering the set of candidate content items into an auction and selecting one or more content items from the auction, wherein displaying the recommendations comprises displaying the one or more content items to the user; and displaying the one or more content items to the user.
Arora teaches identifying a set of candidate content items promoting the selected subset of items; entering the set of candidate content items into an auction and selecting one or more content items from the auction, wherein displaying the recommendations comprises displaying the one or more content items to the user; and displaying the one or more content items to the user (Arora [0026] – The website may capture these activities as user session data, and transmit the user session data to item recommendation computing device 102 over communication network 118. The website may also allow the operator to add one or more of the items to an online shopping cart, and allow the customer to perform a “checkout” of the shopping cart to purchase the items; [0031] –In response to receiving the user session data, item recommendation computing device 102 may execute the models to determine item recommendations for items to display to the customer).
Therefore, it 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 to modify Bellegarda to select promoted items and then display them for a user, as taught by Arora. One would be motivated as this action would boost the specific items in an auction.
Regarding Claim 9, Bellegarda and Arora teach the method of claim 1, as outlined above.
However, Bellegarda does not explicitly disclose displaying the recommendations comprises: displaying one or more items from the selected subset of items to the user; and receiving an indication the user added the one or more items to an order of the user.
Arora teaches displaying the recommendations comprises: displaying one or more items from the selected subset of items to the user; and receiving an indication the user added the one or more items to an order of the user (Arora [0031] – item recommendation computing device 102 may execute the models to determine item recommendations for items to display to the customer; [0032] – the initial ranked list of items may include items ranked based on the historical user data with the items already added to the cart by the user during the current user session. Further, item recommendation computing device 102 may re-rank the initial ranked items based on the ordered list of items. For example, item recommendation computing device 102 may determine re-ranked list of items for recommendation based on context of the current user session using a pre-trained model trained using tensors (e.g., embedding vectors, feature vectors) of user and items based on historical user data).
Therefore, it 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 to modify Bellegarda to display items from a subset to a user, as taught by Arora. One would be motivated as the subset would allow certain items be filtered to the display and to then be added to an order.
Regarding Claim 10, Bellegarda and Arora teach the method of claim 1, as outlined above.
However, Bellegarda does not explicitly disclose filtering the selected subset of items for items with an associated sponsorship or items with availability at a retailer store to generate a filtered subset of items.
Arora teaches filtering the selected subset of items for items with an associated sponsorship or items with availability at a retailer store to generate a filtered subset of items (Arora [0065]-[0067] – recommendation model data 390 may include a context model 392, a favorite model 394, and a ranking model 396. Each of the context model 392, a favorite model 394, and a ranking model 396 may be machine learning models trained based on corresponding tensors (e.g., embedding vectors, feature vectors) generated by item recommendation computing device 102).
Therefore, it 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 to modify Bellegarda to filter the selected subset of items for items with an associated sponsorship or items with availability at a retailer store to generate a filtered subset of items, as taught by Arora. One would be motivated as the filter prevents items from being displayed that are not available.
With regard to claim 11, the claim limitations are essentially the same as claim 1 but in a different embodiment. Therefore, the rational used to reject claim 1 is applied to claim 11.
With regard to claim 20, the claim limitations are essentially the same as claim 1 but in a different embodiment. Therefore, the rational used to reject claim 1 is applied to claim 20.
With regard to claim 12, the claim limitations are essentially the same as claim 2 but in a different embodiment. Therefore, the rational used to reject claim 2 is applied to claim 12.
With regard to claim 13, the claim limitations are essentially the same as claim 3 but in a different embodiment. Therefore, the rational used to reject claim 3 is applied to claim 13.
With regard to claim 14, the claim limitations are essentially the same as claim 4 but in a different embodiment. Therefore, the rational used to reject claim 4 is applied to claim 14.
With regard to claim 15, the claim limitations are essentially the same as claim 5 but in a different embodiment. Therefore, the rational used to reject claim 5 is applied to claim 15.
With regard to claim 16, the claim limitations are essentially the same as claim 6 but in a different embodiment. Therefore, the rational used to reject claim 6 is applied to claim 16.
With regard to claim 17, the claim limitations are essentially the same as claim 7 but in a different embodiment. Therefore, the rational used to reject claim 7 is applied to claim 17.
With regard to claim 18, the claim limitations are essentially the same as claim 8 but in a different embodiment. Therefore, the rational used to reject claim 8 is applied to claim 18.
With regard to claim 19, the claim limitations are essentially the same as claim 9 but in a different embodiment. Therefore, the rational used to reject claim 9 is applied to claim 19.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to AMIR SHAHNAMI whose telephone number is (571)270-0707. The examiner can normally be reached Monday - Friday 8:00 am to 4:00 pm.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Joseph Ustaris can be reached at 571-272-7383. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/AMIR SHAHNAMI/ Primary Examiner, Art Unit 2483