DETAILED ACTION
Notice of 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 .
Response to Amendment
Applicant’s Amendment and remarks dated 5/8/2026 have been considered. Claims 1-20 are pending.
Response to Arguments
On page 7 of Applicant’s 5/8/2026 Amendment and remarks, Applicant asserts that paras. 0055-0060 of the instant specification provide support for the amendments to claims 1, 8, and 15.
The examiner agrees that paras. 0055-0060 of the instant specification provide sufficient written description support for the claim amendments.
On page 8 of Applicant’s 5/8/2026 Amendment and remarks, with respect to the rejections to all independent claims under 35 U.S.C. 101, with respect to Step 2A, Prong 1, Applicant argues:
PNG
media_image1.png
138
648
media_image1.png
Greyscale
The examiner finds this argument to be persuasive. As amended, the independent claims no longer recite any mental processes. All rejections under 35 U.S.C. 101 are hereby withdrawn. The examiner respectfully submits that Applicant’s remaining arguments with respect to the rejections under 35 U.S.C. 101 are moot in view of the withdrawal of all of the rejections under 35 U.S.C. 101.
On page 11 of Applicant’s 5/8/2026 Amendment and remarks, with respect to the rejections to all independent claims under 35 U.S.C. 102, Applicant argues that YU does not anticipate the claims because YU does not teach the newly-added “wherein different subsets of the attributes are selected to generate structurally different subgraphs representing real-world relationships among the matched records for training the graph neural network” limitation.
The examiner agrees that YU does not teach this newly-added limitation. All rejections under 35 U.S.C. 102 are hereby withdrawn. However, new rejections under 35 U.S.C. 103 in view of the YU, CHANG, and SMART references are provided herein, where such new grounds of rejection are necessitated by Applicant’s amendments to the independent claims.
On page 12 of Applicant’s 5/8/2026 Amendment and remarks, with respect to the rejections to all independent claims under 35 U.S.C. 102, Applicant argues that YU does not teach “real-world relationships among matched entity records.”
The examiner respectfully disagrees. YU discloses teachings with respect to images of shipping labels, for example (see para. 0015 and Fig. 3). A shipping label is a real-world object, and the relationships among entities within the shipping label are therefore also real-world relationships.
On pages 13-15 of Applicant’s 5/8/2026 Amendment and remarks, with respect to the rejections to dependent claims under 35 U.S.C. 103, Applicant argues that none of the YING, MEYERZON, or GHARAT references teach the newly-added “wherein different subsets of the attributes are selected to generate structurally different subgraphs representing real-world relationships among the matched records for training the graph neural network” limitation.
The examiner agrees that none of the YING, MEYERZON, or GHARAT references teach this limitation. However, new grounds of rejections, using at least the YU, CHANG, and SMART references, are made herein, where such new grounds of rejection are necessitated by Applicant’s amendments to the independent claims.
Claim Objections
Claims 1 and 15 are objected to because of the following informalities:
In claim 1, line 6, “training, by the number of processor units” should be amended to read “training, by [the]a number of processor units”
In claim 15, line 8, “training, by the number of processor units” should be amended to read “training, by [the]a number of processor units”
Appropriate correction is required.
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.
Claims 4-5, 11-12, and 18-19 are rejected under 35 U.S.C. 112(b) as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor regards as the invention.
Claim 4 recites the limitation "creating, by the number processor units, the training dataset comprising the subgraphs of the matched records matched to the entity and having the attributes, wherein the matched records in a subgraph are related to each other by the subset of the attributes" in lines 1-4. There is insufficient antecedent basis for this limitation in the claim in view of such limitation being deleted from independent claim 1.
Claim 5 depends from claim 4, does not remedy the deficiencies of claim 4, and is rejected for the same reasons explained above with respect to claim 4.
Claim 11 recites the limitation "where in creating the training dataset comprising the subgraphs of the matched records matched to the entity and having the attributes, wherein the matched records in a subgraph are related to each other by the subset of the attributes" in lines 1-4. There is insufficient antecedent basis for this limitation in the claim in view of such limitation being deleted from independent claim 8.
Claim 12 depends from claim 11, does not remedy the deficiencies of claim 4, and is rejected for the same reasons explained above with respect to claim 11.
Claim 18 recites the limitation "wherein creating, by the number of processor units, the training dataset comprising the subgraphs of the matched records matched to the entity and having the attributes, wherein the matched records in a subgraph are related to each other by the subset of the attributes" in lines 1-4. There is insufficient antecedent basis for this limitation in the claim in view of such limitation being deleted from independent claim 5.
Claim 19 depends from claim 18, does not remedy the deficiencies of claim 4, and is rejected for the same reasons explained above with respect to claim 18.
Claim Rejections - 35 USC § 103
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 3, 10, and 17 are rejected under 35 U.S.C. 103 as being unpatentable over US 20220129688 A1, hereinafter referenced as YU in view of US 20190377825 A1, hereinafter referenced as CHANG, and further in view of US 20190278760 A1, hereinafter referenced as SMART.
Regarding Claim 1
YU discloses:
A computer implemented method for classifying records, the computer implemented method comprising: (YU, para. 0013: “The present disclosure includes methods and systems for extracting categorizable information, data, or content from an image using a graph that models data within the image.”;
YU, para. 0026: “The data extraction system may then categorize at least one group of text (e.g., text within a bounding box) in the image based on the corresponding node in the constructed graph. In some embodiments, the data extraction system may categorize the group of text based on a structure of the graph, the position of the corresponding node in the graph, attributes of the corresponding node, attributes of the edges connected to the corresponding node, and attributes of other nodes in the graph connected to the corresponding node. In some embodiments, the data extraction system may use a graph neural network to determine a category (e.g., a label, a data type, etc.) associated with the group of texts.”
YU, para. 0090: “FIG. 8 is a block diagram of a computer system 800 suitable for implementing one or more embodiments of the present disclosure”;
Examiner’s Note: YU discloses a data extraction system, implemented on a computer system, that categorizes information and data from images (corresponding to recited “classifying records”))
training, by the number of processor units, a graph neural network using a training dataset, (YU, para. 0089: “The graph neural network 700 may be trained by using training data (e.g., labeled graphs). For example, a graph having a graph node that is labeled as being associated with the particular data category can be used as a training graph. ... By providing training data (multiple training graphs) to the graph neural network 700, the nodes 714-728 in the hidden layers 704 and 706 may be trained (the mutations are adjusted) such that an optimal output (e.g., a node identification) is produced in the output layer 708 based on the training data.”;
Examiner’s Note: YU discloses training a graph neural network 700 using multiple training graphs (corresponding to recited “training dataset”))
wherein the training dataset comprises subgraphs of matched records matched to an entity and the matched records having attributes, and (YU, para. 0024: “In some embodiments, the data extraction system may construct the graph by creating a node for each bounding box created in the image and creating an edge between two nodes based on a connection generated between two corresponding bounding boxes. Thus, each node in the graph may correspond to a distinct bounding box in the image. Each node in the graph may include attributes associated with the corresponding bounding box, such as the features determined for the bounding box. Thus, each node in the graph may include information such as a location of the bounding box in the image, a size of the bounding box, and characteristics of the texts within the bounding box.”
YU, para. 0026: “In some embodiments, the data extraction system may categorize the group of text based on a structure of the graph, the position of the corresponding node in the graph, attributes of the corresponding node, attributes of the edges connected to the corresponding node, and attributes of other nodes in the graph connected to the corresponding node. In some embodiments, the data extraction system may use a graph neural network to determine a category (e.g., a label, a data type, etc.) associated with the group of texts”;
YU, para. 0077: “When multiple nodes are determined to be associated with the particular category (e.g., a tracking number category) based on the prediction model 250, the data extraction manager 202 may determine whether the bounding boxes corresponding to the multiple nodes are connected to each other (e.g., whether the bounding boxes are neighboring bounding boxes) and/or whether the distance(s) between the bounding boxes corresponding to the multiple nodes are below a particular threshold. If it is determined that the bounding boxes are connected to each other or the distances between the bounding boxes are within the particular threshold, the data extraction manager 202 may determine that the text within the bounding boxes are related to each other and correspond to the particular category. The data extraction manager 202 may then merge the text within the bounding boxes.”;
YU, para. 0089: “In some embodiments, a training graph can be generated by historic images (e.g., images of historic shipping labels). Bounding boxes can be generated on a historic image using the techniques described herein, and a graph that models the data in the image can be generated based on the bounding boxes. A node that corresponds to the bounding box that encloses the data of the particular data type can be labeled. The labeled graph can then be used as a training graph for training the graph neural network 700. By providing training data (multiple training graphs) to the graph neural network 700, the nodes 714-728 in the hidden layers 704 and 706 may be trained (the mutations are adjusted) such that an optimal output (e.g., a node identification) is produced in the output layer 708 based on the training data. ... Adjusting the artificial neural network 700 may include adjusting the weights associated with the attributes of the nodes in the graph and/or adjusting the mutations to the nodes in the graph.”
Examiner’s Note: YU discloses creating multiple training graphs from historic images (corresponding to recited “training dataset”) as taught by para. 0089, where each training graph comprises nodes corresponding to bounding boxes (corresponding to recited “subgraphs”), and each node is compared to a category (corresponding to recited “entity”) and associated with the particular category when a distance is below a threshold (corresponding to recited “matched records”))
wherein the matched records in a subgraph are related to each other by a subset of the attributes, and (YU, para. 0025: “The data extraction system may also create an edge in the graph based on each connection generated between two bounding boxes in the image. Thus, each edge in the graph that connects two nodes may correspond to a connection generated between two corresponding bounding boxes. Each edge may also include attributes associated with the corresponding connection, such as a distance between the two connected bounding boxes and an orientation of the connection.”;
Examiner’s Note: YU discloses that each node in a graph (corresponding to recited “matched records”, which are matched to a category as explained above) is connected to another node (relating the nodes) using an edge, where each edge has one or more attributes, and the edge attributes are a subset of all attributes (node attributes + edge attributes))
wherein the graph neural network classifies the records indicating whether the records belong to the entity. (YU, para. 0026: “The data extraction system may then categorize at least one group of text (e.g., text within a bounding box) in the image based on the corresponding node in the constructed graph. In some embodiments, the data extraction system may categorize the group of text based on a structure of the graph, the position of the corresponding node in the graph, attributes of the corresponding node, attributes of the edges connected to the corresponding node, and attributes of other nodes in the graph connected to the corresponding node. In some embodiments, the data extraction system may use a graph neural network to determine a category (e.g., a label, a data type, etc.) associated with the group of texts.”
YU, para. 0074: “In some embodiments, the data extraction manager 202 may use a prediction model 250 for predicting a category for the group of characters. The prediction model 205 may be implemented as a graph neural network, such as a graph recurrent network. In some embodiments, the model configuration module 210 may configure the prediction model 250 to accept a graph (e.g., all of the attributes associated with the nodes and the edges in the graph) as inputs and produce an output based on different aspects of the graph as a whole. For example, the structure of the graph, positions of the nodes within the graph, and edges among different nodes are analyzed by the prediction model 250 to produce the output.”
YU, para. 0076: “In some embodiments, the data extraction manager 202 may use the output from the prediction model 250 to determine which node in the graph 500 corresponds to the particular category (e.g., a shipment tracking number)”
Examiner’s Note: YU discloses that a graph neural network is used to predict a category (corresponding to recited “classifies the records indicating whether the records belong to the entity”, where the category corresponds to the recited “entity”))
However, YU fails to explicitly teach:
wherein different subsets of the attributes are selected to generate structurally different subgraphs representing real-world relationships among the matched records for training the graph neural network
However, in a related field of endeavor (taxonomies representing categories and associated attributes, see para. 0001), CHANG teaches and makes obvious:
wherein different subsets of the attributes are selected ... for training (CHANG, para. 0028: “To adjust the weights of the neural network model, the training module 230 may employ a conventional neural-network learning algorithm, such as, e.g., standard backpropagation of errors with gradient descent, as is well known to those of ordinary skill in the art.”;
CHANG, para. 0030: “In some embodiments, the training data generator 306 first samples attributes from the taxonomy 202, and stores, for each sampled attribute, one or more entries each including the attribute name, a value name, a list of value synonyms, and the category to which the attribute belongs. The subgraphs within the taxonomy 202 that correspond to the selected attributes are then removed from the graph, resulting in an initial redacted taxonomy 308.”;
Examiner’s Note: the YU-CHANG combination now modifies YU to utilize the training data generator of CHANG to select different sampled attributes which are used to generate subgraphs with respect to training a neural network)
Before the effective filing date of the present application, it would have been obvious to one of ordinary skill in the art to combine the teachings of YU with CHANG as explained above. One of ordinary skill would have been motivated to do so in order to synthetically create additional training data. As disclosed by CHANG, one of ordinary skill would have been motivated to select particular entities in order to select synonyms for modifying the training data. (para. 0031).
However, YU and CHANG fail to explicitly teach:
generate structurally different subgraphs representing real-world relationships among the matched records
However, in a related field of endeavor (graph structures for understanding entities and their interrelationships and dependencies, see para. 0045), SMART teaches and makes obvious:
wherein different subsets of the attributes are selected to generate structurally different subgraphs representing real-world relationships among the matched records for training the graph neural network (SMART, para. 0045: “A large segment of analysis is dedicated to understanding real-world (or virtual world) entities and their complex interrelationships and dependencies. In computer science jargon, a representation of this understanding is frequently referred to as computational knowledge.”;
SMART, para. 0068: “Views are similarly hosted on an analytic engine, sharable with other analytics. Views enable researchers to monitor model changes in real time from several different perspectives. This is of critical importance when working to understand the dynamics of many real-world systems (e.g. critical infrastructure, cyberspace).”
SMART, para. 0134: “The roll of an input adapter is to convert information from an input source into a subgraph structure, such as the “dot” networks depicted at the bottom of FIG. 11. It is these subgraph structures that are input into the Black Box, rather than raw data from the input source itself. This is particularly important for both scaling and information security (discussed below). The graph representation choice has two additional benefits. First, patterns can also be specified as attributed subgraphs, where the attributes affixed to specific graph vertex/edge structures specify pattern-matching conditions. In essence, graph patterns (queries) can themselves be readily encoded as subgraph structures. Secondly, the result of a graph pattern match is itself also a subgraph that can subsequently be output from the box. External to the box, this subgraph can be converted via the output adapter into an appropriate format for dissemination”
SMART, para. 0156: “When the logic engine detects a pattern match, the engine generates a results subgraph based upon the output specification affixed as attributes to the pattern subgraph. This results in a subgraph that is then be passed via the output isolator to the output converter and finally the output adapter for dissemination at the output user interface.”
Examiner’s Note: SMART teaches converting information into different subgraphs, where the graphs and subgraphs represent real-world relationships between entities, and where different entity and attribute combinations will have different structures; the YU-CHANG-SMART combination now modifies YU to utilize the subgraph generator of SMART, such that different subsets of attributes as selected by CHANG are input into the subgraph generator of SMART)
Before the effective filing date of the present application, it would have been obvious to one of ordinary skill in the art to combine the teachings of YU with CHANG and SMART as explained above. As disclosed by SMART, one of ordinary skill would have been motivated to do so because SMART teaches techniques for building a hypergraph with “minimal data movement and replication.” (para. 0011). As further disclosed by SMART, one of ordinary skill would have been motivated to generate graph structures because such structures “leverage[e] a large wealth of existing graph analytic tradecraft.” (para. 0134).
Regarding Claim 2
YU, CHANG, and SMART teach the computer implemented method of claim 1. YU further teaches:
receiving, by the number of processor units, a record for classification; (YU, para. 0074: “In some embodiments, the data extraction manager 202 may use a prediction model 250 for predicting a category for the group of characters. The prediction model 205 may be implemented as a graph neural network, such as a graph recurrent network. In some embodiments, the model configuration module 210 may configure the prediction model 250 to accept a graph (e.g., all of the attributes associated with the nodes and the edges in the graph) as inputs and produce an output based on different aspects of the graph as a whole. For example, the structure of the graph, positions of the nodes within the graph, and edges among different nodes are analyzed by the prediction model 250 to produce the output.”
YU, para. 0075: “In some embodiments, the model configuration module 210 may train the prediction model 250 to produce an output that indicates which node in the graph corresponds to a particular category (e.g., a particular label, a particular data type, etc.) and/or a probability (e.g., a percentage) that a particular node corresponds to the particular category.”;
Examiner’s Note: YU discloses that the prediction model 250 accepts a graph (corresponding to “receiving ... a record for classification”), where the graph includes nodes (corresponding to recited “records”) and where the prediction model accepts such graph for the purpose of identifying nodes and corresponding categories)
sending, by the number of processor units, the record to the graph neural network trained using the training dataset; and YU, para. 0074: “In some embodiments, the data extraction manager 202 may use a prediction model 250 for predicting a category for the group of characters. The prediction model 205 may be implemented as a graph neural network, such as a graph recurrent network. In some embodiments, the model configuration module 210 may configure the prediction model 250 to accept a graph (e.g., all of the attributes associated with the nodes and the edges in the graph) as inputs and produce an output based on different aspects of the graph as a whole. For example, the structure of the graph, positions of the nodes within the graph, and edges among different nodes are analyzed by the prediction model 250 to produce the output.”
YU, para. 0089: “The graph neural network 700 may be trained by using training data (e.g., labeled graphs). For example, a graph having a graph node that is labeled as being associated with the particular data category can be used as a training graph. ... By providing training data (multiple training graphs) to the graph neural network 700, the nodes 714-728 in the hidden layers 704 and 706 may be trained (the mutations are adjusted) such that an optimal output (e.g., a node identification) is produced in the output layer 708 based on the training data.”;
Examiner’s Note: YU discloses that the prediction model 250 (implemented as a graph neural network) accepts a graph that is provided by the data extraction manager 202 (corresponding to recited “sending ... the record to the graph neural network”))
receiving, by the number of processor units, a result of whether the record is classified as belonging to the entity from the graph neural network. (YU, para. 0075: “In some embodiments, the model configuration module 210 may train the prediction model 250 to produce an output that indicates which node in the graph corresponds to a particular category (e.g., a particular label, a particular data type, etc.) and/or a probability (e.g., a percentage) that a particular node corresponds to the particular category.”;
Examiner’s Note: YU discloses that the prediction model 250 accepts a graph, where the graph includes nodes (corresponding to recited “records”) and where the prediction model accepts such graph for the purpose of identifying nodes and corresponding categories (corresponding to recited “result of whether the record is classified as belonging to the entity from the graph neural network”)
Regarding Claim 6
YU, CHANG, and SMART teach the computer implemented method of claim 1. YU further teaches:
setting, by the number of processor units, weights for the attributes in the graph neural network; and (YU, para. 0087: “In this example, the graph neural network 700 receives a graph (e.g., attributes of the graph nodes and graph edges) as an input in the node 712, and produces an output value at the node 730. In some embodiments, each of the nodes 714-720 in the hidden layer 704 mutates the attributes in a graph node based on other graph nodes that are directly connected to the graph node. The mutation may be based on a mathematical computation (or algorithm) that produces a value based on the input values corresponding to the attributes of the graph node. The mathematical computation may include assigning different weights to each attribute in the graph node. In some embodiments, the weights that are initially used by each of the nodes 714-720 may be randomly generated (e.g., using a computer randomizer). The mutations generated by the nodes 714-720 may be used by the nodes 722-728 in the second hidden layer 706 to further mutate the graph nodes in the graph.”;
Examiner’s Note: YU discloses an embodiment where a mathematical calculation is used to assign weights to attributes in the graph neural network 700)
training, by the number of processor units, the graph neural network using the weights set for the attributes. (YU, para. 0089: “By continuously providing different sets of training data, and penalizing the graph neural network 700 when the output of the graph neural network 700 is incorrect (e.g., when the output node does not match the labeled graph node in the graph), the graph neural network 700 (and specifically, the hidden layers 704 and 706) may be trained (adjusted) to improve its performance in predicting a node (e.g., bounding box) associated with the particular category. Adjusting the artificial neural network 700 may include adjusting the weights associated with the attributes of the nodes in the graph and/or adjusting the mutations to the nodes in the graph.”;
Examiner’s Note: YU discloses an embodiment where the weights of the graph network 700 are adjusted and trained for weights associated with attributes)
Regarding Claim 8
YU teaches:
A computer system comprising: a number of processor units, wherein the number of processor units executes program instructions to: (YU, para. 0092: “The computer system 800 performs specific operations by the processor 814 and other components by executing one or more sequences of instructions contained in the system memory component 810. For example, the processor 814 can perform the data extraction functionalities described herein according to the process 600.”)
The remaining limitations correspond to the method of claim 1 and are rejected for the same reasons explained above with respect to claim 1.
Claim 9 depends from claim 8 and claims a computer system that corresponds to the method of claim 2, and is therefore rejected for the same reasons explained above with respect to claims 2 and 8.
Claim 13 depends from claim 9 and claims a computer system that corresponds to the method of claim 6, and is therefore rejected for the same reasons explained above with respect to claims 6 and 9.
Regarding Claim 15
YU teaches:
A computer program product for matching records, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computer system to cause the computer system to perform a method of: (YU, para. 0092: “The computer system 800 performs specific operations by the processor 814 and other components by executing one or more sequences of instructions contained in the system memory component 810. For example, the processor 814 can perform the data extraction functionalities described herein according to the process 600.”)
The remaining limitations correspond to the method of claim 1 and are rejected for the same reasons explained above with respect to claim 1.
Claim 16 depends from claim 15 and claims a computer program product that corresponds to the method of claim 2, and is therefore rejected for the same reasons explained above with respect to claims 2 and 15.
Claim 20 depends from claim 15 and claims a computer program product that corresponds to the method of claim 6, and is therefore rejected for the same reasons explained above with respect to claims 6 and 15.
Claims 3, 10, and 17 are rejected under 35 U.S.C. 103 as being unpatentable over YU in view of CHANG and SMART, and further in view of Ying, Rex, et al. "GNNExplainer: Generating Explanations for Graph Neural Networks." arXiv preprint arXiv:1903.03894 (2019), hereinafter referenced as YING.
Regarding Claim 3
YU, CHANG, and SMART disclose the method of claim 2 as explained above. However, YU, CHANG, and SMART fail to explicitly teach:
receiving, by the number of processor units, a group of the attributes forming a basis for the result.
However, in a related field of endeavor (graph neural networks, see p. 1, section 1), YING teaches and makes obvious:
receiving, by the number of processor units, a group of the attributes forming a basis for the result. (YING, p. 6, section 4.3: “The output of a single-instance explanation (Sections 4.1 and 4.2) is a small subgraph of the input graph and a small subset of associated node features that are most influential for a single prediction”;
Examiner’s Note: the YU-CHANG-SMART-YING combination now modifies the prediction model 250 of YU (which is implemented using a graph neural network) to additionally output a subset of node features that are most influential to the output prediction as taught by YING).
Before the effective filing date of the present application, it would have been obvious to one of ordinary skill in the art to combine the YU, YING, CHANG, and SMART references in the manner explained above. As disclosed by YING, one of ordinary skill would have been motivated to do so in order to “provide insight into how the identified subgraph for a particular node relates to a graph structure that explains an entire class.” (p. 6, section 4.3). As further disclosed by YING, one of ordinary skill would be motivated to do so in order to help provide explanations for a result, such as by providing a “qualitative understanding of the relationship between the input nodes and the prediction.” (p. 9, section 5).
Claim 10 depends from claim 9 and claims a computer system that corresponds to the method of claim 3, and is therefore rejected for the same reasons explained above with respect to claims 3 and 9.
Claim 17 depends from claim 16 and claims a computer program product that corresponds to the method of claim 3, and is therefore rejected for the same reasons explained above with respect to claims 3 and 16.
Claims 4-5, 11-12, and 18-19 are rejected under 35 U.S.C. 103 as being unpatentable over YU in view of CHANG and SMART and further in view of US 20210109952 A1, hereinafter referenced as MEYERZON.
Regarding Claim 4
YU, CHANG, and SMART discloses the method of claim 1 as explained above. YU further teaches:
creating, by the number processor units, the training dataset comprising the subgraphs of the matched records matched to the entity and having the attributes, (YU, para. 0024: “In some embodiments, the data extraction system may construct the graph by creating a node for each bounding box created in the image and creating an edge between two nodes based on a connection generated between two corresponding bounding boxes. Thus, each node in the graph may correspond to a distinct bounding box in the image. Each node in the graph may include attributes associated with the corresponding bounding box, such as the features determined for the bounding box. Thus, each node in the graph may include information such as a location of the bounding box in the image, a size of the bounding box, and characteristics of the texts within the bounding box.”
YU, para. 0026: “In some embodiments, the data extraction system may categorize the group of text based on a structure of the graph, the position of the corresponding node in the graph, attributes of the corresponding node, attributes of the edges connected to the corresponding node, and attributes of other nodes in the graph connected to the corresponding node. In some embodiments, the data extraction system may use a graph neural network to determine a category (e.g., a label, a data type, etc.) associated with the group of texts”;
YU, para. 0077: “When multiple nodes are determined to be associated with the particular category (e.g., a tracking number category) based on the prediction model 250, the data extraction manager 202 may determine whether the bounding boxes corresponding to the multiple nodes are connected to each other (e.g., whether the bounding boxes are neighboring bounding boxes) and/or whether the distance(s) between the bounding boxes corresponding to the multiple nodes are below a particular threshold. If it is determined that the bounding boxes are connected to each other or the distances between the bounding boxes are within the particular threshold, the data extraction manager 202 may determine that the text within the bounding boxes are related to each other and correspond to the particular category. The data extraction manager 202 may then merge the text within the bounding boxes.”;
YU, para. 0089: “In some embodiments, a training graph can be generated by historic images (e.g., images of historic shipping labels). Bounding boxes can be generated on a historic image using the techniques described herein, and a graph that models the data in the image can be generated based on the bounding boxes. A node that corresponds to the bounding box that encloses the data of the particular data type can be labeled. The labeled graph can then be used as a training graph for training the graph neural network 700. By providing training data (multiple training graphs) to the graph neural network 700, the nodes 714-728 in the hidden layers 704 and 706 may be trained (the mutations are adjusted) such that an optimal output (e.g., a node identification) is produced in the output layer 708 based on the training data. ... Adjusting the artificial neural network 700 may include adjusting the weights associated with the attributes of the nodes in the graph and/or adjusting the mutations to the nodes in the graph.”
Examiner’s Note: YU discloses creating multiple training graphs from historic images (corresponding to recited “training dataset”) as taught by para. 0089, where each training graph comprises nodes corresponding to bounding boxes (corresponding to recited “subgraphs”), and each node is compared to a category (corresponding to recited “entity”) and associated with the particular category when a distance is below a threshold (corresponding to recited “matched records”))
wherein the matched records in a subgraph are related to each other by the subset of the attributes (YU, para. 0025: “The data extraction system may also create an edge in the graph based on each connection generated between two bounding boxes in the image. Thus, each edge in the graph that connects two nodes may correspond to a connection generated between two corresponding bounding boxes. Each edge may also include attributes associated with the corresponding connection, such as a distance between the two connected bounding boxes and an orientation of the connection.”;
Examiner’s Note: YU discloses that each node in a graph (corresponding to recited “matched records”, which are matched to a category as explained above) is connected to another node (relating the nodes) using an edge, where each edge has one or more attributes, and the edge attributes are a subset of all attributes (node attributes + edge attributes))
wherein the matched records in a subgraph are related to each other by a subset of the attributes; and (YU, para. 0025: “The data extraction system may also create an edge in the graph based on each connection generated between two bounding boxes in the image. Thus, each edge in the graph that connects two nodes may correspond to a connection generated between two corresponding bounding boxes. Each edge may also include attributes associated with the corresponding connection, such as a distance between the two connected bounding boxes and an orientation of the connection.”;
Examiner’s Note: YU discloses that each node in a graph (corresponding to recited “matched records”, which are matched to a category as explained above) is connected to another node (relating the nodes) using an edge, where each edge has one or more attributes, and the edge attributes are a subset of all attributes (node attributes + edge attributes))
However, YU, CHANG, and SMART fail to explicitly teach:
clustering, by the number of processor units, the matched records in a graph of matched records based on attributes to form clusters of the matched records,
creating, by the number of processor units, the subgraphs from the clusters of the matched records, wherein the subgraphs form the training dataset.
However, in a related field of endeavor (knowledge graphs, see para. 0001), MEYERZON teaches and makes obvious:
clustering, by the number of processor units, the matched records in a graph of matched records based on attributes to form clusters of the matched records, (MEYERZON, para. 0027: “The incremental clustering includes linking the potential entity names with at least partial matching ones of the set of candidate entity records to define updated matching candidate entity records including attributes corresponding to instances associated with the potential entity names. The computer system can update the knowledge graph with the updated matching candidate entity records and with new entity records for unmatched potential entity names, wherein the unmatched potential entity names are defined by ones of the potential entity names that do not match with any of the set of candidate entity records.”;
MEYERZON, para. 0112: “An example computer system comprising: a knowledge graph storing a plurality of entities associated with an enterprise; ... perform clustering on a number of the instances to determine potential entity names; query the knowledge graph with the potential entity names to obtain a set of candidate entity records; link the potential entity names with at least partial matching ones of the set of candidate entity records to define updated matching candidate entity records including attributes corresponding to instances associated with the potential entity names; and update the knowledge graph with the updated matching candidate entity records and with new entity records for unmatched potential entity names, wherein the unmatched potential entity names are defined by ones of the potential entity names that do not match with any of the set of candidate entity records.”;
Examiner’s Note: the YU-CHANG-SMART-MEYERZON combination now modifies the data extraction teachings of YU to create a graph of records using the clustering teachings of MEYERZON to cluster similar records to simplify the knowledge graph as in MEYERZON)
creating, by the number of processor units, the subgraphs from the clusters of the matched records, wherein the subgraphs form the training dataset. (MEYERZON, para. 0027: “The incremental clustering includes linking the potential entity names with at least partial matching ones of the set of candidate entity records to define updated matching candidate entity records including attributes corresponding to instances associated with the potential entity names. The computer system can update the knowledge graph with the updated matching candidate entity records and with new entity records for unmatched potential entity names, wherein the unmatched potential entity names are defined by ones of the potential entity names that do not match with any of the set of candidate entity records.”;
MEYERZON, para. 0112: “An example computer system comprising: a knowledge graph storing a plurality of entities associated with an enterprise; ... perform clustering on a number of the instances to determine potential entity names; query the knowledge graph with the potential entity names to obtain a set of candidate entity records; link the potential entity names with at least partial matching ones of the set of candidate entity records to define updated matching candidate entity records including attributes corresponding to instances associated with the potential entity names; and update the knowledge graph with the updated matching candidate entity records and with new entity records for unmatched potential entity names, wherein the unmatched potential entity names are defined by ones of the potential entity names that do not match with any of the set of candidate entity records.”;
Examiner’s Note: the YU-CHANG-SMART-MEYERZON combination now modifies the training techniques of YU to utilize the clustered knowledge graph of MEYERZON when creating the multiple training graphs as in YU)
Before the effective filing date of the present application, it would have been obvious to one of ordinary skill in the art to combine the YU, CHANG, SMART, and MEYERZON references in the manner explained above. As disclosed by MEYERZON one of ordinary skill would have been motivated to do so in order to “perform[] the clustering process incrementally on a limited number of instances in order to reduce the use of computing resources. The limited number of instances can be configured to improve feasibility and/or speed of the clustering process. Incremental clustering can also be used to update an existing knowledge graph based on new source documents without having to mine the full set of source documents.” (para. 0027).
Regarding Claim 5
YU, CHANG, SMART, and MEYERZON discloses the method of claim 4 as explained above. However, YU fails to explicitly teach:
wherein the training dataset further comprises the graph of matched records. (MEYERZON, para. 0027: “The incremental clustering includes linking the potential entity names with at least partial matching ones of the set of candidate entity records to define updated matching candidate entity records including attributes corresponding to instances associated with the potential entity names. The computer system can update the knowledge graph with the updated matching candidate entity records and with new entity records for unmatched potential entity names, wherein the unmatched potential entity names are defined by ones of the potential entity names that do not match with any of the set of candidate entity records.”;
MEYERZON, para. 0112: “An example computer system comprising: a knowledge graph storing a plurality of entities associated with an enterprise; ... perform clustering on a number of the instances to determine potential entity names; query the knowledge graph with the potential entity names to obtain a set of candidate entity records; link the potential entity names with at least partial matching ones of the set of candidate entity records to define updated matching candidate entity records including attributes corresponding to instances associated with the potential entity names; and update the knowledge graph with the updated matching candidate entity records and with new entity records for unmatched potential entity names, wherein the unmatched potential entity names are defined by ones of the potential entity names that do not match with any of the set of candidate entity records.”;
Examiner’s Note: the YU-CHANG-SMART-MEYERZON combination now modifies the training techniques of YU to utilize the clustered knowledge graph of MEYERZON (corresponding to the recited “graph of matched records”) when training the graph neural network of YU)
Before the effective filing date of the present application, it would have been obvious to one of ordinary skill in the art to combine the YU, CHANG, SMART, and MEYERZON references in the manner explained above. As disclosed by MEYERZON one of ordinary skill would have been motivated to do so in order to “perform[] the clustering process incrementally on a limited number of instances in order to reduce the use of computing resources. The limited number of instances can be configured to improve feasibility and/or speed of the clustering process. Incremental clustering can also be used to update an existing knowledge graph based on new source documents without having to mine the full set of source documents.” (para. 0027).
Claim 11 depends from claim 8 and claims a computer system that corresponds to the method of claim 42, and is therefore rejected for the same reasons explained above with respect to claims 4 and 8.
Claim 12 depends from claim 11 and claims a computer system that corresponds to the method of claim 5, and is therefore rejected for the same reasons explained above with respect to claims 5 and 11.
Claim 18 depends from claim 15 and claims a computer program product that corresponds to the method of claim 4, and is therefore rejected for the same reasons explained above with respect to claims 4 and 15.
Claim 19 depends from claim 18 and claims a computer program product that corresponds to the method of claim 5, and is therefore rejected for the same reasons explained above with respect to claims 5 and 18.
Claims 7 and 14 are rejected under 35 U.S.C. 103 as being unpatentable over YU in view of CHANG and SMART and further in view of US 20200210868 A1, hereinafter referenced as GHARAT.
Regarding Claim 7
YU, CHANG, and SMART teach the computer implemented method of claim 6. However, YU, CHANG, and SMART fail to explicitly teach:
wherein the weights are selected based on importance of the attributes in classifying records as belonging to the entity.
However, in a related field of endeavor (neural networks, see para. 0040), GHARAT teaches and makes obvious:
wherein the weights are selected based on importance of the attributes in classifying records as belonging to the entity. (GHARAT, para. 0062: “With such algorithms discussed herein regarding feature selection, classification, clustering, and recommendation, certain attributes are assigned weight or importance with the amount of data that represents such cases.”;
Examiner’s Note: the YU-CHANG-SMART-GHARAT combination now modifies the training techniques of YU to select weights based on importance for categorization and classification as taught by GHARAT).
Before the effective filing date of the present GHARAT, it would have been obvious to one of ordinary skill in the art to combine the YU, CHANG, SMART, and GHARAT references in the manner explained above. As disclosed by GHARAT one of ordinary skill would have been motivated to do so in order to use the teachings with respect to “continuous improvement capabilities” of machine learning models to update neural network weights. (para. 0041). One of ordinary skill would further understand the benefit of tuning weights for a neural network classifier to optimize the weights that matter most for classification purposes.
Claim 14 depends from claim 13 and claims a computer system that corresponds to the method of claim 7, and is therefore rejected for the same reasons explained above with respect to claims 7 and 13.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
US 20230409581 A1 (Betthauser). “The subgraph may be generated based on user preferences specified in the query parameters 110.” (para. 0030).
US 20220277857 A1 (Cheung). “This cohort is selected based on a set of attributes shared by the target patient, according to the clinician's own perceived importance and optimization goals: diagnosis, disease stage, demographics, etc. The cohort is not overly restrictive, so as to maintain statistical power as well as to include a diverse set of retrospective clinical pathways and outcomes which are used to produce an optimal model.” (para. 0087).
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MICHAEL C LEE whose telephone number is (571)272-4933. The examiner can normally be reached M-F 12:00 pm - 8:00 pm ET.
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, Omar Fernandez Rivas can be reached at 571-272-2589. 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.
/MICHAEL C. LEE/Examiner, Art Unit 2128