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 . A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 6/9/2026 has been entered.
Remarks
This Office Action is responsive to Applicants' Amendment filed on June 9, 2026, in which claims 1-2, 5-8, 10-12, and 15-19 are currently amended. Claims 3 and 13 are canceled. Claims 1, 2, 5-12, and 15-19 are currently pending.
Response to Arguments
The previous rejections to claims 1, 2, 5-12, and 15-19 under 35 U.S.C. § 112(b) are hereby withdrawn, as necessitated by applicant's amendments and remarks made to the rejections.
Applicant’s arguments with respect to rejection of claims 1, 2, 5-12, and 15-19 under 35 U.S.C. 101 based on amendment have been considered, however, are not persuasive.
First, Examiner notes that the claim as a whole is directed towards a human-performable mental process of evaluating and organizing preference information to make a recommendation.
With respect to Applicant’s arguments on p. 17 of the Remarks submitted 6/9/2026 that “The above amendments now explicitly recite the structural mechanisms that produce the technical improvement and inventive concept”, Examiner respectfully disagrees. The structural elements of the claims amount to mere instructions to apply the judicial exception using generic computer components. Examiner notes Example 48 Claim 1 of the 2024 SME guidance which is exceptionally relevant as, like the instant claims, they apply generic named machine learning models to obtain embedding vectors and are determined to be mere instructions to apply the judicial exception using generic computer components. Indeed, the instant claims do not provide, integrate, or require a novel structure of the non-transitory computer readable media, the GNN, or the MLP, which are all generic computer components. Examiner notes that this appears evident as simply omitting “applying a pre-trained graph neural network to the positive graph” leaves the limitation “obtain positive embedding vectors from the positive graph to propagate only positive edge information and thereby reducing over-smoothing and interference from negative edge signals” which can readily be performed entirely in the mind with or without the assistance of tools such as pen and paper. For this reason Examiner asserts that the claims are not seen as providing technical improvements to these generic computer components but rather as means to implement the judicial exception. Examiner notes (MPEP 2106.05(a) "It is important to note, the judicial exception alone cannot provide the improvement” and MPEP 2106.07(a)(II) "employing well-known computer functions to execute an abstract idea, even when limiting the use of the idea to one particular environment, does not integrate the exception into a practical application").
For at least these reasons and those further detailed below Examiner asserts that it is reasonable and appropriate to maintain the rejection under 35 U.S.C. 101.
Applicant’s arguments with respect to rejection of claims 1, 2, 5-12, and 15-19 under 35 U.S.C. 103 based on amendment have been considered and are persuasive. The argument is moot in view of a new ground of rejection set forth below.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 1, 2, 5-12, and 15-19 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Regarding claims 1 and 11, "preserves separation between preference and non-preference relationships" is indefinite. The claim provides no objective standard for determining what degree or type of "separation" must be preserved, or what it means to preserve said separation (no objective boundary). In the interest of further examination this is interpreted as "having some distance between preference and non-preference relationships."
Regarding claims 1 and 11, "a weight of each of a plurality of edges in the bipartite graph" lacks antecedent basis. Claim 1 previously introduces "a weight of each edge" such that it's unclear if "a weight of each of a plurality of edges in the bipartite graph" is the same weight or a different weight. In the interest of further examination it is interpreted as the same weight. "setting edges having a weight greater" is indefinite for the same reason.
Regarding claims 1 and 11, "thereby reducing over-smoothing and interference" is indefinite. "Reducing" is a relative term without a relative basis for comparison. Specifically, it would not be clear to one of ordinary skill in the art what the over-smoothing and interference was reduced relative to.
Regarding claim 8, "a weight (w) of the edge" lacks antecedent basis. Claim 1 from which claim 8 depends already introduces "a weight of each edge" such that it's unclear if "a weight (w) of the edge" is the same weight or a different weight. In the interest of further examination it is interpreted as the same weight.
The remaining claims are rejected with respect to their dependence on the rejected claims.
Claim Rejections - 35 USC § 101
101 Rejection
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, 2, 5-12, and 15-19 are rejected under 35 USC § 101 because the claimed invention is directed to non-statutory subject matter.
Regarding Claim 1: Claim 1 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
Step 1 Analysis: Claim 1 is directed to an apparatus, which is directed to a product, one of the statutory categories.
Step 2A Prong One Analysis: Claim 1 under its broadest reasonable interpretation is a series of mental processes and mathematical calculations and relationships. For example, but for the generic computer components language, the above limitations in the context of this claim encompass neural network processing, including the following:
classify and partition a plurality of edges of a bipartite graph into positive valued edges and negative valued edges according to a weight of each edge, and generate a partitioned graph including a positive graph having the positive valued edges and a negative graph having the negative valued edges, wherein the bipartite graph comprises a plurality of user nodes corresponding to each of a plurality of users, a plurality of item nodes respectively representing items, and the plurality of edges, each edge connecting a user node of the plurality of user nodes and an item node of the plurality of item nodes, each edge having the weight corresponding to an evaluation score given by a user for an item; (observation, evaluation, and judgement based on mathematical calculations and relationships),
estimate positive importance and negative importance corresponding to the positive embedding vectors and the negative embedding vectors, respectively; (observation, evaluation, and judgement based on mathematical calculations and relationships),
weight the positive embedding vectors and the negative embedding vectors with the positive importance and the negative importance, respectively (observation, evaluation, and judgement based on mathematical calculations and relationships),
obtain concatenation embedding vectors by concatenating the weighted positive embedding vectors and the weighted negative embedding vectors, thereby determining embedding positions of the plurality of user nodes and the plurality of item nodes in a virtual common embedding space that preserves separation between preference and non-preference relationships; (observation, evaluation, and judgement based on mathematical calculations and relationships),
recommend an item to each user based on a distance of each of the plurality of item nodes to each of the plurality of user nodes in the virtual common embedding space, (observation, evaluation, and judgement based on mathematical calculations and relationships),
wherein, to generate the partitioned graph, the code further causes the processor to: acquire a signed graph including signed edges,
by determining whether a weight of each of a plurality of edges in the bipartite graph is greater than or equal to a predetermined reference weight, and setting edges having a weight greater than or equal to the predetermined reference weight as the positive valued edges,
and setting edges whose weight is less than the predetermined reference weight as the negative valued edges; (observation, evaluation, and judgement based on mathematical calculations and relationships)
partition the signed graph into the positive graph composed of the plurality of user nodes, the plurality of item nodes and the positive valued edges, and the negative graph composed of the plurality of user nodes, the plurality of item nodes and the negative valued edges (observation, evaluation, and judgement based on mathematical calculations and relationships)
Therefore, claim 1 recites an abstract idea which is a judicial exception.
Step 2A Prong Two Analysis: Claim 1 recites additional elements “a processor, and a non-transitory computer readable medium coupled to the processor, the non-transitory computer readable medium comprising code, that, when executed by the processor, causes the processor to”, “obtain positive embedding vectors by applying a pre-trained graph neural network (GNN) to the positive graph to propagate only positive edge information and thereby reducing over-smoothing and interference from negative edge signals”, “obtain negative embedding vectors by applying a pre-trained multi-layer perceptron (MLP) to the negative graph to isolate negative edge information from GNN message passing and maintaining distinct embedding structures between positive and negative interactions”. However, these additional features are computer components recited at a high-level of generality, such that they amount to no more than mere instructions to apply the judicial exception using a generic computer component. An additional element that merely recites the words “apply it” (or an equivalent) with the judicial exception, or merely includes instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea, does not integrate the judicial exception into a practical application (See MPEP 2106.05(f)). Therefore, claim 1 is directed to a judicial exception.
Step 2B Analysis: Claim 1 does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to the lack of integration of the abstract idea into a practical application, the additional elements recited in claim 1 amount to no more than mere instructions to apply the judicial exception using a generic computer component and insignificant extra-solution activity.
For the reasons above, claim 1 is rejected as being directed to non-patentable subject matter under §101. This rejection applies equally to independent claim 11, which recites a method, as well as to dependent claims 2, 5-10, 12, and 15-20. The additional limitations of the dependent claims are addressed briefly below:
Dependent claims 2 and 12 recite additional insignificant extra-solution activity of gathering and outputting data “to obtain the positive embedding vectors, the negative embedding vectors, and the concatenation embedding vectors, the code further causes the processor to: obtain the positive embedding vectors, by receiving the positive graph indicating preference of the plurality of users for the plurality of items” as well as additional instructions to apply the judicial exception using generic computer components “performing neural network operations according to a pre-trained method, and vectorizing each of the plurality of user nodes and the plurality of item nodes,” and additional observation, evaluation, and judgement based on mathematical calculations and relationships “performing neural network operations according to a pre-trained method, and vectorizing each of the plurality of user nodes and the plurality of item nodes, obtain the concatenation embedding vectors, by performing neural network operations according to a pre-trained method, estimating positive importance and negative importance corresponding to the positive embedding vectors and the negative embedding vectors, respectively, and weighting the positive embedding vectors and the negative embedding vectors with the positive importance and the negative importance, respectively, and concatenating the weighted positive embedding vectors and the weighted negative embedding vectors”
Dependent claims 5 and 15 recites additional observation, evaluation, and judgement “wherein the predetermined reference weight is set to the median value of the evaluation scores of the plurality of users for each item”
Dependent claims 6 and 16 recite additional insignificant extra-solution activity of gathering and outputting data (See MPEP 2106.05(g)) “receive evaluation data including evaluation scores evaluated on a plurality of items by the plurality of users,” which is well-understood, routine, and conventional in the art (See MPEP 2106.05(d)(II)(i)) as well as additional observation, evaluation, and judgement based on mathematical calculations and relationships “create, from the evaluation data, a plurality of edges connecting user nodes and item nodes according to the plurality of user nodes corresponding to each of the plurality of users, the plurality of item nodes corresponding to the plurality of items and whether each user evaluated each item, and set the evaluation scores as weights of the created edges.”
Dependent claims 7 and 17 recite additional mathematical calculations and relationships “trains an artificial neural network, and for training, the processor acquires a plurality of batches by acquiring a plurality of triplet samples composed of related item nodes, which are item nodes connected by edges to each of a plurality of user nodes, and unrelated item nodes, which are item nodes that are not connected by edges, in a signed graph in which edges of the bipartite graph are signed with the positive valued edges and the negative valued edges; and calculates a sign-aware loss as a sum of a sign-aware Bayesian personalized ranking (BPR) loss calculated as a relationship in the virtual common embedding space for the user nodes and, related item nodes and unrelated item nodes, respectively, according to a sign of the related item nodes in the acquired triplet samples”
Dependent claim 8 recites additional mathematical calculations and relationships “the sign-aware training unit calculates a predicted preference ({circumflex over (r)}ui, {circumflex over (r)}uj) for each of the related item node (i) and the unrelated item node (j) of the user node (u) in the triplet sample (u, i, j) by, in the concatenation embedding vector, an inner product between a user embedding vector (zu) corresponding to the user node (u) and a related embedding vector (zi) for the related item node (i) and an inner product between the user embedding vector (zu) and an unrelated embedding vector (zj) for the unrelated item node (j), and according to the sign of a weight (w) of the edge connecting the user node (u) and the related item node (i), based on a ternary relation (>u) defined by >u(i,j,w) {(i,j,w)|{circumflex over (r)} ui >{circumflex over (r)} uj if w>0 and −{circumflex over (r)} ui >{circumflex over (r)} uj otherwise} Equation calculates a likelihood (p( )) according to the ternary relation (>u) by Equation p(>u(i,j,w s ui)|Θ)Figure US20230267317A1-20230824-P00030σ(sgn(w s ui){circumflex over (r)} ui −{circumflex over (r)} uj) (wherein, sgn( ) is a sign function, σ( ) is a sigmoid function calculated as σ ( x ) = 1 1 + exp ( - x ) . Θ is a model parameter set obtained by training in the positive embedding part, the negative embedding part and the integration emphasis embedding part implemented by an artificial neural network), thereby calculates the sign-aware BPR loss according to Equation ℒ 0 = - ∑ ( u , i , j ) ∈ D s ′ log p ( > u ( i , j , w ui s ) | ⊖ )”
Dependent claims 9 and 18 recite additional mathematical calculations and relationships “the sign-aware training unit obtains the sign-aware loss according to 0+λreg∥Θ∥2 (wherein, ∥ ∥2 is the L2 regularization function, and λreg is a hyperparameter for adjusting the regularization strength) and backpropagates the sign-aware loss”
Dependent claims 10 and 19 recite additional observation, evaluation, and judgement “calculate a distance between each of the plurality of user nodes and a plurality of item nodes in the virtual common embedding space, selects a predetermined number of item nodes in an adjacent order for each of the plurality of user nodes, and recommends items to each user”
Therefore, when considering the elements separately and in combination, they do not add significantly more to the inventive concept. Accordingly, claims 1, 2, 5-12, and 15-19 are rejected under 35 U.S.C. § 101.
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 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, 2, 6-12, 16, 17, 18, and 19 are rejected under U.S.C. §102(a)(1) as being anticipated by Lim (“SiReN: Sign-Aware Recommendation Using Graph Neural Networks”, 2021).
Regarding claim 1, Lim teaches A computer implemented recommendation apparatus comprising: a processor, and a non-transitory computer readable medium coupled to the processor, the non-transitory computer readable medium comprising code, that, when executed by the processor, causes the processor to, ([p. 8] "the source code for SiReN can be accessed via https://github.com/woni-seo/SiReN-reco" [p. 9] "We implement SiReN via PyTorch" Tensorflow and Pytorch are computer instruction libraries that must necessarily be stored in a non-transitory computer readable medium coupled to a processor for executing the instructions.)
classify and partition a plurality of edges of a bipartite graph into positive valued edges and negative valued edges according to a weight of each edge,([p. 4] "Let us denote the underlying bipartite graph as G = (U,V,E), where U and V are the set of M users and the set of N items, respectively, and E is the set of weighted edges between U and V. A weighted edge (u, v,wuv) ∈ E can be interpreted as the rating wuv with which the user u ∈ U has given to the item v ∈ V. We assume Gto be a static network without repeated edges, where ratings (i.e., user preferences) do not change over time. [...] we then partition the signed bipartite graph Gs into two edge-disjoint graphs Gp = (U,V,Ep) and Gn = (U,V,En), consisting of the set of positive edges and negative edges, respectively")
and generate a partitioned graph including a positive graph having the positive valued edges and a negative graph having the negative valued edges, ([p. 4] "we then partition the signed bipartite graph Gs into two edge-disjoint graphs Gp = (U,V,Ep) and Gn = (U,V,En), consisting of the set of positive edges and negative edges, respectively")
wherein the bipartite graph comprises a plurality of user nodes corresponding to each of a plurality of users, a plurality of item nodes respectively representing items, and the plurality of edges, each edge connecting a user node of the plurality of user nodes and an item node of the plurality of item nodes, ([p. 4] "G = (U,V,E), where U and V are the set of M users and the set of N items, respectively, and E is the set of weighted edges between U and V.")
each edge having the weight corresponding to an evaluation score given by a user for an item([p. 4] "A weighted edge (u, v,wuv) ∈ E can be interpreted as the rating wuv with which the user u ∈ U has given to the item v ∈ V")
obtains positive embedding vectors by applying a pre-trained graph neural network (GNN) to the positive graph to propagate only positive edge information and thereby reducing over-smoothing and interference from negative edge signals;([p. 4] "the set of positive edges […] Using the graph Gp having positive edges, we adopt a GNN model suit for recommender systems (e.g., [18], [19]) to calculate embedding vectors Zp ∈ R(M+N)×d for the nodes in U ∪V" G^P contains the positive edge set E^P only)
obtain negative embedding vectors by applying a pre-trained multi-layer perceptron (MLP) to the negative graph to isolate negative edge information from GNN message passing and maintaining distinct embedding structures between positive and negative interactions;([p. 4] "On the other hand, we adopt an MLP for the graph Gn to calculate embedding vectors Zn ∈ R(M+N)×d for the same nodes as those in (3): Zn =MLPθ2 (Gn)")
estimate positive importance and negative importance corresponding to the positive embedding vectors and the negative embedding vectors, respectively;([p. 5] "To get the importance of two embeddings Zp and Zn, we use the attention mechanism [45] that learns the corresponding importance (αp,αn) as follows")
weight the positive embedding vectors and the negative embedding vectors with the positive importance and the negative importance, respectively;([p. 7] "αp x and αn x are the resulting importance of two embeddings zp x and zn x, respectively, which thus yields the final embedding zx = αp xzp x + αn xzn x for each node x")
obtain concatenation embedding vectors by concatenating the weighted positive embedding vectors and the weighted negative embedding vectors, thereby determining embedding positions of the plurality of user nodes and the plurality of item nodes in a virtual common embedding space that preserves separation between preference and non-preference relationships; and([p. 5] "Z=(αp1attn) ⊙ Zp +(αn1attn) ⊙ Zn")
recommend an item to each user ([p. 5] "we elaborate on our SiReN method, designed for top-N recommendation" [p. 8] "we adopt three metrics, which are widely used to evaluate the accuracy of top-N recommendation. Let Te+u and Ru(N) denote the ground truth set (i.e., the set of items rated by user uin the test set) and the top-N recommendation list for user u, respectively. In the following, we describe each of metrics for recommendation accuracy")
based on a distance of each of the plurality of item nodes to each of the plurality of user nodes in the virtual common embedding space,([p. 7] "we define a user u’s predicted preference for an item i as the inner product of user and item final embeddings: ˆ rui ≜ zuzT" [p. 4] "ws uv = wuv − wo corresponds to the edge weight" inner product interpreted as similarity/distance metric. Edge weight distance alternatively interpreted as covering the claim limitation)
wherein, to generate the partitioned graph, the code further causes the processor to: acquire a signed graph including signed edges, ([p. 7] "the signed bipartite graph Gs")
by determining whether a weight of each of a plurality of edges in the bipartite graph is greater than or equal to a predetermined reference weight, and setting edges having a weight greater than or equal to the predetermined reference weight as the positive valued edges, ([p. 4] "More specifically, we construct Gs = (U,V,Es) with a parameter wo > 0, representing a criterion for dividing high and low ratings")
and setting edges whose weight is less than the predetermined reference weight as the negative valued edges; ([p. 4] "a user u likes an item v if ws uv > 0 and he/she dislikes v otherwise")
and partition the signed graph into the positive graph composed of the plurality of user nodes, the plurality of item nodes and the positive valued edges, and the negative graph composed of the plurality of user nodes, the plurality of item nodes and the negative valued edges,([p. 4] "Let us denote the underlying bipartite graph as G = (U,V,E), where U and V are the set of M users and the set of N items, respectively, and E is the set of weighted edges between U and V. A weighted edge (u, v,wuv) ∈ E can be interpreted as the rating wuv with which the user u ∈ U has given to the item v ∈ V. We assume Gto be a static network without repeated edges, where ratings (i.e., user preferences) do not change over time. [...] we then partition the signed bipartite graph Gs into two edge-disjoint graphs Gp = (U,V,Ep) and Gn = (U,V,En), consisting of the set of positive edges and negative edges, respectively").
Regarding claim 2, Lim teaches The computer implemented recommendation apparatus according to claim 1, wherein, to obtain the positive embedding vectors, the negative embedding vectors, and the concatenation embedding vectors, the code further causes the processor to: obtain the positive embedding vectors, by receiving the positive graph indicating preference of the plurality of users for the plurality of items,(Lim [p. 4] "a user u likes an item v if ws uv > 0 and he/she dislikes v otherwise")
performing neural network operations according to a pre-trained method, and vectorizing each of the plurality of user nodes and the plurality of item nodes,(Lim [p. 4] "Let us denote the underlying bipartite graph as G = (U,V,E), where U and V are the set of M users and the set of N items, respectively, and E is the set of weighted edges between U and V. A weighted edge (u, v,wuv) ∈ E can be interpreted as the rating wuv with which the user u ∈ U has given to the item v ∈ V. We assume Gto be a static network without repeated edges, where ratings (i.e., user preferences) do not change over time. [...] we then partition the signed bipartite graph Gs into two edge-disjoint graphs Gp = (U,V,Ep) and Gn = (U,V,En), consisting of the set of positive edges and negative edges, respectively")
obtain the negative embedding vectors, by receiving the negative graph indicating non-preference of the plurality of users for the plurality of items, performing neural network operations according to a pre-trained method, and vectorizing each of the plurality of user nodes and the plurality of item nodes,(Lim [p. 4] "G = (U,V,E), where U and V are the set of M users and the set of N items, respectively, and E is the set of weighted edges between U and V." [p. 4] "On the other hand, we adopt an MLP for the graph Gn to calculate embedding vectors Zn ∈ R(M+N)×d for the same nodes as those in (3): Zn =MLPθ2 (Gn)")
obtain the concatenation embedding vectors, by performing neural network operations according to a pre-trained method, estimating positive importance and negative importance corresponding to the positive embedding vectors and the negative embedding vectors, respectively, and weighting the positive embedding vectors and the negative embedding vectors with the positive importance and the negative importance, respectively,(Lim [p. 5] "Z=(αp1attn) ⊙ Zp +(αn1attn) ⊙ Zn")
and concatenating the weighted positive embedding vectors and the weighted negative embedding vectors.(Lim [p. 5] "Z=(αp1attn) ⊙ Zp +(αn1attn) ⊙ Zn").
Regarding claim 6, Lim teaches The computer implemented recommendation apparatus according to claim 1, wherein, to acquire the bipartite graph prior to the step of acquiring the signed graph, the code further causes the processor to: receive evaluation data including evaluation scores evaluated on a plurality of items by the plurality of users, and (Lim [p. 1] "Even with the wide applications of GNNs to recommender systems [13]–[19], a question that arises naturally is: “How can we make use of negative feedback (i.e., low rating scores) for representing users’ preferences via GNNs?”" [p. 9] "The normalized discounted cumulative gain nDCG@N [54] measures a ranking quality of the recommendation list by assigning higher scores to relevant items to top-N ranking positions in the list" [p. 4] "the set of negative interactions indicates what users dislike and thus is still quite informative. In other words, it remains open how to fully exploit the rating information in building GNN-based recommender systems as recently developed models fail to capture the effect of low rating scores. To tackle this challenge, we present SiReN, a new sign aware recommender system using GNNs, which is basically composed of the following three core components (refer to Fig. 2): • signed bipartite graph construction and partitioning")
create, from the evaluation data, a plurality of edges connecting user nodes and item nodes according to the plurality of user nodes corresponding to each of the plurality of users, the plurality of item nodes corresponding to the plurality of items and whether each user evaluated each item, and set the evaluation scores as weights of the created edges (Lim [p. 4] "A weighted edge (u, v,wuv) ∈ E can be interpreted as the rating wuv with which the user u ∈ U has given to the item v ∈ V […] we assume that a user u likes an item v if ws uv > 0 and he/she dislikes v otherwise, where ws uv = wuv − wo corresponds to the edge weight in the signed bipartite graph Gs. [...] we then partition the signed bipartite graph Gs into two edge-disjoint graphs Gp = (U,V,Ep) and Gn = (U,V,En), consisting of the set of positive edges and negative edges, respectively").
Regarding claim 7, Lim teaches The computer implemented recommendation apparatus according to claim 2, wherein the processor trains an artificial neural network, and for training, the processor acquires a plurality of batches by acquiring a plurality of triplet samples composed of related item nodes, which are item nodes connected by edges to each of a plurality of user nodes, and unrelated item nodes, which are item nodes that are not connected by edges, in a signed graph in which edges of the bipartite graph are signed with the positive valued edges and the negative valued edges; and calculates a sign-aware loss as a sum of a sign-aware Bayesian personalized ranking (BPR) loss calculated as a relationship in the virtual common embedding space for the user nodes and, related item nodes and unrelated item nodes, respectively, according to a sign of the related item nodes in the acquired triplet samples,(Lim [Abstract] "using an attention model to obtain the final embeddings, and 3) establishing a sign-aware Bayesian personalized ranking (BPR) loss function in the process of optimization" [p. 2] "To obtain the final embeddings, we then use an attention model that learns the importance of two embeddings generated from GNN and MLP models. Third, as our objective function in the process of optimization, we present a sign-aware Bayesian personalized ranking (BPR) loss function, which is built upon the original BPR loss [26] widely used in recommender systems. More specifically, unlike the original BPR loss, our objective function takes into account two types of observed items, including both positive and negative relations between users and items, as well as unobserved ones" [p. 8] "The sampled triplets are fed into the loss function in the training loop along with the calculated embeddings Z for all nodes in U ∪V" See Eqn. 18 showing the summation in the BPR loss term)
and a regularization loss according to regularization, (Lim [p. 8] "the following loss function L for a given mini batchD′ S with the L2 regularization" See Eqn. 17).
Regarding claim 8, Lim teaches The recommendation apparatus according to claim 7, wherein in calculating the sign-aware loss, the processor calculates a predicted preference ({circumflex over (r)}ui, {circumflex over (r)}uj) for each of the related item node (i) and the unrelated item node (j) of a user node (u) in the triplet sample (u, i, j) by, (Lim [p. 8] "More formally, we define a ternary relation >_u(i, j, w) := {(i, j, w) | hat_r_ui > hat_r_uj if w > 0 and -hat_r_ui > hat_r_uj otherwise} subset V x V x (R \ {0}).Based on the relation >_u, we aim at minimizing the following loss function L for a given mini-batch D'_S with the L2 regularization:L = L_0 + lambda_reg * ||Theta||^2, (17)where lambda_reg is a hyperparameter that controls the L2 regularization strength; Theta represents the model parameters; and L_0 is the sign-aware BPR loss term realized by:L_0 = - sum_{(u,i,j) in D'_S} log p(>_u(i, j, w_sui) | Theta). (18)Here, to capture the above relation >_u(i, j, w) for each (u,i,j) in D'_S, we model the likelihood in (18) as:p(>_u(i, j, w_sui) | Theta) := sigma(sgn(w_sui) * (hat_r_ui - hat_r_uj)), (19)where sgn(.) is the sign function and sigma(x) = 1 / (1 + exp(-x)) is the sigmoid function. By training our models through the loss in (17), it is possible to more elaborately learn representations of nodes depending on both positive and negative relations.")
in the concatenation embedding vector, an inner product between a user embedding vector (zu) corresponding to the user node (u) and a related embedding vector (zi) for the related item node (i) and an inner product between the user embedding vector (zu) and an unrelated embedding vector (zj) for the unrelated item node (j), and (Lim [p. 7] "we define a user u’s predicted preference for an item i as the inner product of user and item final embeddings: ˆ rui ≜ zuzT" [p. 4] "ws uv = wuv − wo corresponds to the edge weight")
according to the sign of the weight (w) of the edge connecting the user node (u) and the related item node (i), based on a ternary relation (>u) defined by >u(i,j,w) {(i,j,w)|{circumflex over (r)} ui >{circumflex over (r)} uj if w>0 and −{circumflex over (r)} ui >{circumflex over (r)} uj otherwise} Equation calculates a likelihood (p()) according to the ternary relation (>u) by Equation p(>u(i,j,w s ui)|Θ) σ(sgn(w s ui){circumflex over (r)} ui −{circumflex over (r)} uj) (wherein, sgn() is a sign function, σ() is a sigmoid function calculated as σ(x)=11+exp(-x). Θ is a model parameter set obtained by training in the positive embedding part, the negative embedding part and the integration emphasis embedding part implemented by an artificial neural network), thereby calculates the sign-aware BPR loss according to Equation ℒ0=-∑(u,i,j)∈Ds′logp(>u(i,j,wuis)|⊖). (Lim [p. 8] "More formally, we define a ternary relation >_u(i, j, w) := {(i, j, w) | hat_r_ui > hat_r_uj if w > 0 and -hat_r_ui > hat_r_uj otherwise} subset V x V x (R \ {0}).Based on the relation >_u, we aim at minimizing the following loss function L for a given mini-batch D'_S with the L2 regularization:L = L_0 + lambda_reg * ||Theta||^2, (17)where lambda_reg is a hyperparameter that controls the L2 regularization strength; Theta represents the model parameters; and L_0 is the sign-aware BPR loss term realized by:L_0 = - sum_{(u,i,j) in D'_S} log p(>_u(i, j, w_sui) | Theta). (18)Here, to capture the above relation >_u(i, j, w) for each (u,i,j) in D'_S, we model the likelihood in (18) as:p(>_u(i, j, w_sui) | Theta) := sigma(sgn(w_sui) * (hat_r_ui - hat_r_uj)), (19)where sgn(.) is the sign function and sigma(x) = 1 / (1 + exp(-x)) is the sigmoid function. By training our models through the loss in (17), it is possible to more elaborately learn representations of nodes depending on both positive and negative relations.").
Regarding claim 9, Lim teaches The recommendation apparatus according to claim 8, wherein the sign-aware training unit obtains the sign-aware loss according to L=L 0+λreg∥Θ∥2 (wherein, ∥ ∥2 is the L2 regularization function, and λreg is a hyperparameter for adjusting the regularization strength) and backpropagates the sign-aware loss.(Lim [p. 8] "More formally, we define a ternary relation >_u(i, j, w) := {(i, j, w) | hat_r_ui > hat_r_uj if w > 0 and -hat_r_ui > hat_r_uj otherwise} subset V x V x (R \ {0}).Based on the relation >_u, we aim at minimizing the following loss function L for a given mini-batch D'_S with the L2 regularization:L = L_0 + lambda_reg * ||Theta||^2, (17)where lambda_reg is a hyperparameter that controls the L2 regularization strength; Theta represents the model parameters; and L_0 is the sign-aware BPR loss term realized by:L_0 = - sum_{(u,i,j) in D'_S} log p(>_u(i, j, w_sui) | Theta). (18)Here, to capture the above relation >_u(i, j, w) for each (u,i,j) in D'_S, we model the likelihood in (18) as:p(>_u(i, j, w_sui) | Theta) := sigma(sgn(w_sui) * (hat_r_ui - hat_r_uj)), (19)where sgn(.) is the sign function and sigma(x) = 1 / (1 + exp(-x)) is the sigmoid function. By training our models through the loss in (17), it is possible to more elaborately learn representations of nodes depending on both positive and negative relations.").
Regarding claim 10, Lim teaches The computer implemented recommendation apparatus according to claim 1, in recommending at item, the processor calculates a distance between each of the plurality of user nodes and a plurality of item nodes in the common embedding space, (Lim [p. 7] "we define a user u’s predicted preference for an item i as the inner product of user and item final embeddings: ˆ rui ≜ zuzT" [p. 4] "ws uv = wuv − wo corresponds to the edge weight")
selects a predetermined number of item nodes in an adjacent order for each of the plurality of user nodes, and recommends items to each user.(Lim [p. 5] "we elaborate on our SiReN method, designed for top-N recommendation" [p. 8] "we adopt three metrics, which are widely used to evaluate the accuracy of top-N recommendation. Let Te+u and Ru(N) denote the ground truth set (i.e., the set of items rated by user uin the test set) and the top-N recommendation list for user u, respectively. In the following, we describe each of metrics for recommendation accuracy").
Regarding claims 11, 12, and 16-19, claims 11, 12, and 16-19 are directed towards the method performed by the apparatus of claims 1, 2, 6, 7, 9, and 10, respectively. Therefore, the rejections applied to claims 1, 2, 6, 7, 9, and 10 also apply to claims 11, 12, and 16-19.
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 5 and 15 are rejected under U.S.C. §103 as being unpatentable over the combination of Lim and Huang (“Signed Bipartite Graph Neural Networks”, 2021).
Regarding claim 5, Lim teaches The computer implemented recommendation apparatus according to claim 1.
However, Lim doesn't explicitly teach, wherein the reference weight is set to a median value of the evaluation scores of the plurality of users for each item..
Huang, in the same field of endeavor, teaches the reference weight is set to a median value of the evaluation scores of the plurality of users for each item. ([p. 6 §5.1.3] "5.1.3 Aggregation Design. For message aggregation, it is commonly a differentiable, permutation invariant set function (e.g., mean, max, and sum) that take a countable message set {𝑚𝑣(𝑢𝑖)|𝑢𝑖 ∈ N(𝑣)} as input; and output a message vector 𝑚𝑣. In this paper, we use mean (Mean) and graph attention (Gat) aggregation functions. For the Mean aggregation function, we get 𝑚𝑙(𝑢𝑖) and 𝑚𝑙(𝑣𝑖) by Mean the message of neighborhoods [...] where 𝑢 is a relationship of links" Links interpreted as synonymous with edges).
Lim as well as Huang are directed towards signed bipartite graph recommender systems. Therefore, Lim as well as Huang are analogous art in the same field of endeavor. It would have been obvious before the effective filing date of the claimed invention to combine the teachings of Lim with the teachings of Huang by setting the reference weight to a median of the scores. Huang provides as additional motivation for combination ([p. 6 §5.1.3] “For message aggregation, it is commonly a differentiable, permutation invariant set function”).
Regarding claim 15, claim 15 is directed towards the method performed by the apparatus of claim 5. Therefore, the rejection applied to claim 5 also applies to claim 15.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Gu (“How to predict recommendation lists that users do not like”, 2020) discloses online user-object rating systems as weighted bipartite networks and converting those networks into signed bipartite networks according to rating value.
Zeng (“Negative Ratings Play a Positive Role in Information Filtering”, 2011) describes a positive/negative rating based bipartite graph for recommender systems.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to SIDNEY VINCENT BOSTWICK whose telephone number is (571)272-4720. The examiner can normally be reached M-F 7:30am-5:00pm EST.
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, Miranda Huang can be reached on (571)270-7092. 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.
/SIDNEY VINCENT BOSTWICK/Examiner, Art Unit 2124