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 .
This action is in response to the amendment filed on 06/26/2026. Claims 1-20 are pending in the case. This action is Final.
Applicant Response
In Applicant’s response dated 06/26/2026, Applicant amended claims 1, 10, 12, 15, 18 and 20, and cancelled claims 11 and 19 and argued against all objections and rejections previously set forth in the Office Action dated 03/26/2026.
Examiner Comments
4. 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 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.
Claim Rejections - 35 USC § 103
5. 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.
6. Claims 1-10, 12-18 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Li (Pub. No. US 20110131166 A1, Pub. Date 2011-06-02) in view of Shazeer (Pub. No. US 20200089755 A1, Pub. Date: 2020-03-19) in further view of CHAGNIOT (NPL: Title: From Clicks to Conversions: Recommendation for long-term reward; Pub. Date September, 01 2020, arXiv:2009.00497 V1 [cs.IR])
Li teaches a computer-implemented method for feature management in a recommendation system (see Li: Fig.3, [0059] “personalized recommendations or advertisement targeting to improve the user experience.”), comprising:
obtaining, by a computing device, a first event associated with a first and a second object (see Li: Fig.3, [0033], “as such users view media content, such viewing behavior may be tracked and/or collected (e.g., recorded) by the media content delivery host (e.g., via cookies, web bug, and/or other tracking mechanism)”, i.e. the first object is the USER, second object is the item or content and the first event is the interaction (click/view content)), and obtaining a second event associated with the first and second events, a type of the first event being different from a type of the second event (see Li: Fig3, [0034], “the collection step 302 may also attempt to determine which media content a user is interested in. For example, media content that has only been partially viewed by a user may be filtered out of the sample behaviors that are collected. Alternatively, a threshold level/percentage of media content viewed may be used.”, i.e. the viewing of a content is the second event associated with the first and second event (click/View content by use) and the two events are in district categories).
extracting, by the updated first encoder extracting a feature of an object based on the first encoder (see Li: Fig.3, [0052], “Once the probabilities of the attributes have been predicted at step 306, the user's attributes can be determined using fuzzy logic at step 308. Fuzzy logic is a superset of conventional (Boolean) logic that has been extended to handle the concept of partial truth-- values between "completely true" and "completely false"), a feature of the first object, and implementing a downstream task of the recommendation system based on the extracted feature (see Li: Fig.3, [0059], “With the fuzzily determined user's demographic attributes from step 308, the user experiences can be improved at step 310. As described above, such attributes can be used in many applications such as personalized recommendations or advertisement targeting to improve the user experience. For example, the attributes of a user may be used to provide flexibility for an advertiser desiring to target a particular user base. For example, the advertiser may pay more for an advertisement to target all users with a 95% likelihood of having a particular attribute and may pay less if the user has a 75% likelihood.”)
As shown above, Li teaches collecting and analyzing user-item interaction events (e.g. clicks, views, purchases) to model user behavior. Li further discloses using multiple types of interaction events associated with the same user and item to improve prediction and recommendation performance, The system from this feature and updates models based on the interaction data to generate prediction.
Li does not teach the computer-implemented method wherein:
the first event is a click event or an open event with respect to the second object and occurs within a short-term time window, and the second event is a conversion event with respect to the second object and occurs within a long-term time window that is longer than the short-term time window,
determining, by the computing device, a first feature of the first object based on a first encoder, and determining a second feature of the second object based on a second encoder, the first encoder and the second encoder being separate networks;
updating, by the computing device, the first encoder based on the first and second features and the first and second events, such that the first encoder is jointly trained using both the first event in the short-term time window and the second event in the long-term time window.
However, CHAGNIOT teaches the computer-implemented method wherein:
the first event is a click event or an open event (see CHAGNIOT: Pg.2, Section 2, 2nd Paragraph, “In standard RecoGym, the user state is constant and each product is represented by two different embeddings that represent the organic user behavior and the click-bandit behavior”) with respect to the second object and occurs within a short-term time window (see CHAGNIOT: Pg.1, 1st Paragraph, “Recommender systems are often optimized for short-term reward: a recommendation is considered successful if a reward (e.g. a click) can be observed immediately after the recommendation.”), and the second event is a conversion event with respect to the second object (see CHAGNIOT: Pg.2, Section 2, 1st Paragraph, “We consider an extension of the RecoGym environment”),and occurs within a long-term time window that is longer than the short-term time window (see CHAGNIOT: Pg.1, Section 1, 1st Paragraph, “A production recommender system produces logs of user timelines containing information about user behaviour, recommendations, responses to recommendation (e.g. clicks) and some notion of long-term reward (e.g. sales).”)
Because both Li and CHAGNIOT are in the same/similar field of endeavor of machine learning training and recommendation system , accordingly, it would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify the teaching of Li to include the system that the first event is a click event or an open event with respect to the second object and occurs within a short-term time window, and the second event is a conversion event with respect to the second object and occurs within a long-term time window that is longer than the short-term time window as taught by CHAGNIOT. One would have been motivated to make such a combination to discover better recommendations and improve future recommendations.
Li and CHAGNIOT doe does not teach the computer implemented method wherein:
determining, by the computing device, a first feature of the first object based on a first encoder, and determining a second feature of the second object based on a second encoder, the first encoder and the second encoder being separate networks;
updating, by the computing device, the first encoder based on the first and second features and the first and second events, such that the first encoder is jointly trained using both the first event in the short-term time window and the second event in the long-term time window.
However, Shazeer teaches the method wherein:
determining, by the computing device, a first feature of the first object based on a first encoder (see Shazeer: Fig.1, [0043], “The multi task multi modal machine learning model 100 includes multiple input modality neural networks 102a-102c, an encoder neural network 104, a decoder neural network 106, and multiple output modality neural networks 108a-108c. Data inputs, e.g., data input 110, received by the multi task multi modal machine learning model 100 are provided to the multiple input modality neural networks 102a-102c and processed by an input modality neural network corresponding to the modality (domain) of the data input.”), and determining a second feature of the second object based on a second encoder, the first encoder and the second encoder being separate networks (see Shazeer: Fig.1, [0049], “The encoder neural network 104 is a neural network that is configured to process mapped data inputs from the unified representation space, e.g., mapped data input 112, to generate respective encoder data outputs in the unified representation space, e.g., encoder data output 114.”)
updating, by the computing device, the first encoder based on the first and second features and the first and second events (see Shazeer: Fig.6, [0082], “the system processes the decoder output using the selected output modality neural network to generate data representing an output of the second modality of the machine learning task (step 612).”, i.e. updating encoder parameters by training workflow of Fig.6)), such that the first encoder is jointly trained using both the first event in the short-term time window and the second event in the long-term time window (see Shazeer: Fig.1, [0027], “The model can be trained to perform the multiple machine learning tasks jointly, thus simplifying and improving the efficiency of the training process. In addition, by training the model jointly, in some cases less training data may be required to train the model (to achieve the same performance) compared to when separate training processes are performed for separate machine learning tasks.”
Because Li, CHAGNIOT and Shazeer are in the same/similar field of endeavor of machine learning training model and recommendation system, accordingly, it would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify the teaching of Li to include the system that determine a first feature of the first object based on a first encoder, and determining a second feature of the second object based on a second encoder and update the first encoder based on the first and second features and the first and second events as taught by Shazeer. One would have been motivated to make such a combination to improve performance of the model when performing tasks in different domains, particularly when the tasks in the different domains have limited quantities of training data available. (see Shazeer, [0029])
Regarding Claim 2,
As shown above, Li, CHAGNIOT and Shazeer teaches all the limitations of claim 1. Shazeer further teaches the system of updating the first encoder comprises:
determining a second loss between the second event and a prediction of the second event that is determined based on the first and second features (see Shazeer: Fig.6, [0080], “The system processes the mapped input of the unified representation space using an encoder neural network and a decoder neural network to generate a decoder output (step 608). The decoder output represents a representation of an output of the machine learning task in the unified representation space.”); and
updating the first encoder based on the second loss (see Shazeer: Fig.6, [0082], “the system processes the decoder output using the selected output modality neural network to generate data representing an output of the second modality of the machine learning task (step 612).”, i.e. updating encoder parameters by training workflow of Fig.6))
It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify the teaching of Li to include the system that determining a second loss between the second event and a prediction of the second event that is determined based on the first and second features and updating the first encoder based on the second loss as taught by Shazeer. One would have been motivated to make such a combination to improve performance of the model when performing tasks in different domains, particularly when the tasks in the different domains have limited quantities of training data available. (see Shazeer, [0029])
Regarding Claim 3,
As shown above, Li, CHAGNIOT and Shazeer teaches all the limitations of claim 2. Shazeer further teaches determining the second loss comprises:
generating a combination feature based on the first and second features (see Shazeer: Fig.1, [0043], “multitask multi modal machine learning model 100 includes multiple input modality neural networks 102a-102c, an encoder neural network 104, a decoder neural network 106.”)
determining the prediction of the second event based on the combination feature and a second decoder describing an association between a reference feature that is related to a first and a second reference object, and a second reference event that is associated with the first and second reference objects, the first reference object having the same type as the first object, the second reference object having the same type as the second object, and the second reference event having the same type as the second event (see Shazeer: Fig.3, [0051], “he encoder neural network 104 and decoder neural network 106 may include neural network components from multiple machine learning domains. For example, the encoder neural network 104 and decoder neural network 106 may include (i) one or more convolutional neural network layers, e.g., a stack of multiple convolutional layers with various types of connections between the layers, (ii) one or more attention neural network layers configured to perform respective attention mechanisms, (iii) one or more sparsely gated neural network layer.”); and
obtaining the second loss based on a difference between the second event and the second prediction of the second event (see Shazeer: Fig.1, [0047], “Received machine learning model data inputs may include data inputs from different modalities with different sizes and dimensions. For example, data inputs may include representations of images, audio or sound waves. Similarly, each output modality neural network of the multiple output modality networks 108a-c is configured to map data outputs of the unified representation space received from the decoder neural network, e.g., decoder data output 116, to mapped data outputs of one of the multiple modalities.”)
See motivation to combine Li and Shazeer in claim 1.
Regarding Claim 4,
As shown above, Li, CHAGNIOT and Shazeer teaches all the limitations of claim 3. LI further teaches generating the combination feature comprises:
determining an interaction feature based on the first and second features (see Li: Fig.3, [0034], “the collection step 302 may also attempt to determine which media content a user is interested in. For example, media content that has only been partially viewed by a user may be filtered out of the sample behaviors that are collected. Alternatively, a threshold level/percentage of media content viewed may be used.”, i.e. the viewing of a content is the second event associated with the first and second event (click/View content by use) and the two events are in district categories).; and
creating the combination feature by a concatenation of the first feature, the interaction feature, and the second feature (see Li: Fig.3, [0050], “For example, assume that sample data set (of training values) provides for corresponding (input, output) values (e.g., [certain input behavior, output attribute]) of (1.0, 0.9), (1.0, 0.0), (1.0, 0.2), (1.0, 5.0), (1.0, 0.2). The network may be trained with such values and assume it results in a trained output value of 0.2 based on an input of 1.0. In step 306, the sample data set is processed by the network to produce the probabilities.”)
Regarding Claim 5,
As shown above, Li, CHAGNIOT and Shazeer teaches all the limitations of claim 1. LI further teaches updating the first encoder further comprises:
determining a first loss between the first event and a prediction of the first event that is determined based on the first and second features (see Li: Fig.3, [0048], “after training 304, to utilize the model, the outputs 408 need to be turned into probabilities. Thus, at step 306, the probabilities of output attributes are predicted based on the users' behaviors based on the model. In the case of Boolean values (e.g., gender), there may only be a single output 408. However, in the case of non-boolean values (e.g., income), the output layer 408 may have several nodes representing the different outputs such as income amounts (e.g., $0-$15K, $15K-$25K, $25K-$50K, etc.).”); and
updating the first encoder based on the first loss (see Li: Fig.3, [0059], “With the fuzzily determined user's demographic attributes from step 308, the user experiences can be improved at step 310. As described above, such attributes can be used in many applications such as personalized recommendations or advertisement targeting to improve the user experience. For example, the attributes of a user may be used to provide flexibility for an advertiser desiring to target a particular user base.
Regarding Claim 6,
As shown above, Li, CHAGNIOT and Shazeer teaches all the limitations of claim 1. Shazeer further teaches determining the first loss comprises:
determining the prediction of the first event based on the combination feature and a first decoder describing an association between the reference feature and a first reference event that is associated with the first and second reference objects, the first reference event having the same type as the first event (see Shazeer: Fig.3, [0051], “he encoder neural network 104 and decoder neural network 106 may include neural network components from multiple machine learning domains. For example, the encoder neural network 104 and decoder neural network 106 may include (i) one or more convolutional neural network layers, e.g., a stack of multiple convolutional layers with various types of connections between the layers, (ii) one or more attention neural network layers configured to perform respective attention mechanisms, (iii) one or more sparsely gated neural network layer.”); and
obtaining the first loss based on a difference between the first event and the prediction of the first event (see Shazeer: Fig.1, [0047], “Received machine learning model data inputs may include data inputs from different modalities with different sizes and dimensions. For example, data inputs may include representations of images, audio or sound waves. Similarly, each output modality neural network of the multiple output modality networks 108a-c is configured to map data outputs of the unified representation space received from the decoder neural network, e.g., decoder data output 116, to mapped data outputs of one of the multiple modalities.”)
See motivation to combine Li and Shazeer in claim 1.
Regarding Claim 7,
As shown above, Li, CHAGNIOT and Shazeer teaches all the limitations of claim 1. LI further teaches the system wherein:
updating the first decoder based on any of the first or second loss (see Shazeer: Fig.3, [0050], The decoder neural network 106 is a neural network, e.g., an autoregressive neural network, that is configured to process encoder data outputs from the unified representation space, e.g., encoder data output 114, to generate respective decoder data outputs from an output space, e.g., decoder data output 116. An example decoder neural network is illustrated and described in more detail below with reference to FIG. 5.; or updating the second decoder based on any of the first or second loss (see Shazeer: Fig.1, [0050], “In some implementations the multiple input modality neural networks 102a-c and multiple output modality neural networks 108a-c may include language modality neural networks.”)
See motivation to combine Li and Shazeer in claim 1.
Regarding Claim 8,
As shown above, Li, CHAGNIOT and Shazeer teaches all the limitations of claim 1. LI further teaches the system wherein:
obtaining a data repository that comprises a plurality of data items associated with the first and second objects, and the first and second events (see Li: Fig.3, [0042], “In view of the above, the model is trained for numerous different sample users. However, as one might assume, different users that watch the same media content (i.e., their behavior) may have different attributes (e.g., male v. female). The neural network is trained using multiple users' behavioral data and attributes. Accordingly, after processing the various edges/links for one user, the behavioral and attribute data for different users are used to adjust those values/weights. In this manner, the neural network reflects/considers a broad range of the sample users’ behavior and attributes collected at step 302. After all of the training at step 304 is complete, the inputs may have certain values 402 but the outputs 408 and weights will not match every (or potentially any) user exactly.”), wherein:
the first event is obtained by extracting, from the data repository, at least one data item corresponding to the first event based on a definition of the data repository (see Li: Fig.3, [0060], “The user's watching history may be recorded (e.g., at step 302). If the user has watched several complete videos of a show, it can be determined that the user is interested in this show. An attempt is made (at step 302) to find all shows that each user might be interested in. The sample users' attributes and watching behaviors are used to train the predicting model for a "gender" demographic at step 304.”)
the second event is obtained by extracting, from the data repository, at least one data item corresponding to the second event based on the definition of the data repository (see Li: Fig.3, [0033], “
the first object is obtained by extracting, from the data repository, at least one data item corresponding to the first object based on the definition of the data repository (see Li: Fig.3, [0061],” At step 306, the model is used to predict a user's "gender" from the user's watching behaviors. For example, if the probability of the user to be "male" is 80% (so the probability to be "female" is 20%), a soft decision (via step 308) can be used to determine that the user should be "male" in 80% probability, or a hard decision can be used to determine that the user is "male". If it is known that the user is male, more shows can be recommended to the user that men like at step 310.”), and
the second object is obtained by extracting, from the data repository, at least one data item corresponding to the second object based on the definition of the data repository (see Li: Fig.3, [0050], “For example, assume that sample data set (of training values) provides for corresponding (input, output) values (e.g., [certain input behavior, output attribute]) of (1.0, 0.9), (1.0, 0.0), (1.0, 0.2), (1.0, 5.0), (1.0, 0.2). The network may be trained with such values and assume it results in a trained output value of 0.2 based on an input of 1.0. In step 306, the sample data set is processed by the network to produce the probabilities.”)
Regarding claim 9,
As shown above, Li and Shazeer teaches all the limitations of claim 1. LI further teaches the system wherein:
obtaining the first and second events (see Li: Fig.3, [0033], “step 302, sample users' behaviors and attributes are collected. As described above, some users are registered or have signed up with a media content delivery host (e.g., a website). The attributes of such users may be provided or known (e.g., gender, age, location, etc.). Further, as such users view media content, such viewing behavior may be tracked and/or collected (e.g., recorded) by the media content delivery host (e.g., via cookies, web bug, and/or other tracking mechanism).”), comprises:
determining a frequency rate between a first occurrence frequency of the first event and a second occurrence frequency of the second event, the first occurrence frequency being above the second occurrence frequency (see Li: Fig.3, [0049], “o produce the probabilities, the training data (i.e., with the known inputs 402 and outputs 408) are input back into the model. As described, above, since the training combines multiple different users, the output values (i.e., attributes) in nodes 408 produced from known inputs (i.e., behaviors) are unlikely to produce the actual known corresponding outputs”); and
obtaining the first and second events based on the frequency rate (see Li: Fig.3, [0049], “Once the known input values 402 are processed by the model to produce output values 408, the distribution of the results may be examined. The distribution may be examined using a fit algorithm (e.g., least squared fit) to determine where a new data point (i.e., a predicted attribute or output value 408) from a person lies. The actual known output values corresponding to a particular input value may then be compared to the produced output values 408 to compute a probability.”)
Regarding claim 10,
As shown above, Li, CHAGNIOT and Shazeer teaches all the limitations of claim 1. LI further teaches the system wherein:
the first object comprises one of: a user of an application, and data that is provided to the user of the application; the second object comprises a further one of the user and data (see Li: Fig.3, [0060], “the user's watching history may be recorded (e.g., at step 302). If the user has watched several complete videos of a show, it can be determined that the user is interested in this show. An attempt is made (at step 302) to find all shows that each user might be interested in. The sample users' attributes and watching behaviors are used to train the predicting model for a "gender" demographic at step 304.”); and
the second event comprises any of: a subscription event, an order event, a download event, an adding-to-bag event, a following event, or a comment event, the second event occurring after the first event (see Li: Fig.3, [0034], “The collection step 302 may also attempt to determine which media content a user is interested in. For example, media content that has only been partially viewed by a user may be filtered out of the sample behaviors that are collected. Alternatively, a threshold level/percentage of media content viewed may be used. In yet another alternative, a minimum number of viewings of episodes of a particular show may be required before a determination of interest in a particular show is made.”)
Regarding independent claim 12,
Claim 12 is directed to an electronic device claim and has similar/same claim limitation as claim 1 and is rejected under same rationale.
Regarding Claim 13,
Claim 13 is directed to a device claim and have similar/same claim limitation as Claim 2 and is rejected under same rationale.
Regarding Claim 14,
Claim 14 is directed to a system claim and has similar/same claim limitation as Claim 3 and is rejected under same rationale.
Regarding Claim 15,
Claim 15 is directed to a system claim and has similar/same claim limitation as Claim 7 and is rejected under same rationale.
Regarding Claim 16,
Claim 16 is directed to a non-transitory computer program product claim and has similar/same claim limitation as Claim 9 and is rejected under same rationale.
Regarding Claim 17,
Claim 17 is directed to a non-transitory computer program product claim and has similar/same claim limitation as Claim 8 and is rejected under same rationale.
Regarding Claim 18,
Claim 18 is directed to a non-transitory computer program product claim and has similar/same claim limitation as Claim 10 and is rejected under same rationale.
Regarding independent Claim 20,
Claim 20 is directed to a non-transitory computer program product claim and has similar/same claim limitation as Claim 1 and is rejected under same rationale.
Response to Arguments
Claim Rejections - 35 U.S.C. § 101,
Regarding the 35 U.S.C. 101 rejection for being directed non-statutory subject matter has been withdrawn based on applicant amendments and. Therefore, the 35 U.S.C. 101 rejection has been withdrawn.
Claim Rejections - 35 U.S.C. § 103,
Applicant’s arguments with respect to claim amendments have been considered but are moot considering the new combination of references being used in the current rejection. The new combination of references was necessitated by Applicant’s claim amendments. Therefore, the claims are rejected under the new combination of references as indicated above.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
PGPUB
NUMBER:
INVENTOR-INFORMATION:
TITLE / DESCRIPTION
US 10635973 B1
Dirac; Leo Parker
Title: Recommendation System Using Improved Neural Network
Description: The goal of a recommendation system is to produce relevant and personalized recommendations for users based on historical data. While there are a plethora of techniques, most fall under either one or a hybrid of collaborative filtering or content-based filtering.
US 20170316343 A1
Shamsi; Davood
Title: FEATURE TRANSFORMATION OF EVENT LOGS IN MACHINE LEARNING
Description: The present disclosure relates generally to machine learning. More specifically, and without limitation, the present disclosure relates to systems and methods associated with transforming event logs into features for machine learning.
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 nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ZELALEM W SHALU whose telephone number is (571)272-3003. The examiner can normally be reached M- F 0800am- 0500pm.
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, Cesar Paula can be reached at (571) 272-4128. 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.
/Zelalem Shalu/Examiner, Art Unit 2145
/CESAR B PAULA/Supervisory Patent Examiner, Art Unit 2145