Prosecution Insights
Last updated: October 02, 2026
Application No. 18/905,006

TECHNIQUES FOR LEARNING CO-ENGAGEMENT AND SEMANTIC RELATIONSHIPS USING GRAPH NEURAL NETWORKS

Non-Final OA §102§103
Filed
Oct 02, 2024
Priority
Nov 06, 2023 — provisional 63/547,534
Examiner
KOLB JR, BRETT DAVID
Art Unit
Tech Center
Assignee
Netflix Inc.
OA Round
1 (Non-Final)
Grant Probability
Favorable
1-2
OA Rounds

Office Action

§102 §103
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 . Claim Rejections - 35 USC § 102 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action: A person shall be entitled to a patent unless – (a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention. Claims 1-6, 8-20 are rejected under 35 U.S.C. 102(a)(1) as being taught by Gupte et al.(US 20230106416 A1, hereinafter referred to as Gupte). Regarding Claim 1, Gupte teaches a computer-implemented method for training a machine learning model (machine learning model: See Para. 36), the method comprising: generating a graph ("generate a full content graph or set of content graphs that represent all content items in the application system."; See Para. 104) based on one or more semantic concepts associated with a plurality of entities ("Additionally or alternatively, different digital content items can have different types of non-temporal relationships with other digital content items in an application systems, including various types of semantic relationships and social graph-based relationships."; See Para. 22) and user engagement with the plurality of entities ("Examples of social graph-based relationships include content items that have been posted or shared by the same users of the application system or content items that have been interacted with by n-degree connections of particular users who have posted or shared the content items"; See Para 23); and performing one or more operations to train an untrained machine learning model ("Thus, an untrained model can refer to a machine learning algorithm or set of machine learning algorithms implemented in computer code without reference to any data sets."; See Para. 123) based on the graph to generate a trained machine learning model ("A trained model on the other hand can refer to the relationships between the sets of inputs and the outputs produced by the application of the machine learning algorithm to those sets of inputs, which are reflected in the values of the machine learning algorithm parameters."; See Para 124). Regarding Claim 2, most of the limitations of this claim have been noted in the rejection of claim 1 (and thus the rejections of claim 1 are incorporated). Gupte teaches wherein the machine learning model comprises a graph neural network ("Machine learning algorithm can refer to a single algorithm applied to a single set of inputs, multiple iterations of the same algorithm on different inputs, or a combination of different algorithms applied to different inputs. For example, in a neural network..."; See Para. 125). Regarding Claim 3, most of the limitations of this claim have been noted in the rejection of claim 1 (and thus the rejections of claim 1 are incorporated). Gupte teaches wherein the graph includes a first set of nodes representing the plurality of entities (“To do this, grapher 254 can locate a node that corresponds to the digital content item in an existing content graph”; See. Para 107; The content graph contains all entities represented as nodes) and a second set of nodes representing the one or more semantic concepts (“To obtain training data, the model trainer can traverse the content graph and, at each node, check to see if the node is already labeled. If the node is already labeled, the node is added to a subset of the content graph that contains labeled nodes. If the node is not already labeled, the node is added to a different subset of the content graph that contains unlabeled nodes.”; See Para 163; The labeled subset of nodes represent the one or more semantic concepts as they are ran through the embedder and given embeddings comprising semantic concepts. While and unlabeled subset comprise the set of nodes ran through the labeler.), and performing the one or more operations to train the untrained machine learning model comprises ("Thus, an untrained model can refer to a machine learning algorithm or set of machine learning algorithms implemented in computer code without reference to any data sets. A trained model on the other hand can refer to the relationships between the sets of inputs and the outputs produced by the application of the machine learning algorithm to those sets of inputs, which are reflected in the values of the machine learning algorithm parameters."; See Para. 123-124): generating a plurality of subgraphs based on the graph ("There are multiple alternatives for implementing grapher 254. In one implementation, offline processes are run periodically to generate a full content graph or set of content graphs that represent all content items in the application system. Then, when grapher 254 receives a digital content item identifier from labeler 252, grapher 254 extracts a sub-graph of the larger, previously created, and stored content graph, where the sub-graph is specific to the digital content item identifier received from labeler"; See Para. 104), wherein each subgraph included in the plurality of subgraphs includes the second set of nodes and a different subset of nodes from the first set of nodes ("Thus, in response to receiving the digital content item identifier data from labeler 252, grapher 254 generates a content graph for the digital content item. To do this, grapher 254 can locate a node that corresponds to the digital content item in an existing content graph stored in, e.g., content item data 210, and extract a sub-graph from the content graph that contains the node that corresponds to the digital content item. For example, a sub-graph generated by grapher 254 can include the node that corresponds to the digital content item identified in the digital communication from evaluator 234 and adjacent nodes (e.g., nodes that are one edge or “hop” away from the node that corresponds to the digital content item)."; See Paragraph 107); and training the untrained machine learning model using a plurality of processors, wherein each processor included in the plurality of processors stores a different subgraph included in the plurality of subgraphs (“An example 14 includes the subject matter of any of examples 7-13, where the at least one computer memory further includes instructions that when executed by the at least one processor are capable of causing the at least one processor to machine learn embedding data by an embedding layer of the neural network model and use the machine learned embedding data as an input to another layer of the neural network model.”; See Para. 222; Gupte does not explicitly teach but does anticipate this. Each layer and subgraph are the same thing as groups of nodes that do the same algorithm are connected and in the same layer of the graph which is split into subgraphs (The outputs of a neural network layer can constitute the inputs to another layer of the neural network. A neural network can include an input layer that receives and operates on one or more raw inputs and passes output to one or more hidden layers, and an output layer that receives and operates on outputs produced by the one or more hidden layers to produce a final output.”; See para 125). Each layer is a subgraph with all the layers comprising the overall graph. The nodes in the subgraph are the subset of nodes that all execute the same algorithm. Gupte gives examples of one or more processors producing the overall graph and executing the algorithm of different layers. Each layer would could be stored in a different processor in a certain configuration). Regarding claim 4, most of the limitations of this claim have been noted in the rejection of claims 1 and 3 (and thus the rejections of claims 1 and 3 are incorporated). Gupte teaches wherein generating the plurality of subgraphs comprises: partitioning a first subset of nodes included in the first set of nodes into a plurality of partitions (“A group of nodes each executing the same algorithm on a different input of the same set of inputs can be referred to as a layer of a neural network.”; See para 125), wherein each node included in the first subset of nodes is linked within the graph to at least one other node included in the first set of nodes (“Graph databases organize data using a graph data structure that includes a number of interconnected graph primitives. Examples of graph primitives include nodes, edges, and predicates, where a node stores data, an edge creates a relationship between two nodes, and a predicate is a semantic label assigned to an edge, which defines or describes the type of relationship that exists between the nodes connected by the edge.”; See Para 49; Gupte but does not specifically state but anticipates wherein each node in a subset of nodes is linked to one another, but does state that the edges between nodes hold the relationships between the nodes. If the group of nodes execute the same algorithm on a different input in the same set of inputs or the same input ran through different algorithms, they would be connected.); assigning each node included in a second subset of nodes included in the first set of nodes to one partition included in the plurality of partitions ((“The outputs of a neural network layer can constitute the inputs to another layer of the neural network. A neural network can include an input layer that receives and operates on one or more raw inputs and passes output to one or more hidden layers, and an output layer that receives and operates on outputs produced by the one or more hidden layers to produce a final output.”; See Para 125; The outputs(Second set of nodes included in the first set of nodes(layer) ) are assigned to another partition(layer).); and adding the second set of nodes to each partition included in the plurality of partitions (“The outputs of a neural network layer can constitute the inputs to another layer of the neural network. A neural network can include an input layer that receives and operates on one or more raw inputs and passes output to one or more hidden layers, and an output layer that receives and operates on outputs produced by the one or more hidden layers to produce a final output.”; See Para 125; Gupte anticipates adding the second set of nodes to each partition included in the plurality of partitions because in one combination they state that “The outputs of a neural network layer can constitute the inputs to another layer of the neural network.” And “passes output to one or more hidden layers”. One such combination would be passing the outputs to each hidden or unhidden layer(partition) as they state both). Regarding Claim 5, most of the limitations of this claim have been noted in the rejection of claim 1 (and thus the rejections of claim 1 are incorporated). Gupte teaches wherein the graph includes a first set of nodes representing the plurality of entities (“To do this, grapher 254 can locate a node that corresponds to the digital content item in an existing content graph”; See. Para 107; The content graph contains all entities (Digital content items) represented as nodes (First set of nodes).) and a second set of nodes representing the one or more semantic concepts (“To obtain training data, the model trainer can traverse the content graph and, at each node, check to see if the node is already labeled. If the node is already labeled, the node is added to a subset of the content graph that contains labeled nodes. If the node is not already labeled, the node is added to a different subset of the content graph that contains unlabeled nodes.”; See Para 163; The labeled subset of nodes represent the one or more semantic concepts as they are ran through the embedder and given embeddings comprising semantic concepts. While the and unlabeled subset comprise the set of nodes ran through the labeler.), and performing the one or more operations to train the untrained machine learning model comprises ("Thus, an untrained model can refer to a machine learning algorithm or set of machine learning algorithms implemented in computer code without reference to any data sets. A trained model on the other hand can refer to the relationships between the sets of inputs and the outputs produced by the application of the machine learning algorithm to those sets of inputs, which are reflected in the values of the machine learning algorithm parameters."; See Para. 123-124): generating one or more feature vectors for the second set of nodes (“Embedding can refer to a semantic representation of a digital content item that is generated based on comparisons of values of features of the digital content item to values of corresponding features of other digital content items. An embedding can be implemented as a vector, where each dimension of the vector contains a value that corresponds to a different feature of the digital content items that contributes to a determination of its semantic meaning. Features of digital content items can include raw features extracted from the digital content item, such as pixels and n-grams, and/or computed features, such as counts, probabilities, average values, and mean values of raw features.”; See Para. 119; Embedded into the labeled or unlabeled data sent through the labeler, as in the second set of nodes created from the first set after they are labeled (Given their semantic concept).); and training the untrained machine learning model based on the graph (“Grapher 254 returns the generated content graph to labeler 252 or, alternatively, directly to label prediction model 260 or model trainer 258.” See Para. 118), the one or more feature vectors (“ Embedder 256 returns the generated embedding to labeler 252 or, alternatively, directly to label prediction model 260 or model trainer 258.”; See Para 120), and one or more features associated with plurality of entities (The feature vector(Embedding) contains all of the features associated with the plurality of entities, then when the machine learning model is trained on the feature vector it would be trained on the features In the vector.). Regarding Claim 6, most of the limitations of this claim have been noted in the rejection of claims 1 and 5 (and thus the rejections of claims 1 and 5 are incorporated). Gupte teaches wherein generating the one or more feature vectors comprises performing one or more knowledge graph embedding operations based on the graph ("An embedding can be implemented as a vector, where each dimension of the vector contains a value that corresponds to a different feature of the digital content items that contributes to a determination of its semantic meaning. Features of digital content items can include raw features extracted from the digital content item, such as pixels and n-grams, and/or computed features, such as counts, probabilities, average values, and mean values of raw features."; See Para 119). Regarding Claim 8 most of the limitations of this claim have been noted in the rejection of claim 1 (and thus the rejections of claim 1 are incorporated). Gupte teaches wherein the graph includes a plurality of first nodes representing the plurality of entities (“To do this, grapher 254 can locate a node that corresponds to the digital content item in an existing content graph”; See. Para 107; The content graph contains all entities represented as nodes), one or more second nodes representing the one or more semantic concepts (“To obtain training data, the model trainer can traverse the content graph and, at each node, check to see if the node is already labeled. If the node is already labeled, the node is added to a subset of the content graph that contains labeled nodes. If the node is not already labeled, the node is added to a different subset of the content graph that contains unlabeled nodes.”; See Para 163; The combination of the labeled subset and unlabeled subset comprise the set of nodes representing the one or more semantic concepts as they are ran through the embedder and given embeddings comprising semantic concepts.), one or more first links between at least one first node included in the plurality of first nodes and at least one other first node included in the plurality of first nodes (“In any case, the content graphs created by grapher 254 in response to a communication from labeler 252 can be a relatively small graph that includes a node for the requested content item and adjacent nodes and edges.”; See Para 106; First links do not mean the first link between content items it means a first node connecting to a first node and same with second links and second nodes connecting to a first node. Gupte teaches that the graph at a minimum can have a first node connected by a edge to another first node.), and one or more second links between at least one second node included in the one or more second nodes and at least one first node included in the plurality of first nodes (“The outputs of a neural network layer can constitute the inputs to another layer of the neural network… As another alternative, operation 304 can machine learn the embedding data for the content item that corresponds to the unlabeled node by an embedding layer of the model. For example, outputs of embedder 256 can be fully connected to inputs of label prediction model”; See Para. 125-134; Outputs of one layer are fully connected to the set of nodes for the next layer.). Regarding Claim 9, most of the limitations of this claim have been noted in the rejection of claim 1 (and thus the rejections of claim 1 are incorporated). Gupte teaches processing another graph using the trained machine learning model to generate a plurality of embeddings associated with another plurality of entities ("Grapher 254 returns the generated content graph to labeler 252 or, alternatively, directly to label prediction model 260 or model trainer 258. In response to receiving digital content item identifier data from labeler 252, embedder 256 generates an embedding for the identified digital content item.": See 118 - 119); and generating one or more search results based on the plurality of embeddings ("Back-end functionality can include execution of algorithms to select and retrieve digital content items to populate a search result, a feed, a notification, a message, a push notification, or a recommendation."; See Para. 71). Regarding Claim 10, most of the limitations of this claim have been noted in the rejection of claim 1 (and thus the rejections of claim 1 are incorporated). Gupte teaches processing another graph using the trained machine learning model to generate a plurality of embeddings associated with another plurality of entities ("Grapher 254 returns the generated content graph to labeler 252 or, alternatively, directly to label prediction model 260 or model trainer 258. In response to receiving digital content item identifier data from labeler 252, embedder 256 generates an embedding for the identified digital content item.": See 118 - 119); and generating one or more recommendations based on the plurality of embeddings ("Back-end functionality can include execution of algorithms to select and retrieve digital content items to populate a search result, a feed, a notification, a message, a push notification, or a recommendation."; See Para. 71). Regarding Claim 11, Gupte teaches one or more non-transitory computer-readable media storing instructions that, when executed by at least one processor, cause the at least one processor to perform steps comprising ("his apparatus can be specially constructed for the intended purposes, or it can include a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. For example, a computer system or other data processing system, such as the computing system 100, can carry out the computer-implemented methods described above, including the method shown by FIG. 2B, method 300, and method 500, in response to its processor executing a computer program (e.g., a sequence of instructions) contained in a memory or other non-transitory machine-readable storage medium. Such a computer program can be stored in a computer readable storage medium..."; See Para 215): generating a graph ("generate a full content graph or set of content graphs that represent all content items in the application system."; See Para. 104) based on one or more semantic concepts associated with a plurality of entities ("Additionally or alternatively, different digital content items can have different types of non-temporal relationships with other digital content items in an application systems, including various types of semantic relationships and social graph-based relationships."; See Para. 22) and user engagement with the plurality of entities ("Examples of social graph-based relationships include content items that have been posted or shared by the same users of the application system or content items that have been interacted with by n-degree connections of particular users who have posted or shared the content items"; See Para 23); and performing one or more operations to train an untrained machine learning model ("Thus, an untrained model can refer to a machine learning algorithm or set of machine learning algorithms implemented in computer code without reference to any data sets."; See Para. 123) based on the graph to generate a trained machine learning model ("A trained model on the other hand can refer to the relationships between the sets of inputs and the outputs produced by the application of the machine learning algorithm to those sets of inputs, which are reflected in the values of the machine learning algorithm parameters."; See Para 124). Regarding Claim 12, most of the limitations of this claim have been noted in the rejection of claim 11 (and thus the rejections of claim 11 are incorporated). Gupte teaches wherein the machine learning model comprises a graph neural network ("Machine learning algorithm can refer to a single algorithm applied to a single set of inputs, multiple iterations of the same algorithm on different inputs, or a combination of different algorithms applied to different inputs. For example, in a neural network..."; See Para. 125). Regarding Claim 13, most of the limitations of this claim have been noted in the rejection of claim 11 (and thus the rejections of claim 11 are incorporated).Gupte teaches wherein the graph includes a first set of nodes representing the plurality of entities (“To do this, grapher 254 can locate a node that corresponds to the digital content item in an existing content graph”; See. Para 107; The content graph contains all entities represented as nodes) and a second set of nodes representing the one or more semantic concepts (“To obtain training data, the model trainer can traverse the content graph and, at each node, check to see if the node is already labeled. If the node is already labeled, the node is added to a subset of the content graph that contains labeled nodes. If the node is not already labeled, the node is added to a different subset of the content graph that contains unlabeled nodes.”; See Para 163; The labeled subset of nodes represent the one or more semantic concepts as they are ran through the embedder and given embeddings comprising semantic concepts. While the unlabeled subset comprise the set of nodes ran through the labeler.), and performing the one or more operations to train the untrained machine learning model comprises ("Thus, an untrained model can refer to a machine learning algorithm or set of machine learning algorithms implemented in computer code without reference to any data sets. A trained model on the other hand can refer to the relationships between the sets of inputs and the outputs produced by the application of the machine learning algorithm to those sets of inputs, which are reflected in the values of the machine learning algorithm parameters."; See Para. 123-124): generating a plurality of subgraphs based on the graph ("There are multiple alternatives for implementing grapher 254. In one implementation, offline processes are run periodically to generate a full content graph or set of content graphs that represent all content items in the application system. Then, when grapher 254 receives a digital content item identifier from labeler 252, grapher 254 extracts a sub-graph of the larger, previously created, and stored content graph, where the sub-graph is specific to the digital content item identifier received from labeler"; See Para. 104), wherein each subgraph included in the plurality of subgraphs includes the second set of nodes and a different subset of nodes from the first set of nodes ("Thus, in response to receiving the digital content item identifier data from labeler 252, grapher 254 generates a content graph for the digital content item. To do this, grapher 254 can locate a node that corresponds to the digital content item in an existing content graph stored in, e.g., content item data 210, and extract a sub-graph from the content graph that contains the node that corresponds to the digital content item. For example, a sub-graph generated by grapher 254 can include the node that corresponds to the digital content item identified in the digital communication from evaluator 234 and adjacent nodes (e.g., nodes that are one edge or “hop” away from the node that corresponds to the digital content item)."; See Paragraph 107); and training the untrained machine learning model using a plurality of processors, wherein each processor included in the plurality of processors stores a different subgraph included in the plurality of subgraphs (“An example 14 includes the subject matter of any of examples 7-13, where the at least one computer memory further includes instructions that when executed by the at least one processor are capable of causing the at least one processor to machine learn embedding data by an embedding layer of the neural network model and use the machine learned embedding data as an input to another layer of the neural network model.”; See Para. 222; Gupte does not explicitly teach but does anticipate this. Each layer and subgraph are the same thing as groups of nodes that do the same algorithm are connected and in the same layer of the graph which is split into subgraphs (The outputs of a neural network layer can constitute the inputs to another layer of the neural network. A neural network can include an input layer that receives and operates on one or more raw inputs and passes output to one or more hidden layers, and an output layer that receives and operates on outputs produced by the one or more hidden layers to produce a final output.”; See para 125). Each layer is a subgraph with all the layers comprising the overall graph. The nodes in the subgraph are the subset of nodes that all execute the same algorithm. Gupte gives examples of one or more processors producing the overall graph and executing the algorithm of different layers. So each layer would could be stored in a different processor in certain configurations). Regarding Claim 14, most of the limitations of this claim have been noted in the rejection of claims 11 and 13 (and thus the rejections of claims 11 and 13 are incorporated). Gupte teaches wherein generating the plurality of subgraphs comprises: partitioning a first subset of nodes included in the first set of nodes into a plurality of partitions (“A group of nodes each executing the same algorithm on a different input of the same set of inputs can be referred to as a layer of a neural network.”; See para 125), wherein each node included in the first subset of nodes is linked within the graph to at least one other node included in the first set of nodes (“Graph databases organize data using a graph data structure that includes a number of interconnected graph primitives. Examples of graph primitives include nodes, edges, and predicates, where a node stores data, an edge creates a relationship between two nodes, and a predicate is a semantic label assigned to an edge, which defines or describes the type of relationship that exists between the nodes connected by the edge.”; See Para 49; Gupte but does not specifically state but anticipates wherein each node in a subset of nodes is linked to one another, but does state that the edges between nodes hold the relationships between the nodes. If the group of nodes execute the same algorithm on a different input in the same set of inputs or the same input ran through different algorithm, they would be connected.); assigning each node included in a second subset of nodes included in the first set of nodes to one partition included in the plurality of partitions(“The outputs of a neural network layer can constitute the inputs to another layer of the neural network.”; See Para 125; The outputs(Second set of nodes included in the first set of nodes(layer) ) are assigned to another partition(layer).); and adding the second set of nodes to each partition included in the plurality of partitions (“The outputs of a neural network layer can constitute the inputs to another layer of the neural network. A neural network can include an input layer that receives and operates on one or more raw inputs and passes output to one or more hidden layers, and an output layer that receives and operates on outputs produced by the one or more hidden layers to produce a final output.”; See Para 125; Gupte anticipates adding the second set of nodes to each partition included in the plurality of partitions because in one combination they state that “The outputs of a neural network layer can constitute the inputs to another layer of the neural network.” And “passes output to one or more hidden layers”. One such combination would be passing the outputs to each hidden or unhidden layer(partition) as they state both). Regarding Claim 15, most of the limitations of this claim have been noted in the rejection of claims 11 and 13 (and thus the rejections of claims 11 and 13 are incorporated). Gupte teaches wherein generating the plurality of subgraphs (Then, when grapher 254 receives a digital content item identifier from labeler 252, grapher 254 extracts a sub-graph of the larger, previously created, and stored content graph, where the sub-graph is specific to the digital content item identifier received from labeler 252. ”;See Para 104) is further based on a user-specified subset of the first set of nodes (“In the example of FIG. 2B, digital content item processor 204 receives incoming digital communications from a user system 110 (user 1) via a communicative coupling 230 and/or functionality 202 via a communicative coupling 232. In response to an incoming digital communication, digital content item processor 204 sends outgoing digital communications to zero or more user system(s) 110 (user(s) 0 . . . N, where N is a positive integer) and/or functionality 202 via a communicative coupling 242. An example of a digital communication that can be received by digital content item processor 204 from user system 110 (user 1) is a signal containing a digital content item, a digital content item identifier, a digital content item identifier and an entity identifier, or a command that includes a digital content item identifier and/or an entity identifier.”; See Para. 83-84; one example of this they Gupte uses is a search engine (“A search engine can submit a digital content item to digital content item processor 204 before the search engine includes the digital content item in a user's search result.”; See Para. 87)). Regarding claim 16, most of the limitations of this claim have been noted in the rejection of claim 11 (and thus the rejections of claim 11 are incorporated). Gupte teaches wherein the graph includes a first set of nodes representing the plurality of entities (“To do this, grapher 254 can locate a node that corresponds to the digital content item in an existing content graph”; See. Para 107; The content graph contains all entities represented as nodes) and a second set of nodes representing the one or more semantic concepts (“To obtain training data, the model trainer can traverse the content graph and, at each node, check to see if the node is already labeled. If the node is already labeled, the node is added to a subset of the content graph that contains labeled nodes. If the node is not already labeled, the node is added to a different subset of the content graph that contains unlabeled nodes.”; See Para 163; The labeled subset of nodes represent the one or more semantic concepts as they are ran through the embedder and given embeddings comprising semantic concepts. While the unlabeled subset comprise the set of nodes ran through the labeler.), and performing the one or more operations to train the untrained machine learning model comprises ("Thus, an untrained model can refer to a machine learning algorithm or set of machine learning algorithms implemented in computer code without reference to any data sets. A trained model on the other hand can refer to the relationships between the sets of inputs and the outputs produced by the application of the machine learning algorithm to those sets of inputs, which are reflected in the values of the machine learning algorithm parameters."; See Para. 123-124): generating one or more feature vectors for the second set of nodes ("An embedding can be implemented as a vector, where each dimension of the vector contains a value that corresponds to a different feature of the digital content items that contributes to a determination of its semantic meaning. Features of digital content items can include raw features extracted from the digital content item, such as pixels and n-grams, and/or computed features, such as counts, probabilities, average values, and mean values of raw features."; See Para 119); and training the untrained machine learning model based on the graph (“Grapher 254 returns the generated content graph to labeler 252 or, alternatively, directly to label prediction model 260 or model trainer 258.” See Para. 118), the one or more feature vectors (“ Embedder 256 returns the generated embedding to labeler 252 or, alternatively, directly to label prediction model 260 or model trainer 258.”; See Para 120), and one or more features associated with plurality of entities (The feature vector(Embedding) contains all of the features associated with the plurality of entities, then when the machine learning model is trained on the feature vector it would be trained on the features In the vector.). Regarding Claim 17, most of the limitations of this claim have been noted in the rejection of claim 11 (and thus the rejections of claim 11 are incorporated). Gupte teaches wherein the trained machine learning model includes one or more weights that are aware of one or more types of semantic relationships (“Responsive to the user-content embedding 470, a predictive component 474 can generate and output a probability that a user of the application system will engage in a particular type of activity in the application system given a content item assigned to a particular target label 480. For example, predictive component 474 can adjust the output of predictive component 476 by a weight, where the weight value corresponds to the user activity embedding 468.”; See Para 192). Regarding Claim 18, most of the limitations of this claim have been noted in the rejection of claim 11 (and thus the rejections of claim 11 are incorporated). Gupte teaches wherein the instructions, when executed by the at least one processor, further cause the at least one processor to perform the steps of ("his apparatus can be specially constructed for the intended purposes, or it can include a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. For example, a computer system or other data processing system, such as the computing system 100, can carry out the computer-implemented methods described above, including the method shown by FIG. 2B, method 300, and method 500, in response to its processor executing a computer program (e.g., a sequence of instructions) contained in a memory or other non-transitory machine-readable storage medium. Such a computer program can be stored in a computer readable storage medium..."; See Para 215): processing another graph using the trained machine learning model to generate a plurality of embeddings associated with another plurality of entities ("Grapher 254 returns the generated content graph to labeler 252 or, alternatively, directly to label prediction model 260 or model trainer 258. In response to receiving digital content item identifier data from labeler 252, embedder 256 generates an embedding for the identified digital content item.": See 118 - 119); and generating at least one search result or recommendation based on the plurality of embeddings ("Back-end functionality can include execution of algorithms to select and retrieve digital content items to populate a search result, a feed, a notification, a message, a push notification, or a recommendation."; See Para. 71). Regarding Claim 19, most of the limitations of this claim have been noted in the rejection of claim 11 (and thus the rejections of claim 11 are incorporated). Gupte teaches wherein the plurality of entities includes at least one media content title, person, or book (Entity type data indicates an entity type associated with an entity identifier, e.g., person, organization, job, or content. Entity profile data includes attribute data associated with an entity identifier, e.g., name, location, title.”; See Para. 73; Gupte does not specifically state but does anticipate including a book as content in this sense would be a media item of some sort like a book, movie, game, painting, as Gupte specifies content data types (“Content type data indicates a content type and/or modality associated with a content item identifier. Examples of content type and/or modality data include text, video, image, audio, stream, article, commentary, metadata.”; See Para. 75) which would be included with the media content and books are generally represented in data with these given data types and fields (Person(author), Title, text, Commentary (Back blurb), metadata (Sku #))). Regarding Claim 20, Gupte teaches, A system (computing system; See Para 43), comprising: one or more memories storing instructions; and one or more processors coupled to the one or more memories that, when executing the instructions, perform the steps of ("his apparatus can be specially constructed for the intended purposes, or it can include a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. For example, a computer system or other data processing system, such as the computing system 100, can carry out the computer-implemented methods described above, including the method shown by FIG. 2B, method 300, and method 500, in response to its processor executing a computer program (e.g., a sequence of instructions) contained in a memory or other non-transitory machine-readable storage medium. Such a computer program can be stored in a computer readable storage medium..."; See Para. 215): generate a graph ("generate a full content graph or set of content graphs that represent all content items in the application system."; See Para. 104) based on one or more semantic concepts associated with a plurality of entities ("Additionally or alternatively, different digital content items can have different types of non-temporal relationships with other digital content items in an application systems, including various types of semantic relationships and social graph-based relationships."; See Para. 22) and user engagement with the plurality of entities ("Examples of social graph-based relationships include content items that have been posted or shared by the same users of the application system or content items that have been interacted with by n-degree connections of particular users who have posted or shared the content items"; See Para 23); and performing one or more operations to train an untrained machine learning model ("Thus, an untrained model can refer to a machine learning algorithm or set of machine learning algorithms implemented in computer code without reference to any data sets."; See Para. 123) based on the graph to generate a trained machine learning model ("A trained model on the other hand can refer to the relationships between the sets of inputs and the outputs produced by the application of the machine learning algorithm to those sets of inputs, which are reflected in the values of the machine learning algorithm parameters."; See Para 124). Claim Rejections - 35 USC § 103 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. 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. Claim 7 is rejected under 35 U.S.C. 103 as being unpatentable over Gupte withing view of Hu et al.(US 20210406779 A1, Hereinafter referred to as Hu). Regarding claim 7, most of the limitations of this claim have been noted in the rejection of claim 1 (and thus the rejections of claim 1 are incorporated). Gupte teaches wherein the one or more operations to train the untrained machine learning model are further based on a loss that reduces errors (“A loss function can be used to compute model error (e.g., a comparison of model-generated values to validated or ground-truth values) to determine whether the model is producing reliable output or whether to adjust parameter values. The selection of machine learning algorithm, loss function, and associated parameter values can be dependent on the requirements of the particular application system; e.g., the type of output desired to be produced and the nature of the inputs.”; See Para 124). Gupte does not teach a distance within a latent space between at least two entities represented by at least two nodes included in the graph that are linked to one another. Hu teaches wherein a distance within a latent space between at least two entities represented by at least two nodes included in the graph that are linked to one another. (“the distance between two nodes in the knowledge graph may be determined based on the number of edges between these two nodes and corresponding weights associated with these edges. A distance between two nodes in the knowledge graph may indicate a relevance level or correlation level between the two nodes.”; See Para 34) It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention to combine the method Gupte teaches wherein the one or more operations to train the untrained machine learning model are further based on a loss that reduces errors with the method Hu teaches of wherein a distance within a latent space between at least two entities represented by at least two nodes included in the graph that are linked to one another. The motivation to do so would be since Gupte already contains edges between nodes in the graphs that are generated and used in the machine learning models with similar nodes being connected to other similar nodes whether they execute the same function or are related because of semantic concepts represented as features in semantic embeddings and teaches loss it with a distance between the nodes represented by a loss to allow easier identification of related items, nodes, or semantic concepts and allowing updating of the algorithm to further decrease loss between nodes leading to a better trained model with less errors. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to BRETT DAVID KOLB JR whose telephone number is (571)270-0751. The examiner can normally be reached Monday-Friday. 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. /BRETT DAVID KOLB JR/Examiner, Art Unit 2145 /CESAR B PAULA/Supervisory Patent Examiner, Art Unit 2145
Read full office action

Prosecution Timeline

Oct 02, 2024
Application Filed
Sep 22, 2026
Non-Final Rejection mailed — §102, §103 (current)

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month