Prosecution Insights
Last updated: October 23, 2026
Application No. 18/451,551

MACHINE-LEARNING FOR TOPOLOGICALLY-AWARE CAD RETRIEVAL

Non-Final OA §103
Filed
Aug 17, 2023
Priority
Aug 17, 2022 — EU 22306233.2
Examiner
LE, HUNG VAN
Art Unit
2145
Tech Center
2100 — Computer Architecture & Software
Assignee
Dassault Systemes
OA Round
1 (Non-Final)
Grant Probability
Favorable
1-2
OA Rounds

Examiner Intelligence

Grants only 0% of cases
0%
Career Allowance Rate
0 granted / 0 resolved
-55.0% vs TC avg
Minimal +0% lift
Without
With
+0.0%
Interview Lift
resolved cases with interview
Typical timeline
Avg Prosecution
20 currently pending
Career history
30
Total Applications
across all art units
This examiner has no resolved cases yet (career too new); statute-level performance unavailable. The Grant Probability card shows Tech Center averages instead.

Office Action

§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 . Information Disclosure Statement The information disclosure statement (IDS) submitted on 2023/08/17 & 2024/10/10. The submission is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner. 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 text of those sections of Title 35, U.S. Code not included in this action can be found in a prior Office action. The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows: 1. Determining the scope and contents of the prior art. 2. Ascertaining the differences between the prior art and the claims at issue. 3. Resolving the level of ordinary skill in the pertinent art. 4. Considering objective evidence present in the application indicating obviousness or nonobviousness. Claims 1-8 and 11- 20 are rejected under 35 U.S.C. 103 as being unpatentable over Lambourne (Lambourne), US 2022/0156430 A1, in view of Jayaraman et al. (Jayaraman), US 2022/0318637 A1. As to independent Claim 1, Lambourne teaches: "A computer-implemented method of machine-learning, the method comprising:" Lambourne teaches a computer-implemented machine-learning method in which CAD programs with machine-learning processes are executed by a computer (Lambourne, page 2, ¶ [0018]: computer 110 having processor 112 and memory 114 executing CAD program(s) 116 with ML process(es); FIG. 1A), and in which a convolutional neural network of a machine learning algorithm is trained and applied to boundary representation models (Lambourne, page 5, ¶ [0047]). "obtaining a training dataset of B-rep graphs, each B-rep graph representing a respective B-rep and including:" Lambourne teaches obtaining a training dataset of B-rep models, stating that the 3D model 132 "is part of a training data set for the ML algorithm," where the model manifolds are labeled according to the CAD modeling operations used to create them (Lambourne, page 3, ¶ [0030]; FIG. 1A, elements 132A–132D), and further teaches that a segmentation dataset is produced from designs submitted by users of the structural modelling program (Lambourne, page 7, ¶ [0067]). Each B-rep of the dataset is converted into a graph representation in which the B-rep entities are the graph vertices and the adjacency relationships are the graph connections, namely a B-rep containing a set of faces f, a set of edges e, and a set of coedges c, from which three input feature matrices and five adjacency and incidence matrices are built (Lambourne, page 5, ¶ [0048], [0050], Eq. (1); FIG. 3C). "graph nodes each representing an edge, a face or a co-edge of the respective B-rep and being associated with one or more geometrical and/or topological features, and" Lambourne teaches graph nodes for each of the three claimed entity types, in that geometric information is extracted and used to build "three input feature matrices" Xf ∈ R^(|f|×p), Xe ∈ R^(|e|×q), and Xc ∈ R^(|c|×r) "for the face features, edge features and coedge features, respectively" (Lambourne, page 5, ¶ [0048]), such that each row of a matrix is a node corresponding to one face, one edge, or one coedge. Lambourne further teaches that each such node is associated with geometrical features, including a one-hot vector encoding of the surface types plane, cylinder, cone, sphere, torus, B-spline, and NURBS, together with the area of each face and the length of each edge (Lambourne, page 5, ¶ [0052]), and a one-hot vector encoding the edge geometry types line, circle, ellipse, helix, and intersection curve (Lambourne, page 6, ¶ [0053]). Lambourne also teaches association with topological features, including edge convexity encoded as concave, convex, and smooth, a flag indicating whether an edge forms a closed loop, a flag indicating whether a coedge is aligned with the 3D curve of the edge (Lambourne, page 6, ¶ [0053]), and boundary representation flag information indicating whether a normal direction of a face is parallel to the normals of the underlying surface and whether a coedge is the coedge referenced by the parent loop (Lambourne, page 6, ¶ [0056]). "graph edges each between a respective first graph node representing a respective co-edge and a respective second graph node representing a face, an edge, an adjacent co-edge, or a mating co-edge associated with the respective co-edge; and" Lambourne teaches graph edges that originate at a coedge node and terminate at each of the four claimed alternatives, stating that "[a] coedge stores pointers to the next and previous coedge in the loop, its adjacent or 'mating' coedge, its parent face and parent edge" (Lambourne, page 4, ¶ [0043]). In matrix form, the next, previous, and mating adjacency relationships between coedges are written as three matrices N, P, M ∈ {0,1}^(|c|×|c|), where N_ij = 1 indicates that c_j is the next coedge in the loop from c_i and M_ij = 1 indicates that c_j is the mate of c_i (Lambourne, page 5, ¶ [0048], Eq. (1)), and the relationships between a coedge and its parent face and parent edge are represented by incidence matrices F ∈ {0,1}^(|c|×|f|) and E ∈ {0,1}^(|c|×|e|), where F_ij = 1 indicates that coedge c_i is in a loop around face f_j and E_ij = 1 indicates that coedge c_i belongs to edge e_j (Lambourne, page 5, ¶ [0050]; FIG. 3C). Each nonzero entry of N, P, M, F, and E is therefore a graph edge from a first node representing a coedge to a second node representing, respectively, an adjacent co-edge, a mating co-edge, a face, or an edge. "learning, by a processor and based on the training dataset, a Deep CAD neural network configured to take as input a B-rep graph" Lambourne teaches learning the network by a processor, in that multiple 3D models in B-Rep format are processed by the machine learning algorithm to find learnable parameters associated with both geometry and topology information (Lambourne, page 6, ¶ [0058]; FIG. 2B, element 250), and that the described operations are executed by at least one hardware processor of a data processing apparatus (Lambourne, page 10, ¶ [0089]–[0090]; FIG. 9, processor 912; FIG. 1A, processor 112). Lambourne further teaches that the learned network is a deep neural network for CAD data that takes the B-rep graph as input, in that the forward pass initializes the hidden state matrices from the face, edge, and coedge feature matrices and passes them "through a stack of T convolution units," each unit applying learnable weights to the entities identified by a convolutional kernel defined relative to the coedges of the B-Rep (Lambourne, page 6, ¶ [0059]–[0060]; FIG. 4, network architecture 400). Lambourne teaches outputting a vector representation of a B-rep, in that collections of faces or edges are represented using vectors of numbers for faces, edges and coedges in a multi-dimensional embedding space (Lambourne, page 6, ¶ [0057]), and in that the final convolution unit 420 generates per-face segmentation scores (Lambourne, pages 6–7, ¶ [0060], [0065]). However, Lambourne does not teach "and to output a topological signature of the B-rep represented by the input B-rep graph." In the same field of endeavor, Jayaraman teaches "and to output a topological signature of the B-rep represented by the input B-rep graph." Jayaraman teaches a graph neural network that operates on a graph derived from a B-rep, in which the face-adjacency graph includes "nodes that represent the faces in the B-rep" and edges that represent the connectivity between the faces (Jayaraman, page 3, ¶ [0028]), and teaches that the trained encoder maps that graph to a single embedding for the entire model, in that the trained graph neural network "applies an element-wise max-pooling operation across the nodes" to compute hierarchical graph-level feature vectors h(k) using equations (3a) and (3b), which are then linearly projected using learned weights and biases and summed to compute the shape embedding 178 using equation (4) (Jayaraman, pages 10–11, ¶ [0102]–[0103]; FIG. 3). Jayaraman further teaches that the output embedding characterizes the topology of the represented object, disclosing an encoder configured "to generate face encoding sets and optionally shape encoding based on topology but not geometry," in which the associated node feature vectors and edge feature vectors are replaced with noise sampled from a normal distribution (Jayaraman, page 8, ¶ [0075]), and that the shape embedding so produced is output as the final result for the 3D CAD object originally represented by the B-rep (Jayaraman, page 7, ¶ [0066], [0071]). Lambourne and Jayaraman are analogous to the claimed invention as both are from the same field of endeavor of machine learning applied to boundary representation data of 3D CAD models. Therefore, 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 coedge-based convolutional network trained on B-rep graphs of Lambourne with the graph-level max-pooling and shape embedding output of Jayaraman. The motivation to combine Lambourne and Jayaraman is as recited by Jayaraman (page 7, ¶ [0062]), namely that when the encoder is trained to cluster shape embeddings of objects that look similar, the trained model "can be used to automatically identify 3D CAD objects having shapes that are visually similar to a specified 3D CAD object." Lambourne expressly directs the skilled artisan to this work, identifying U.S. patent application Ser. No. 17/348,338, titled "MACHINE LEARNING TECHNIQUES FOR AUTOMATING TASKS BASED ON BOUNDARY REPRESENTATIONS OF 3D CAD OBJECTS," filed on Jun. 15, 2021, as incorporated by reference in its entirety (Lambourne, page 5, ¶ [0051]), which published as Jayaraman. As to Claim 2, the limitations of Claim 1 from which Claim 2 depends are rejected under the same rationale set forth above with respect to Claim 1. Claim 2 further recites: "wherein the Deep CAD neural network includes a convolution module, implemented by the processor, that is configured to perform a kernel concatenation" Lambourne teaches that the network includes a convolution module implemented by the processor, in that the input feature vectors from faces, edges and coedges are passed through a stack of T convolution units, and that "inside each convolution unit three processes take place," the first of which builds a matrix Y by concatenation (Lambourne, page 6, ¶ [0060]–[0061]; FIG. 4, convolution unit t 410 and concatenate 412), which operations are executed by the processor of the computer running the CAD program with the machine-learning process (Lambourne, page 2, ¶ [0018], processor 112; page 10, ¶ [0089]–[0090], processor 912). "that concatenates a feature vector of each co-edge with the feature vectors of its neighboring B-rep elements" Lambourne teaches that the concatenation is performed per coedge over the feature vectors of that coedge's neighboring B-rep entities, stating that the procedure of equation (2) "populates the ith row of Y with the concatenated hidden state vectors of the entities defined by the kernel with starting coedge c_i" (Lambourne, page 7, ¶ [0061], Eq. (2)). The neighboring B-rep elements so concatenated are the faces, edges and coedges reached from the starting coedge, in that the matrices encoding the walks to faces, edges and coedges are arranged in the three lists K_f, K_e and K_c whose products with the hidden state matrices H_f, H_e and H_c form Y_f, Y_e and Y_c, which are then concatenated as Y = Y_f ‖ Y_e ‖ Y_c (Lambourne, page 6, ¶ [0059]; page 7, ¶ [0061], Eq. (2)). Lambourne further teaches that a coedge's neighboring B-rep elements are its next and previous coedge in the loop, its mating coedge, its parent face and its parent edge (Lambourne, page 4, ¶ [0043]; page 5, ¶ [0048], [0050]). "according to a kernel of the neural network." Lambourne teaches that the concatenation is performed according to a kernel of the neural network, in that "[t]he relative topological locations between a starting coedge and the faces, edges and coedges which will take part in a convolution can be defined by topological walks," and that each walk is expressed in matrix form by multiplying the matrices N, P, M, F and E in the order in which the next, previous, mate, face or edge instructions must be executed (Lambourne, page 6, ¶ [0059]; page 4, ¶ [0044]–[0045], describing the instruction sequence mate, next, mate, face; FIGS. 3B–3C). Lambourne further teaches that a collection of topological walks defines a convolutional kernel for the CNN, and describes particular kernel configurations, including the Simple Edge kernel 800, the Asymmetric kernel 805 and the Winged edge++ kernel configuration 830 (Lambourne, page 5, ¶ [0049]; page 8, ¶ [0079]; FIGS. 8A–8B; Table 2), such that the learnable weights are applied to specific entities in the order in which their feature vectors are concatenated (Lambourne, page 1, ¶ [0007]). As to Claim 3, the limitations of Claims 1 and 2 from which Claim 3 depends are rejected under the same rationale set forth above with respect to Claims 1 and 2. Claim 3 further recites: "wherein the convolution module is further configured to pass each concatenated feature vector of a co-edge resulting from the kernel concatenation as input to a dense neural network." Lambourne teaches that the convolution module passes each concatenated feature vector of a co-edge, produced by the kernel concatenation, as input to a dense neural network, stating that "[s]econd, each row of Y can be passed through a multi-layer perceptron (MLP) 414 with learnable parameters θ(t) and ReLU non-linearities following each layer" (Lambourne, page 7, ¶ [0062]; FIG. 4, MLP 414). Each such row of Y is the concatenated feature vector of one co-edge, in that the preceding concatenation "populates the ith row of Y with the concatenated hidden state vectors of the entities defined by the kernel with starting coedge c_i" (Lambourne, page 7, ¶ [0061], Eq. (2)). Lambourne further teaches that the multi-layer perceptron is a dense neural network whose layers are sized to the concatenated input, in that "[t]he input to the first layer of the MLP 414 depends on the number of columns of Y while all other MLP layers can have a size that is three times the width of the hidden states s" (Lambourne, page 7, ¶ [0062]), and that the MLP so applied produces the matrix Z ∈ R^(|c|×3s) whose rows are associated with the coedges in the B-Rep (Lambourne, page 7, ¶ [0063]). Lambourne additionally teaches that the number of parameters in the MLP is dependent on the number of entities in the kernel and that two-layer MLPs were used in the described experiments (Lambourne, page 9, ¶ [0083]–[0084]). As to Claim 4, the limitations of Claims 1 through 3 from which Claim 4 depends are rejected under the same rationale set forth above with respect to Claims 1 through 3. Claim 4 further recites: "for each vector outputted by the dense neural network for an input concatenated feature vector of a co-edge" Lambourne teaches that the dense neural network outputs one vector per co-edge, in that "[f]ollowing the MLP 414, a matrix Z ∈ R^(|c|×3s) is generated, and the rows of Z are associated with coedges in the B-Rep" (Lambourne, page 7, ¶ [0063]), where each such row is produced from the concatenated feature vector of that co-edge, namely the ith row of Y populated with the concatenated hidden state vectors of the entities defined by the kernel with starting coedge c_i (Lambourne, page 7, ¶ [0061]–[0062], Eq. (2); FIG. 4, MLP 414). "a new co-edge feature vector" Lambourne teaches that the matrix Z "is can be first split into three sub-matrices of size |c|×s," namely Z = [H_c^(t+1) | Z_f | Z_e], and that "H_c^(t+1) is the matrix of hidden states for the coedges in the next layer, which requires no further processing" (Lambourne, page 7, ¶ [0064], Eq. (3)). "a new face feature vector" Lambourne teaches that the new per-face vectors are computed by pooling the co-edge outputs onto their parent faces, in that "[t]o build the matrices H_f^(t+1) and H_e^(t+1), the program can apply the following element wise max pooling 416 procedure to Z_f and Z_e," where the pooling for a face is taken over the set of coedges with parent face f_i (Lambourne, page 7, ¶ [0064], Eq. (4); FIG. 4, entity pooling 416), and in that running the machine learning algorithm "includes pooling 260 information from coedges onto their parent faces and edges in each convolution unit of the convolutional neural network" (Lambourne, page 7, ¶ [0066]; FIG. 2B, element 260). "a new edge feature vector" Lambourne teaches that the corresponding per-edge vectors are computed by the same element-wise max pooling procedure applied to Z_e, stating that h_i, z_j and C(e_i) "have equivalent meanings for edges" (Lambourne, page 7, ¶ [0064], Eq. (4)). Lambourne further teaches the purpose of computing these new per-entity vectors within each convolution unit, in that "[t]he performance of the network is greatly enhanced by pooling information from the coedges onto their parent faces and edges in each convolution unit," which allows information to flow from the coedges in one loop onto the parent face and thereby to coedges in another loop in subsequent layers (Lambourne, page 7, ¶ [0063]). As to Claim 5, the limitations of Claims 1 through 4 from which Claim 5 depends are rejected under the same rationale set forth above with respect to Claims 1 through 4. Claim 5 further recites: "the dense neural network outputs, for an input concatenated feature vector φ_c^(i) of a co-edge c resulting from the kernel concatenation: ψ_c^(i) = MLP(φ_c^(i)) = [ψ_CC^(i)|ψ_CF^(i)|ψ_CE^(i)]" Lambourne teaches that each concatenated per-co-edge vector is mapped by the multi-layer perceptron to a single output vector that is composed of three parts, in that "each row of Y can be passed through a multi-layer perceptron (MLP) 414 with learnable parameters θ(t) and ReLU non-linearities following each layer" (Lambourne, page 7, ¶ [0062]), that "[f]ollowing the MLP 414, a matrix Z ∈ R^(|c|×3s) is generated, and the rows of Z are associated with coedges in the B-Rep" (Lambourne, page 7, ¶ [0063]), and that this output is partitioned as Z = [H_c^(t+1) | Z_f | Z_e] (Lambourne, page 7, ¶ [0064], Eq. (3)), the three parts corresponding respectively to the recited co-edge part, face part and edge part. The input to the MLP is the concatenated feature vector of the co-edge, namely the ith row of Y populated with the concatenated hidden state vectors of the entities defined by the kernel with starting coedge c_i (Lambourne, page 7, ¶ [0061], Eq. (2)). "where ψ_CC^(i), ψ_CF^(i), ψ_CE^(i) have the same dimension h such that dimension of ψ_c^(i) is 3*h" Lambourne teaches that the three parts have equal width and that the output has three times that width, in that "the matrix Z is can be first split into three sub-matrices of size |c|×s" (Lambourne, page 7, ¶ [0064]), the output matrix being Z ∈ R^(|c|×3s) (Lambourne, page 7, ¶ [0063]). The hidden-state width s of Lambourne corresponds to the recited dimension h, and the output width 3s corresponds to the recited dimension 3*h. Lambourne further teaches that the MLP layers other than the first "can have a size that is three times the width of the hidden states s" (Lambourne, page 7, ¶ [0062]), and that the width of the hidden states is defined by a hyper-parameter s (Lambourne, page 6, ¶ [0060]). "X_c^(i+1) = ψ_CC^(i)" and "X_c^(i+1) is the computed new co-edge feature for the output ψ_c^(i) of the dense neural network for co-edge c" Lambourne teaches that the first part of the MLP output is taken directly as the new co-edge feature without further computation, in that "H_c^(t+1) is the matrix of hidden states for the coedges in the next layer, which requires no further processing" (Lambourne, page 7, ¶ [0064], Eq. (3)). "X_E^(i+1) = MaxPool(ψ_CE1^(i), ψ_CE2^(i))" and "X_E^(i+1) is the computed new edge feature for edge E where ψ_CE1^(i) and ψ_CE2^(i) correspond to the feature vectors of its two associated co-edges" Lambourne teaches that the new edge feature is the element-wise maximum over the MLP outputs of the co-edges belonging to that edge, in that the program applies an "element wise max pooling 416 procedure to Z_f and Z_e," where z_j is the jth row of Z_e and C(e_i) is the set of coedges of edge e_i, h_i, z_j and C(e_i) having "equivalent meanings for edges" (Lambourne, page 7, ¶ [0064], Eq. (4); FIG. 4, entity pooling 416). That the set so pooled consists of exactly two co-edges is taught by Lambourne in that the disclosure focuses on "closed and manifold B-Reps where each coedge has exactly one mating coedge" (Lambourne, page 4, ¶ [0043]), so that each edge is associated with a co-edge and its mate. "X_F^(i+1) = MaxPool(ψ_CF1^(i),…, ψ_CFk^(i))" and "X_F^(i+1) is the computed new face feature for face F where ψ_CF1^(i),…, ψ_CFk^(i) correspond to the features of its k associated co-edges" Lambourne teaches that the new face feature is the element-wise maximum over the MLP outputs of the co-edges of that face, in that the same element-wise max pooling procedure is applied to Z_f, where "C(f_i) is the set of coedges with parent face f_i" and z_j is the jth row of Z_f (Lambourne, page 7, ¶ [0064], Eq. (4)), the number of co-edges in that set corresponding to the recited k. Lambourne further teaches the purpose of this pooling, in that the performance of the network is greatly enhanced by pooling information from the coedges onto their parent faces and edges in each convolution unit (Lambourne, page 7, ¶ [0063], [0066]). As to Claim 6, the limitations of Claims 1 and 2 from which Claim 6 depends are rejected under the same rationale set forth above with respect to Claims 1 and 2. Claim 6 further recites: "wherein the Deep CAD neural network is configured to apply the convolution module repeatedly" Lambourne teaches repeated application of the convolution module by the network, in that "the input feature vectors from faces, edges and coedges can be passed through a stack of T convolution units to generate hidden states H_f^(t), H_e^(t) and H_c^(t)," the hidden state matrices being generated following each convolution unit t 410 (Lambourne, page 6, ¶ [0060]; FIG. 4, network architecture 400 showing convolution unit t 410 and final convolution unit 420). "a predetermined number of times" Lambourne teaches that the number of repetitions is set in advance as the fixed depth T of the stack, and identifies the particular numbers used, in that the described experiments were run with networks of a set number of convolution units and reported accuracy and IoU for each such configuration, where "each with a two layer MLP" and the widths were set to keep the total number of network parameters as close as possible between configurations (Lambourne, page 9, ¶ [0083]–[0084]). Lambourne further teaches the effect of selecting that number, in that stacking additional units allows information from a wider region of the B-Rep to be captured, with the effects of the kernel choice on the receptive field being described in connection with the kernel configurations of FIGS. 8A–8B (Lambourne, page 9, ¶ [0084]; page 8, ¶ [0079]). As to Claim 7, the limitations of Claims 1 and 2 from which Claim 7 depends are rejected under the same rationale set forth above with respect to Claims 1 and 2. Claim 7 further recites: “wherein the Deep CAD neural network is further configured to compute global feature vectors by performing an aggregation of face feature vectors, the aggregation being based on a Max Pooling method or on an Attention Mechanism method.” Lambourne teaches this limitation, broken into the following sub-limitations. "wherein the Deep CAD neural network is further configured to compute global feature vectors" Lambourne teaches computing vector representations of the B-rep entities, in that the collections of faces or edges are represented using vectors of numbers for faces, edges and coedges in a multi-dimensional embedding space (Lambourne, page 6, ¶ [0057]). However, Lambourne does not teach the limitations of Claim 7. In the same field of endeavor, Jayaraman teaches "wherein the Deep CAD neural network is further configured to compute global feature vectors," in that the trained graph neural network computes and outputs a shape embedding for the whole object based on the hidden node feature vectors, the shape embedding 178 being computed using equation (4) as the sum of the linearly projected graph-level feature vectors, each projected into a 128-dimensional vector using learned weights w(k) and biases b(k) (Jayaraman, pages 10–11, ¶ [0102]–[0103]; FIG. 3, trained graph neural network 360 outputting shape embedding 178). "by performing an aggregation of face feature vectors" Jayaraman teaches that the aggregation is performed over the per-face vectors, in that the trained graph neural network computes hierarchical graph-level feature vectors h(k) for k ∈ 0…K across the nodes 222(1)–222(N) using equations (3a) and (3b) (Jayaraman, page 10, ¶ [0102]), where those nodes are the faces of the B-rep, the face-adjacency graph including "nodes that represent the faces in the B-rep" (Jayaraman, page 3, ¶ [0028]), and the hidden node feature vectors being generated by message passing over the face-adjacency graph 220 from the node feature vectors 320(1)–320(N), one for each face (Jayaraman, pages 9–10, ¶ [0096], [0099]; FIG. 3). "the aggregation being based on a Max Pooling method or on an Attention Mechanism method" Jayaraman teaches the first recited alternative, in that the trained graph neural network 360 "applies an element-wise max-pooling operation across the nodes 222(1)-222(N) to compute hierarchical graph-level feature vectors h(k)" using equations (3a) and (3b) (Jayaraman, page 10, ¶ [0102]). The limitation is recited in the alternative, so the disclosure of a Max Pooling method satisfies it. Lambourne and Jayaraman are analogous to the claimed invention as both are from the same field of endeavor of machine learning applied to boundary representation data of 3D CAD models. Therefore, 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 coedge-based convolution module of Lambourne, which computes a new face feature vector for each face in each convolution unit (Lambourne, page 7, ¶ [0064], [0066]), with the element-wise max-pooling aggregation of face feature vectors into a shape embedding of Jayaraman. The motivation to combine Lambourne and Jayaraman is as recited by Jayaraman (page 7, ¶ [0062]), namely that when the encoder is trained to cluster shape embeddings of objects that look similar, the trained model "can be used to automatically identify 3D CAD objects having shapes that are visually similar to a specified 3D CAD object." Lambourne expressly directs the skilled artisan to this work, identifying U.S. patent application Ser. No. 17/348,338, filed on Jun. 15, 2021, as incorporated by reference in its entirety (Lambourne, page 5, ¶ [0051]), which published as Jayaraman. As to Claim 8, the limitations of Claims 1, 2 and 7 from which Claim 8 depends are rejected under the same rationale set forth above with respect to Claims 1, 2 and 7. Claim 8 further recites: “wherein the learning of the Deep CAD neural network includes performing a contrastive learning to train the Deep CAD neural network to compute a topological signature of a global feature vector.” Lambourne teaches this limitation, broken into the following sub-limitations. "wherein the learning of the Deep CAD neural network includes performing a contrastive learning" Lambourne teaches label-free training of the network on B-rep data, in that multiple 3D models in B-Rep format can be processed by the machine learning algorithm in a self-supervised manner using adjacency relationships including ordering information for coedges (Lambourne, page 6, ¶ [0058]; FIG. 2B, element 250). However, Lambourne does not teach the limitations of Claim 8. In the same field of endeavor, Jayaraman teaches "wherein the learning of the Deep CAD neural network includes performing a contrastive learning," in that the training application implements unsupervised learning techniques to generate the trained model, some examples of which include contrastive learning techniques and techniques for implementing and training autoencoders (Jayaraman, page 6, ¶ [0060]), and in that "the training application 130 implements any number and/or types of contrastive learning techniques to train the UV-net encoder" (Jayaraman, page 6, ¶ [0061]). Jayaraman further teaches the mechanics of that contrastive learning, namely that transformation operations are performed on the representations of the training set to generate positive pairs of positive views, that a 3-layer MLP projection head maps the positive pairs to latent vectors, and that a normalized temperature-scaled cross-entropy loss is computed on the latent vectors of positive pairs and back-propagated to update the learnable parameters of the encoder and the projection head (Jayaraman, pages 6–7, ¶ [0061]–[0062]). "to train the Deep CAD neural network to compute a topological signature of a global feature vector" Jayaraman teaches that the contrastive training is directed to producing the global embedding of the model, in that the encoder is trained "to cluster shape embeddings of 3D CAD objects that look similar, while pushing apart shape embeddings of 3D CAD objects that look dissimilar" (Jayaraman, page 6, ¶ [0061]), the shape embedding being the global vector computed by element-wise max-pooling across the nodes and projection and summation under equations (3a), (3b) and (4) (Jayaraman, pages 10–11, ¶ [0102]–[0103]). Jayaraman further teaches that the embedding so computed is a signature of the topology of the B-rep, disclosing an encoder configured "to generate face encoding sets and optionally shape encoding based on topology but not geometry," in which the surface CNN and the curve CNN are omitted and the associated node feature vectors and edge feature vectors are replaced with noise sampled from a normal distribution (Jayaraman, page 8, ¶ [0075]). Lambourne and Jayaraman are analogous to the claimed invention as both are from the same field of endeavor of machine learning applied to boundary representation data of 3D CAD models. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to train the coedge-based network of Lambourne, which is already stated to be trainable in a self-supervised manner (Lambourne, page 6, ¶ [0058]), using the contrastive learning of Jayaraman on the global shape embedding. The motivation to combine Lambourne and Jayaraman is as recited by Jayaraman (page 7, ¶ [0062]), namely that when the encoder is trained to cluster shape embeddings of objects that look similar, the trained model "can be used to automatically identify 3D CAD objects having shapes that are visually similar to a specified 3D CAD object," and Lambourne likewise seeks to identify collections of faces or edges as being similar to those in other 3D models processed by the machine learning algorithm (Lambourne, page 7, ¶ [0066]). As to independent Claim 11, the preamble recites the machine-learning process of obtaining a training dataset of B-rep graphs, the recited graph nodes and graph edges, and the learning of a Deep CAD neuralture network configured to take as input a B-rep graph and to output a topological signature of the B-rep represented by the input B-rep graph. Those limitations are identical to the corresponding limitations of Claim 1 and are rejected under the same rationale set forth above with respect to Claim 1. Claim 11 further recites: "obtaining a B-rep graph representing a B-rep; and" Lambourne teaches obtaining a B-rep graph representing a B-rep at inference time, in that the structural modelling program obtains a 3D model of an object having one or more modelled manifolds defined by a B-Rep data structure and generates the feature matrices from the B-Rep data structure entities, including the adjacency relationships among the coedges (Lambourne, page 5, ¶ [0046]; FIG. 2A, obtain 200 and generate 210), those matrices being the face, edge and coedge feature matrices Xf, Xe and Xc together with the matrices N, P, M, F and E that encode the graph connections (Lambourne, page 5, ¶ [0048], [0050], Eq. (1)). Lambourne teaches related subject matter as to applying the learned network, in that the identifying 270 of a collection of faces or edges as being similar to collections in other 3D models can use similarity of "the vectors of numbers assessed using cosine similarity or Euclidean distance" in a multi-dimensional embedding space (Lambourne, pages 6–7, ¶ [0057], [0066]; FIG. 2B, element 270). However, Lambourne does not teach the following limitation. "applying the neural network to the B-rep graph, thereby obtaining a topological signature of the B-rep." In the same field of endeavor, Jayaraman teaches applying the trained neural network to the graph obtained from the B-rep and thereby obtaining the signature of that B-rep, in that the inference application 190 acquires the trained end-to-end machine learning model 160, configures the parameter domain graph application 120 to generate the representation based on the B-rep 104, and inputs that representation into the trained model, which outputs the final result 198 for the 3D CAD object originally represented by the B-rep 104, the final result including the shape embedding 178 (Jayaraman, page 7, ¶ [0065]–[0066], [0071]; FIG. 1). Jayaraman teaches that the embedding so obtained is computed from the graph by the trained graph neural network, which "applies an element-wise max-pooling operation across the nodes 222(1)-222(N)" to compute graph-level feature vectors h(k) under equations (3a) and (3b), which are then linearly projected and summed to compute the shape embedding 178 under equation (4) (Jayaraman, pages 10–11, ¶ [0102]–[0103]; FIG. 3). Jayaraman further teaches that this embedding is a signature of the topology of the B-rep, disclosing an encoder configured "to generate face encoding sets and optionally shape encoding based on topology but not geometry," in which the associated node feature vectors and edge feature vectors are replaced with noise sampled from a normal distribution (Jayaraman, page 8, ¶ [0075]), and that the resulting embedding is used by a CAD tool that "determines one or more similarities in shape between the first 3D CAD object and a second 3D CAD object based at least in part on the final result" (Jayaraman, page 15, claim 10). Lambourne and Jayaraman are analogous to the claimed invention as both are from the same field of endeavor of machine learning applied to boundary representation data of 3D CAD models. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to apply the trained coedge-based network of Lambourne to an obtained B-rep graph so as to output the shape embedding of Jayaraman. The motivation to combine Lambourne and Jayaraman is as recited by Jayaraman (page 7, ¶ [0062]), namely that the trained model "can be used to automatically identify 3D CAD objects having shapes that are visually similar to a specified 3D CAD object." Lambourne expressly directs the skilled artisan to this work, identifying U.S. patent application Ser. No. 17/348,338, filed on Jun. 15, 2021, as incorporated by reference in its entirety (Lambourne, page 5, ¶ [0051]), which published as Jayaraman. As to independent Claim 12, the limitations directed to implementing machine-learning, namely obtaining a training dataset of B-rep graphs, the recited graph nodes and graph edges, and learning a Deep CAD neural network configured to take as input a B-rep graph and to output a topological signature of the B-rep represented by the input B-rep graph, are identical to the corresponding limitations of Claim 1 and are rejected under the same rationale set forth above with respect to Claim 1. The limitations directed to implementing a neural network learnable by machine-learning, namely obtaining a B-rep graph representing a B-rep and applying the neural network to the B-rep graph, thereby obtaining a topological signature of the B-rep, are identical to the corresponding limitations of Claim 11 and are rejected under the same rationale set forth above with respect to Claim 11. The two branches are recited in the alternative by the conjunction "and/or," such that either branch satisfies the claim. Claim 12 further recites: "A device comprising: a non-transitory computer-readable data storage medium having recorded thereon a computer program" Lambourne teaches a device comprising a non-transitory computer-readable data storage medium having a computer program recorded thereon, in that the data processing apparatus 900 stores "instructions that implement operations associated with the program(s) described above" on the computer readable medium 916 or on one or more additional devices 914, "for example, one or more of a hard disk device, an optical disk device, a tape device, and a solid state memory device" (Lambourne, pages 10–11, ¶ [0092]; FIG. 9), and that the described embodiments can be implemented as computer program instructions "encoded on a non-transitory computer readable medium" (Lambourne, page 11, ¶ [0093]). Lambourne further claims "[a] non-transitory computer-readable medium encoding instructions operable to cause data processing apparatus to perform operations" comprising the recited method (Lambourne, page 13, claim 24). "that when executed by a processor causes the processor to be configured to:" Lambourne teaches that execution of the recorded program by a processor configures the processor to perform the recited operations, in that the data processing apparatus 900 includes one or more processors 912, each of which "is capable of processing instructions for execution" within the apparatus and can be a single or multi-threaded processor (Lambourne, pages 10–11, ¶ [0090]), and in that the claimed system comprises "a data processing apparatus including at least one hardware processor" configured to perform the recited operations (Lambourne, page 13, claim 23; page 2, ¶ [0018], processor 112 and memory 114 of computer 110 running CAD program(s) 116 with ML process(es)). Claim 13 is rejected under 35 U.S.C. 103 for the same reasons set forth above with respect to Claim 2, the limitations of Claim 13 being commensurate in scope with those of Claim 2. Claim 14 is rejected under 35 U.S.C. 103 for the same reasons set forth above with respect to Claim 3, the limitations of Claim 14 being commensurate in scope with those of Claim 3. Claim 15 is rejected under 35 U.S.C. 103 for the same reasons set forth above with respect to Claim 4, the limitations of Claim 15 being commensurate in scope with those of Claim 4. Claim 16 is rejected under 35 U.S.C. 103 for the same reasons set forth above with respect to Claim 5, the limitations of Claim 16 being commensurate in scope with those of Claim 5. As to Claim 17, the limitations of Claim 12 from which Claim 17 depends are rejected under the same rationale set forth above with respect to Claim 12. Claims 17 further recite: "further comprising the processor coupled to the non-transitory computer-readable data storage medium." Lambourne teaches a device that further comprises the processor coupled to the non-transitory computer-readable data storage medium, in that the data processing apparatus 900 includes one or more processors 912, a computer readable medium 916, one or more additional devices 914, a communication interface 918 and one or more user interface devices 920, the processors 912 each being "capable of processing instructions for execution within the data processing apparatus 900" (Lambourne, pages 10–11, ¶ [0090]; FIG. 9). Lambourne further teaches that the apparatus stores the instructions implementing the described programs on the computer readable medium 916 or on one or more additional devices 914, for example a hard disk device, an optical disk device, a tape device, or a solid state memory device (Lambourne, page 11, ¶ [0092]), and claims a system comprising "a data processing apparatus including at least one hardware processor" together with the medium encoding the instructions (Lambourne, page 13, claim 23). Lambourne additionally teaches the same coupling in the client configuration, in which computer 110 includes processor 112 and memory 114 storing the CAD program(s) 116 with the machine-learning process(es) (Lambourne, page 2, ¶ [0018]; FIG. 1A). . As to Claim 18, the limitations of Claims 12 and 13 from which Claim 18 depends are rejected under the same rationale set forth above with respect to Claims 12, 13, and 17. As to Claim 19, the limitations of Claims 12, 13 and 14 from which Claim 19 depends are rejected under the same rationale set forth above with respect to Claims 12, 13, 14, and 17. As to Claim 20, the limitations of Claims 12, 13, 14 and 15 from which Claim 20 depends are rejected under the same rationale set forth above with respect to Claims 12, 13, 14, 15, and 17. Claim 9 is rejected under 35 U.S.C. 103 as being unpatentable over Lambourne (Lambourne), US 2022/0156430 A1, in view of Jayaraman et al. (Jayaraman), US 2022/0318637 A1, further in view of Jayaraman et al. (Jayaraman-UV-Net), Non-Patent Literature, "UV-Net: Learning from Boundary Representations," arXiv:2006.10211v2 [cs.CV], published 26 April 2021, and further in view of Zhu et al. (Zhu), Non-Patent Literature, "Graph Contrastive Learning with Adaptive Augmentation," arXiv:2010.14945v3 [cs.LG], published 26 February 2021. As to Claim 9, the limitations of Claims 1, 2, 7 and 8 from which Claim 9 depends are rejected under the same rationale set forth above with respect to Claims 1, 2, 7 and 8. Lambourne teaches training the network on B-rep data without labels, in that multiple 3D models in B-Rep format can be processed by the machine learning algorithm in a self-supervised manner using adjacency relationships including ordering information for coedges (Lambourne, page 6, ¶ [0058]; FIG. 2B, element 250). However, Lambourne does not teach the following limitations of Claim 9. "wherein the contrastive learning is based on positive transformations that include:" In the same field of endeavor, Jayaraman teaches that the contrastive learning is based on positive transformations, in that the training application "implements any number/and or types of transformation operations on the UV-net representations included in the UV-net training set 148 to generate positive pairs of positive views," which positive pairs are mapped by a 3-layer MLP projection head to latent vectors used in the contrastive loss (Jayaraman, pages 6–7, ¶ [0061]–[0062]). "assigning a random geometry to an edge with a probability," Jayaraman teaches randomly altering the geometry attached to the edges of the representation, in that the training application can execute "any number and/or types of geometric transforms (e.g., rotation, isotropic scaling, anisotropic scaling, etc.)" and can perform "Boolean addition operations, Boolean subtraction operations, intersection operations, random geometric transformation operations, or any combination thereof" on any number of the representations (Jayaraman, page 7, ¶ [0061]), and in that the curve CNN is omitted and the "associated node feature vectors and edge feature vectors are replaced with noise sampled from a normal distribution" (Jayaraman, page 8, ¶ [0075]). "assigning a random geometry to a face with a probability," Jayaraman teaches the same transformations applied to the faces, in that the geometric transform, Boolean and offset operations recited above are performed on the UV-net representation as a whole, which includes the 2D UV-grids carrying the surface geometry of each face (Jayaraman, page 7, ¶ [0061]; page 5, ¶ [0044]), and in that the surface CNN is omitted and the node feature vectors, which correspond to the faces of the B-rep, are replaced with noise sampled from a normal distribution (Jayaraman, page 8, ¶ [0075]; page 3, ¶ [0028]). Lambourne and Jayaraman are analogous to the claimed invention as both are from the same field of endeavor of machine learning applied to boundary representation data of 3D CAD models. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to train the coedge-based network of Lambourne using the positive transformations of Jayaraman. The motivation to combine Lambourne and Jayaraman is as recited by Jayaraman (page 7, ¶ [0062]), namely that the encoder so trained "can be used to automatically identify 3D CAD objects having shapes that are visually similar to a specified 3D CAD object." The combination of Lambourne and Jayaraman, however, does not teach the following limitations. "the identity transformation," In the same field of endeavor, Jayaraman-UV-Net teaches the identity transformation as one of the positive transformations, in that two i.i.d. transformations T1 and T2 are uniformly sampled to obtain two positive views of a B-rep, and "[o]ccasionally (10% of the time), we set T1 to the identity transformation so that the global shape is available to the neural network to associate with the other partial views" (Jayaraman-UV-Net, page 6, column 2, Section 4.2.3). "deleting an edge with a probability p," Jayaraman-UV-Net teaches deleting edges of the graph with a probability, in that the transformation "Drop edges" consists of randomly deleting edges with uniform probability 0.4, "to encourage B-reps that look similar visually, but have different topology be clustered together" (Jayaraman-UV-Net, page 6, column 2, Section 4.2.3). Lambourne, Jayaraman and Jayaraman-UV-Net are analogous to the claimed invention as all are from the same field of endeavor of machine learning applied to boundary representation data of 3D CAD models. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to include the identity transformation and the probabilistic edge deletion of Jayaraman-UV-Net among the positive transformations of the combination. The motivation to combine Lambourne, Jayaraman and Jayaraman-UV-Net is as recited by Jayaraman-UV-Net (page 6, column 2, Section 4.2.3), namely that the identity transformation makes the global shape available to the network to associate with the partial views, and that dropping edges causes B-reps that look similar but differ topologically to be clustered together. The combination of Lambourne, Jayaraman and Jayaraman-UV-Net, however, does not teach the following limitations. "replacing the feature vector of a face with zeros with a probability, and" In the same field of endeavor, Zhu teaches zeroing the feature vector of a node with a probability, in that on the node attribute level noise is added to node attributes "via randomly masking a fraction of dimensions with zeros in node features," where a random vector is sampled with each dimension drawn independently from a Bernoulli distribution with parameter 1 − p_f, from which the masked node features are computed (Zhu, page 5, column 2, Section 3.3.2). In the B-rep graph of the combination, the nodes represent the faces of the B-rep (Jayaraman, page 3, ¶ [0028]), so this zeroing operates on the feature vector of a face. "this deletion not being applied if the deleting disconnects a face from the input B-rep graph." Zhu teaches conditioning the edge deletion on preservation of the connective structure of the graph, in that the augmentation schemes are designed "to keep important structures and attributes unchanged, while perturbing possibly unimportant links and features," the input graph being corrupted "by randomly removing edges and masking node features" (Zhu, page 4, column 1, Section 3.2), and in that the removal probability p^e_uv of equation (4) is skewed so that "the augmentation function are more likely to corrupt unimportant edges while keep important connective structures intact in augmented views," with a cut-off probability p_τ < 1 truncating the removal probabilities "since extremely high removal probabilities will lead to overly corrupted graph structures" (Zhu, page 4, column 2, Section 3.3.1). Applying this teaching to a B-rep graph, one of ordinary skill would withhold deletion of an edge whose removal would disconnect a face from the graph, such an edge being an important connective structure. Lambourne, Jayaraman, Jayaraman-UV-Net and Zhu are analogous to the claimed invention as all are from the same field of endeavor of machine learning on graph-structured data, and Zhu is further reasonably pertinent to the problem of generating positive views for contrastive learning without destroying the topology of the input graph. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to include the zero-masking of node features and the connectivity-preserving edge removal of Zhu among the positive transformations of the combination. The motivation to combine Lambourne, Jayaraman, Jayaraman-UV-Net and Zhu is as recited by Zhu (page 4, columns 1–2, Sections 3.2 and 3.3.1), namely that augmentation schemes which keep important connective structures intact while perturbing unimportant links and features cause the model to learn the important patterns underneath the input graph, and Lambourne confirms that benefit for B-rep data, stating that where the edges of the B-Rep do not form a connected graph "information cannot flow between the loops of multi-loop faces" (Lambourne, page 7, ¶ [0063]). Claim 10 is rejected under 35 U.S.C. 103 as being unpatentable over Lambourne (Lambourne), US 2022/0156430 A1, in view of Jayaraman et al. (Jayaraman), US 2022/0318637 A1, and further in view of Chen et al. (Chen), Non-Patent Literature, "A Simple Framework for Contrastive Learning of Visual Representations," arXiv:2002.05709v3 [cs.LG], published 1 July 2020. As to Claim 10, the limitations of Claims 1, 2, 7 and 8 from which Claim 10 depends are rejected under the same rationale set forth above with respect to Claims 1, 2, 7 and 8. Lambourne teaches to training the network without labels and to measuring similarity between learned vectors, in that multiple 3D models in B-Rep format can be processed by the machine learning algorithm in a self-supervised manner (Lambourne, page 6, ¶ [0058]), and in that similarity between collections of faces or edges represented in a multi-dimensional embedding space can be assessed "using cosine similarity or Euclidean distance" (Lambourne, page 7, ¶ [0066]). However, Lambourne does not teach the following limitations of Claim 10. "wherein the contrastive learning includes minimizing a normalized temperature-scaled cross entropy loss" In the same field of endeavor, Jayaraman teaches minimizing a normalized temperature-scaled cross entropy loss in the contrastive learning, in that "the training application 130 uses normalized temperature-scaled cross-entropy as a contrastive loss function," computes a normalized temperature-scaled cross-entropy loss based on the latent vectors of positive pairs, and then performs backpropagation operations and gradient descent operations on the encoder and the MLP projection head based on that loss to update their learnable parameters (Jayaraman, page 7, ¶ [0062]). "where (i,j) represents a positive pair and (Z_i, Z_j) represents an embedding of the positive pair by the Deep CAD neural network" Jayaraman teaches that the loss is computed over positive pairs and their embeddings produced by the network, in that transformation operations are performed on the representations "to generate positive pairs of positive views," and the training application "uses the parameter domain graph application 120 and a 3-layer MLP projection head to map the positive pairs to latent vectors," the loss being computed "based on the latent vectors of positive pairs" (Jayaraman, pages 6–7, ¶ [0061]–[0062]). Lambourne and Jayaraman are analogous to the claimed invention as both are from the same field of endeavor of machine learning applied to boundary representation data of 3D CAD models. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to train the coedge-based network of Lambourne by minimizing the normalized temperature-scaled cross-entropy contrastive loss of Jayaraman. The motivation to combine Lambourne and Jayaraman is as recited by Jayaraman (page 7, ¶ [0062]), namely that the encoder so trained "can be used to automatically identify 3D CAD objects having shapes that are visually similar to a specified 3D CAD object." The combination of Lambourne and Jayaraman, however, does not teach the following limitations. "that is based on a cosine similarity, the loss being of a type: L(i,j) = − log [ e^sim(Z_i, Z_j) / Σ_{k=1}^{2N} 1_[k≠i] e^sim(Z_i, Z_k) ]," In the same field of endeavor, Chen teaches a normalized temperature-scaled cross entropy loss of the recited type, based on a cosine similarity, in that "the loss function for a positive pair of examples (i, j) is defined as" ℓ_i,j = − log [ exp(sim(z_i, z_j)/τ) / Σ_{k=1}^{2N} 1_[k≠i] exp(sim(z_i, z_k)/τ) ], "where 1_[k≠i] ∈ {0, 1} is an indicator function evaluating to 1 iff k ≠ i and τ denotes a temperature parameter," the loss being termed "NT-Xent (the normalized temperature-scaled cross entropy loss)" (Chen, page 2, column 2, Section 2.1, Eq. (1); page 3, column 1, Algorithm 1). Chen further teaches that the sum runs over the 2N augmented examples of a minibatch, the other 2(N − 1) augmented examples within a minibatch being treated as negative examples (Chen, page 2, column 2, Section 2.1). The recited expression is Chen's Eq. (1) with the temperature parameter τ equal to 1, and is therefore a loss "of a type" taught by Chen. "and where sim is the cosine similarity defined by formula: sim(x,y) = x.y / (‖x‖‖y‖) = Σ_{i=1}^h x_i y_i / ( √(Σ_{i=1}^h x_i²) √(Σ_{i=1}^h y_i²) ), for x,y ∈ ℝ^h." Chen teaches the recited similarity function, in that "sim(u, v) = uᵀv/‖u‖‖v‖" denotes "the dot product between ℓ2 normalized u and v (i.e. cosine similarity)" (Chen, page 2, column 2, Section 2.1), and in that the pairwise similarity is computed as s_i,j = z_iᵀz_j / (‖z_i‖‖z_j‖) (Chen, page 3, column 1, Algorithm 1). The recited summation form is the component-wise expansion of the same dot product and vector norms over vectors of dimension h. Lambourne, Jayaraman and Chen are analogous to the claimed invention as all are from the same field of endeavor of contrastive representation learning for neural networks, and Chen is reasonably pertinent to the problem of learning embeddings from unlabeled data. Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to implement the normalized temperature-scaled cross-entropy loss of the combination using the cosine-similarity formulation of Chen's Eq. (1). The motivation to combine Lambourne, Jayaraman and Chen is as recited by Chen (page 2, column 1, Section 1), namely that "[r]epresentation learning with contrastive cross entropy loss benefits from normalized embeddings and an appropriately adjusted temperature parameter," and Jayaraman itself identifies the normalized temperature-scaled cross-entropy loss as the contrastive loss to be used (Jayaraman, page 7, ¶ [0062]). Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to HUNG VAN LE whose telephone number is (571)270-0164. The examiner can normally be reached 8 a.m. - 5 p.m.. 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. /HUNG VAN LE/Examiner, Art Unit 2145 /CESAR B PAULA/Supervisory Patent Examiner, Art Unit 2145
Read full office action

Prosecution Timeline

Aug 17, 2023
Application Filed
Sep 30, 2026
Non-Final Rejection mailed — §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

Prosecution Projections

1-2
Expected OA Rounds
Grant Probability
Low
PTA Risk
Based on 0 resolved cases by this examiner. Grant probability derived from career allowance rate.

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