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 .
Notice to Applicant
The following is a Final Office Action. In response to Examiner’s Non-Final of 8/1/25, Applicant, on 11/3/25, amended claims. Claims 1-20 are pending in the instant application and have been rejected below.
Response to Amendment
The 112b rejections are withdrawn in light of the amendments.
Claim Interpretation
The following is a quotation of 35 U.S.C. 112(f):
(f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The following is a quotation of pre-AIA 35 U.S.C. 112, sixth paragraph:
An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
This application includes one or more claim limitations that do not use the word “means,” but are nonetheless being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because the claim limitation(s) uses a generic placeholder that is coupled with functional language without reciting sufficient structure to perform the recited function and the generic placeholder is not preceded by a structural modifier. Such claim limitation(s) is/are: “monitoring component” in claim 17; “content component” in claim 18.
Claims 17-18 “components” are interpreted as having corresponding structure of “software stored in memory and executed by the processor” based on [0069-0070] as filed, and since claim 16 already recites “processor and memory.”
Because this/these claim limitation(s) is/are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, it/they is/are being interpreted to cover the corresponding structure described in the specification as performing the claimed function, and equivalents thereof.
If applicant does not intend to have this/these limitation(s) interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, applicant may: (1) amend the claim limitation(s) to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitation(s) recite(s) sufficient structure to perform the claimed function so as to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception (i.e. an abstract idea) without reciting significantly more.
Step One - First, pursuant to step 1 in MPEP 2106.03, the claim 1 is directed to a method which is a statutory category.
Step 2A, Prong One - MPEP 2106.04 - The claim 1 recites–
“A method for data processing, comprising:
obtaining, … attribute data for a plurality of users, wherein the attribute data comprises attributes based on interactions between the plurality of users and a digital platform; (Applicant’s [0100] as published “attributes, include an amount of time between a user action on the digital platform and a transaction by the user on the digital platform (ProximityToTransaction), a number of products added to a shopping cart by the user (NumAddToCart), a number of products clicked on by the user (NumProductClick), a number of times the user visited the digital platform using a particular operating system (NumSessionsOS), a number of times the user clicked on a promotion; [0095] as filed - As used herein, “interaction data” refers to a data set including data relating to at least one interaction between a user and a digital platform. As used herein, a “digital platform” is a platform that displays digital content, such a website; Examples of user interactions include visiting the digital platform from a different digital platform, visiting specific sections of the digital platform, hyperlink clicks, viewing digital content on the digital platform.);
clustering the plurality of users to obtain a set of clusters;
generating,…, a directed graph based on the attribute data, wherein the directed graph includes a plurality of edges representing causal relationships among the attributes of the attribute data;
updating, …, the set of clusters based on the causal relationships among the attributes of the attribute data represented by the directed graph; and
providing, …, , customized content to a user via the digital platform based on the updated set of clusters ([0116] as filed… causal relations between at least two interactions… information about how members of the cluster interact with digital platform, and provided information is used to more accurately inform actions (such as providing targeted content)… to further a goal of the digital platform (such as encouraging a purchase… or increasing time spent on the digital platform)).”
As drafted, this is, under its broadest reasonable interpretation, within the Abstract idea grouping of “certain methods of organizing human activity” – commercial or legal interactions (advertising, marketing or sales activities), as here we have obtaining attribute data (e.g. number of products added to a cart, time until transition, clicked on a promotion, time spent in a session, etc [0100 as published) based on interactions (e.g. [0095] as published – visits to webpages), clustering the users (i.e. grouping them), then generating a directed graph based on the attribute data and causal relationships among the visits ([0116 as published – leading to a “goal” of encouraging a purchase of a product, or time spent on the website), then updating the clusters based on the causal relationships among attributes represented by directed graph (i.e. a series of website pages visited), and providing customized content based on the updated cluster, which is for purpose of advertising/marketing to improve a goal, such as purchase of a product. Regarding the clustering, generating a directed graph based on attributes, and then update the user cluster based on causal relationships, this is considered part of the “advertising/marketing” of certain methods of organizing human activity - in view of specification here where causal relationships are sequence of website visits, where customized content (e.g. [0038] generate user cluster; [0053-0056] – model parameters or weights… learned or estimated… to make predictions… maximize a performance metric; [0084, 0116] as published – content is promotions or encouraging a purchase), interpreted as make clusters and maximize purchases/views of website pages). Accordingly, claim 1 is directed to an abstract idea because it is clustering users based on websites visited, forming a graph representing causal relationships leading to a purchase (or other goal), updating clusters based on the graph, and providing customized content (e.g. marketing).
Step 2A, Prong Two - MPEP 2106.04 - This judicial exception is not integrated into a practical application. In particular, the claim 1 recites additional elements that are:
A method for data processing, comprising:
obtaining, by a machine learning model comprising an artificial neural network that includes parameters stored in memory and that is executed by at least one user processor attribute data for a plurality of users, wherein the attribute data comprises attributes based on interactions between the plurality of users and a digital platform;
…
generating, by the machine learning model, a directed graph based on the attribute data, wherein the directed graph includes a plurality of edges representing causal relationships among the attributes of the attribute data;
updating, by the machine learning model, the set of clusters based on the causal relationships among the attributes of the attribute data represented by the directed; and
providing, by a content component, stored in the memory and executed by the at least one processor, customized content to a user via the digital platform based on the updated set of clusters.
Individually or in combination - MPEP 2106.05f applies –the claim involves a computer in that the machine learning model and content components are stored in memory and executed by a processor. Having each step “executed by the processor” is considered “apply it [the abstract idea] on a computer”; merely uses a computer as a tool to perform an abstract idea; See July 2024 Subject Matter Eligibility Update, Example 47, claim 2; Example 48, claim 1; the “train at least one machine learning model” here is “mere instructions to implement abstract idea on a computer at MPEP 2106.05f); see also MPEP 2106.05h “field of use” for combination of computer and machine learning model which is an artificial neural network.
Accordingly, the additional elements, individually or in combination, do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea.
Step 2B in MPEP 2106.05 - The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional element of a computing system, is treated as MPEP 2106.05(f) (Mere Instructions to Apply an Exception – “Thus, for example, claims that amount to nothing more than an instruction to apply the abstract idea using a generic computer do not render an abstract idea eligible.” Alice Corp., 134 S. Ct. at 235)); and combination of data, computer, and machine learning model is MPEP 2106.05h (Field of use). Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept. Viewed individually or as a whole, these additional claim element(s) do not provide meaningful limitation(s) to transform the abstract idea into a patent eligible application of the abstract idea such that the claim(s) amounts to significantly more than the abstract idea itself.
Claim 9 is rejected for similar reasons as claim 1. Independent claim 9 is directed to a method at step 1, which is a statutory category. Claim 9 recites similar limitations as claim 1 and is rejected for the same reasons at step 2a, prong one, 2a, prong 2, and step 2b. Claim 9 is directed to an abstract idea, similar to claim 1, because it is clustering users based on websites visited, where the model corresponds to forming a graph representing causal relationships leading to a purchase (or other goal), updating clusters based on attributes. Further, Claim 9 recites “training… parameters of a machine learning model based on attribute data [that are based on interactions], where the model is corresponds to directed graph that includes edges representing causal relationships among attributes” and updating “by the training component, the parameters”. At step 2a, prong two and step 2B, the “training” as amended and executed by the computer is considered, like in claim 1, part of “apply it [abstract idea] on a computer” (MPEP 2106.05f) and “field of use” (MPEP 2106.05h). The “training” is for purposes of improving the model of causal relationships [leading to a purchase, or time spent visiting the website].
Independent claim 16 is directed to an apparatus at step 1, which is a statutory category. Claim 16 recites similar limitations as claim 1 and claim 9 and is rejected for the same reasons at step 2a, prong one, 2a, prong 2, and step 2b. Claim 16 explicitly recites processor, memory, instructions executed by processor. As above, even recited explicitly, this is considered MPEP 2106.05f (apply it [abstract idea] on a computer).
Claims 2, 7 and 10, 20; and 15 narrow the abstract idea by having plurality of clusters and graphs for updating; and/or updating parameters [claim 15, 20].
Claims 3 and 11 narrow the abstract idea by randomly assigning users to a cluster; Claims 4 and 12 are assigning users to cluster based on interaction data (e.g. website visits, to characterize their interest or profile).
Claims 5 and 13 narrow abstract idea by learning edges and weights, the numerical values of the graph. This is also considered part of additional elements at step 2a, prong two and step 2B for presumably a computer executing the model.
Claims 6 and 14 narrow the abstract idea by having math of calculating a likelihood of assigning a user to a cluster.
Claim 8 narrows the abstract idea by narrowing the marketing aspects; by selecting a target interaction for the user (e.g. [0093, 0116] as filed – likely to cause occurrence of goal interaction, such as encouraging a purchase or increasing time spent on the website/platform).
Claim 17 narrows the abstract by collecting interaction data; similar to limitations addressed in claim 1 as “obtaining”; narrows abstract idea by collecting more data on users (e.g. visits, purchases, etc). The “monitoring component,” is interpreted as part of the computer, and is also considered part of additional elements at step 2a, prong two and step 2B for presumably a computer executing the operations.
Claim 18 narrows the abstract by customizing content; similar to limitations addressed in claim 1. The “content component,” is interpreted as part of the computer, and is also considered part of additional elements at step 2a, prong two and step 2B for a computer executing the operations.
Claim 19 has additional element of “user interface” to display the content; this is interpreted as part of the computer, and is also considered part of additional elements at step 2a, prong two and step 2B for a computer executing the operations; and “field of use” (MPEP 2106.05h).
Therefore, the claim(s) are rejected under 35 U.S.C. 101 as being directed to non-statutory subject matter.
For more information on 101 rejections, see MPEP 2106.
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 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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1-2, 4, 6-10, 12, and 14-19 are rejected under 35 U.S.C. 103 as being unpatentable over Krishnamurthy (US 2019/0138917), and Goyal (US 2020/0126100).
Concerning claim 1, Krishnamurthy discloses:
A method for data processing (Krishnamurthy – see par 25 - From a data science perspective, distributions of visitors may be investigated across different clusters and audience subsets. Models can be developed to predict the behavior of a new visitor by classifying the new visitor as similar in behavior to a pre-existing group of visitors. The new visitor's properties or behavior can be inferred from the known properties or behaviors of the pre-existing group. This enables a marketer to gain insights about a new visitor and potential customer, perform operations for targeted advertising, and thereby lift revenue.), comprising:
obtaining, by a machine learning model (Krishnamurthy – see par 30 - A prediction model is generated based on the multiple graph feature vectors using a machine learning system.) comprising … that includes parameters stored in memory and that is executed by at least one user processor (Krishnamurthy – see par 71 - performance of machine learning on a directed graph is enabled by computing one or more invariant features of the graph. In one or more example embodiments, computation of some invariant features results in a single vector of real-valued features for each directed graph. The computed invariant features enable consideration of at least one measure of similarity between two or more directed graphs. see par 151 - The example computing device 1202 as illustrated includes at least one processing system 1204, one or more computer-readable media 1206; see par 160 - Accordingly, software, hardware, or executable modules may be implemented as one or more instructions or logic embodied on some form of computer-readable storage media or by one or more hardware elements 1210. The computing device 1202 may be configured to implement particular instructions or functions corresponding to software or hardware modules;
Krishnamurthy discloses having machine learning to process multiple graph features corresponding to multiple end users, in conjunction with behavioral attributions; as giving an open-ended list of implementation approaches for machine learning systems (See par 45). In addition, to extent “features” in Krishnamurthy are not considered “parameters,” Goyal discloses both “artificial neural network” and “parameters” as claimed:
a machine learning model comprising an “artificial neural network (Goyal see par 44 - The user data 114 generally represents various user attributes including user profiles 120 that include user identifiers (“IDs”) 122, visit statistics 124, and revisit probability values 126 for large sets of users; see par 45 - The visit statistics 124 represent data that indicates various content consumption statistics and patterns for users identified in the user profiles 120. Consider, for example, that the content delivery system 106 includes a delivery manager module 128 that implements and exposes content delivery platforms 130. The content delivery platforms 130 represent different mediums by which content can be exposed, such as websites; see par 54 – machine learning generation of target segments… can use… artificial neural networks; see par 131 – computer-readable media storing executable instructions) that includes parameters” (Goyal - par 30 - instances of the training data can be weighted to reduce the effect of noise in the data that may be introduced based on imprecision in translating data from the demographic reports into the user on-target ratios; see par 48 - revisit probability model 140 represents a machine learning model that is trained using a training data set (“training set”) 142 of the visit statistics 124. After training, a testing data set (“testing set”) 144 of the visit statistics 124 can be processed by the revisit probability model 140 to generate the revisit probability values 126. The revisit probability values 126 are usable to separate the user profiles 120 into different segments and to generate targeted segments; see par 61 - Further to the scenario 200, the segment generator model 156 is trained using the user-target ratio data 206 and the user profiles 120 are input into the trained segment generator model 156 to generate target probability data 208. As further detailed below, the user-target ratio data 206 is weighted prior to being input to the segment generator model 156 to reduce prediction errors that may occur due to inaccuracies in the on-target percentage values of the user-target ratio data 206.).
Krishnamurthy and Goyal disclose:
attribute data for a plurality of users (Applicant’s [0100] as published “attributes, include an amount of time between a user action on the digital platform and a transaction by the user on the digital platform (ProximityToTransaction), a number of products added to a shopping cart by the user (NumAddToCart), a number of products clicked on by the user (NumProductClick), a number of times the user visited the digital platform using a particular operating system (NumSessionsOS), a number of times the user clicked on a promotion while using a particular smart phone (NumPromotionHitsSmartPhone), a number of times the user clicked on a promotion while using something other than the particular smart phone (NumPromotionHitsOthers), a number of times a user viewed a product having a price under a particular price threshold (NumCheapProductViewed), a number of times a user clicked on a particular page of the digital platform (NumPageHits), and an amount of time spent by the user on the digital platform during a session (TimePerSession).”
Krishnamurthy discloses the limitations based on broadest reasonable interpretation in light of the specification – see par 38 - the term “behavioral attribute,” as used herein, refers to a categorization or label or description of a behavior exhibited by an end user. Examples of a behavioral attribute may include, but are not limited to, made a purchase, left a website, … purchased after a discount was offered, signed up to receive emails, abandoned a cart, selected a particular product from among several product options, returned to a website after a delay, or some combination thereof.), wherein the attribute data comprises attributes based on interactions between the plurality of users and a digital platform ([0095] as filed - As used herein, “interaction data” refers to a data set including data relating to at least one interaction between a user and a digital platform. As used herein, a “digital platform” is a platform that displays digital content, such a website, an app, an email, etc… Examples of user interactions include visiting the digital platform from a different digital platform, visiting specific sections of the digital platform, hyperlink clicks, viewing digital content on the digital platform, adding a product to a cart, purchasing a product, an amount of time spent on a section of the digital platform, etc.
Krishnamurthy discloses the limitations based on broadest reasonable interpretation in light of the specification – see par 32 - In these manners, dynamic behavior of an end user may be captured in a vector of features computed from invariant graph features. A directed graph may capture natural information about an end user's activities (e.g., cycles and repeating visits) as well as more latent information that is otherwise difficult to acquire about an end user's interactive activities (e.g., the Eigen values of a graph that reflect a “density of connections” in a visitor's website browsing). Information from a directed graph that is derived based on an end users' dynamic interactions can be pertinent to machine learning tasks that lead to accurate targeted marketing. see par 40 - In a World Wide Web (WWW) environment with end-user interaction based on selecting links of web pages via a web browser, selectstream data may include so-called clickstream data. By way of example, “targeted selectstream data” may be obtained from one or more indications of data objects requested by a targeted end user);
clustering the plurality of users to obtain a set of clusters (Krishnamurthy – see par 101 - Two example types of machine learning systems 502 are illustrated: (i) a cluster-based machine learning system having a clustering operation 504 and (ii) a classification-based machine learning system having a training operation 506. With regard to the clustering operation 504, the multiple graph feature vectors 214 are separated into multiple clusters 510 based on one or more similarities between or among different ones of the multiple graph feature vectors 214. A k-means clustering algorithm, with k set to a value between three and seven, may be used, for example; see par 102-103 - The end users 114 may also be separated into different segments 508 in accordance with the corresponding behavioral attributes 516 or other known attributes, such as those from demographic information or marketing data.);
generating, by the machine learning model, a directed graph based on the attribute data, wherein the directed graph includes a plurality of edges representing causal relationships among the attributes of the attribute data (Krishnamurthy – see par 61 - each respective directed graph 212 is constructed based on the selectstream data 210 corresponding to a respective end user 114 of the multiple end users 114. see par 64, FIG. 3 – directed graph construction based on path of travel over data objects; see par 65 - each vertex 302 corresponds to a data object 110 (of FIG. 1), and each directed edge 304 corresponds to a transition between two data objects 110. The vertex 302-1 represents a source data object 110-1, the vertex 302-2 represents a destination data object 110-2, and the directed edge 304-12 represents a transition 306 from the source data object 110-1 to the destination data object 110-2. In a WWW browser scenario,… the transition 306 may represent a selection by an end user of the link on the first web page that points to the second web page so that the end user may traverse a portion of the WWW website from the first web page to the second web page; see par 66 - a mathematical description of one or more example embodiments in a WWW scenario, a path traversed by an end user visiting a website is modelled as a directed graph G(V,E) that is defined as follows: [0067] V: a set of the URLs visited by the end user; and [0068] E: set of all transitions (e.g., clicks) by the visiting end user. Each directed edge corresponds to one line of a set of clickstream data, with a source vertex being a referrer URL and a destination vertex being a current URL. The directed graph captures the dynamics of the behavior of an end user over time across multiple visits to a website. As shown in FIG. 3 at an arrow 314, multiple edges 304 may be included between two vertices 302 if an end user 114 traverses between two corresponding data objects more than once… may be included… to create or use a prediction model 216);
updating, by the machine learning model, the set of clusters based on the causal relationships among the attributes of the attribute data represented by the directed graph (Krishnamurthy – see par 103 - As another example, if 80% of the end users 114 that are separated into a particular cluster 510 make a purchase if offered free shipping via a code from a pop-up window, then a new, targeted end user that corresponds to a targeted graph feature vector that is similar to those graph feature vectors 214 of the particular cluster 510 may be predicted to be convertible into a customer with a free shipping offer; see par 115 – With regard to the training operation 506, a training set of graph feature vectors may be provided by associating respective ones of at least a portion of the multiple graph feature vectors 214 with a respective classification category 512, a respective classification category 512 for a respective graph feature vector 214 may be determined using a corresponding behavioral attribute 516. see par 125 - The targeted end user is permitted to traverse a website by visiting multiple webpages. Each webpage selection by the targeted end user can cause a behavioral prediction engine to update a cluster to which the targeted end user is being mapped. The cluster updating may cease when the cluster index stabilizes. Hence, a behavioral prediction may be produced based on one or more behaviors assigned to the stabilized cluster.); and
providing, by a content component stored in the memory and executed by the at least one processor, customized content to a user via the digital platform based on the updated set of clusters (0116] as filed… causal relations between at least two interactions… information about how members of the cluster interact with digital platform, and provided information is used to more accurately inform actions (such as providing targeted content)… to further a goal of the digital platform (such as encouraging a purchase… or increasing time spent on the digital platform)
Krishnamurthy – see par 124 - If a distribution of end users in a given cluster for a particular behavioral attribute is high, then that cluster may be used for behavioral targeting by associating an action to that cluster. In other words, a tailored opportunity, which may correspond to a web server taking some action in a WWW ecommerce scenario, may be associated with one or more of the clusters. Thus, an associated action may be taken responsive to a targeted end user being assigned to a given cluster. see par 127, FIG. 8 - The tailored opportunity issuance module 802 may be part of a behavioral prediction engine 122 (of FIG. 2 or 6). see par 130 - visitors with a medium likelihood to convert may be enticed with a discount opportunity or merely with one or more emails or ads. see par 131 - if many of the visitors in a given cluster belong to a particular segment of interest, the marketer can create an association/targeting rule based on this distribution of the particular segment within the given cluster. To implement such targeting, the graph features of a visitor and the distance of the corresponding graph feature vector to the center of the given cluster can be computed. If the distance is less than some selected threshold distance, then the targeting rule can be triggered to issue a tailored opportunity in an attempt to induce the visitor to perform some action).
Both Krishnamurthy and Goyal are analogous art as they are directed to analyzing website visits and giving different content (see Krishnamurthy Abstract, par 30; Goyal Abstract, par 46, FIG. 6 – supplemental content includes advertisements). 1) Krishnamurthy discloses having machine learning to process multiple graph features corresponding to multiple end users, in conjunction with behavioral attributions; as giving an open-ended list of implementation approaches for machine learning systems used for clustering/classification (See par 45) where “tailored opportunities” are presented to a targeted end user responsive to a behavioral prediction. Goyal improves upon Krishnamurthy by further including a “neural network” as part of targeting segments, which is then used for giving supplemental content including advertisements. 2) Krishnamurthy discloses having features used for performance of machine learning on a directed graph (See par 71). Goyal improves upon Krishnamurthy by further including different weighting as parting of training data for reducing effect of noise on data and reduce prediction errors (See par 30, 48, 61). One of ordinary skill in the art would be motivated to further include a “neural network” and for weighting training data different to compensate for noise to efficiently improve upon the analysis of end user behavior for providing tailored opportunities (See Abstract) and targeted advertising (See par 25), and the features values used in machine learning on the directed graph in Krishnamurthy.
Accordingly, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention for using machine learning to produce an output/opportunity recommendation for websites and user clusters (see par 25, 131) in Krishnamurthy, to further include “artificial neural network” for analyzing users visiting websites and giving supplemental content, and weighting training data differently to account for noise in Goyal, since the claimed invention is merely a combination of old elements, and in combination each element merely would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable and there is a reasonable expectation of success.
Concerning independent claim 9, Krishnamurthy and Goyal disclose:
A method for data processing (Krishnamurthy – see par 25 - From a data science perspective, distributions of visitors may be investigated across different clusters and audience subsets. Models can be developed to predict the behavior of a new visitor by classifying the new visitor as similar in behavior to a pre-existing group of visitors. The new visitor's properties or behavior can be inferred from the known properties or behaviors of the pre-existing group. This enables a marketer to gain insights about a new visitor and potential customer, perform operations for targeted advertising, and thereby lift revenue), comprising:
obtaining, by a training component (Krishnamurthy – see par 30 - A prediction model is generated based on the multiple graph feature vectors using a machine learning system; see par 115 - With regard to the training operation 506, a training set of graph feature vectors may be provided by associating respective ones of at least a portion of the multiple graph feature vectors 214 with a respective classification category 512. A classifier 514 is trained using the provided training set of graph feature vectors such that a new, targeted graph feature vector may be classified by the machine learning system 502 as part of the prediction model 216.) stored in memory and executed by at least one processor (Krishnamurthy – see par 151 - The example computing device 1202 as illustrated includes at least one processing system 1204, one or more computer-readable media 1206; see par 160 - Accordingly, software, hardware, or executable modules may be implemented as one or more instructions or logic embodied on some form of computer-readable storage media or by one or more hardware elements 1210. The computing device 1202 may be configured to implement particular instructions or functions corresponding to software or hardware modules) training data including a set of clusters and attribute data for a plurality of users (Krishnamurthy [similar to claim 1]– see par 38, 100 - end user 114 may be associated with at least one behavioral attribute 516. Examples of a behavioral attribute 516 include made a purchase, signed up for email communications, selected a particular product, bought a certain total amount of goods or services, … permanently left a website, returned to a website after some elapsed time, or some combination thereof. see par 101 - Two example types of machine learning systems 502 are illustrated: (i) a cluster-based machine learning system having a clustering operation 504 and (ii) a classification-based machine learning system having a training operation 506. With regard to the clustering operation 504, the multiple graph feature vectors 214 are separated into multiple clusters 510 based on one or more similarities between or among different ones of the multiple graph feature vectors 214. A k-means clustering algorithm, with k set to a value between three and seven, may be used, for example; see par 102-103 - The end users 114 may also be separated into different segments 508 in accordance with the corresponding behavioral attributes 516 or other known attributes, such as those from demographic information or marketing data), wherein the attribute data comprises attributes based on interactions between the plurality of users and a digital platform (Krishnamurthy see par 32 - In these manners, dynamic behavior of an end user may be captured in a vector of features computed from invariant graph features. A directed graph may capture natural information about an end user's activities (e.g., cycles and repeating visits) as well as more latent information that is otherwise difficult to acquire about an end user's interactive activities (e.g., the Eigen values of a graph that reflect a “density of connections” in a visitor's website browsing). Information from a directed graph that is derived based on an end users' dynamic interactions can be pertinent to machine learning tasks that lead to accurate targeted marketing. see par 40 - In a World Wide Web (WWW) environment with end-user interaction based on selecting links of web pages via a web browser, selectstream data may include so-called clickstream data. By way of example, “targeted selectstream data” may be obtained from one or more indications of data objects requested by a targeted end user);
training, by the training component, parameters of a machine learning model (Krishnamurthy – see par 30 - A prediction model is generated based on the multiple graph feature vectors using a machine learning system) comprising…that includes parameters stored in the memory and that is executed by at least one processor based on the attribute data (Krishnamurthy – see par 115 – training operation 506… a respective classification category 512 for a respective graph feature vector 214 may be determined using a corresponding behavioral attribute 516; see par 151 - The example computing device 1202 as illustrated includes at least one processing system 1204, one or more computer-readable media 1206; see par 160 - Accordingly, software, hardware, or executable modules may be implemented as one or more instructions or logic embodied on some form of computer-readable storage media or by one or more hardware elements 1210. The computing device 1202 may be configured to implement particular instructions or functions corresponding to software or hardware modules.)
Krishnamurthy discloses having machine learning to process multiple graph features corresponding to multiple end users, in conjunction with behavioral attributions; as giving an open-ended list of implementation approaches for machine learning systems (See par 45).
Goyal discloses:
comprising “an artificial neural network that includes parameters” stored in memory and that is executed by at least one user processor (Goyal – same as cl. 1 above - see par 44 - …; see par 54 – machine learning generation of target segments… can use… artificial neural networks; see par 131 – computer-readable media storing executable instructions;
for “parameters” - Goyal [same as cl. 1 above] - par 30 - instances of the training data can be weighted to reduce the effect of noise in the data that may be introduced based on imprecision in translating data from the demographic reports into the user on-target ratios; see par 48 – training set, testing set with machine learning model [as in claim 1]; see par 61 – [as in claim 1]-… to reduce prediction errors that may occur due to inaccuracies in the on-target percentage values of the user-target ratio data 206).
Krishnamurthy and Goyal disclose:
wherein the machine learning model corresponds to a directed graph that includes a plurality of edges representing causal relationships among the attributes of the attribute data ( [same as cl. 1 above] Krishnamurthy – see par 61 - each respective directed graph 212 is constructed based on the selectstream data 210 corresponding to a respective end user 114 of the multiple end users 114. see par 64, FIG. 3 – directed graph construction based on path of travel over data objects; see par 65 - … a directed graph G(V,E) that is defined as follows: [0067] V: a set of the URLs visited by the end user; and [0068] E: set of all transitions (e.g., clicks) by the visiting end user. Each directed edge corresponds to one line of a set of clickstream data).
updating, by the machine learning model, the set of clusters based on the causal relationships among the attributes of the attribute data represented by the directed graph (Krishnamurthy [same as cl. 1 above] – see par 103; see par 115 ; see par 125); and
updating, by the training component, the … of the machine learning model based on the updated set of clusters (Krishnamurthy – see par 32 - Information from a directed graph that is derived based on an end users' dynamic interactions can be pertinent to machine learning tasks that lead to accurate targeted marketing. see par 45 - A machine learning system may be used to generate or operate a prediction model. Examples of implementation approaches for machine learning systems for unsupervised or supervised learning may include, but are not limited to, cluster analysis, association rule learning, classification, support vector machines (SVMs), Bayesian networks, regression; see par 71 - performance of machine learning on a directed graph is enabled by computing one or more invariant features of the graph. In one or more example embodiments, computation of some invariant features results in a single vector of real-valued features for each directed graph. The computed invariant features enable consideration of at least one measure of similarity between two or more directed graphs.)
Similar to claim 1, it is not clear if Krishnamurthy discloses “parameters” being updated, as best understood.
Goyal discloses:
updating, by the training component, the “parameters” of the machine learning model based on the updated set of clusters (Goyal – par 30 - instances of the training data can be weighted to reduce the effect of noise in the data that may be introduced based on imprecision in translating data from the demographic reports into the user on-target ratios; see par 48 - revisit probability model 140 represents a machine learning model that is trained using a training data set (“training set”) 142 of the visit statistics 124. After training, a testing data set (“testing set”) 144 of the visit statistics 124 can be processed by the revisit probability model 140 to generate the revisit probability values 126. The revisit probability values 126 are usable to separate the user profiles 120 into different segments and to generate targeted segments; see par 61 - Further to the scenario 200, the segment generator model 156 is trained using the user-target ratio data 206 and the user profiles 120 are input into the trained segment generator model 156 to generate target probability data 208. As further detailed below, the user-target ratio data 206 is weighted prior to being input to the segment generator model 156 to reduce prediction errors that may occur due to inaccuracies in the on-target percentage values of the user-target ratio data).
It would be obvious to combine Krishnamurthy and Goyal for the same reasons as claim 1 above.
Concerning independent claim 16, Krishnamurthy and Goyal disclose:
An apparatus for data processing (Krishnamurthy – see par 25 [as in claim 1] - From a data science perspective, distributions of visitors may be investigated across different clusters and audience subsets… The new visitor's properties or behavior can be inferred from the known properties or behaviors of the pre-existing group. This enables a marketer to gain insights about a new visitor and potential customer, perform operations for targeted advertising, and thereby lift revenue), comprising:
at least one processor (Krishnamurthy – see par 151 – computing device);
at least one memory storing instructions executable by the at least one processor (Krishnamurthy -see par 151 [as in cl. 1 above] - computing device 1202 as illustrated includes at least one processing system 1204, one or more computer-readable media 1206; see par 160 - Accordingly, software, hardware, or executable modules may be implemented as one or more instructions or logic embodied on some form of computer-readable storage media or by one or more hardware elements 1210. The computing device 1202 may be configured to implement particular instructions or functions); and
a machine learning model (Krishnamurthy – see par 30 - A prediction model is generated based on the multiple graph feature vectors using a machine learning system) comprising machine learning … stored in the at least one memory (Krishnamurthy – see par 71 [as in cl. 1 above] - performance of machine learning on a directed graph is enabled by computing one or more invariant features of the graph. … computation of some invariant features results in a single vector of real-valued features for each directed graph. The computed invariant features enable consideration of at least one measure of similarity between two or more directed graphs.; see par 99, FIG. 5 – prediction generation module 208 generates prediction using machine learning system 502; see par 151, 160 – instructions in memory.
To extent “features” in Krishnamurthy are not considered “parameters,”
Goyal discloses:
a machine learning model comprising an artificial neural network that “includes parameters” ( [as in claim 1]– par 30 - instances of the training data can be weighted to reduce the effect of noise in the data that may be introduced based on imprecision in translating data from the demographic reports into the user on-target ratios; see par 48 – training set, testing set with machine learning model [as in claim 1]; see par 61 – [as in claim 1]- segment generator model 156 to reduce prediction errors that may occur due to inaccuracies in the on-target percentage values of the user-target ratio data 206).
Krishnamurthy and Goyal disclose:
the machine learning model trained to cluster a plurality of users to obtain a set of clusters (Krishnamurthy [same as cl. 1] – see par 101 - Two example types of machine learning systems 502 are illustrated: (i) a cluster-based machine learning system having a clustering operation 504 and (ii) a classification-based machine learning system having a training operation 506. With regard to the clustering operation 504, the multiple graph feature vectors 214 are separated into multiple clusters 510 based on one or more similarities between or among different ones of the multiple graph feature vectors 214. A k-means clustering algorithm, with k set to a value between three and seven, may be used, for example; see par 102-103 - The end users 114 may also be separated into different segments 508 in accordance with the corresponding behavioral attributes 516 or other known attributes, such as those from demographic information or marketing data), generate a directed graph based on attribute data for the plurality of users (same as cl. 1 above] Krishnamurthy – see par 38 - the term “behavioral attribute,” as used herein, refers to a categorization or label or description of a behavior exhibited by an end user. Examples of a behavioral attribute may include, but are not limited to, made a purchase, left a website…; see par 61 - each respective directed graph 212 is constructed based on the selectstream data 210 corresponding to a respective end user 114 of the multiple end users 114. see par 64, FIG. 3 – directed graph construction based on path of travel over data objects; see par 65 - … a directed graph G(V,E)), attributes based on interactions between the plurality of users and a digital platform (Krishnamurthy see par 32 [as in cl. 1 above] - In these manners, dynamic behavior of an end user may be captured in a vector of features computed from invariant graph features. A directed graph may capture natural information about an end user's activities (e.g., cycles and repeating visits) … Information from a directed graph that is derived based on an end users' dynamic interactions can be pertinent to machine learning tasks that lead to accurate targeted marketing. see par 40 - In a World Wide Web (WWW) environment with end-user interaction based on selecting links of web pages via a web browser, selectstream data may include so-called clickstream data. By way of example, “targeted selectstream data” may be obtained from one or more indications of data objects requested by a targeted end user ) and
wherein the directed graph comprises a plurality of edges representing causal relationships among the attributes of the attribute data (Krishnamurthy [same as cl. 1] – see par 61 - each respective directed graph 212 is constructed based on the selectstream data 210 corresponding to a respective end user 114 of the multiple end users 114. see par 64, FIG. 3 – directed graph construction based on path of travel over data objects; see par 65 - each vertex 302 corresponds to a data object 110 (of FIG. 1), and each directed edge 304 corresponds to a transition between two data objects 110. The vertex 302-1 represents a source data object 110-1, the vertex 302-2 represents a destination data object 110-2, and the directed edge 304-12 represents a transition 306 from the source data object 110-1 to the destination data object 110-2. In a WWW browser scenario,… the transition 306 may represent a selection by an end user of the link on the first web page that points to the second web page so that the end user may traverse a portion of the WWW website from the first web page to the second web page; see par 66 - a mathematical description of one or more example embodiments in a WWW scenario, a path traversed by an end user visiting a website is modelled as a directed graph G(V,E) that is defined as follows: [0067] V: a set of the URLs visited by the end user; and [0068] E: set of all transitions (e.g., clicks) by the visiting end user. Each directed edge corresponds to one line of a set of clickstream data, with a source vertex being a referrer URL and a destination vertex being a current URL. The directed graph captures the dynamics of the behavior of an end user over time across multiple visits to a website…) and
update the set of clusters based on the causal relationships among the attributes of the attribute data represented by the directed graph ([as in claim 1 above] Krishnamurthy – see par 103 - As another example, if 80% of the end users 114 that are separated into a particular cluster 510 make a purchase if offered free shipping via a code from a pop-up window, then a new, targeted end user that corresponds to a targeted graph feature vector that is similar to those graph feature vectors 214 of the particular cluster 510 may be predicted to be convertible into a customer with a free shipping offer; see par 115 – With regard to the training operation 506, a training set of graph feature vectors may be provided by associating respective ones of at least a portion of the multiple graph feature vectors 214 with a respective classification category 512, a respective classification category 512 for a respective graph feature vector 214 may be determined using a corresponding behavioral attribute 516. see par 125 - … Each webpage selection by the targeted end user can cause a behavioral prediction engine to update a cluster to which the targeted end user is being mapped. The cluster updating may cease when the cluster index stabilizes).
It would be obvious to combine Krishnamurthy and Goyal for the same reasons as claim 1 above.
Concerning claims 2 and 10, Krishnamurthy and Goyal disclose:
The method of claim 1, further comprising:
generating, by the machine learning model, a plurality of directed graphs corresponding to the set of clusters (Krishnamurthy – see par 99 - As illustrated for the prediction model generation scheme 500, multiple graph feature vectors 214 respectively correspond to multiple end users 114 and multiple behavioral attributes 516. The graph feature vectors 214 and the corresponding behavioral attributes 516 may be used in the machine learning system 502. see par 101 - With regard to the clustering operation 504, the multiple graph feature vectors 214 are separated into multiple clusters 510 based on one or more similarities between or among different ones of the multiple graph feature vectors 214. see par 124 - example implementations of behavioral targeting using clustering, the graph feature vectors 214 corresponding to end users 114 (of FIGS. 2 and 4) may be clustered to a fixed number of groups using e.g. a k-means clustering algorithm. Because the dimensions of the graph feature vectors capture dynamic user behavior, end users with similar behavior tend to cluster together); and
updating, by the machine learning model, the set of clusters based on the plurality of directed graphs (Krishnamurthy – see par 125 - The targeted end user is permitted to traverse a website by visiting multiple webpages. Each webpage selection by the targeted end user can cause a behavioral prediction engine to update a cluster to which the targeted end user is being mapped. The cluster updating may cease when the cluster index stabilizes. For instance, the updating may cease if the cluster index is unchanged after a certain number of consecutive iterations of dynamic user behavior—such as after two consecutive iterations. It may be inferred that the behavior of the targeted end user is or will be similar to previous end users assigned to the stabilized cluster. Hence, a behavioral prediction may be produced based on one or more behaviors assigned to the stabilized cluster; see par 126 - the graph features may be used to classify end users into classification categories corresponding to behavioral attributes. An SVM classifier, for instance, may be used to predict whether a targeted end user is likely to convert and make a purchase without the company taking an inducing action. Additionally or alternatively, classifiers may be built that predict other behavioral attributes, such as ‘is likely to abandon cart,’ ‘is likely to return’).
Concerning claim 4 and 12, Krishnamurthy and Goyal discloses:
The method of claim 1, wherein obtaining the set of clusters comprises:
assigning, by the machine learning model, the users to the set of clusters based on the attribute data (Krishnamurthy – par 121 - The prediction model 216 includes, uses, is generated from, or is otherwise related to multiple graph feature vectors 214, multiple corresponding behavioral attributes 516 exhibited by multiple end users 114 (of FIGS. 2 and 5), and at least one similarity score 702; see par 124 - If a distribution of end users in a given cluster for a particular behavioral attribute is high, then that cluster may be used for behavioral targeting by associating an action to that cluster. In other words, a tailored opportunity, which may correspond to a web server taking some action in a WWW ecommerce scenario, may be associated with one or more of the clusters; par 126 - the graph features may be used to classify end users into classification categories corresponding to behavioral attributes).
Concerning claims 6 and 14, Krishnamurthy and Goyal disclose:
The method of claim 1, wherein updating the set of clusters comprises:
calculating, by the machine learning model, a likelihood of a user being assigned to a cluster of the set of clusters based on the directed graph (Krishnamurthy – see par 103 - distribution of end users 114 belonging to different segments 508 across various clusters 510 may be ascertained. Hence, a percentage of end users 114 that belong to a given segment of the different segments 508 may be ascertained for each cluster of the various clusters 510. For instance, four of five clusters 510 may have between 75 and 100% of their clustered graph feature vectors 214 corresponding to end users 114 that belong to a segment 508 of engaged end users, with the fifth cluster 510 having less than 35% belonging to the engaged visitor segment).
Concerning claim 7 and 15, Krishnamurthy and Goyal disclose:
The method of claim 1, further comprising:
iteratively updating, by the machine learning model, the set of clusters and the directed graph (Krishnamurthy – see par 125 - The targeted end user is permitted to traverse a website by visiting multiple webpages. Each webpage selection by the targeted end user can cause a behavioral prediction engine to update a cluster to which the targeted end user is being mapped. The cluster updating may cease when the cluster index stabilizes. For instance, the updating may cease if the cluster index is unchanged after a certain number of consecutive iterations of dynamic user behavior—such as after two consecutive iterations).
It would be obvious to combine Krishnamurthy and Goyal for the same reasons as claim 1 above.
Concerning claim 8, Krishnamurthy and Goyal disclose:
The method of claim 1, further comprising:
selecting, by the content component, a target interaction for the user based on the set of clusters, wherein the customized content is provided based on the target interaction ([0093, 0116] as filed – likely to cause occurrence of goal interaction, such as encouraging a purchase or increasing time spent on the website/platform.
Krishnamurthy – see par 46 - the term “tailored opportunity,” as used herein, refers to an opportunity that is presented to a targeted end user responsive to a behavioral prediction. Examples of an opportunity may include, but are not limited to, purchase a product with a discount; A tailored opportunity may be presented to a targeted end-user in real-time, at a later moment, with a pop-up window, with a banner announcement; see par 130 - a marketer may use a classifier based on dynamic webpage transitions to identify a website visitor having a propensity to convert. A propensity score may be incorporated into a visitor's profile and applied to targeting rules to increase a lifetime value of a customer and therefore generate higher lift. For example, a discount opportunity may be omitted for visitors with a high likelihood to convert, but visitors with a medium likelihood to convert may be enticed with a discount opportunity or merely with one or more emails or ads)
Concerning claim 17, Krishnamurthy and Goyal disclose:
The apparatus of claim 16, further comprising:
a monitoring component configured to collect the attribute data for the digital platform (Krishnamurthy – see par 54 - For environment 100, the information management user 112 may be associated with the server device 102 or with the behavioral prediction engine 122 to facilitate an analysis of requested data objects 110, e.g., to facilitate an analysis of web traffic for a website. see par 65, FIG. 3 - each vertex 302 corresponds to a data object 110 (of FIG. 1), and each directed edge 304 corresponds to a transition between two data objects 110. In a WWW browser scenario, the pair of source and destination data objects may represent different web pages. see par 144 - The prediction model 216 may be generated, for instance, using a machine learning system 502 with a first set of inputs representative of dynamic transitions from one data object to another data object over a collection of data objects 110 and with a second set of inputs including or representing labels indicative of actions taken by associated ones of the multiple end users 114).
Concerning claim 18, Krishnamurthy and Goyal disclose:
The apparatus of claim 16, further comprising:
a content component configured to generate customized content based on the set of clusters (Krishnamurthy – see 124, 127 as in claim 1; par 130 - visitors with a medium likelihood to convert may be enticed with a discount opportunity or merely with one or more emails or ads; see par 131 - if many of the visitors in a given cluster belong to a particular segment of interest, the marketer can create an association/targeting rule based on this distribution of the particular segment within the given cluster. To implement such targeting, the graph features of a visitor and the distance of the corresponding graph feature vector to the center of the given cluster can be computed. If the distance is less than some selected threshold distance, then the targeting rule can be triggered to issue a tailored opportunity in an attempt to induce the visitor to perform some action.).
Concerning claim 19, Krishnamurthy and Goyal disclose:
The apparatus of claim 18, further comprising:
a user interface configured to display the customized content (Krishnamurthy – see par 46 – tailored opportunity presented to a targeted end-user… with a pop-up window, an email, visually using a display; see par 50 – end-user device 104 can be mobile device coupled to a separate screen; device with image output; see par 130 - visitors with a medium likelihood to convert may be enticed with a discount opportunity or merely with one or more emails or ads.).
Concerning claim 20, Krishnamurthy and Goyal disclose:
The apparatus of claim 16, further comprising:
a training component (Krishnamurthy – see par 30 - A prediction model is generated based on the multiple graph feature vectors using a machine learning system; see par 115 - With regard to the training operation 506, a training set of graph feature vectors may be provided by associating respective ones of at least a portion of the multiple graph feature vectors 214 with a respective classification category 512. A classifier 514 is trained using the provided training set of graph feature vectors such that a new, targeted graph feature vector may be classified by the machine learning system 502 as part of the prediction model 216) configured to update the … of the machine learning model (Krishnamurthy – see par 32 - Information from a directed graph that is derived based on an end users' dynamic interactions can be pertinent to machine learning tasks that lead to accurate targeted marketing. see par 45 - A machine learning system may be used to generate or operate a prediction model. Examples of implementation approaches for machine learning systems for unsupervised or supervised learning may include, but are not limited to, cluster analysis, association rule learning, classification, support vector machines (SVMs), Bayesian networks, regression; see par 71 - performance of machine learning on a directed graph is enabled by computing one or more invariant features of the graph. In one or more example embodiments, computation of some invariant features results in a single vector of real-valued features for each directed graph. The computed invariant features enable consideration of at least one measure of similarity between two or more directed graphs).
Goyal discloses:
configured to update the “parameters” of the machine learning model Goyal – par 30 - instances of the training data can be weighted to reduce the effect of noise in the data that may be introduced based on imprecision in translating data from the demographic reports into the user on-target ratios; see par 48 - revisit probability model 140 represents a machine learning model that is trained using a training data set (“training set”) 142 of the visit statistics 124. After training, a testing data set (“testing set”) 144 of the visit statistics 124 can be processed by the revisit probability model 140 to generate the revisit probability values 126. The revisit probability values 126 are usable to separate the user profiles 120 into different segments and to generate targeted segments; see par 61 - Further to the scenario 200, the segment generator model 156 is trained using the user-target ratio data 206 and the user profiles 120 are input into the trained segment generator model 156 to generate target probability data 208. As further detailed below, the user-target ratio data 206 is weighted prior to being input to the segment generator model 156 to reduce prediction errors that may occur due to inaccuracies in the on-target percentage values of the user-target ratio data).
It would be obvious to combine Krishnamurthy and Goyal for the same reasons as claim 1 and claim 9 above.
Claims 3 and 11 are rejected under 35 U.S.C. 103 as being unpatentable over Krishnamurthy (US 2019/0138917), and Goyal (US 2020/0126100), as applied to claims 1-2, 4, 6-10, 12, and 14-19 above, and further in view of Yang (US 2021/0406761).
Concerning claims 3 and 11, Krishnamurthy discloses that a percentage of end users belong to a given segment of the different segments (See par 103). Goyal discloses using a “revisit probability” to help generate segment of users for selecting users to place into a target segment (See par 26) and discloses generating probabilities that each profile matches demographic categories for placing within targeted segments and getting targeted delivery of content, such as supplemental digital content 134 (See par 52)
Yang discloses:
The method of claim 1, wherein obtaining the set of clusters comprises:
randomly assigning, by the machine learning model, the plurality of users to the set of clusters (Yang – see par 43 - . In one example implementation, the co-cluster assignments and distribution of the items 102 and the users 104 may be randomly initialized. The co-cluster assignments (i.e., user and item distributions to the co-clusters 108) can be parameterized. Those parameters may be fine-tuned by an objective function. Thus, one of the goals of the DUICC model 200 may be to minimize the objective function by fine-tuning the parameters).
Krishnamurthy, Goyal, and Yang are analogous art as they are directed to analyzing website visits and clustering (see Krishnamurthy Abstract, par 30; Goyal Abstract, par 46, FIG. 6; Yang Abstract, par 23 – preferences used to generate recommendations, advertisements). Krishnamurthy discloses that a percentage of end users belong to a given segment of the different segments (See par 103). Goyal discloses using a “revisit probability” to help generate segment of users for selecting users to place into a target segment (See par 26) and discloses generating probabilities that each profile matches demographic categories for placing within targeted segments and getting targeted delivery of content, such as supplemental digital content 134 (See par 52). Yang improves upon Krishnamurthy and Goyal by further including random assignment to clusters. One of ordinary skill in the art would be motivated to further include a “random assignments” to initialize clusters to efficiently improve upon the percentage of users belonging to a segment in Krishnamurthy and the probabilities of profiles being placed in segments in Goyal.
Accordingly, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention for using machine learning to produce an output/opportunity recommendation for websites and user clusters (see par 25, 131) in Krishnamurthy, to further include “artificial neural network” for analyzing users visiting websites and giving supplemental content, and weighting training data differently to account for noise in Goyal, and to randomly initialize assignments to clusters as disclosed in Yang, since the claimed invention is merely a combination of old elements, and in combination each element merely would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable and there is a reasonable expectation of success.
Claims 5 and 13 are rejected under 35 U.S.C. 103 as being unpatentable over Krishnamurthy (US 2019/0138917), and Goyal (US 2020/0126100), as applied to claims 1-2, 4, 6-10, 12, and 14-19 above, and further in view of He (US 11,188,846).
Concerning claim 5 and 13, Krishnamurthy discloses constructing a directed graph with edges for implementing a machine learning scheme (See par 33) and “performance of machine learning on a directed graph is enabled by computing one or more invariant features of the graph” (See par 71).
He discloses:
The method of claim 1, wherein generating the directed graph comprises:
learning, by the machine learning model, the plurality of edges and weights of the directed graph (He – see col. 14, lines 42-67 - The machine-learning module 245 may assign the weights based on various factors, such as node counts associated with nodes of a directed graph corresponding to the types of events, a sequential order of the types of events, an amount of training data available to train each model, etc. The machine-learning module 245 also may assign different weights to different models to optimize for a desired type of event corresponding to a model. Because the sequence of events can be automatically identified based on the user interactions and generated event nodes, the sequence and models can be generated automatically as users interact with the third party website, and the models can be re-trained and re-weighed as additional data is received for the events).
Krishnamurthy discloses constructing a directed graph with edges for implementing a machine learning scheme (See par 33) and “performance of machine learning on a directed graph is enabled by computing one or more invariant features of the graph” (See par 71). He improves upon Krishnamurthy and Goyal by disclosing generating models automatically, re-training, and re-weighing models and generating edges as user interacts with the system (See col. 9, 14, 15). One of ordinary skill in the art would be motivated to further include training data for the graph/edges itself as part of the analysis of website visits to efficiently improve upon the percentage of users belonging to a segment in Krishnamurthy and the probabilities of profiles being placed in segments in Goyal.
Accordingly, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention for percentage of users belonging to a segment in Krishnamurthy and the probabilities of profiles being placed in segments in Goyal, to further include training models for characterizing edges and user interest in He, since the claimed invention is merely a combination of old elements, and in combination each element merely would have performed the same function as it did separately, and one of ordinary skill in the art would have recognized that the results of the combination were predictable and there is a reasonable expectation of success.
Response to Arguments
Applicant’s arguments have been considered but are not persuasive and/or moot in view of revised rejections in response to the amendments.
With regards to 101, Applicant first argues claim 9 is eligible because of its recitations on “training, by the training component, parameters of a machine learning model” and “updating, by the training component, the parameters of the machine learning model.” Remarks, pages 11-13. In response, Examiner respectfully disagrees. The rejection is revised above in light of the amendments. At this time, Examiner views this as just “apply it [abstract idea] on a computer.” The artificial neural network and “training” is just “apply it”; the learning or neural network itself is not improved.
Applicant then argues with regards to claim 1 that since the claim does not explicitly recite “purchase”, or “marketing,” it is not directed to an abstract idea. Remarks, pages 13-14. In response, Examiner respectfully disagrees. The claim still needs to be interpreted under broadest reasonable interpretation in light of the specification. See MPEP 2106(II) “ESTABLISH BROADEST REASONABLE INTERPRETATION OF CLAIM AS A WHOLE.” The argument is not persuasive here, as the specification and disclosure as a whole is for customizing content, such as promotions, to help increase purchases by users.
Applicant then argues with regards to claim 1 that the claim is a practical application because specification [022-027] demonstrates there is an improvement to machine learning technology. Remarks, pages 14-16. In response, Examiner respectfully disagrees. Examiner has reviewed these portions. Unfortunately, the machine learning itself is not improved here; rather, these portions are about how best to cluster the users, which is market segmentation; and it is improving the business process of clustering and providing promotions to users so they will be more likely to purchase items. Applicant then presents arguments on step 2B, (remarks pages 17-18). Examiner respectfully disagrees. This is viewed as just gathering more data on the abstract idea, and updating clusters based on additional user website visitor data.
With regards to 103, Applicant’s arguments are moot in view of extensive amendments (attributes based on interactions; neural network) and revised rejections. Remarks, pages 18-27. In response, Examiner respectfully disagrees.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure:
Roychowdhury, “OPAM: Online Purchasing-behavior Analysis using Machine learning,” 2021, International Joint Conference on Neural Networks (IJCNN), pages 1-8 – directed to customer purchasing behavior analysis system using learning methods and user-journey level purchasing behaviors to identify customer categories/clusters useful for targeted consumer insights (See abstract).
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 IVAN R GOLDBERG whose telephone number is (571)270-7949. The examiner can normally be reached 830AM - 430PM.
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, Anita Coupe can be reached at 571-270-3614. 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.
/IVAN R GOLDBERG/Primary Examiner, Art Unit 3619