Band 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 .
Response to Arguments
1. Applicant’s arguments filed on June 23, 2026, regarding the rejection under 35 U.S.C. 101 have been fully considered but are not persuasive. Applicant argues that claim 1 integrates the judicial exception into a practical application because the claimed subject matter allegedly improves computer technology through use of a single, indexed, target-agnostic decision tree that reduces computational cost and processing time and enables real-time prediction while a user interactively completes a record. Applicant relies particularly on paragraph [0029] of the Specification, which states that the disclosed techniques may generate a singular decision tree for a record having several attributes, predict values for different attributes without building a tree for a particular target attribute, and provide improved prediction performance and real-time prediction.
As an initial matter, the alleged technological improvements relied upon by Applicant are not reflected in the language of claim 1. Claim 1 does not recite that the decision tree is constructed using an unsupervised algorithm, does not require generation of a target-agnostic tree, does not require elimination of a plurality of target-specific decision trees, and does not recite any reduction in memory usage, processing time, computational cost, or other measurable computer resource. Although claim 1 recites “a decision tree data structure,” the claim does not require that only one decision tree exist or that the recited tree replace a plurality of other decision trees. Thus, the particular advantages described in paragraph [0029] are not limitations imposed by claim 1.
Further, neither claim 1 nor paragraph [0029] identifies a particular technical mechanism by which use of a single decision tree necessarily results in reduced memory consumption or improved processing efficiency. Paragraph [0029] states that using a single decision tree rather than multiple trees is important for real-time performance, but does not explain how the number of decision trees, standing alone, determines computational cost. A single decision tree containing a large number of attributes may itself contain a substantial number of nodes, branches, possible paths, and associated probability calculations. Claim 1 does not limit the number of attributes represented in the tree, the number of nodes corresponding to the attributes, the branching factor, the number of candidate paths evaluated, or the amount of information stored in the tree.
Claim 1 likewise does not recite a mechanism for controlling the computational complexity of such a tree. For example, the claim does not recite pruning, compression, balancing, duplicate data reduction, a particular memory organization, limits on traversal depths, limits on the number of paths searched, or another technique that would necessarily reduce the memory of processing resources required to perform the claimed operations. Accordingly, the mere use of a decision tree containing a plurality of attribute relationships does not itself establish an improvement in the functioning of the computer.
The claimed prediction mechanism similarly does not impose limitations demonstrating the asserted improvement in prediction performance. Claim 1 requires computing probabilities for one or more paths and outputting the attribute values along the path having the highest probability. However, the claim does not require a minimum probability or confidence threshold, a minimum difference between the highest probability path and competing paths, or any particular level of prediction accuracy. For example, a path having a probably of 30 percent could still constitute the “highest probability” path where all competing paths have lower probabilities. The claim does not require determining whether such a prediction is sufficiently reliable before outputting the corresponding attribute values.
Nor does claim 1 specify what occurs when a sufficiently reliable path cannot be identified. The claim does not require creation of a new node, continued searching of alternative branches, reevaluation of historical records, verification of the predicted value against the underlying data, or termination of traversal upon satisfaction of a particular probability or confidence threshold. These implementation details may materially affect processing time and computational resource usage, yet they are not required by the claim.
Accordingly, Applicant has identified desired results – reduced computation, improved efficiency, better prediction performance, and real-time operation – without identifying limitations in claim 1 that necessarily produce those results. The claimed operations instead remain directed to using an organized representation of information to identify relationships among attribute values, traverse those relationships, mathematically evaluate probabilities, and select possible values for missing information.
The additional computer elements identified in the rejection, including the processor, user interface, receipt of the first value, and output of possible values, do not alter the manner in which the computer itself operates or otherwise integrate the judicial exception into a practical application. Rather, these elements merely implement the abstract information analysis and prediction process on a generic computer.
Applicant also argues that the claimed subject matter provides a meaningful application because it supplies predictive guidance while a user fills in a form. However, using the result of an abstract analysis to provide information to a user does not itself constitute an improvement to the computer or another technology. The alleged benefit remains an improvement in the information provided to the user rather than a claimed improvement in computer functionality.
Accordingly, Applicant’s arguments do not establish that claim 1 integrates the judicial exception into a practical application under Step 2A, Prong Two.
Applicant argues that claim 1 recites an inventive concept amounting to significantly more than the judicial exception because the claim allegedly provides an unconventional ordered combination for constructing and using a single, target-agnostic decision tree. Applicant further contends that the Office improperly dissected the claims by considering individual limitations separately rather than considering the claim as an ordered combination. Applicant’s arguments have been fully considered by are not persuasive.
Applicant is correct that Step 2B requires consideration of the additional elements both individually and as an ordered combination. MPEP 2106.05 explains that the inventive concept inquiry considers whether an additional element or combination of additional elements, beyond the judicial exception, amounts to significantly more than the judicial exception itself. The cited discussion of Alice and Bascom likewise confirms that the additional elements must be evaluated individually and in combination.
However, Applicant’s reliance on the ordered combination requirement does not establish an inventive concept here. In BASCOM, the inventive concept was found in a non-conventional and non-generic arrangement of additional computer elements themselves, including placement of the filtering tool at a particular remote location with customizable filtering features. Here, by contrast, Applicant’s asserted ordered combination principally relies on the decision-tree operations identified in the rejection as part of the judicial exception, including determining a tree level, identifying nodes based on an index, traversing paths, computing probabilities, and selecting values based on those probabilities. An inventive concept cannot be supplied by the judicial exception itself merely because the abstract operations are performed in the claimed sequence.
Accordingly, the Office did not improperly dissect claim 1 by separately identifying the limitations that recite the judicial exception and the additional elements beyond the judicial exception. The identification is part of the required Step 2B analysis. The rejection further considered the additional elements in combination and the claim as a whole. As illustrated by Alice, consideration of computer elements in combination does not automatically result in an inventive concept where the combination merely implements the abstract idea using generic computer components.
Applicant’s asserted inventive concept is not commensurate with the language of claim 1. Applicant characterizes claim 1 as reciting an unconventional method “constructing and using” a decision tree data structure and further asserts that the ordered combination “generates and utilizes a single, target-agnostic decision tree.” Claim 1, however, does not recite constructing or generating the decision tree data structure. Rather, claim 1 operates on an already generated decision tree data structure and associated index. The claim receives a first value, determines a corresponding tree level, identifies one or more nodes based on the index, traverses one or more paths from the identified node towards the root, computes probabilities for the paths, and outputs attribute values associated with the path having the highest probability.
Although paragraphs [0026]- [0029] describe alleged computational advantages associated with constructing and using a single, target-agnostic decision tree instead of constructing and traversing multiple target-specific trees. Thus, Applicant’s asserted inventive concept of generating a single unified data structure without a target attribute is not an ordered combination required by claim 1.
Applicant further relies on reduced computing cost and processing time allegedly resulting from avoiding construction, storage, and traversal of multiple decision trees. However, claim 1 does not recite any reduction in memory consumption, storage requirements, processing time, computational cost, or other computer resource. Nor does claim 1 impose limitations that necessarily ensure such an asserted computational advantage during use of the existing tree. For example, the claim does not limit the number of attributes represented in the tree, the number nodes or branches, the number of candidate paths evaluated, the traversal depth, or the number of probability calculations performed.
Claim 1 also does not recite a mechanism for controlling the computational complexity of the existing tree, such as pruning, compression, balancing, duplicate data reduction, a particular memory organization, limits on traversal depth, limits on the number of paths searched, or another resource-management technique. A single decision tree containing a large number of attributes may itself contain a substantial number of nodes, branches, candidate paths, and associated calculations. Accordingly, the fact that the Specification describes use of one tree rather than multiple trees does not establish claim 1 itself recites a non-conventional arrangement of additional elements that necessarily improves computer performance.
The claimed probability analysis likewise does not establish the asserted improvement in prediction performance. Claim 1 requires computing probabilities for one or more paths and outputting the attribute values associated with the path having the highest probability. However, the claim does not require a minimum probability path and competing paths, or any particular prediction accuracy. For example, a path having a probability of 30 percent could still constitute the “highest probability” path where all the competing paths have lower probabilities. Claim 1 does not require determining whether the selected result is sufficiently reliable before outputting the corresponding attribute values.
Nor does claim 1 specify what occurs when a sufficiently reliable result cannot be identified. The claim does not require creation of a new node, continued searching of alternative branches, reevaluation of historical records, verification of the selected value, or termination of traversal upon satisfaction of a particular probability or confidence threshold. These implementation details may materially affect processing time and computational resource usage, but they are not required by the claim.
When claim 1 is considered as an ordered combination, the result is unchanged. The determination of a tree level, identification of nodes based on an index, traversal of paths, computation of probabilities, and selection of values based on those probabilities remain the information analysis and mathematical operations identified as the judicial exception in the rejection. The remaining additional elements, including the processor, user interface, receipt of the first value, and output of possible values, merely provide generic computer implementation of abstract information analysis and prediction process.
Accordingly, Applicant has not identified a non-conventional and non-generic arrangement of additional elements comparable to the arrangement discussed in BASCOM. Instead, Applicant relies principally on the judicial exception itself and on unclaimed features concerning how the decision tree is generated. Therefore, the additional elements, considered individually and as an ordered combination, do not amount to significantly more than the judicial exception, and Applicant’s arguments do not overcome the rejection under Step 2B.
Applicant’s arguments regarding claim 12 and 17 are not persuasive for substantially the same reasons discussed above with respect to claim 1, as claims 12 and 17 recite corresponding subject matter implemented in apparatus and computer-readable medium form. Applicant does not identify any additional limitation in claims 12 and 17 that would integrate the judicial exception into a practical application or amount to significantly more than the judicial exception.
Applicant likewise does not present separate substantive arguments regarding dependent claims 2-11, 13-16, and 18-20. Accordingly, the rejection of claims 1-20 under 35 U.S.C. 101 is maintained for the reasons set forth above and in the prior Office Action.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception (i.e., a law of nature, a natural phenomenon, or an abstract idea) without significantly more.
101 Subject Matter Eligibility Analysis
Step 1: Claims 1-20 are within the four statutory categories (a process, machine, manufacture or composition of matter).
Step 2A Prong One, Step 2A Prong Two, and Step 2B Analysis:
Step 2A Prong One asks if the claim recites a judicial exception (abstract idea, law of nature, or natural phenomenon). If the claim recites a judicial exception, analysis proceeds to Step 2A Prong Two, which asks if the claim recites additional elements that integrate the abstract idea into a practical application. If the claim does not integrate the judicial exception, analysis proceeds to Step 2B, which asks if the claim amounts to significantly more than the judicial exception. If the claim does not amount to significantly more than the judicial exception, the claim is not eligible subject matter under 35 U.S.C. 101.
None of the claims represent an improvement to technology.
Claims 1-11 are directed to a method consisting of a series of steps, meaning that it is directed to the statutory category of process. Claims 12-20 are directed to storage mediums and processors which are machines.
Regarding claim 1, the following claim elements are abstract ideas:
determining…in a decision tree data structure, a first tree-level associated with the first attribute, the decision tree data structure comprising a plurality of tree-levels corresponding to the plurality of attributes, respectively (This is an abstract idea of a mental process. The limitation recites identifying a level within a hierarchical decision tree that corresponds to a particular attribute. This involves analyzing a structured representation of attributes and determining where the attributes appear within a structure. A person could mentally review a chart or diagram of a decision tree, observe which level corresponds to a particular attribute, and determine the appropriate level through reasoning and comparison. For example, a person could look at a decision tree diagram listing attributes at different levels, identify the attribute of interest, and determine which level in which it appears. Since this determination involves observation, evaluation of relationships, and logical reasoning that can be performed in the human mind or with the aid of pen and paper, it falls within the mental process grouping of abstract ideas. See MPEP 2106.04(a)(2)(III).);
identifying…in the decision tree data structure, one or more nodes at a second tree-level based on an index of the first tree-level, wherein the index of the first tree-level comprises a mapping between the first value of the first attribute and the one or more nodes from the second tree-level based on historical records used to generate the decision tree data structure (This is an abstract idea of a mental process. The limitation involves identifying nodes in a decision tree using mapping between an attribute value and nodes at another tree level. A person could review a decision tree diagram or table showing the mapping, look up the attribute value, and identify the corresponding nodes by tracing the branches using pen and paper. Such analysis of relationships in a hierarchical structure can be performed through observation and logical reasoning with the aid pen and paper and therefore falls within the mental process grouping of abstract ideas.);
traversing…one or more paths in the decision tree data structure, wherein a path is traversed from each of the one or more nodes at the second tree-level towards a root node of the decision tree data structure (This is an abstract idea of a mental process. The limitation involves tracing paths in a decision tree from identified nodes toward a root node. A person could review a decision tree diagram and follow the branches from the identified nodes upward toward the root by tracing the connections using pen and paper. Such analysis of relationships in a hierarchical structure can be performed through observation and logical reasoning, with the aid of pen and paper and therefore falls within the mental process grouping of abstract ideas.);
computing…probabilities of the one or more paths (This is an abstract idea of a mental process and mathematical concept. The limitation recites calculating probabilities associated with paths in the decision tree. A person could determine such probabilities by reviewing data associated with each path and performing the corresponding calculations using pen and paper or basic computational tools such a calculator. These probability calculations involve mathematical relationships and numerical evaluation that can be carried out through logical reasoning and arithmetic, and therefore falls within the mathematical concepts and mental process grouping of abstract ideas. See MPEP 2106.04(a)(2)(III) and 2106.04(a)(2)(I).); and
The following claim elements are additional elements which, taken alone or in combination with the other elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
receiving, by a processor, via a user-interface, a first value corresponding to a first attribute of the record being completed (The step of “receiving” a value via a user-interface is merely a generic data operation that amounts to receiving data by a computer, which has been recognized by the courts as well-understood, routine, and conventional activity. See MPEP 2106.06(d)(II)(i).);
outputting, by the processor, the values of the subset of plurality of attributes of the record along the path with highest probability as the possible values (The step of “outputting” merely presents the result of the abstract idea and amounts to a generic computer function for presenting and transmitting calculated data. Such generic computer data operations have been recognized as well-understood, routine, and conventional activity when performed at a high level of generality. See MPEP 2106.05(d)(II).).
by the processor (The recitation of “by a processor” merely instructs that the abstract idea be performed using a generic computer component and therefore amounts to mere instructions to apply the judicial exception and insignificant extra-solution activity.)
Regarding claim 2, the rejection of claim 1 is incorporated herein. Further, claim 2 recites the following additional elements, which taken alone or in combination with other elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
wherein the first value comprises two or more values corresponding to two or more attributes of the record (This limitation merely specifies the type or amount of input data used in performing the abstract idea and therefore constitutes insignificant extra-solution activity related to data gathering. Such data gathering steps do not meaningfully limit the abstract idea.).
Regarding claim 3, the rejection of claim 2 is incorporated herein. Further, claim 3 recites the following abstract ideas:
wherein the first attribute is selected from the two or more attributes as an attribute with a corresponding node in the decision tree data structure with a highest weight among weights assigned to nodes corresponding to the two or more attributes (This is an abstract idea of a mental process. The limitation involves comparing weights assigned to nodes corresponding to different attributes and selecting the attribute associated with the highest weight. A person could review a list or table of attributes and their corresponding weights and determine which attribute has the highest weight using pen and paper. Such comparison and selection based on numerical values can be performed through observation and logical reasoning with the aid of pen and paper and therefore falls within the mental process grouping of abstract ideas.).
Regarding claim 4, the rejection of claim 1 is incorporated herein. Further, claim 4 recites the following additional elements, which taken alone or in combination with other elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
wherein the second tree-level is lower in the decision tree data structure relative to the first tree-level (This limitation merely describes the relative position of data within the decision tree used when performing the abstract idea and does not add any meaningful limitation. Such descriptive content for organizing or referencing data amounts to insignificant extra-solution activity that does integrate the judicial exception into a practical application.).
Regarding claim 5, the rejection of claim 1 is incorporated herein. Further, claim 5 recites the following additional elements, which taken alone or in combination with other elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
wherein the path is traversed from the one or more nodes at the second tree-level towards the root node of the decision tree data structure until a target tree-level corresponding to a target attribute is reached (This limitation merely specifies how the abstract idea is performed by directing traversal of the decision tree until a target level is reached. Such directions simply instruct the application of the abstract idea and therefore amount to mere instructions to apply the judicial exception, which do not meaningfully limit the claim.)
Regarding claim 6, the rejection of claim 5 is incorporated herein. Further, claim 6 recites the following abstract ideas:
in response to an attribute from the subset of the plurality of attributes not yet having a predicted value, traversing the path downwards from the first target tree-level to a second target tree-level corresponding to a second attribute from the subset of the plurality of attributes (This is an abstract idea of a mental process. The limitation involves recognizing that an attribute does not yet have a predicted value and tracing a path in a decision tree from one level to another corresponding to another attribute. A person could review a decision yeatree diagram, determine which attribute still lacks a predicted value, and follow the branches downward to the corresponding level using pen and paper. Such analysis of relationships in a hierarchical structure can be performed through observation and logical reasoning with the aid of pen and paper and therefore falls within the mental process grouping of abstract ideas.).
The following claim elements are additional elements which, taken alone or in combination with the other elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
wherein the target attribute is a first target attribute, the target tree-level is a first target tree-level (This limitation merely provides descriptive labeling of elements used in performing the abstract idea and therefore constitutes insignificant extra-solution activity that does not meaningfully limit the claim.),
Regarding claim 7, the rejection of claim 6 is incorporated herein. Further, claim 7 recites the following abstract ideas:
validating…the record based on the decision tree data structure in response to the record completed via the user-interface (This is an abstract idea of a mental process. The limitation involves reviewing the values in a completed record and determining whether they satisfy conditions represented in a decision tree. A person could review a decision tree diagram and compare the record values against branches of the tree to determine whether the record is valid. Such evaluation of relationships in structured data can be performed through observation and logical reasoning with the aid of pen and paper and therefore falls within the mental process grouping of abstract ideas.).
Regarding claim 8, the rejection of claim 1 is incorporated herein. Further, claim 8 recites the following abstract ideas:
wherein the decision tree data structure is generated…based on historical records (This is an abstract idea of a mental process. This limitation involves analyzing historical records to determine relationships between attributes and organizing those relationships into a decision tree structure. A person could review historical records, identifying patterns between those attribute values, and construct a decision tree representing those relationships using pen and paper. Such analysis and organization of information based on observed patterns can be performed through observation and logical reasoning with the aid of pen and paper and therefore falls within the mental process grouping of abstract ideas.).
The following claim elements are additional elements which, taken alone or in combination with the other elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
using machine learning (This limitation constitutes mere instructions to apply the abstract idea and insignificant extra-solution activity. See MPEP 2106.05(f) and 2106.05(g).)
Regarding claim 9, the rejection of claim 1 is incorporated herein. Further, claim 9 recites the following abstract ideas:
wherein generating the decision tree data structure comprises, for each attribute in the record, determining an attribute type and computing an entropy based on the attribute type (This is an abstract idea of a mental process and mathematical concept. The limitation involves analyzing attributes in a record and computing entropy values associated with those attributes. A person could review the attributes, determine their types, and calculate the corresponding entropy values using pen and paper and/or basic computational tools such a calculator. Such evaluation of attributes and calculation of entropy involve mathematical relationships and logical reasoning that can be performed in the human mind with the aid of pen and paper or basic computational tools, and therefore falls within the mental process and mathematical concept groupings of abstract ideas.).
Regarding claim 10, the rejection of claim 9 is incorporated herein. Further, claim 10 recites the following abstract ideas:
wherein generating the decision tree data structure further comprises assigning tree-levels to each attribute based on a sorted order of the entropies (This is an abstract idea of a mental process. The limitation involves comparing entropy values associated with attributes, sorting those values, and assigning tree-levels based on the sorted order. A person could review a list of attributes and their entropy values, sort the values from highest to lowest, and assign corresponding levels in the decision tree using pen and paper. Such comparison, sorting, and organization of information can be performed through observation and logical reasoning with the aid of pen and paper and therefore falls within the mental process grouping of abstract ideas.).
Regarding claim 11, the rejection of claim 10 is incorporated herein. Further, claim 11 recites the following abstract ideas:
wherein generating the decision tree data structure further comprises, for each tree-level, invoking a sub-tree generating algorithm for each node in the tree-level (This is an abstract idea of a mental process and mathematical concept. The limitation involves applying an algorithmic procedure to generate sub-trees for nodes within each tree-level based on relationships in the data. Such algorithmic procedure to generate sub-tree for nodes within each tree-level based on relationships in the data. A person could review the attributes and corresponding values, determine how the nodes should branch, and iteratively construct sub-tree structure using pen and paper or basic computational tools such as a calculator. Such evaluation of relationships and application of mathematical procedures can be performed through logical reasoning and calculations and therefore falls within the mental process and mathematical concepts groupings of abstract ideas.).
Regarding claim 12, claim 12 recites limitations similar to those recited in the method of claim 1, but in apparatus form. Therefore, the same subject matter analysis utilized for the method of claim 1 as described above, is equally applicable to claim 12. Claim 12 further recites “a processor” and “a memory storing instructions.” These elements merely describe generic computer components configured to execute the abstract idea and are recited at a high level of generality. Such generic computer elements do not impose a meaningful limitation on the abstract idea or integrate into practical application. See MPEP 2106.05(f). Accordingly, claim 12, like claim 1, is directed to an abstract idea and does not recite additional elements amounting to significantly more.
Regarding claim 13, the rejection of claim 12 is incorporated herein. The claim recites similar limitations corresponding to claim 2. Therefore, the same subject matter analysis that was utilized for claim 2, as described above, is equally applicable to claim 13.
Therefore, claim 13 is ineligible.
Regarding claim 14, the rejection of claim 13 is incorporated herein. The claim recites similar limitations corresponding to claim 3. Therefore, the same subject matter analysis that was utilized for claim 3, as described above, is equally applicable to claim 14.
Therefore, claim 14 is ineligible.
Regarding claim 15, the rejection of claim 13 is incorporated herein. The claim recites similar limitations corresponding to claim 7. Therefore, the same subject matter analysis that was utilized for claim 7, as described above, is equally applicable to claim 15.
Therefore, claim 15 is ineligible.
Regarding claim 16, the rejection of claim 13 is incorporated herein. Further, claim 16 recites the following abstract ideas.:
wherein generating the decision tree data structure comprises: for each attribute in the record, determining an attribute type and computing an entropy based on the attribute type; assigning tree-levels to each attribute based on a sorted order of the entropies; and for each tree-level, invoking a sub-tree generating algorithm for each node in the tree-level (This is an abstract idea of a mental process and mathematical concept. The limitation involves analyzing attributes, calculating entropy values associated with those attributes, sorting the entropy values, and applying algorithmic procedure to generate sub-trees within a decision tree structure. A person could review attributes and their associated data, calculate entropy values, order the values, and iteratively construct corresponding tree levels and sub-tree branches using pen and paper or basic computational tools such as a calculator. Such evaluation of relationships and application of mathematical produces can be performed in the human mind with the aid of pen and paper or basic computational tools, and therefore falls within the mental process and mathematical concepts groupings of abstract ideas.).
Regarding claim 17, claim 17 recites limitations similar to those recited in the method of claim 1, but in computer-readable storage medium form. As such, the same subject-matter analysis applied to claim 1 is equally application to claim 17. Claim 17 further recites “a non-transitory computer-readable storage medium including instructions that when executed by a computer cause the computer to perform the recited steps. This element merely describes generic computer storage for instructions used to implement the abstract idea and is recited at a high level of generality. Such generic computer elements do not impose a meaningful limitation on the abstract idea or integrate into a practical application. See MPEP 2106.05(f)-(h). Accordingly, claim 17, like claim 1, is directed to an abstract idea and does not recite additional elements that amount to significantly more.
Regarding claim 18, the rejection of claim 17 is incorporated herein. Further, claim 18 recites the following abstract ideas:
wherein the first attribute is selected from the two or more attributes as an attribute with a corresponding node in the decision tree data structure with the highest weight among weights assigned to nodes corresponding to the two or more attributes (This is an abstract idea of a mental process. The limitation involves comparing weights assigned to nodes corresponding to different attributes and selecting the attribute associated with the highest weight. A person could review a list or table of attributes and their corresponding weights and determine which attribute has the highest weight using pen and paper. Such comparison and selection based on numerical values can be performed through observation and logical reasoning with the aid of pen and paper and therefore falls within the mental process grouping of abstract ideas.).
The following claim elements are additional elements which, taken alone or in combination with the other elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
wherein the first value comprises two or more values corresponding to two or more attributes of the record (This limitation merely specifies the type or amount of input data used in performing the abstract idea and therefore constitutes insignificant extra-solution activity related to data gathering. Such data gathering steps do not meaningfully limit the abstract idea.),
Regarding claim 19, the rejection of claim 17 is incorporated herein. Further, claim 19 recites the following abstract ideas:
traverse the path from the one or more nodes at the second tree-level towards the root node of the decision tree data structure until the first target tree-level is reached (This is an abstract idea of a mental process. The limitation involves tracing a path in a decision tree and recognizing when a specific tree level is reached. A person could review a decision tree diagram and follow the branches from the nodes toward the root until reaching the specified level using pen and paper. Such analysis of relationships in a hierarchical structure can be performed in the human mind through observation and logical reasoning with the aid of pen and paper and therefore falls within the mental process grouping of abstract ideas.);
in response to an attribute from the subset of the plurality of attributes not yet having a predicted value, traverse the path downwards from the first target tree-level to a second target tree-level corresponding to a second attribute from the subset of the plurality of attributes (This is an abstract idea of a mental process. The limitation involves recognizing that an attribute does not yet have a predicted value and tracing a path in a decision tree from one level to another corresponding to another attribute. A person could review a decision tree diagram, determine which attribute still lacks a predicted value, and follow the branches downward to the corresponding level using pen and paper. Such analysis of relationships in a hierarchical structure can be performed through observation and logical reasoning with the aid of pen and paper and therefore falls within the mental process grouping of abstract ideas.).
The following claim elements are additional elements which, taken alone or in combination with the other elements, do not integrate the judicial exception into a practical application nor amount to significantly more than the judicial exception:
wherein a target attribute is a first target attribute corresponding to a first target tree-level (This limitation merely provides descriptive labeling of elements used in performing the abstract idea and therefore constitutes insignificant extra-solution activity that does not meaningfully limit the claim.),
Regarding claim 20, the rejection of claim 17 is incorporated herein. Further, claim 20 recites the following abstract ideas:
wherein generating the decision tree data structure comprises: for each attribute in the record, determine an attribute type and computing an entropy based on the attribute type; assign tree-levels to each attribute based on a sorted order of the entropies; and for each tree-level, invoke a sub-tree generating algorithm for each node in the tree-level (This is an abstract idea of a mental process and mathematical concept. The limitation involves analyzing attributes, calculating entropy values associated with those attributes, sorting the entropy values, and applying algorithmic procedure to generate sub-trees within a decision tree structure. A person could review attributes and their associated data, calculate entropy values, order the values, and iteratively construct corresponding tree levels and sub-tree branches using pen and paper or basic computational tools such as a calculator. Such evaluation of relationships and application of mathematical produces can be performed in the human mind with the aid of pen and paper or basic computational tools, and therefore falls within the mental process and mathematical concepts groupings of abstract ideas.).
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.
Claims 1-2, 4-8, 12-13, 15, 17, and 19 are rejected under the 35 U.S.C. 103 as being unpatentable over Kalyanam et al., (Pub. No.: US 20220350790 A1 (Filed: 2022)) in view of Guillame-Bert et al., (NPL: “Exact Distributed Training: Random Forest With Billions of Examples” (Published: 2018)) further in view of Belgacem et al., (NPL: “A Machine Learning Approach for Automated Filling of Categorical Fields in Data Entry Forms” (Published: 2022)).
Regarding claim 1, Kalyanam teaches the following limitations:
A computer-implemented method to predict possible values for a subset of a plurality of attributes of a record when the record is being interactively completed, the computer-implemented method comprising: receiving, by a processor, via a user-interface, a first value corresponding to a first attribute of the record being completed (Kalyanam, paragraph [0025] “the one or more applications 123 may provide one or more functionalities to support online form filling tasks…are executed by the processor 121 for providing digital form filing processing services or providing one or more websites with corresponding services allowing users to submit digital forms.” [0031] “an application 123 hosted by the server computing device 120 is executed to generate the digital forms 126 by presenting a list of related questions or form fields with a series of interview screens on a display of a user computing device 130. The user may enter the appropriate responses or answers in response to the corresponding form fields by interacting with the application 123.” – Kalyanam describes an online form system in which form fields are presented to a user through interview screens and the user enters responses corresponding to those fields. Under BRI, the form fields correspond to attributes of the record and an entered response corresponds to a value of the respective attribute. Accordingly, Kalyanam teaches receiving, by a processor via a user interface, a first value corresponding to a first attribute of a record while the record is being interactively completed.);
determining, by the processor, in a decision tree data structure, a first tree-level associated with the first attribute, the decision tree data structure comprising a plurality of tree-levels corresponding to the plurality of attributes, respectively (Kalyanam, paragraph [0042] “The example statistical tree structure 500A includes a plurality of hierarchically organized nodes connected by two branches. For example, the statistical tree structure 500A includes a plurality of nodes such as a top node 502, intermediate nodes 506L, 506R, and leaf nodes 510L, 510R.” [0049] “ At block 604, the processor 121 identifies and selects one of the cohorting data features of a top cohort and provides a binary function (e.g., true or false) to a condition threshold related to the selected data feature to control the binary branching of the top cohort at the first node to the two lower level cohorts… Accordingly, “age” is selected to be used as the data feature to split the top cohort at the first node 502 into two branches 504 (FIG. 5A).” [0052] “For example, the true branch 508 may be formed from the intermediate node 506L to the leaf node 510L corresponding to a subset cohort #1 when the value of the “owns property” data feature is less than or equal to a corresponding threshold defined for the “owns property” data feature.” – Under BRI, Kalyanam’s data features correspond to attributes, and its hierarchical node tiers correspond to tree-levels. Kalyanam associates different data features with different levels of the tree, including “age” at the first node 502 and “own property” at intermediate node 506L. Accordingly, the processor determines a tree-level associated with a given attribute within a tree structure having multiple levels corresponding to respective attributes.);
However, Kalyanam does not teach but Kalyanam in view of Guillame-Bert teaches the following limitation:
identifying, by the processor, in the decision tree data structure, one or more nodes at a second tree-level based on an index of the first tree-level, wherein the index of the first tree-level comprises a mapping between the first value of the first attribute and the one or more nodes from the second tree-level based on historical records used to generate the decision tree data structure (Kalyanam, paragraph [0031] “The application 123 is executed by the processor 121 to capture and store user inputs or user data features 128 associated with a plurality of user accounts in the database 125.” [0032] “Database 125 stores statistical tree structures 127 executed by the processor 121 to be trained by processing user data features 128 associated with a plurality of users…” [0043] “The statistical tree structure for the specific data field may be trained with values of the training data feature and values of cohorting data features stored in the database 125. “ [0049] “Accordingly, “age” is selected to be used as the data feature to split the top cohort at the first node 502 into two branches 504 (FIG. 5A). Referring to FIGS. 5A and 5B, the true branch 504 may be formed from the first node 502 to the intermediate node 506L corresponding to a subset cohort #3 when the value of the “age” data feature is less than or equal to the threshold. A false branch may be formed from the first node 502 to the intermediate node 506R corresponding to a subset cohort #4 when the value of the “age” data feature is larger than the threshold.” [0050] “At block 606, the processor 121 determines two subset or lower level cohorts for the current cohort to the two branches from the current node based on the condition threshold to control the branching.” Guillame-Bert, [section 2.3, Algorithm 1-2] “At any point during training, each bagged sample is attached to a single leaf - initially the root node. When a leaf is derived into two children, each sample of this node is re-assigned to one of its child nodes according to the result of the node condition (condition = chosen split).” Algorithm 1: “tuples (a, y, i), sorted in increasing order of a, where a is the numerical attribute value,
y
is the label value, and
i
is the sample index.” & “h sample2node(i)” Algorithm 2: “Initialize the mapping from sample index to node index so that all samples are assigned to the root.” & “Compute the number of active leaves and update the mapping from sample index to node index” – Kalyanam teaches using a value of a data feature at a first tree level to determine a corresponding lower-level node or cohort, where the tree is trained using stored user data features associated with a plurality of users. Under BRI, these stored user/form data correspond to historical records used to generate the tree. Guillame-Bert further teaches maintaining an explicit mapping between indexed samples and node indices in a decision tree and updating that mapping as samples are assigned to child nodes based on node conditions. It would have been obvious to one of ordinary skill in the art to apply Guillame-Bert’s index-based node mapping to Kalyanam’s attribute-value/tree-node associations so that a value of a first attribute may be used through an index to identify one or more corresponding nodes at a second tree-level. Accordingly, the combination provides an index of the first tree-level comprising a mapping between the first attribute value and one or more nodes of the second tree-level based on the stored historical data used to generate the decision tree.);
However, Kalyanam in view of Guillame-Bert does not teach but Kalyanam in view of Guillame-Bert further in view of Belgacem teaches the following limitation:
traversing, by the processor, one or more paths in the decision tree data structure, wherein a path is traversed from each of the one or more nodes at the second tree-level towards a root node of the decision tree data structure (Kalyanam, paragraph [0062] “At block 706, the processor 121 applies an anomaly detection model 220 to traverse the statistical tree structure with the target dataset 215 to determine a set of target cohorts from a first node towards a target leaf node.” Belgacem, [page 14] “To deal with the first cause of inaccurate suggestions, LAFF analyzes the dependency between the filled fields and the target field (line 10), to check whether the target field directly depends on one of the filled fields in the BN. More precisely, function getParent computes a list of parent fields the target field directly depends on; function isMember checks whether any of the filled fields is in the parent field list.” [page 26] “checkDep (which checks if the filled fields are parents of the target field).” – Kalyanam teaches traversing a statistical tree structure towards a target node. Belgacem teaches determining parent fields associated with a target field used for prediction. Under BRI, determining the parent of a target field corresponds to proceeding from the target field toward a parent within the hierarchy. Where Kalyanam provides traversal of a hierarchical tree toward a prediction target and Belgacem provides the parent field relationship associated with the target toward parent levels of the hierarchy and therefore toward the root node.);
computing, by the processor, probabilities of the one or more paths; and outputting, by the processor, the values of the subset of plurality of attributes of the record along the path with highest probability as the possible values (Belgacem, [page 14] “After selecting the most appropriate model for prediction, LAFF predicts the candidate values for the target field (line 8) and ranks the topmost
n
r
values, according to their probability distribution (line 9).” [page 15] “If one of the flags checkProb and checkDep evaluates to true, LAFF populates the list of suggested values to be returned to the user based on the top-ranked candidate values; otherwise, LAFF returns an empty list (lines 12–15).” & “According to the variable inference method in BN (explained in section 3.1), LAFF outputs the probability distribution of the candidate values for the field “primary activity”. Let us assume, as an example, that the probability distribution is “Leasing Service=0.70, Financial Service=0.15, Accommodation Service=0.05,…” [page 30] “With a higher threshold, LAFF will filter out more suggestions (resulting in a lower PCR value), only keeping the ones with a high predicted probability (resulting in higher MRR value). Hence, this threshold reflects the degree of uncertainty users are willing to accept regarding the suggestions provided by LAFF.” – Belgacem teaches calculating probabilities for candidate values of a target field, ranking the candidate values according to those probabilities, and returning the highest ranked values as suggestions. Because the preceding limitation establishes the traversed paths, under BRI, the probability assigned to a candidate value reached by a path corresponds to outputting the value along the path having the highest probability.).
Accordingly, it would have been obvious to a person of ordinary skill in the art, before the effective filing date of the claimed invention, to modify Kalyanam’s interactive form filling system using the teachings of Guillame-Bert and Belgacem. Kalyanam already uses a hierarchical statistical tree in connection with data entered into form fields. Guillame-Bert would have provided an efficient way to map entered values to corresponding nodes within that tree, while Belgacem would have provided a way to use relationships between already filled fields and a target field to predict candidate values for the target field and rank those candidate values according to probability. One would have been motivated to make such a combination to more efficiently locate the portion of the tree corresponding to a value entered by the user and use the information associated with that portion of the tree to predict likely values for form fields that remain incomplete. The combination would therefore enhance Kalyanam’s interactive form-filling system by allowing entered form field values to be efficiently associated with relevant tree nodes and used to generate and present likely values for incomplete form fields.
Regarding claim 2, Kalyanam in view of Guillame-Bert further in view of Belgacem teaches all the elements of claim 1, therefore is rejected for the same reasons as those presented for claim 1. Kalyanam in view of Guillame-Bert further in view of Belgacem further teaches:
wherein the first value comprises two or more values corresponding to two or more attributes of the record (Kalyanam, paragraph [0029] “Each digital form 126 may be a fillable form data structure that includes a plurality of data fields configured to be filled with data features by users.” [0031] “The user may enter the appropriate responses or answers in response to the corresponding form fields by interacting with the application 123.” [0060] “The target data 215 includes a target value of an input data feature for a data field and values of a set of cohorting data features.” [0062] “The traversing may include matching values of the cohorting data features of the target data to satisfy the condition thresholds associated with the respective data features of the respective nodes from a first node to a target leaf node along the set of the target cohorts.” – Kalyanam teaches a digital form containing a plurality of data fields and receiving user-entered values corresponding to those respective fields. Kalyanam further processes a target data set containing values of a set of data features and uses the respective feature values during traversal of the statistical tree structure. Under BRI, the plurality of form fields correspond to attributes of the record, and the respective values entered or contained in the set of data features correspond to two or more values associated with two or more attributes of the record.).
Regarding claim 4, Kalyanam in view of Guillame-Bert further in view of Belgacem teaches all the elements of claim 1, therefore is rejected for the same reasons as those presented for claim 1. Kalyanam in view of Guillame-Bert further in view of Belgacem further teaches:
wherein the second tree-level is lower in the decision tree data structure relative to the first tree-level (Kalyanam, paragraph [0049] “Accordingly, “age” is selected to be used as the data feature to split the top cohort at the first node 502 into two branches 504 (FIG. 5A). Referring to FIGS. 5A and 5B, the true branch 504 may be formed from the first node 502 to the intermediate node 506L corresponding to a subset cohort #3” [0050] “At block 606, the processor 121 determines two subset or lower level cohorts for the current cohort to the two branches from the current node” [0052] “For example, the true branch 508 may be formed from the intermediate node 506L to the leaf node 510L corresponding to a subset cohort #1” – Kalyanam’s FIGS. 5A-5B depict a hierarchical statistical tree in which first node 502 is positioned above intermediate node 506L, and intermediate node 506L is positioned above leaf node 510L. Kalyanam further identifies the child cohorts reached by branching from a current node as “lower level cohorts.” Accordingly, under BRI, a tree-level containing intermediate or leaf node reached from a higher node corresponds to a second-tree level that is lower than the decision tree structure relative to the first tree-level.).
Regarding claim 5, Kalyanam in view of Guillame-Bert further in view of Belgacem teaches all the elements of claim 1, therefore is rejected for the same reasons as those presented for claim 1. Kalyanam in view of Guillame-Bert further in view of further in view of Belgacem further teaches:
wherein the path is traversed from the one or more nodes at the second tree-level towards the root node of the decision tree data structure until a target tree-level corresponding to a target attribute is reached (Kalyanam, paragraph [0062] “At block 706, the processor 121 applies an anomaly detection model 220 to traverse the statistical tree structure with the target dataset 215 to determine a set of target cohorts from a first node towards a target leaf node. The traversing may include matching values of the cohorting data features of the target data to satisfy the condition thresholds associated with the respective data features of the respective nodes from a first node to a target leaf node along the set of the target cohorts.” Belgacem, [page 14] “To deal with the first cause of inaccurate suggestions, LAFF analyzes the dependency between the filled fields and the target field (line 10), to check whether the target field directly depends on one of the filled fields in the BN. More precisely, function getParent computes a list of parent fields the target field directly depends on; function isMember checks whether any of the filled fields is in the parent field list” [page 26] “checkDep (which checks if the filled fields are parents of the target field)” – Kalyanam teaches traversing a hierarchical tree until a target node is reached, with respective data features associated with the nodes encountered during traversal. Belgacem teaches identifying a target field and its parent fields during form field prediction. Under BRI, the target field corresponds to the claimed target attribute, and the tree-level containing a new node associated with that target field corresponds to the target tree-level. Thus, in view of the parentward traversal established for claim 1, continuing the traversal until the level associated with the target fields is reached corresponds to traversing toward the root until a target tree-level corresponding to a target attribute is reached.)
Regarding claim 6, Kalyanam in view of Guillame-Bert further in view of Belgacem teaches all the elements of claim 5, therefore is rejected for the same reasons as those presented for claim 5. Kalyanam in view of Guillame-Bert further in view of Belgacem further teaches:
wherein the target attribute is a first target attribute, the target tree-level is a first target tree-level, and the method further comprises, in response to an attribute from the subset of the plurality of attributes not yet having a predicted value, traversing the path downwards from the first target tree-level to a second target tree-level corresponding to a second attribute from the subset of the plurality of attributes (Kalyanam, paragraph [0062] “At block 706, the processor 121 applies an anomaly detection model 220 to traverse the statistical tree structure with the target dataset 215 to determine a set of target cohorts from a first node towards a target leaf node. The traversing may include matching values of the cohorting data features of the target data to satisfy the condition thresholds associated with the respective data features of the respective nodes from a first node to a target leaf node along the set of the target cohorts. For example, as shown in the FIG. 5B, the set of target cohorts may be illustrated as the top cohort at the first node 502, the cohort #3 at an intermediate node 506L, and the cohort #1 at the target leaf node 510L.” Belgacem, [page 7] “the unfilled field 𝑓5 (“primary field of activity”) is the next (categorical) field to fill in. Our goal is to use the model 𝑀 to predict the value of 𝑓5 based on the values of the filled fields 𝑓1 to 𝑓4.” & “A user may select any field as the next target or even go back and modify already filled fields. In other words, the set of filled fields (
F
f
) and the target field to suggest (𝑓𝑝 ∈ 𝐹𝑢) keep changing.” & “Second, at a certain time during the data entry session, a form is usually partially filled.” – Kalyanam teaches traversing downward through successive levels of a hierarchical tree from a higher node through an intermediate node toward a target leaf node, with respective data features associated with the nodes along the path. Belgacem teaches that, during completion of a partially filled form, an unfilled field can be selected as the next target field for prediction and that the target field can change as the form is completed. Under BRI, an unfilled target field corresponds to an attribute not yet having a predicted value. Thus, when another unfilled field is selected as the target, continuing the downward traversal through Kalyanam’s tree to the tree-level associated with that field corresponds to traversing from the first target tree-level to a second target tree-level corresponding to a second attribute.)
Regarding claim 7, Kalyanam in view of Guillame-Bert further in view of Belgacem teaches all the elements of claim 6, therefore is rejected for the same reasons as those presented for claim 6. Kalyanam in view of Guillame-Bert further in view of Belgacem further teaches:
further comprising, validating, by the processor, the record based on the decision tree data structure in response to the record completed via the user-interface (Kalyanam, paragraph [0022] “The disclosed principles provide a machine learning based anomaly detection system executed by a processor or a computing device to predict and flag anomalous items in online forms during online form filling evaluation processes.” [0032] “Database 125 stores statistical tree structures 127 executed by the processor 121 to be trained by processing user data features 128 associated with a plurality of users to identify one or more anomalous data fields or line items in the filled digital form associated with an individual account.” [0059] “FIG. 7 is a flowchart illustrating an example process for predicting and flagging anomaly data fields of a filled digital form with corresponding trained anomaly detection models” [0060] “At block 702, the processor 121 receives a target dataset 215 associated with a digital form from the database 125.” [0060] “At block 702, the processor 121 receives a target dataset 215 associated with a digital form from the database 125.” [0061] “Each anomaly detection model includes a trained statistical tree structure with a plurality of nodes.” – Kalyanam teaches evaluating a filled digital form using anomaly-detection models comprising trained statistical tree structures to identify anomalous data fields or line items. Under BRI, the filled digital form corresponds to the completed record, and evaluating the completed form to determine whether its entered data fields are anomalous corresponds to validating the record. Because Kalyanam performs this evaluation as part of the online form filling process after the user data has been entered into the form, the evaluation as part of the online form-filling process after the user data has been entered into the form, the evaluation corresponds to validating the record in response to completion of the record via a user interface.).
Regarding claim 8, Kalyanam in view of Guillame-Bert further in view of Belgacem teaches all the elements of claim 1, therefore is rejected for the same reasons as those presented for claim 1. Kalyanam in view of Guillame-Bert further in view of Belgacem further teaches:
wherein the decision tree data structure is generated using machine learning based on historical records (Kalyanam, paragraph [0033] “FIG. 2 illustrates a block diagram of an example machine learning based anomaly detection system 200…Each anomaly detection model 220 is trained and generated based on the statistical values of corresponding data fields related to the digital forms 126. Statistics for a data field may correspond to each cohort at a respective node of a trained statistical tree structure for the data field.” [0043] “The statistical tree structure for the specific data field may be trained with values of the training data feature and values of cohorting data features stored in the database 125.” [0044] “A statistical tree structure may be trained to generate an anomaly detection model” – Kalyanam teaches a statistical tree structure that is training using stored values of training data features and cohorting data features associated with digital forms. Under BRI, training the tree structure using previously stored form data corresponds to generating the decision tree data structure using machine learning based on historical records.).
Regarding claim 12, Kalyanam teaches the following limitations:
A computing apparatus comprising: a processor; and a memory storing instructions that, when executed by the processor, configure the apparatus to predict possible values for a subset of a plurality of attributes of a record when the record is being interactively being completed: receive a first value corresponding to a first attribute of the record being completed (Kalyanam, paragraph [0025] “the one or more applications 123 may provide one or more functionalities to support online form filling tasks…are executed by the processor 121 for providing digital form filing processing services or providing one or more websites with corresponding services allowing users to submit digital forms.” [0031] “an application 123 hosted by the server computing device 120 is executed to generate the digital forms 126 by presenting a list of related questions or form fields with a series of interview screens on a display of a user computing device 130. The user may enter the appropriate responses or answers in response to the corresponding form fields by interacting with the application 123.” [0099] “The computing device 1100 may be implemented on any digital device to execute software applications derived from program instructions stored in the memory 1110, “ – Kalyanam describes an online form system in which form fields are presented to a user through interview screens and the user enters responses corresponding to those fields. Under BRI, the form fields correspond to attributes of the record and an entered response corresponds to a value of the respective attribute. Accordingly, Kalyanam teaches receiving, by a processor via a user interface, a first value corresponding to a first attribute of a record while the record is being interactively completed.);
determine, in a decision tree data structure, a first tree-level associated with the first attribute, the decision tree data structure comprising a plurality of tree-levels corresponding to the plurality of attributes, respectively (Kalyanam, paragraph [0042] “The example statistical tree structure 500A includes a plurality of hierarchically organized nodes connected by two branches. For example, the statistical tree structure 500A includes a plurality of nodes such as a top node 502, intermediate nodes 506L, 506R, and leaf nodes 510L, 510R.” [0049] “ At block 604, the processor 121 identifies and selects one of the cohorting data features of a top cohort and provides a binary function (e.g., true or false) to a condition threshold related to the selected data feature to control the binary branching of the top cohort at the first node to the two lower level cohorts… Accordingly, “age” is selected to be used as the data feature to split the top cohort at the first node 502 into two branches 504 (FIG. 5A).” [0052] “For example, the true branch 508 may be formed from the intermediate node 506L to the leaf node 510L corresponding to a subset cohort #1 when the value of the “owns property” data feature is less than or equal to a corresponding threshold defined for the “owns property” data feature.” – Under BRI, Kalyanam’s data features correspond to attributes, and its hierarchical node tiers correspond to tree-levels. Kalyanam associates different data features with different levels of the tree, including “age” at the first node 502 and “own property” at intermediate node 506L. Accordingly, the processor determines a tree-level associated with a given attribute within a tree structure having multiple levels corresponding to respective attributes.);
However, Kalyanam does not teach but Kalyanam in view of Guillame-Bert teaches the following limitation:
identify, in the decision tree data structure, one or more nodes at a second tree-level based on an index of the first tree-level, wherein the index of the first tree-level comprises a mapping between the first value of the first attribute and the one or more nodes from the second tree-level based on historical records used to generate the decision tree data structure (Kalyanam, paragraph [0031] “The application 123 is executed by the processor 121 to capture and store user inputs or user data features 128 associated with a plurality of user accounts in the database 125.” [0032] “Database 125 stores statistical tree structures 127 executed by the processor 121 to be trained by processing user data features 128 associated with a plurality of users…” [0043] “The statistical tree structure for the specific data field may be trained with values of the training data feature and values of cohorting data features stored in the database 125. “ [0049] “Accordingly, “age” is selected to be used as the data feature to split the top cohort at the first node 502 into two branches 504 (FIG. 5A). Referring to FIGS. 5A and 5B, the true branch 504 may be formed from the first node 502 to the intermediate node 506L corresponding to a subset cohort #3 when the value of the “age” data feature is less than or equal to the threshold. A false branch may be formed from the first node 502 to the intermediate node 506R corresponding to a subset cohort #4 when the value of the “age” data feature is larger than the threshold.” [0050] “At block 606, the processor 121 determines two subset or lower level cohorts for the current cohort to the two branches from the current node based on the condition threshold to control the branching.” Guillame-Bert, [section 2.3, Algorithm 1-2] “At any point during training, each bagged sample is attached to a single leaf - initially the root node. When a leaf is derived into two children, each sample of this node is re-assigned to one of its child nodes according to the result of the node condition (condition = chosen split).” Algorithm 1: “tuples (a, y, i), sorted in increasing order of a, where a is the numerical attribute value,
y
is the label value, and
i
is the sample index.” & “h sample2node(i)” Algorithm 2: “Initialize the mapping from sample index to node index so that all samples are assigned to the root.” & “Compute the number of active leaves and update the mapping from sample index to node index” – Kalyanam teaches using a value of a data feature at a first tree level to determine a corresponding lower-level node or cohort, where the tree is trained using stored user data features associated with a plurality of users. Under BRI, these stored user/form data correspond to historical records used to generate the tree. Guillame-Bert further teaches maintaining an explicit mapping between indexed samples and node indices in a decision tree and updating that mapping as samples are assigned to child nodes based on node conditions. It would have been obvious to one of ordinary skill in the art to apply Guillame-Bert’s index-based node mapping to Kalyanam’s attribute-value/tree-node associations so that a value of a first attribute may be used through an index to identify one or more corresponding nodes at a second tree-level. Accordingly, the combination provides an index of the first tree-level comprising a mapping between the first attribute value and one or more nodes of the second tree-level based on the stored historical data used to generate the decision tree.);
However, Kalyanam in view of Guillame-Bert does not teach but Kalyanam in view of Guillame-Bert further in view of Belgacem teaches the following limitation:
traverse, one or more paths in the decision tree data structure, wherein a path is traversed from each of the one or more nodes at the second tree-level towards a root node of the decision tree data structure (Kalyanam, paragraph [0062] “At block 706, the processor 121 applies an anomaly detection model 220 to traverse the statistical tree structure with the target dataset 215 to determine a set of target cohorts from a first node towards a target leaf node.” Belgacem, [page 14] “To deal with the first cause of inaccurate suggestions, LAFF analyzes the dependency between the filled fields and the target field (line 10), to check whether the target field directly depends on one of the filled fields in the BN. More precisely, function getParent computes a list of parent fields the target field directly depends on; function isMember checks whether any of the filled fields is in the parent field list.” [page 26] “checkDep (which checks if the filled fields are parents of the target field).” – Kalyanam teaches traversing a statistical tree structure towards a target node. Belgacem teaches determining parent fields associated with a target field used for prediction. Under BRI, determining the parent of a target field corresponds to proceeding from the target field toward a parent within the hierarchy. Where Kalyanam provides traversal of a hierarchical tree toward a prediction target and Belgacem provides the parent field relationship associated with the target toward parent levels of the hierarchy and therefore toward the root node.);
compute probabilities of the one or more paths; and output values of the subset of plurality of attributes of the record along the path with highest probability as the possible values (Belgacem, [page 14] “After selecting the most appropriate model for prediction, LAFF predicts the candidate values for the target field (line 8) and ranks the topmost
n
r
values, according to their probability distribution (line 9).” [page 15] “If one of the flags checkProb and checkDep evaluates to true, LAFF populates the list of suggested values to be returned to the user based on the top-ranked candidate values; otherwise, LAFF returns an empty list (lines 12–15).” & “According to the variable inference method in BN (explained in section 3.1), LAFF outputs the probability distribution of the candidate values for the field “primary activity”. Let us assume, as an example, that the probability distribution is “Leasing Service=0.70, Financial Service=0.15, Accommodation Service=0.05,…” [page 30] “With a higher threshold, LAFF will filter out more suggestions (resulting in a lower PCR value), only keeping the ones with a high predicted probability (resulting in higher MRR value). Hence, this threshold reflects the degree of uncertainty users are willing to accept regarding the suggestions provided by LAFF.” – Belgacem teaches calculating probabilities for candidate values of a target field, ranking the candidate values according to those probabilities, and returning the highest ranked values as suggestions. Because the preceding limitation establishes the traversed paths, under BRI, the probability assigned to a candidate value reached by a path corresponds to outputting the value along the path having the highest probability.).
Accordingly, it would have been obvious to a person of ordinary skill in the art, before the effective filing date of the claimed invention, to modify Kalyanam’s interactive form filling system using the teachings of Guillame-Bert and Belgacem. Kalyanam already uses a hierarchical statistical tree in connection with data entered into form fields. Guillame-Bert would have provided an efficient way to map entered values to corresponding nodes within that tree, while Belgacem would have provided a way to use relationships between already filled fields and a target field to predict candidate values for the target field and rank those candidate values according to probability. One would have been motivated to make such a combination to more efficiently locate the portion of the tree corresponding to a value entered by the user and use the information associated with that portion of the tree to predict likely values for form fields that remain incomplete. The combination would therefore enhance Kalyanam’s interactive form-filling system by allowing entered form field values to be efficiently associated with relevant tree nodes and used to generate and present likely values for incomplete form fields.
Regarding claim 13, Kalyanam in view of Guillame-Bert further in view of Belgacem teaches all the elements of claim 12, therefore is rejected for the same reasons as those presented for claim 12. The claim recites similar limitations corresponding to claim 2 and is rejected for similar reasons as claim 2 using similar teachings and rationale.
Regarding claim 15, Kalyanam in view of Guillame-Bert further in view of Belgacem teaches all the elements of claim 13, therefore is rejected for the same reasons as those presented for claim 13. Kalyanam in view of Guillame-Bert further in view of Belgacem further teaches:
wherein the instructions further configure the apparatus to, validate, by the processor, the record based on the decision tree data structure in response to the record completed via a user-interface (Kalyanam, paragraph [0022] “The disclosed principles provide a machine learning based anomaly detection system executed by a processor or a computing device to predict and flag anomalous items in online forms during online form filling evaluation processes.” [0032] “Database 125 stores statistical tree structures 127 executed by the processor 121 to be trained by processing user data features 128 associated with a plurality of users to identify one or more anomalous data fields or line items in the filled digital form associated with an individual account.” [0059] “FIG. 7 is a flowchart illustrating an example process for predicting and flagging anomaly data fields of a filled digital form with corresponding trained anomaly detection models” [0060] “At block 702, the processor 121 receives a target dataset 215 associated with a digital form from the database 125.” [0060] “At block 702, the processor 121 receives a target dataset 215 associated with a digital form from the database 125.” [0061] “Each anomaly detection model includes a trained statistical tree structure with a plurality of nodes.” – Kalyanam teaches evaluating a filled digital form using anomaly-detection models comprising trained statistical tree structures to identify anomalous data fields or line items. Under BRI, the filled digital form corresponds to the completed record, and evaluating the completed form to determine whether its entered data fields are anomalous corresponds to validating the record. Because Kalyanam performs this evaluation as part of the online form filling process after the user data has been entered into the form, the evaluation as part of the online form-filling process after the user data has been entered into the form, the evaluation corresponds to validating the record in response to completion of the record via a user interface.).
Regarding claim 17, Kalyanam teaches the following limitations:
A non-transitory computer-readable storage medium, the computer-readable storage medium including instructions that when executed by a computer, cause the computer to (Kalyanam, paragraph [0100] “Storage devices suitable for tangibly embodying computer program instructions and data may include all forms of non-transitory memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks”):
receive via user-interface, a first value corresponding to a first attribute of the record being completed (Kalyanam, paragraph [0025] “the one or more applications 123 may provide one or more functionalities to support online form filling tasks…are executed by the processor 121 for providing digital form filing processing services or providing one or more websites with corresponding services allowing users to submit digital forms.” [0031] “an application 123 hosted by the server computing device 120 is executed to generate the digital forms 126 by presenting a list of related questions or form fields with a series of interview screens on a display of a user computing device 130. The user may enter the appropriate responses or answers in response to the corresponding form fields by interacting with the application 123.“ – Kalyanam describes an online form system in which form fields are presented to a user through interview screens and the user enters responses corresponding to those fields. Under BRI, the form fields correspond to attributes of the record and an entered response corresponds to a value of the respective attribute. Accordingly, Kalyanam teaches receiving, by a processor via a user interface, a first value corresponding to a first attribute of a record while the record is being interactively completed.);
determine in a decision tree data structure, a first tree-level associated with the first attribute, wherein the decision tree data structure comprises a plurality of tree-levels corresponding to the plurality of attributes, respectively (Kalyanam, paragraph [0042] “The example statistical tree structure 500A includes a plurality of hierarchically organized nodes connected by two branches. For example, the statistical tree structure 500A includes a plurality of nodes such as a top node 502, intermediate nodes 506L, 506R, and leaf nodes 510L, 510R.” [0049] “ At block 604, the processor 121 identifies and selects one of the cohorting data features of a top cohort and provides a binary function (e.g., true or false) to a condition threshold related to the selected data feature to control the binary branching of the top cohort at the first node to the two lower level cohorts… Accordingly, “age” is selected to be used as the data feature to split the top cohort at the first node 502 into two branches 504 (FIG. 5A).” [0052] “For example, the true branch 508 may be formed from the intermediate node 506L to the leaf node 510L corresponding to a subset cohort #1 when the value of the “owns property” data feature is less than or equal to a corresponding threshold defined for the “owns property” data feature.” – Under BRI, Kalyanam’s data features correspond to attributes, and its hierarchical node tiers correspond to tree-levels. Kalyanam associates different data features with different levels of the tree, including “age” at the first node 502 and “own property” at intermediate node 506L. Accordingly, the processor determines a tree-level associated with a given attribute within a tree structure having multiple levels corresponding to respective attributes.);
However, Kalyanam does not teach but Kalyanam in view of Guillame-Bert teaches the following limitation:
identify in the decision tree data structure, one or more nodes at a second tree-level based on an index of the first tree-level, wherein the index of the first tree-level comprises a mapping between the first value of the first attribute and the one or more nodes from the second tree-level based on historical records used to generate the decision tree data structure (Kalyanam, paragraph [0031] “The application 123 is executed by the processor 121 to capture and store user inputs or user data features 128 associated with a plurality of user accounts in the database 125.” [0032] “Database 125 stores statistical tree structures 127 executed by the processor 121 to be trained by processing user data features 128 associated with a plurality of users…” [0043] “The statistical tree structure for the specific data field may be trained with values of the training data feature and values of cohorting data features stored in the database 125. “ [0049] “Accordingly, “age” is selected to be used as the data feature to split the top cohort at the first node 502 into two branches 504 (FIG. 5A). Referring to FIGS. 5A and 5B, the true branch 504 may be formed from the first node 502 to the intermediate node 506L corresponding to a subset cohort #3 when the value of the “age” data feature is less than or equal to the threshold. A false branch may be formed from the first node 502 to the intermediate node 506R corresponding to a subset cohort #4 when the value of the “age” data feature is larger than the threshold.” [0050] “At block 606, the processor 121 determines two subset or lower level cohorts for the current cohort to the two branches from the current node based on the condition threshold to control the branching.” Guillame-Bert, [section 2.3, Algorithm 1-2] “At any point during training, each bagged sample is attached to a single leaf - initially the root node. When a leaf is derived into two children, each sample of this node is re-assigned to one of its child nodes according to the result of the node condition (condition = chosen split).” Algorithm 1: “tuples (a, y, i), sorted in increasing order of a, where a is the numerical attribute value,
y
is the label value, and
i
is the sample index.” & “h sample2node(i)” Algorithm 2: “Initialize the mapping from sample index to node index so that all samples are assigned to the root.” & “Compute the number of active leaves and update the mapping from sample index to node index” – Kalyanam teaches using a value of a data feature at a first tree level to determine a corresponding lower-level node or cohort, where the tree is trained using stored user data features associated with a plurality of users. Under BRI, these stored user/form data correspond to historical records used to generate the tree. Guillame-Bert further teaches maintaining an explicit mapping between indexed samples and node indices in a decision tree and updating that mapping as samples are assigned to child nodes based on node conditions. It would have been obvious to one of ordinary skill in the art to apply Guillame-Bert’s index-based node mapping to Kalyanam’s attribute-value/tree-node associations so that a value of a first attribute may be used through an index to identify one or more corresponding nodes at a second tree-level. Accordingly, the combination provides an index of the first tree-level comprising a mapping between the first attribute value and one or more nodes of the second tree-level based on the stored historical data used to generate the decision tree.);
However, Kalyanam in view of Guillame-Bert does not teach but Kalyanam in view of Guillame-Bert further in view of Belgacem teaches the following limitation:
traverse one or more paths in the decision tree data structure, wherein a path is traversed from each of the one or more nodes at the second tree-level towards a root node of the decision tree data structure (Kalyanam, paragraph [0062] “At block 706, the processor 121 applies an anomaly detection model 220 to traverse the statistical tree structure with the target dataset 215 to determine a set of target cohorts from a first node towards a target leaf node.” Belgacem, [page 14] “To deal with the first cause of inaccurate suggestions, LAFF analyzes the dependency between the filled fields and the target field (line 10), to check whether the target field directly depends on one of the filled fields in the BN. More precisely, function getParent computes a list of parent fields the target field directly depends on; function isMember checks whether any of the filled fields is in the parent field list.” [page 26] “checkDep (which checks if the filled fields are parents of the target field).” – Kalyanam teaches traversing a statistical tree structure towards a target node. Belgacem teaches determining parent fields associated with a target field used for prediction. Under BRI, determining the parent of a target field corresponds to proceeding from the target field toward a parent within the hierarchy. Where Kalyanam provides traversal of a hierarchical tree toward a prediction target and Belgacem provides the parent field relationship associated with the target toward parent levels of the hierarchy and therefore toward the root node.);
compute probabilities of the one or more paths; and output the values of the subset of plurality of attributes of the record along the path with highest probability as the possible values (Belgacem, [page 14] “After selecting the most appropriate model for prediction, LAFF predicts the candidate values for the target field (line 8) and ranks the topmost
n
r
values, according to their probability distribution (line 9).” [page 15] “If one of the flags checkProb and checkDep evaluates to true, LAFF populates the list of suggested values to be returned to the user based on the top-ranked candidate values; otherwise, LAFF returns an empty list (lines 12–15).” & “According to the variable inference method in BN (explained in section 3.1), LAFF outputs the probability distribution of the candidate values for the field “primary activity”. Let us assume, as an example, that the probability distribution is “Leasing Service=0.70, Financial Service=0.15, Accommodation Service=0.05,…” [page 30] “With a higher threshold, LAFF will filter out more suggestions (resulting in a lower PCR value), only keeping the ones with a high predicted probability (resulting in higher MRR value). Hence, this threshold reflects the degree of uncertainty users are willing to accept regarding the suggestions provided by LAFF.” – Belgacem teaches calculating probabilities for candidate values of a target field, ranking the candidate values according to those probabilities, and returning the highest ranked values as suggestions. Because the preceding limitation establishes the traversed paths, under BRI, the probability assigned to a candidate value reached by a path corresponds to outputting the value along the path having the highest probability.).
Accordingly, it would have been obvious to a person of ordinary skill in the art, before the effective filing date of the claimed invention, to modify Kalyanam’s interactive form filling system using the teachings of Guillame-Bert and Belgacem. Kalyanam already uses a hierarchical statistical tree in connection with data entered into form fields. Guillame-Bert would have provided an efficient way to map entered values to corresponding nodes within that tree, while Belgacem would have provided a way to use relationships between already filled fields and a target field to predict candidate values for the target field and rank those candidate values according to probability. One would have been motivated to make such a combination to more efficiently locate the portion of the tree corresponding to a value entered by the user and use the information associated with that portion of the tree to predict likely values for form fields that remain incomplete. The combination would therefore enhance Kalyanam’s interactive form-filling system by allowing entered form field values to be efficiently associated with relevant tree nodes and used to generate and present likely values for incomplete form fields.
Regarding claim 19, Kalyanam in view of Guillame-Bert further in view of Belgacem teaches all the elements of claim 17, therefore is rejected for the same reasons as those presented for claim 17. Kalyanam in view of Guillame-Bert further in view of Lakshminarayanan further in view of Ouellet further teaches:
traverse the path from the one or more nodes at the second tree-level towards the root node of the decision tree data structure until the first target tree-level is reached (Kalyanam, paragraph [0062] “At block 706, the processor 121 applies an anomaly detection model 220 to traverse the statistical tree structure with the target dataset 215 to determine a set of target cohorts from a first node towards a target leaf node. The traversing may include matching values of the cohorting data features of the target data to satisfy the condition thresholds associated with the respective data features of the respective nodes from a first node to a target leaf node along the set of the target cohorts.” Belgacem, [page 14] “To deal with the first cause of inaccurate suggestions, LAFF analyzes the dependency between the filled fields and the target field (line 10), to check whether the target field directly depends on one of the filled fields in the BN. More precisely, function getParent computes a list of parent fields the target field directly depends on; function isMember checks whether any of the filled fields is in the parent field list” [page 26] “checkDep (which checks if the filled fields are parents of the target field)” – Kalyanam teaches traversing a hierarchical tree until a target node is reached, with respective data features associated with the nodes encountered during traversal. Belgacem teaches identifying a target field and its parent fields during form field prediction. Under BRI, the target field corresponds to the claimed target attribute, and the tree-level containing a new node associated with that target field corresponds to the target tree-level. Thus, in view of the parentward traversal established for claim 1, continuing the traversal until the level associated with the target fields is reached corresponds to traversing toward the root until a target tree-level corresponding to a target attribute is reached.)
in response to an attribute from the subset of the plurality of attributes not yet having a predicted value, traverse the path downwards from the first target tree-level to a second target tree-level corresponding to a second attribute from the subset of the plurality of attributes. (Kalyanam, paragraph [0062] “At block 706, the processor 121 applies an anomaly detection model 220 to traverse the statistical tree structure with the target dataset 215 to determine a set of target cohorts from a first node towards a target leaf node. The traversing may include matching values of the cohorting data features of the target data to satisfy the condition thresholds associated with the respective data features of the respective nodes from a first node to a target leaf node along the set of the target cohorts. For example, as shown in the FIG. 5B, the set of target cohorts may be illustrated as the top cohort at the first node 502, the cohort #3 at an intermediate node 506L, and the cohort #1 at the target leaf node 510L.” Belgacem, [page 7] “the unfilled field 𝑓5 (“primary field of activity”) is the next (categorical) field to fill in. Our goal is to use the model 𝑀 to predict the value of 𝑓5 based on the values of the filled fields 𝑓1 to 𝑓4.” & “A user may select any field as the next target or even go back and modify already filled fields. In other words, the set of filled fields (
F
f
) and the target field to suggest (𝑓𝑝 ∈ 𝐹𝑢) keep changing.” & “Second, at a certain time during the data entry session, a form is usually partially filled.” – Kalyanam teaches traversing downward through successive levels of a hierarchical tree from a higher node through an intermediate node toward a target leaf node, with respective data features associated with the nodes along the path. Belgacem teaches that, during completion of a partially filled form, an unfilled field can be selected as the next target field for prediction and that the target field can change as the form is completed. Under BRI, an unfilled target field corresponds to an attribute not yet having a predicted value. Thus, when another unfilled field is selected as the target, continuing the downward traversal through Kalyanam’s tree to the tree-level associated with that field corresponds to traversing from the first target tree-level to a second target tree-level corresponding to a second attribute.)
Claims 3, 9-11, 14, 16, 18, and 20 are rejected under the 35 U.S.C. 103 as being unpatentable over Kalyanam et al., (Pub. No.: US 20220350790 A1 (Filed: 2022)) in view of Guillame-Bert et al., (NPL: “Exact Distributed Training: Random Forest With Billions of Examples” (Published: 2018)) Belgacem et al., (NPL: “A Machine Learning Approach for Automated Filling of Categorical Fields in Data Entry Forms” (Published: 2022)) further in view of Chandra et al., (NPL: “A new node splitting measure for decision tree construction” (Published: 2010)).
Regarding claim 3, Kalyanam in view of Guillame-Bert further in view of Belgacem teaches all the elements of claim 2, therefore is rejected for the same reasons as those presented for claim 2. Kalyanam in view of Guillame-Bert further in view of Belgacem does not teach but Kalyanam in view of Guillame-Bert further in view of Belgacem further in view of Chandra teaches:
wherein the first attribute is selected from the two or more attributes as an attribute with a corresponding node in the decision tree data structure with a highest weight among weights assigned to nodes corresponding to the two or more attributes (Chandra, [section 2.1] “and then using the attribute that maximizes
G
a
i
n
(
x
j
)
/
g
for splitting the node” [section 3] “The weights are determined by the proportion of data in each of the partitions N(v)/N(u). The DCSM measure M(
x
j
j
) is defined for a given attribute(feature)
x
j
as follows:“ - Chandra evaluates multiple candidate attributes for a decision tree-node using respective attribute measures and selects the attribute having the maximum evaluated measure for each attribute. Under BRI, these attribute-specific weighted measures correspond to weights assigned to the nodes corresponding to the respective attributes, and selecting the attribute having the maximum weighted measure corresponds to selecting, from the two or more attributes, the attributes having a corresponding node with the highest weight.)
Accordingly, it would have been obvious to a person of ordinary skill in the art, before the effective filing date of the claimed invention, having Kalyanam, Guillame-Bert, Lakshminarayanan, Ouellet, and Chandra before them, to further apply Chandra’s weighted attribute-selection technique to the combined system of Kalyanam, Guillame-Bert, Lakshminarayanan, and Ouellet. Chandra provides a known technique for evaluating multiple candidate attributes using weighted measures and selecting the attribute having the highest evaluated measure for use at a corresponding decision-tree node. One would have been motivated to do so in order to provide a consistent way to select, from multiple available attributes, the attribute having the greatest relative significance for use in the tree. Chandra’s weighted attribute measures would allow the system to prioritize the attribute associated with the highest weight before performing the node identification, traversal, and prediction of operations of the combined system. Accordingly, the combination would have predictably resulted in selecting the highest-weighted attribute for use in the decision-tree processing.
Regarding claim 9, Kalyanam in view of Guillame-Bert further in view of Belgacem teaches all the elements of claim 1, therefore is rejected for the same reasons as those presented for claim 1. Kalyanam in view of Guillame-Bert further in view of Belgacem does not teach but Kalyanam in view of Guillame-Bert further in view of Belgacem further in view of Chandra teaches the following limitation:
wherein generating the decision tree data structure comprises, for each attribute in the record, determining an attribute type and computing an entropy based on the attribute type (Chandra, [section 2] “The decision tree is to be induced from N training examples represented as
x
1
y
1
,
x
2
y
2
,
…
,
x
N
y
N
where
x
(
i
)
is a vector of
n
attributes and
y
(
i
)
…is the class label corresponding to the input
x
(
i
)
.
"
[section 2.1] “Entropy based node splitting criteria is based on choosing a partitioning that results in the largest decrease in entropy [18]. Consider a node
u
with
V
child nodes resulting from the partitioning induced at node
u
. Succinctly, the gain in information resulting from splitting the training examples based on an attribute
x
j
can be written as… where the first term in the above equation is the entropy at the parent node and the second term is the weighted entropy of the child nodes. The difference represents the gain in information and the attribute that produces the largest gain in information is used for partitioning.” – under the broadest reasonable interpretation, generating a decision tree from training records that includes attributes involves evaluating the attributes of records during tree construction. Chandra describes that the training data includes records represented as vectors of attributes and that entropy-based node splitting criteria are computed when evaluating attributes to determine that the partitioning used to construct the decision tree. Accordingly, evaluating attributes using entropy-based node splitting corresponds to determining attributes of records and computing entropy values associated with those attributes when generating the decision tree structure.).
Regarding claim 10, Kalyanam in view of Guillame-Bert Kalyanam in view of Guillame-Bert further in view of Belgacem further in view of Chandra teaches all the elements of claim 9, therefore is rejected for the same reasons as those presented for claim 9. Kalyanam in view of Guillame-Bert Kalyanam in view of Guillame-Bert further in view of Belgacem further in view of Chandra teaches the following limitation:
wherein generating the decision tree data structure further comprises assigning tree-levels to each attribute based on a sorted order of the entropies (Chandra, [Introduction] “Top-down induction of decision trees is a powerful method of pattern classification [18]. Given a training dataset, decision trees utilize a node splitting criteria to partition the input space such that the training data points in each partition can be classified with lesser uncertainty. The process is recursively applied within each resulting partition not meeting a stopping condition.” [section 2.1] “Entropy based node splitting criteria is based on choosing a partitioning that results in the largest decrease in entropy [18]…The difference represents the gain in information and the attribute that produces the largest gain in information is used for partitioning.” – under BRI, Chandra teaches a recursive, top-down induction of decision trees where attributes are evaluated at each node. Chandra specifies that this evaluation is based on “choosing a portioning that results in the largest decrease in entropy.” Identifying the “largest” value among a set of attributes inherently requires comparing and ranking (i.e., sorting) those attributes based on their entropy-derived metrics. Because the attribute with the highest metric is selected to form the next node in the recursive process, the recursive structure disclosed by Chandra corresponds to assigning attributes to successive tree-levels based on an ordered (i.e., sorted) arrangement of their entropy values.).
Regarding claim 11 Kalyanam in view of Guillame-Bert further in view of Belgacem further in view of Chandra teaches all the elements of claim 10, therefore is rejected for the same reasons as those presented for claim 10. Kalyanam in view of Guillame-Bert does not teach but Kalyanam in view of Guillame-Bert further in view of Belgacem further in view of Chandra teaches the following limitation:
wherein generating the decision tree data structure further comprises, for each tree-level, invoking a sub-tree generating algorithm for each node in the tree-level (Guillame-Bert, [section 2] “DRF builds DTs “depth level by depth level” i.e. all the nodes at a given depth are split together.” [section 2.4] “We call supersplit a set of splits mapped one-to-one with the open leaves at a given depth of a tree. The following subsections present how DRF computes the optimal splits for all the nodes at a given depth, i.e. the optimal supersplit at a given depth, in a single pass per feature.” [section 2.5] “Each decision tree is built by the tree builder with Alg. 2.” [Algorithm 2] “Query the splitters for the optimal supersplit.” & “Update the tree structure with the optimal supersplit.” & “If at least one leaf remains open, go to step 3.” – Guillame-Bert teaches constructing a decision tree “depth level by depth level,” where all nodes at a given depth are processed together. Guillame-Bert further defines a supersplit as a set of splits mapped one-to-one to the open leaves at a given depth and computes an optimal split for each such node before updating the tree structure. Under BRI, each depth corresponds to a tree-level, and determining and applying a split for each node at that depth to generate its child nodes corresponds to invoking a sub-tree generating algorithm for each node in the tree-level.).
Regarding claim 14, Kalyanam in view of Guillame- Kalyanam in view of Guillame-Bert further in view of Belgacem teaches all the elements of claim 13, therefore is rejected for the same reasons as those presented for claim 13. The claim recites similar limitations corresponding to claim 3 and is rejected for similar reasons as claim 3 using similar teachings and rationale.
Regarding claim 16, Kalyanam in view of Guillame-Bert further in view of Belgacem teaches all the elements of claim 13, therefore is rejected for the same reasons as those presented for claim 13. However, Kalyanam in view of Guillame-Bert further in view of Belgacem does not teach but Kalyanam in view of Guillame-Bert further in view of Belgacem further in view of Chandra teaches the following limitations:
for each attribute in the record, determining an attribute type and computing an entropy based on the attribute type (Chandra, [section 2] “The decision tree is to be induced from N training examples represented as
x
1
y
1
,
x
2
y
2
,
…
,
x
N
y
N
where
x
(
i
)
is a vector of
n
attributes and
y
(
i
)
…is the class label corresponding to the input
x
(
i
)
.
"
[section 2.1] “Entropy based node splitting criteria is based on choosing a partitioning that results in the largest decrease in entropy [18]. Consider a node
u
with
V
child nodes resulting from the partitioning induced at node
u
. Succinctly, the gain in information resulting from splitting the training examples based on an attribute
x
j
can be written as… where the first term in the above equation is the entropy at the parent node and the second term is the weighted entropy of the child nodes. The difference represents the gain in information and the attribute that produces the largest gain in information is used for partitioning.” – under the broadest reasonable interpretation, generating a decision tree from training records that includes attributes involves evaluating the attributes of records during tree construction. Chandra describes that the training data includes records represented as vectors of attributes and that entropy-based node splitting criteria are computed when evaluating attributes to determine that the partitioning used to construct the decision tree. Accordingly, evaluating attributes using entropy-based node splitting corresponds to determining attributes of records and computing entropy values associated with those attributes when generating the decision tree structure.);
for each tree-level, invoking a sub-tree generating algorithm for each node in the tree-level (Guillame-Bert, [section 2, page 2] “DRF builds DTs “depth level by depth level” i.e. all the nodes at a given depth are split together.” [section 2.4] “We call supersplit a set of splits mapped one-to-one with the open leaves at a given depth of a tree…The following subsections present how DRF computes the optimal splits for all the nodes at a given depth, i.e. the optimal supersplit at a given depth, in a single pass per feature.” [section 2.5] “Each decision tree is built by the tree builder with Alg. 2.” [Algorithm 2, page 3] “Query the splitters for the optimal supersplit.” & “Update the tree structure with the optimal supersplit.” & “If at least one leaf remains open, go to step 3.” – Guillame-Bert teaches construction a decision tree one depth level at a time, with all nodes at a given depth being split together. A supersplit contains a respective split for the open leaves at that depth, and the tree builder determines and applies those splits to update the tree structure. Under BRI, a depth corresponding to a tree-level, and applying a split to each node at that depth to generate the portion of the tree below that node corresponds to invoking a sub-tree generating algorithm for each node in the tree-level.).
Regarding claim 18, Kalyanam in view of Guillame-Bert further in view of Belgacem teaches all the elements of claim 17, therefore is rejected for the same reasons as those presented for claim 17. Kalyanam in view of Guillame-Bert further in view of Belgacem further teaches:
wherein the first value comprises two or more values corresponding to two or more attributes of the record, and wherein the first attribute is selected from the two or more attributes as an attribute with a corresponding node in the decision tree data structure with the highest weight among weights assigned to nodes corresponding to the two or more attributes (Kalyanam, paragraph [0029] “Each digital form 126 may be a fillable form data structure that includes a plurality of data fields configured to be filled with data features by users.” [0031] “The user may enter the appropriate responses or answers in response to the corresponding form fields by interacting with the application 123.” [0060] “The target data 215 includes a target value of an input data feature for a data field and values of a set of cohorting data features.” [0062] “The traversing may include matching values of the cohorting data features of the target data to satisfy the condition thresholds associated with the respective data features of the respective nodes from a first node to a target leaf node along the set of the target cohorts.” Chandra, [section 2.1] “Entropy based node splitting criteria is based on choosing a partitioning that results in the largest decrease in entropy [18].” & “where the first term in the above equation is the entropy at the parent node and the second term is the weighted entropy of the child nodes. The difference represents the gain in information and the attribute that produces the largest gain in information is used for partitioning.” & “Specifically, Gain Ratio defines the size of the split g as
PNG
media_image1.png
42
179
media_image1.png
Greyscale
and then using the attribute that maximizes
PNG
media_image2.png
25
82
media_image2.png
Greyscale
for splitting the node.” – Kalyanam teaches receiving and using values corresponding to multiple data features of a record. Under BRI, the data features correspond to attributes and the respective feature values correspond to two or more values of two or more attributes. Chandra teaches evaluating candidate attributes using numerical measures and selecting the attribute having the highest evaluated measure corresponds to that attribute. Thus, selecting the attribute having the highest evaluated measure corresponds to selecting, from the two or more attributes, the attribute having a corresponding node with the highest weight.).
Regarding claim 20, Kalyanam in view of Guillame-Bert further in view of Belgacem teaches all the elements of claim 17, therefore is rejected for the same reasons as those presented for claim 17. However, Kalyanam in view of Guillame-Bert further in view of Belgacem does not teach but Kalyanam in view of Guillame-Bert further in view of Belgacem further in view of Chandra teaches the following limitations:
for each attribute in the record, determine an attribute type and computing an entropy based on the attribute type (Chandra, [section 2] “The decision tree is to be induced from N training examples represented as
x
1
y
1
,
x
2
y
2
,
…
,
x
N
y
N
where
x
(
i
)
is a vector of
n
attributes and
y
(
i
)
…is the class label corresponding to the input
x
(
i
)
.
"
[section 2.1] “Entropy based node splitting criteria is based on choosing a partitioning that results in the largest decrease in entropy [18]. Consider a node
u
with
V
child nodes resulting from the partitioning induced at node
u
. Succinctly, the gain in information resulting from splitting the training examples based on an attribute
x
j
can be written as… where the first term in the above equation is the entropy at the parent node and the second term is the weighted entropy of the child nodes. The difference represents the gain in information and the attribute that produces the largest gain in information is used for partitioning.” – under the broadest reasonable interpretation, generating a decision tree from training records that includes attributes involves evaluating the attributes of records during tree construction. Chandra describes that the training data includes records represented as vectors of attributes and that entropy-based node splitting criteria are computed when evaluating attributes to determine that the partitioning used to construct the decision tree. Accordingly, evaluating attributes using entropy-based node splitting corresponds to determining attributes of records and computing entropy values associated with those attributes when generating the decision tree structure.);
assign tree-levels to each attribute based on a sorted order of the entropies (Chandra, [Introduction] “Top-down induction of decision trees is a powerful method of pattern classification [18]. Given a training dataset, decision trees utilize a node splitting criteria to partition the input space such that the training data points in each partition can be classified with lesser uncertainty. The process is recursively applied within each resulting partition not meeting a stopping condition.” [section 2.1] “Entropy based node splitting criteria is based on choosing a partitioning that results in the largest decrease in entropy [18]…The difference represents the gain in information and the attribute that produces the largest gain in information is used for partitioning.” – under BRI, Chandra teaches a recursive, top-down induction of decision trees where attributes are evaluated at each node. Chandra specifies that this evaluation is based on “choosing a portioning that results in the largest decrease in entropy.” Identifying the “largest” value among a set of attributes inherently requires comparing and ranking (i.e., sorting) those attributes based on their entropy-derived metrics. Because the attribute with the highest metric is selected to form the next node in the recursive process, the recursive structure disclosed by Chandra corresponds to assigning attributes to successive tree-levels based on an ordered (i.e., sorted) arrangement of their entropy values.);
for each tree-level, invoke a sub-tree generating algorithm for each node in the tree-level (Guillame-Bert, [section 2] “DRF builds DTs “depth level by depth level” i.e. all the nodes at a given depth are split together.” [section 2.4] “We call supersplit a set of splits mapped one-to-one with the open leaves at a given depth of a tree. The following subsections present how DRF computes the optimal splits for all the nodes at a given depth, i.e. the optimal supersplit at a given depth, in a single pass per feature.” [section 2.5] “Each decision tree is built by the tree builder with Alg. 2.” [Algorithm 2] “Query the splitters for the optimal supersplit.” & “Update the tree structure with the optimal supersplit.” & “If at least one leaf remains open, go to step 3.” – Guillame-Bert teaches constructing a decision tree “depth level by depth level,” where all nodes at a given depth are processed together. Guillame-Bert further defines a supersplit as a set of splits mapped one-to-one to the open leaves at a given depth and computes an optimal split for each such node before updating the tree structure. Under BRI, each depth corresponds to a tree-level, and determining and applying a split for each node at that depth to generate its child nodes corresponds to invoking a sub-tree generating algorithm for each node in the tree-level.).
Conclusion
The prior art of record and not relied upon is considered pertinent to Applicant’s disclosure:
Singh et al., Pub. No.: US 20210303761 A1 – teaches upward traversal within a hierarchical tree structure, including traversal from a lower-node towards ancestor nodes.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Daravanh Phakousonh whose telephone number is (571)272-6324. The examiner can normally be reached Mon - Thurs 7 AM - 5 PM, Every other Friday 7 AM - 4PM.
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, Li B Zhen can be reached at 571-272-3768. 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.
/Daravanh Phakousonh/Examiner, Art Unit 2121
/Li B. Zhen/Supervisory Patent Examiner, Art Unit 2121