CTFR 18/626,009 CTFR 90841 DETAILED ACTION Remarks Claims 1-7, 9-21, and 23-31 have been examined and rejected. This Office action is responsive to the amendment filed on 05/20/2026, which has been entered in the above identified application. Notice of Pre-AIA or AIA Status 07-03-aia AIA 15-10-aia The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA. Claim Objections 07-29-01 AIA Claim s 1, 7, 12, 15, 21, and 26 are objected to because of the following informalities: Claims 1 and 15 recite ‘the respective element arrays of the documents of the set of documents’; however, they should recite - - respective element arrays of documents of the set of documents - -. Claims 7 and 21 recite ‘the number’; however, they should recite - - a number - -. Claims 12 and 26 recite ‘the respective text values of the plurality of text elements’; however, they should recite - - respective text values of the plurality of text elements - -. Appropriate correction is required. Claim Rejections - 35 USC § 112 07-30-02 AIA The following is a quotation of 35 U.S.C. 112(b): (b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention. The following is a quotation of 35 U.S.C. 112 (pre-AIA), second paragraph: The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention. 07-34-01 Claims 1-7, 9-21, and 23-31 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention. Regarding claim 1, claim 1 recites “aggregate the respective plurality of text elements for each document”. It is unclear how “the respective plurality of text elements for each document” is intended to relate to the previously recited “a plurality of text elements located within each document”. It is further unclear whether “each document” is intended to refer to documents in “the batch of documents” or the “plurality of documents”. For the purposes of examination, this limitations is interpreted as: aggregate a respective plurality of text elements for each document of the batch of documents Claim 1 further recites “indexing each text element according to its respective text value and an identifier of the respective document within which it was identified”. It is unclear which previous limitations “its” and “it” are intended to refer. Additionally, it is unclear whether “each text element” is intended to refer back to the “plurality of text elements located within each document of the batch of documents” or “the respective plurality of text elements for each document”. Additionally, the claims do not previously recite “the respective document within which it was identified”. For the purposes of examination, this limitations is interpreted as: indexing each respective text element of the respective plurality of text elements according to a respective text value and an identifier of a respective document within which each respective text element of the respective plurality of text elements was identified Claim 1 further recites “the matching text elements common to a threshold number of documents”. It is unclear how this limitation is intended to relate to the previously recited “matching text elements with matching text values within the respective element arrays of the documents”. For the purposes of examination, this limitations is interpreted as: matching text elements common to a threshold number of documents Claim 1 further recites “the clustered set of documents included within the batch of documents having matching sets of static text elements”. It is unclear how this limitation is intended to relate to the previously recited “set of documents of the batch of documents”. For the purposes of examination, this limitations is interpreted as: a second clustered set of documents included within the batch of documents having matching sets of static text elements Regarding claim 15, claim 15 contains substantially similar limitations to those found in claim 1. Consequently, claim 15 is rejected for the same reasons. Regarding claims 2-7, 9-14, 16-21, and 23-31, claims 2-7, 9-14, 16-21, and 23-31 are also rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA), second paragraph, as being indefinite for depending on an indefinite parent claim. Claim Rejections - 35 USC § 101 07-04-01 AIA 07-04 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-7, 9-21, and 23-31 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. Claims 1 and 15 Step 1 : Claims 1 and 15 recite a system and a method; therefore, they are directed to the statutory categories of a machine and a methods. Step 2A Prong 1 : The claims recite, inter alia: identify a plurality of text elements located within each document of the batch of documents, wherein each text element includes a respective text value; aggregate the respective plurality of text elements for each document into an element array, indexing each text element according to its respective text value and an identifier of the respective document within which it was identified; Under its broadest reasonable interpretation in light of the specification, this limitation encompasses the mental process of identifying text elements in documents and aggregating text elements for each document into a list, which is an evaluation or observation that is practically capable of being performed in the human mind with the assistance of pen and paper. cluster a set of documents of the batch of documents in response to detecting a threshold percentage of matching text elements with matching text values within the respective element arrays of the documents of the set of documents; determine a set of static text elements for the clustered set of documents based on the matching text elements common to a threshold number of documents within the clustered set of document; Under its broadest reasonable interpretation in light of the specification, this limitation encompasses the mental process of clustering documents and determining matching text elements based on thresholds, which is an evaluation or observation that is practically capable of being performed in the human mind with the assistance of pen and paper and paper and mathematical concepts that are achievable through mathematical computation. generate a template that represents the clustered set of documents included within the batch of documents having matching sets of static text elements; Under its broadest reasonable interpretation in light of the specification, this limitation encompasses the mental process of generating a template based on matching text, which is an evaluation or observation that is practically capable of being performed in the human mind with the assistance of pen and paper Step 2A Prong 2 : This judicial exception is not integrated into a practical application. The additional elements of “ A template generation system for categorizing a variety of different documents, the template generation system comprising: at least one memory with instructions stored thereon; and at least one processor in communication with the at least one memory, wherein the instructions, when executed by the at least one processor, cause the at least one processor to ”, and “ A computer-implemented method of generating a template, the method implemented by a template generation server comprising a memory and a processor, the method comprising ” amount to no more than generally linking the use of a judicial exception to a particular technological environment or field of use (see MPEP § 2106.05(h). The claimed computer components are recited at a high level of generality and are merely invoked as tool to perform the abstract idea. The additional elements of “receive a batch of documents including a plurality of documents of different document types “ amount to insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)). Even when viewed in combination, these additional element do not integrate the abstract idea into a practical application and the claims are thus directed to the abstract idea. Step 2B : The claims do not contain significantly more than the judicial exception. “ A template generation system for categorizing a variety of different documents, the template generation system comprising: at least one memory with instructions stored thereon; and at least one processor in communication with the at least one memory, wherein the instructions, when executed by the at least one processor, cause the at least one processor to ”, and “ A computer-implemented method of generating a template, the method implemented by a template generation server comprising a memory and a processor, the method comprising ” amount to no more than generally linking the use of a judicial exception to a particular technological environment or field of use (see MPEP § 2106.05(h)). Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept. The additional elements of “receive a batch of documents including a plurality of documents of different document types” amounts to insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is a well-understood, routine, conventional activity (see MPEP § 2106.05(d); “Receiving or transmitting data over a network”). Nothing in the claims provides significantly more than that abstract idea. As such, the claims are ineligible. Claims 2-7, 9-14, 16-21, and 23-31 Step 1 : Claims 2-7, 9-14, 16-21, and 23-31 recite systems and methods; therefore, they are directed to the statutory categories of machines and methods. Step 2 : claims 2-7, 9-14, 16-21, and 23-31 merely narrow the previously recited abstract idea limitations. For the reasons described above with respect to claims 1 and 15, this judicial exception is not meaningfully integrated into a practical application, or significantly more than the abstract idea. The claims disclose similar limitations described for the independent claims above and do not provide anything more than the mental processes that are practically capable of being performed in the human mind with the assistance of pen and paper and mathematical concepts that are achievable through mathematical computation. Claims 2 and 16 further recite the additional element of “ analyze the set of static text elements based upon one or more criterion to determine whether or not to generate the template ”. Under its broadest reasonable interpretation in light of the specification, this limitation encompasses the mental process of analyzing text to determine whether to generate a template, which is an evaluation or observation that is practically capable of being performed in the human mind with the assistance of pen and paper. The additional elements of “ wherein the at least one processor is further programmed ” and “ The computer-implemented method ” amount to no more than generally linking the use of a judicial exception to a particular technological environment or field of use (see MPEP § 2106.05(h)). Claims 3 and 17 further recite the additional element of “ generate a respective set of static text elements for each of a plurality of clustered sets of documents identified in the batch of documents” . Under its broadest reasonable interpretation in light of the specification, this limitation encompasses the mental process of determining text based on the clusters, which is an evaluation or observation that is practically capable of being performed in the human mind with the assistance of pen and paper. The additional elements of “ wherein the at least one processor is further programmed ” and “ The computer-implemented method ” amount to no more than generally linking the use of a judicial exception to a particular technological environment or field of use (see MPEP § 2106.05(h)). Claim 4 and 18 further recite the additional elements of “ perform optical character recognition on each of the plurality of documents to identify the plurality of text elements located within each document ”. These elements amount to insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)), and is a well-understood, routine, conventional activity (see MPEP § 2106.05(d); “Receiving or transmitting data over a network”). The additional elements of “ wherein the at least one processor is further programmed ” and “ The computer-implemented method ” amount to no more than generally linking the use of a judicial exception to a particular technological environment or field of use (see MPEP § 2106.05(h)). Claims 5 and 19 further recite the additional element of “ determine whether a first text element in a first document includes a same text value as a second text element in a second document ”. Under its broadest reasonable interpretation in light of the specification, this limitation encompasses the mental process of determining matching text, which is an evaluation or observation that is practically capable of being performed in the human mind with the assistance of pen and paper. The additional elements of “ wherein the at least one processor is further programmed ” and “ The computer-implemented method ” amount to no more than generally linking the use of a judicial exception to a particular technological environment or field of use (see MPEP § 2106.05(h)). Claims 6 and 20 further recite the additional element of “ determine whether a first text element in a first document includes a matching text value as a second text element in a second document ”. Under its broadest reasonable interpretation in light of the specification, this limitation encompasses the mental process of determining matching text, which is an evaluation or observation that is practically capable of being performed in the human mind with the assistance of pen and paper. The additional elements of “ wherein the at least one processor is further programmed ” and “ The computer-implemented method ” amount to no more than generally linking the use of a judicial exception to a particular technological environment or field of use (see MPEP § 2106.05(h)). Claims 7 and 21 further recite the additional element of “ to identify static text values: apply a text element count to the number of element array entries having that text value; and select a set of most frequently recurring text values across the element array as the static text values ”. Under its broadest reasonable interpretation in light of the specification, this limitation encompasses the mental process of counting text values and identifying a most frequent text value, which is an evaluation or observation that is practically capable of being performed in the human mind with the assistance of pen and paper and a mathematical concept that is achievable through mathematical computation. The additional elements of “ wherein the at least one processor is further programmed ” and “ The computer-implemented method ” amount to no more than generally linking the use of a judicial exception to a particular technological environment or field of use (see MPEP § 2106.05(h)). Claims 9 and 23 further recite the additional element of “ wherein to determine the set of static text elements within the clustered set of documents, at least one first document of the clustered set of documents to at least one second document of the clustered set of documents to determine a percentage match ”. Under its broadest reasonable interpretation in light of the specification, this limitation encompasses the mental process of comparing text and determining a matching percentage, which is an evaluation or observation that is practically capable of being performed in the human mind with the assistance of pen and paper and a mathematical concept that is achievable through mathematical computation. The additional elements of “ wherein the at least one processor is further programmed ” and “ The computer-implemented method ” amount to no more than generally linking the use of a judicial exception to a particular technological environment or field of use (see MPEP § 2106.05(h)). Claims 10 and 24 further recite the additional element of “ wherein when the percentage match between two or more of the first and second documents exceeds a threshold, the at least one processor is further programmed to determine the set of static text elements between the two or more documents ”. Under its broadest reasonable interpretation in light of the specification, this limitation encompasses the mental process of determining text within documents based on a percentage, which is an evaluation or observation that is practically capable of being performed in the human mind with the assistance of pen and paper and a mathematical concept that is achievable through mathematical computation. The additional elements of “ wherein the at least one processor is further programmed ” and “ The computer-implemented method ” amount to no more than generally linking the use of a judicial exception to a particular technological environment or field of use (see MPEP § 2106.05(h)). Claims 11 and 25 further recite the additional element of “ identify a plurality of text elements within the document; analyze a respective text value for each text element of the plurality of text elements identified within the document in comparison to one or more stored templates including a template for the first type of document, wherein each of the one or more stored templates is based upon a respective matching set of static text elements; and categorize the document as the first type based upon matching a template of the first type ”. Under its broadest reasonable interpretation in light of the specification, this limitation encompasses the mental process of categorizing a document based on a comparing text to a template, which is an evaluation or observation that is practically capable of being performed in the human mind with the assistance of pen and paper. The additional elements of “ wherein the at least one processor is further programmed ” and “ The computer-implemented method ” amount to no more than generally linking the use of a judicial exception to a particular technological environment or field of use (see MPEP § 2106.05(h)). The additional element of “ receive a document of a first type ” amounts to insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)). Claims 12 and 26 further recite the additional element of “f or at least one document from the batch of documents that is not in the clustered set of documents, compare the respective text values of the plurality of text elements identified within the at least one document to one or more stored templates to determine whether a match exists; in response to determining that no match exists for the at least one document; and generate one or more new templates from the cached documents ”. Under its broadest reasonable interpretation in light of the specification, this limitation encompasses the mental process of identifying documents that do not match a template to generate new templates, which is an evaluation or observation that is practically capable of being performed in the human mind with the assistance of pen and paper. The additional elements of “ wherein the at least one processor is further programmed ” and “ The computer-implemented method ” amount to no more than generally linking the use of a judicial exception to a particular technological environment or field of use (see MPEP § 2106.05(h)). The additional element of “ cache the document ” amounts to insignificant extra-solution activity in the form of mere data gathering and output (see MPEP § 2106.05(g)). Claims 13 and 27 further recite the additional element of “ generate a document type for each generated template; and assign the document type to each corresponding document of the set of static text elements ”. Under its broadest reasonable interpretation in light of the specification, this limitation encompasses the mental process of determining a document type for a document, which is an evaluation or observation that is practically capable of being performed in the human mind with the assistance of pen and paper. The additional elements of “ wherein the at least one processor is further programmed ” and “ The computer-implemented method ” amount to no more than generally linking the use of a judicial exception to a particular technological environment or field of use (see MPEP § 2106.05(h)). Claims 14 and 18 further recite the additional element of “ wherein the at least one processor is further programmed to store the template and the set of static text elements within a database ” and “ The computer-implemented method ”. These elements amount to no more than generally linking the use of a judicial exception to a particular technological environment or field of use (see MPEP § 2106.05(h)). Claims 29 further recites the additional element of “ discard, prior to said clustering, text elements indexed in the element array having a frequency of occurrence below a predetermined threshold ”. Under its broadest reasonable interpretation in light of the specification, this limitation encompasses the mental process of discarding text with a frequency below a threshold, which is an evaluation or observation that is practically capable of being performed in the human mind with the assistance of pen and paper and paper and mathematical concepts that are achievable through mathematical computation. The additional elements of “ wherein the at least one processor is further programmed ” amount to no more than generally linking the use of a judicial exception to a particular technological environment or field of use (see MPEP § 2106.05(h)). Claims 30 further recites the additional element of “ generate a plurality of templates, each template representing a respective clustered set of documents of the batch of documents having one or more respective sets of static text elements; cluster a subset of the plurality of templates using a matching threshold for similar sets of static text elements between templates of the plurality of templates; and generate a super template that groups a subset of the plurality of templates ”. Under its broadest reasonable interpretation in light of the specification, this limitation encompasses the mental process of clustering templates based on a threshold and generating new templates from the clusters, which is an evaluation or observation that is practically capable of being performed in the human mind with the assistance of pen and paper and paper and mathematical concepts that are achievable through mathematical computation. The additional elements of “ wherein the at least one processor is further programmed ” amount to no more than generally linking the use of a judicial exception to a particular technological environment or field of use (see MPEP § 2106.05(h)). Claims 31 further recites the additional element of “ assign a respective temporary identifier to each respective text element in the element array, the respective temporary identifier being assigned based on the respective text value of the corresponding text element ”. Under its broadest reasonable interpretation in light of the specification, this limitation encompasses the mental process of assigning identifiers based on text values, which is an evaluation or observation that is practically capable of being performed in the human mind with the assistance of pen and paper and paper and mathematical concepts that are achievable through mathematical computation. The additional elements of “ wherein the at least one processor is further programmed ” amount to no more than generally linking the use of a judicial exception to a particular technological environment or field of use (see MPEP § 2106.05(h)). Claim Rejections - 35 USC § 103 07-06 AIA 15-10-15 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. 07-20-aia AIA 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-7, 11-21, 25-29, and 31 are under 35 U.S.C. 103 as being unpatentable over Sampson et al. (US 8595235 B1, published 11/26/2013), hereinafter Sampson, in view of Sathi et al. (US 20240242527 A1, published 07/18/2024), hereinafter Sathi. Regarding claim 1, Sampson in view of Sathi teaches the claim comprising: A template generation system for categorizing a variety of different documents, the template generation system comprising: at least one memory with instructions stored thereon; and at least one processor in communication with the at least one memory, wherein the instructions, when executed by the at least one processor, cause the at least one processor to (Sampson Figs. 1-17 col. 3 [line 21], A computer-implemented or computer-executable version of the invention may be embodied using, stored on, or associated with computer-readable medium or non-transitory computer-readable medium. A computer-readable medium may include any medium that participates in providing instructions to one or more processors for execution; col. 3 [line 45], FIG. 3 shows a system block diagram of computer system 201. As in FIG. 2, computer system 201 includes monitor 203, keyboard 209, and mass storage devices 217. Computer system 201 further includes subsystems such as central processor 302, system memory 304; col. 4 [line 50], the system receives as input to the training module a set of documents 425 that may be used to train the system. The training module outputs a set of document classes 430 and a set of document templates 435. Each document template is associated with a document class) : receive a batch of documents including a plurality of documents of different document types; identify a plurality of text elements located within each document of the batch of documents, wherein each text element includes a respective text value (Sampson Figs. 1-17; col. 6 [line 49], FIG. 9 shows a simplified flow 905 for creating one or more classes based on a set of documents. The documents may be referred to as training documents; col. 6 [line 62], In a step 910, the system receives or gets a set of documents. The documents may be received from a scanner or other device capable of providing a digital image, digitized representation, or digital representation of physical document papers. That is, the documents may be digitized documents, scanned documents, or digital representations of physical documents. Some specific examples of documents include invoices, tax forms, applications (e.g., benefit enrollment), insurance claims, purchase orders, checks, financial documents, mortgage documents, health care records (e.g., patient records), legal documents, and so forth; col. 7 [line 14], In a step 915, for each document, the system generates a list of words. A list of words includes one or more words from the document) ; aggregate the respective plurality of text elements for each document into an element array, listing each text element according to its respective text value and the respective document within which it was identified; cluster a set of documents of the batch of documents in response to detecting matching text elements with matching text values within the respective element arrays of the documents of the set of documents (Sampson Figs. 1-17; col. 5 [line 29], Applicants have recognized that structured and semi-structured documents may have certain patterns that are text-based such as "Total," "Invoice #," and so forth that appear in the same relative position in each document of the same class. This application discusses techniques for learning these common text patterns and their relative locations and applying this on production document images to provide improved grouping and classification methods; col. 7[line 14], in a step 915, for each document, the system generates a list of words. A list of words includes one or more words from the document. In a specific implementation, generating a list of words for a document includes a pretreatment process; col. 8 [line 1], In a step 920, the system runs a clustering algorithm that compares the documents (using the generated word lists) and groups similar documents. In a specific implementation, the clustering algorithm incorporates a similarity function (which may be referred to as a distance function) which is an algorithm that makes, among other things, a set of word pairs, each word pair including a word from a first document and a word from a second document. The system takes a pair of documents and returns a "distance." The "distance" can indicate whether or not the pair of documents are similar; col. 8 [line 13], the clustering algorithm uses the spatial relations of words to cluster and group similar documents. In this specific implementation, a function--referred to as a textual distance function--takes as input two images (e.g., digitized documents or document images) and outputs a distance or score; col. 17 [line 47], a pretreatment step, as described below, includes creating a 2-dimensional array of lists of words (stored in the MatchingWordFinder class); col. 20 [line 43], a document template associated with a document class includes a set of keywords and location information indicating a location of a keyword in the template relative to one or more other keywords in the template. Upon creating the set of document classes based on grouping the set of training documents, the system can create a document template to be associated with each of the document classes. In other words, once there is a set of document images that are of the same class, system determines a set of words that appear in all (or at least most) of the documents. The set of words may be referred to as the keywords of a template; col. 22 [line 66], (e.g., the words "total," "tax," and "subtotal" may appear in the same positions consistently and if two of the three are found one may be fairly sure to have found the right place; col. 23 [line 58], for clustering, the system takes a set of images. One at a time, the system checks against all the previous images. If a match is found, the document images are placed in the same bucket. An iterative process using progressively higher thresholds for matching may be used for refining. In a specific implementation, the system counts the number of matched characters and ignores mismatched (assuming any mismatch may be due to variable text)) determine a set of static text elements for the clustered set of documents based on the matching text elements common to a threshold number of documents within the clustered set of documents; and generate a template that represents the clustered set of documents included within the batch of documents having matching sets of static text elements (Sampson Figs. 1-17; col. 4 [line 50], the system receives as input to the training module a set of documents 425 that may be used to train the system. The training module outputs a set of document classes 430 and a set of document templates 435. Each document template is associated with a document class; col. 4 [line 65], during a training step the location comparison engine is used to compare a document (e.g., first document) in the set of documents with another document (e.g., second document) in the set of documents. In a specific implementation, if the comparison indicates the first and second documents are similar, a document class and associated template are created for classifying documents similar to the first and second documents. If the comparison indicates the first and second documents are different, a first document class and associated first template is created for classifying documents similar to the first document. And, a second document class and associated second template is created for classifying documents similar to the second document; col. 5 [line 29], Applicants have recognized that structured and semi-structured documents may have certain patterns that are text-based such as "Total," "Invoice #," and so forth that appear in the same relative position in each document of the same class. This application discusses techniques for learning these common text patterns and their relative locations and applying this on production document images to provide improved grouping and classification methods; col. 8 [line 1], In a step 920, the system runs a clustering algorithm that compares the documents (using the generated word lists) and groups similar documents. In a specific implementation, the clustering algorithm incorporates a similarity function (which may be referred to as a distance function) which is an algorithm that makes, among other things, a set of word pairs, each word pair including a word from a first document and a word from a second document. The system takes a pair of documents and returns a "distance." The "distance" can indicate whether or not the pair of documents are similar; col. 20 [line 43], a document template associated with a document class includes a set of keywords and location information indicating a location of a keyword in the template relative to one or more other keywords in the template. Upon creating the set of document classes based on grouping the set of training documents, the system can create a document template to be associated with each of the document classes. In other words, once there is a set of document images that are of the same class, system determines a set of words that appear in all (or at least most) of the documents. The set of words may be referred to as the keywords of a template; col. 20 [line 58], In this specific implementation, a keyword learning algorithm takes the collection of document images in a class and outputs a set of words in common. The algorithm starts by getting or obtaining the common set of words between each pair of documents; col. 20 [line 64], The system then creates a matrix of words in each document (e.g., docCount X words); col. 21 [line 11], This generates a list giving the information, for example, "word X appears in document A, B, C and D," "word Y appears in documents A and D," and so forth. The list may include a word, and a number of documents that the word has been found in, an identification of the documents that the word has been found in, or both; col. 21 [line 17], the system then sorts this list by another scoring function (which is a different scoring function from the distance function) that takes into account the number of documents a word is found in; col. 21 [line 22], A selection is made of the top N words that have a score at least equal to a threshold; col. 22 [line 66], (e.g., the words "total," "tax," and "subtotal" may appear in the same positions consistently and if two of the three are found one may be fairly sure to have found the right place) However, Sampson fails to expressly disclose aggregate the respective plurality of text elements for each document into an element array, indexing each text element according to its respective text value and an identifier of the respective document within which it was identified; cluster a set of documents of the batch of documents in response to detecting a threshold percentage of matching text elements with matching text values within the respective element arrays of the documents of the set of documents. In the same field of endeavor, Sathi teaches: aggregate the respective plurality of text elements for each document into an element array, indexing each text element according to its respective text value and an identifier of the respective document within which it was identified; cluster a set of documents of the batch of documents in response to detecting a threshold percentage of matching text elements with matching text values within the respective element arrays of the documents of the set of documents (Sathi Figs. 1-12; [0052], The feedback management system 300 includes a document cluster search module 302 that receives a fingerprint for a document being processed via the fingerprint module 202 of the feedback acquisition module 200. The document cluster search module 302 compares the fingerprint for the document with fingerprints associated with document clusters. A document cluster is a group of substantially similar documents. For example, each of the documents associated with a document cluster can have a degree of similarity in terms of having object types and positional locations that are similar or the same. Also, the degree of similarity to determine whether documents should be associated with a particular document cluster can be set depending on how similar or distinct each document cluster is desired to be relative to other document clusters, how many total document clusters are desired, and other design factors; [0053], The feedback management system 300 can include (or couple to) a cluster data storage 304. As illustrated in FIG. 3A, the document cluster storage 304 includes a plurality of clusters, including cluster A 306 through cluster N 308. Each of the stored clusters can have a fingerprint, a feedback file, and cluster data. In particular, the document cluster A 306, as stored in the document cluster storage 304, can include a fingerprint (FP-A) 310, a feedback file (FF-A) 312, and cluster data 314. Likewise, the other stored document clusters can include a fingerprint, a feedback file, and cluster data. The document cluster search module 302 can compare the fingerprint for the document with fingerprints associated with document clusters, such as the fingerprint (FP-A) 310 for the document cluster A 306; [0054], the comparison of respective fingerprints can be done by calculating a text similarity score (e.g., for the objects, such as keys, associated with the fingerprints) and then a graph similarity score (e.g., for the positions) using Euclidean distance between a node (e.g., for each object's bounding box/block) and one or more reference positions. The one or more reference positions can be relative to a document reference position (e.g., 0,0) or to anchor objects within the document's image. An aggregate score of the one or more Euclidean distances can be calculated and if two fingerprints have individual or aggregate scores within a set of one or more thresholds, then a matching cluster can be considered found, provided that the text similarity score is matching or substantially similar; [0057], FIGS. 3B and 3C illustrate exemplary fingerprints that can be compared to evaluate whether a pair of fingerprints match according to one embodiment. The fingerprint comparison can compare a document fingerprint 320 (i.e., a fingerprint for a document) shown in FIG. 3B with one or more cluster fingerprints 322 (i.e., fingerprints for clusters) shown in FIG. 3C. As an example, the comparison can compare fingerprints by comparing the objects and their positions within the documents that make up the respective fingerprints. In doing so, objects of the different fingerprints can be compared by comparing object text (e.g., keys) and positions of objects making up the document fingerprint with object text (e.g., keys) and positions of objects making up the one or more cluster fingerprints. The document fingerprint 320 includes a series of text objects, including “Invoice Due Date”, Shipper ID Number”, “Tracking Number”, “Ship Via”, and “Old Customer Number”, each having positional coordinates (e.g., x and y values). The cluster fingerprint 322 includes a series of text objects, including “Date Shipped”, “Tracking Number”, “Shipper ID Number”, “Invoice Due Date”, and “Sales Order Number”, each having positional coordinates (e.g., x and y values). The comparison then can yield the following objects that are considered matching by matching of keys (e.g., text) and positional coordinates (e.g., centroid coordinates) that are within a threshold of exactly matching, see Table III) It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to have incorporated aggregate the respective plurality of text elements for each document into an element array, indexing each text element according to its respective text value and an identifier of the respective document within which it was identified; cluster a set of documents of the batch of documents in response to detecting a threshold percentage of matching text elements with matching text values within the respective element arrays of the documents of the set of documents as suggested in Sathi into Sampson. Doing so would be desirable because Sathi discloses Improved techniques for extraction of data from documents, namely, from images of documents, so as to better enable software automation (see Sathi abs.). Today, software can be used to extract data from documents and then operate on the data extracted from documents so as to automate processing of such documents. In such cases, software-driven systems first acquire data extracted from the documents. The data extraction can, for example, use Optical Character Recognition (OCR) techniques as well as machine learning models to intelligently extract text and values from documents. Unfortunately, however, given the wide range of document formats, content, complexity and image quality, data extraction often needs user guidance to resolve ambiguities. Therefore, there remains a need for improved approaches to extract data from documents with minimized ambiguities to better enable automation by software-driven systems with reduced user participation (see Sathi [0002]). Advantageously, the improved techniques can reduce the need for user participation in validation of data extracted from images of documents, and yield greater and more accurate data extraction (see Sathi [0003]). Regarding claim 15, claim 15 contains substantially similar limitations to those found in claim 1. Consequently, claim 15 is rejected for the same reasons. Regarding claim 2, Sampson in view of Sathi teaches all the limitations of claim 1, further comprising: wherein the at least one processor is further programmed to analyze the set of static text elements based upon one or more criterion to determine whether or not to generate the template (Sampson Figs. 1-17; col. 4 [line 65], during a training step the location comparison engine is used to compare a document (e.g., first document) in the set of documents with another document (e.g., second document) in the set of documents. In a specific implementation, if the comparison indicates the first and second documents are similar, a document class and associated template are created for classifying documents similar to the first and second documents. If the comparison indicates the first and second documents are different, a first document class and associated first template is created for classifying documents similar to the first document. And, a second document class and associated second template is created for classifying documents similar to the second document; col. 8 [line 1], In a step 920, the system runs a clustering algorithm that compares the documents (using the generated word lists) and groups similar documents. In a specific implementation, the clustering algorithm incorporates a similarity function (which may be referred to as a distance function) which is an algorithm that makes, among other things, a set of word pairs, each word pair including a word from a first document and a word from a second document. The system takes a pair of documents and returns a "distance." The "distance" can indicate whether or not the pair of documents are similar; see also col. 4 [line 50], col. 20 [line 43]) Regarding claim 16, claim 16 contains substantially similar limitations to those found in claim 2. Consequently, claim 16 is rejected for the same reasons. Regarding claim 3, Sampson in view of Sathi teaches all the limitations of claim 1, further comprising: wherein the at least one processor is further programmed to generate a respective set of static text elements for each of a plurality of clustered sets of documents identified in the batch of documents (Sampson Figs. 1-17; col. 4 [line 65], during a training step the location comparison engine is used to compare a document (e.g., first document) in the set of documents with another document (e.g., second document) in the set of documents. In a specific implementation, if the comparison indicates the first and second documents are similar, a document class and associated template are created for classifying documents similar to the first and second documents. If the comparison indicates the first and second documents are different, a first document class and associated first template is created for classifying documents similar to the first document. And, a second document class and associated second template is created for classifying documents similar to the second document; col. 5 [line 29], Applicants have recognized that structured and semi-structured documents may have certain patterns that are text-based such as "Total," "Invoice #," and so forth that appear in the same relative position in each document of the same class. This application discusses techniques for learning these common text patterns and their relative locations and applying this on production document images to provide improved grouping and classification methods; col. 8 [line 1], In a step 920, the system runs a clustering algorithm that compares the documents (using the generated word lists) and groups similar documents. In a specific implementation, the clustering algorithm incorporates a similarity function (which may be referred to as a distance function) which is an algorithm that makes, among other things, a set of word pairs, each word pair including a word from a first document and a word from a second document. The system takes a pair of documents and returns a "distance." The "distance" can indicate whether or not the pair of documents are similar; col. 20 [line 43], a document template associated with a document class includes a set of keywords and location information indicating a location of a keyword in the template relative to one or more other keywords in the template. Upon creating the set of document classes based on grouping the set of training documents, the system can create a document template to be associated with each of the document classes. In other words, once there is a set of document images that are of the same class, system determines a set of words that appear in all (or at least most) of the documents. The set of words may be referred to as the keywords of a template; col. 22 [line 66], (e.g., the words "total," "tax," and "subtotal" may appear in the same positions consistently and if two of the three are found one may be fairly sure to have found the right place; see also col. 4 [line 50]) Regarding claim 17, claim 17 contains substantially similar limitations to those found in claim 3. Consequently, claim 17 is rejected for the same reasons. Regarding claim 4, Sampson in view of Sathi teaches all the limitations of claim 1, further comprising: wherein the at least one processor is further programmed to perform optical character recognition on each of the plurality of documents to identify the plurality of text elements located within each document (Sampson Figs. 1-17; col. 4 [line 65], during a training step the location comparison engine is used to compare a document (e.g., first document) in the set of documents with another document (e.g., second document) in the set of documents; col. 5 [line 44], A specific application of the system is to capture data from scanned images including structured, semi-structured documents, or both such as invoices and forms. Classification is the process of deciding whether an object belongs in a particular class (from a set of classes). In order to classify, the system can provide a set of templates defining each object class. A training step takes a set of images and from these creates a set of classes. The images may be images of documents. That is, physical documents that have been scanned via a scanner and output as optical character recognition (OCR) data, i.e., scanned or digitized documents; col. 6 [line 49], FIG. 9 shows a simplified flow 905 for creating one or more classes based on a set of documents. The documents may be referred to as training documents; col. 6 [line 62], In a step 910, the system receives or gets a set of documents; col. 7 [line 8], the received document data includes optical character recognition (OCR) data such as a set of characters with position information, confidence information, or both. The received document data may include a set of OCR data sets, each data set being associated with a document, and including a list of characters or words; col. 8 [line 1], In a step 920, the system runs a clustering algorithm that compares the documents (using the generated word lists) and groups similar documents; col. 20 [line 43], Upon creating the set of document classes based on grouping the set of training documents, the system can create a document template to be associated with each of the document classes; see also col. 4 [line 50]) Regarding claim 18, claim 18 contains substantially similar limitations to those found in claim 4. Consequently, claim 18 is rejected for the same reasons. Regarding claim 5, Sampson in view of Sathi teaches all the limitations of claim 1, further comprising: wherein the at least one processor is further programmed to determine whether a first text element in a first document includes a same text value as a second text element in a second document (Sampson Figs. 1-17; col. 4 [line 65], during a training step the location comparison engine is used to compare a document (e.g., first document) in the set of documents with another document (e.g., second document); col. 5 [line 29], Applicants have recognized that structured and semi-structured documents may have certain patterns that are text-based such as "Total," "Invoice #," and so forth that appear in the same relative position in each document of the same class. This application discusses techniques for learning these common text patterns and their relative locations and applying this on production document images to provide improved grouping and classification methods; col. 7 [line 20], in some places on forms and invoices where a number might appear, the number is likely to vary (e.g., a "Total: $123.00" and "Total: $999.99" or "Nov. 24, 2011" versus "Oct. 19, 2012"). Thus, in a specific implementation, a pretreatment technique includes altering the digits to a predefined value such as 0 to allow the system to consider different numerical values between two documents to be the "same" ; col. 8 [line 1], In a step 920, the system runs a clustering algorithm that compares the documents (using the generated word lists) and groups similar documents. In a specific implementation, the clustering algorithm incorporates a similarity function (which may be referred to as a distance function) which is an algorithm that makes, among other things, a set of word pairs, each word pair including a word from a first document and a word from a second document. The system takes a pair of documents and returns a "distance." The "distance" can indicate whether or not the pair of documents are similar; col. 8 [line 21], These words--"Dresden," "INVOICE," "DATE," and "TOTAL"--all appear in the same place on examples of the invoices; col. 20 [line 43], a document template associated with a document class includes a set of keywords and location information indicating a location of a keyword in the template relative to one or more other keywords in the template. Upon creating the set of document classes based on grouping the set of training documents, the system can create a document template to be associated with each of the document classes. In other words, once there is a set of document images that are of the same class, system determines a set of words that appear in all (or at least most) of the documents. The set of words may be referred to as the keywords of a template; col. 22 [line 66], (e.g., the words "total," "tax," and "subtotal" may appear in the same positions consistently and if two of the three are found one may be fairly sure to have found the right place; see also col. 4 [line 50]) Regarding claim 19, claim 19 contains substantially similar limitations to those found in claim 5. Consequently, claim 19 is rejected for the same reasons. Regarding claim 6, Sampson in view of Sathi teaches all the limitations of claim 1, further comprising: wherein the at least one processor is further programmed to determine whether a first text element in a first document includes a matching text value as a second text element in a second document (Sampson Figs. 1-17; col. 4 [line 65], during a training step the location comparison engine is used to compare a document (e.g., first document) in the set of documents with another document (e.g., second document); col. 5 [line 29], Applicants have recognized that structured and semi-structured documents may have certain patterns that are text-based such as "Total," "Invoice #," and so forth that appear in the same relative position in each document of the same class. This application discusses techniques for learning these common text patterns and their relative locations and applying this on production document images to provide improved grouping and classification methods; col. 7 [line 20], in some places on forms and invoices where a number might appear, the number is likely to vary (e.g., a "Total: $123.00" and "Total: $999.99" or "Nov. 24, 2011" versus "Oct. 19, 2012"). Thus, in a specific implementation, a pretreatment technique includes altering the digits to a predefined value such as 0 to allow the system to consider different numerical values between two documents to be the "same" ; col. 8 [line 1], In a step 920, the system runs a clustering algorithm that compares the documents (using the generated word lists) and groups similar documents. In a specific implementation, the clustering algorithm incorporates a similarity function (which may be referred to as a distance function) which is an algorithm that makes, among other things, a set of word pairs, each word pair including a word from a first document and a word from a second document. The system takes a pair of documents and returns a "distance." The "distance" can indicate whether or not the pair of documents are similar; col. 8 [line 21], These words--"Dresden," "INVOICE," "DATE," and "TOTAL"--all appear in the same place on examples of the invoices; col. 20 [line 43], a document template associated with a document class includes a set of keywords and location information indicating a location of a keyword in the template relative to one or more other keywords in the template. Upon creating the set of document classes based on grouping the set of training documents, the system can create a document template to be associated with each of the document classes. In other words, once there is a set of document images that are of the same class, system determines a set of words that appear in all (or at least most) of the documents. The set of words may be referred to as the keywords of a template; col. 22 [line 66], (e.g., the words "total," "tax," and "subtotal" may appear in the same positions consistently and if two of the three are found one may be fairly sure to have found the right place; see also col. 4 [line 50]) Regarding claim 20, claim 20 contains substantially similar limitations to those found in claim 6. Consequently, claim 20 is rejected for the same reasons. Regarding claim 7, Sampson in view of Sathi teaches all the limitations of claim 1, further comprising: wherein to identify static text values, the at least one processor is further programmed to: apply a text element count to the number of element array entries having that text value; and select a set of most frequently recurring text values across the element array as the static text values (Sampson Figs. 1-17; col. 4 [line 65], during a training step the location comparison engine is used to compare a document (e.g., first document) in the set of documents with another document (e.g., second document); col. 8 [line 1], In a step 920, the system runs a clustering algorithm that compares the documents (using the generated word lists) and groups similar documents. In a specific implementation, the clustering algorithm incorporates a similarity function (which may be referred to as a distance function) which is an algorithm that makes, among other things, a set of word pairs, each word pair including a word from a first document and a word from a second document. The system takes a pair of documents and returns a "distance." The "distance" can indicate whether or not the pair of documents are similar; col. 20 [line 43], once there is a set of document images that are of the same class, system determines a set of words that appear in all (or at least most) of the documents. The set of words may be referred to as the keywords of a template; col. 20 [line 23], FIG. 17 shows a flow 1705 for creating document templates; col. 20 [line 58], a keyword learning algorithm takes the collection of document images in a class and outputs a set of words in common. The algorithm starts by getting or obtaining the common set of words between each pair of documents; col. 20 [line 64], The system then creates a matrix of words in each document (e.g., docCount X words); col. 21 [line 11], This generates a list giving the information, for example, "word X appears in document A, B, C and D," "word Y appears in documents A and D," and so forth. The list may include a word, and a number of documents that the word has been found in, an identification of the documents that the word has been found in, or both; col. 21 [line 17], the system then sorts this list by another scoring function (which is a different scoring function from the distance function) that takes into account the number of documents a word is found in; col. 21 [line 22], A selection is made of the top N words that have a score at least equal to a threshold; col. 21 [line 37], The word text to be used is the word which occurs most often or most frequently; see also col. 4 [line 50], col. 5 [line 29], col. 8 [line 21], col. 7 [line 20], col. 22 [line 66]) Regarding claim 21, claim 21 contains substantially similar limitations to those found in claim 7. Consequently, claim 21 is rejected for the same reasons. Regarding claim 11, Sampson in view of Sathi teaches all the limitations of claim 1, further comprising: wherein the at least one processor is further programmed to: receive a document of a first type; identify a plurality of text elements within the document; analyze a respective text value for each text element of the plurality of text elements identified within the document in comparison to one or more stored templates including a template for the first type of document, wherein each of the one or more stored templates is based upon a respective matching set of static text elements; and categorize the document as the first type based upon matching a template of the first type (Sampson Figs. 1-17; col. 5 [line 21], During a classification step, the location comparison engine can also be used to classify a document into a particular document class using the templates. For example, the location comparison engine can be used to compare the document to be classified against the document templates. Based on the comparison between the document and a document template, the document may be classified into a document class associated with the document template; col. 5 [line 44], The classification step then compares an image with each of the classes and decides in which class or classes the image belongs. In a specific implementation, if the image belongs to only one class the image may be considered classified; col. 5 [line 62], there is an automated training step, a classification step, or both which use a comparison function (which may be referred to as a distance function) to determine whether an image is "close" to another image or template. The training and classification algorithms may use this comparison function; col. 6 [line 62], There is a "classification" function that compares an image and a reference set of keywords; col. 20 [line 43], a document template associated with a document class includes a set of keywords col. 21 [line 42], a document template is created that includes the keywords. Upon receipt of a document to be classified, the document is compared against the template and is classified in response to the comparison (see FIG. 17 and accompanying discussion above); col. 21 [line 47], a template includes a set of keywords and first location information that indicates a location of a keyword in a template relative to one or more other keywords in the template. The system receives a document to be classified; col. 22 [line 19], To classify a document using a template, the system generates a set of word pairs. Each word pair includes a keyword from the set of keywords of the selected template and a corresponding word from the document to be classified--see step 1115 (FIG. 11) and accompanying description of generating word pairs.; col. 21 [line 11], This generates a list giving the information, for example, "word X appears in document A, B, C and D," "word Y appears in documents A and D," and so forth. The list may include a word, and a number of documents that the word has been found in, an identification of the documents that the word has been found in, or both; col. 22 [line 31], determine whether or not the received document should be classified in the document class associated with the template. Classifying the document in the document class may include tagging the document with a tag or other metadata information that indicates the document class; see also col. 4 [line 50], col. 5 [line 29], col. 8 [line 21], col. 7 [line 20], col. 22 [line 66]) Regarding claim 25, claim 25 contains substantially similar limitations to those found in claim 11. Consequently, claim 25 is rejected for the same reasons. Regarding claim 12, Sampson in view of Sathi teaches all the limitations of claim 11, further comprising: wherein the at least one processor is further programmed to: for at least one document from the batch of documents that is not in the clustered set of documents, compare the respective text values of the plurality of text elements identified within the at least one document to one or more stored templates to determine whether a match exists (Sampson Figs. 1-17; col. 4 [line 50], The set of document classes and templates are provided to the classification module. The classification module receives as input a document 440 to be classified. The classification module outputs a classification result 445. The classification result may specify the document class in which the document should be classified; col. 5 [line 21], During a classification step, the location comparison engine can also be used to classify a document into a particular document class using the templates; col. 5 [line 44], The classification step then compares an image with each of the classes and decides in which class or classes the image belongs. In a specific implementation, if the image belongs to only one class the image may be considered classified; The classification step then compares an image with each of the classes and decides in which class or classes the image belongs. In a specific implementation, if the image belongs to only one class the image may be considered classified. Otherwise, the image may either be over-classified or not classified at all; col. 5 [line 62], there is an automated training step, a classification step, or both which use a comparison function (which may be referred to as a distance function) to determine whether an image is "close" to another image or template. The training and classification algorithms may use this comparison function; col. 6 [line 62], There is a "classification" function that compares an image and a reference set of keywords; col. 8 [line 57], If there is no other class to compare, in a step 1045, the system creates a new class and classifies the selected document in the new class, the selected document now being a classified document; col. 20 [line 23], FIG. 17 shows a flow 1705 for creating document templates and classifying documents based on the document templates. In brief, in a step 1710, the system creates and stores a template for each document class (see FIGS. 9-11 and accompanying description for a discussion of creating document classes). Each template includes a set or list of keywords. The templates may be stored in a template database. In a step 1715, the system receives as input a document to be classified. For example, the document may be received from a scanner or other OCR datastream. In a step 1720, the system compares each template with the document to be classified. In a specific implementation, each template in the set of templates is tried. The comparison is based on the spatial relations of the keywords in a template and the words in the document to be classified. More particularly, the comparison is based on a location of a keyword in a template relative to other keywords in the template, and on a location of a word in the document relative to other words in the document. In a step 1725, the system classifies the document in response to the comparison; col. 20 [line 43], a document template associated with a document class includes a set of keywords col. 21 [line 42], a document template is created that includes the keywords. Upon receipt of a document to be classified, the document is compared against the template and is classified in response to the comparison (see FIG. 17 and accompanying discussion above); col. 21 [line 47], a template includes a set of keywords and first location information that indicates a location of a keyword in a template relative to one or more other keywords in the template. The system receives a document to be classified; col. 21 [line 64], It should be appreciated that due to training errors, OCR errors, and other problems with the document image, there may not be 100 percent of the keywords of a template found in the received document; col. 22 [line 3], If there are a sufficient number of words found, the document should be able to be classified. The percentage of words found can be compared to a threshold value; boolean is Classified=(score&gt;threshold);; col. 21 [line 11], This generates a list giving the information, for example, "word X appears in document A, B, C and D," "word Y appears in documents A and D," and so forth. The list may include a word, and a number of documents that the word has been found in, an identification of the documents that the word has been found in, or both; see also col. 4 [line 50], col. 5 [line 29], col. 8 [line 21], col. 7 [line 20], col. 22 [line 66]) Sathi further teaches: in response to determining that no match exists for the at least one document, cache the at least one document; and generate one or more new templates from the cached documents (Sathi Figs. 1-12; [0052], The feedback management system 300 includes a document cluster search module 302 that receives a fingerprint for a document being processed via the fingerprint module 202 of the feedback acquisition module 200. The document cluster search module 302 compares the fingerprint for the document with fingerprints associated with document clusters. A document cluster is a group of substantially similar documents. For example, each of the documents associated with a document cluster can have a degree of similarity in terms of having object types and positional locations that are similar or the same. Also, the degree of similarity to determine whether documents should be associated with a particular document cluster can be set depending on how similar or distinct each document cluster is desired to be relative to other document clusters, how many total document clusters are desired, and other design factors; [0053], The feedback management system 300 can include (or couple to) a cluster data storage 304. As illustrated in FIG. 3A, the document cluster storage 304 includes a plurality of clusters, including cluster A 306 through cluster N 308. Each of the stored clusters can have a fingerprint, a feedback file, and cluster data. In particular, the document cluster A 306, as stored in the document cluster storage 304, can include a fingerprint (FP-A) 310, a feedback file (FF-A) 312, and cluster data 314 [0054], the comparison of respective fingerprints can be done by calculating a text similarity score (e.g., for the objects, such as keys, associated with the fingerprints) and then a graph similarity score (e.g., for the positions) using Euclidean distance between a node (e.g., for each object's bounding box/block) and one or more reference positions; [0056], The feedback management system 300 can also include a document cluster creation module 316 and a feedback file update module 318. The document cluster creation module 316 can be used to create a new document cluster when a document being processed does not correspond to any existing document clusters. In doing so, the document cluster creation module 316 can assign a fingerprint (FP) to the new document cluster; [0057], FIGS. 3B and 3C illustrate exemplary fingerprints that can be compared to evaluate whether a pair of fingerprints match according to one embodiment. The fingerprint comparison can compare a document fingerprint 320 (i.e., a fingerprint for a document) shown in FIG. 3B with one or more cluster fingerprints 322 (i.e., fingerprints for clusters) shown in FIG. 3C; [0068], On the other hand, when the decision 506 determines that a suitable document cluster has not been found, a new document cluster can be created 516 based on the document fingerprint. Here, a new document cluster is created 516 which is then associated with not only the document presently undergoing processing but also other like documents that are subsequently associated with the new document cluster. As a result, all document associated with a given document cluster can share a common feedback file) It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to have incorporated in response to determining that no match exists for the at least one document, cache the at least one document; and generate one or more new templates from the cached documents as suggested in Sathi into Sampson. Doing so would be desirable because Sathi discloses Improved techniques for extraction of data from documents, namely, from images of documents, so as to better enable software automation (see Sathi abs.). Today, software can be used to extract data from documents and then operate on the data extracted from documents so as to automate processing of such documents. In such cases, software-driven systems first acquire data extracted from the documents. The data extraction can, for example, use Optical Character Recognition (OCR) techniques as well as machine learning models to intelligently extract text and values from documents. Unfortunately, however, given the wide range of document formats, content, complexity and image quality, data extraction often needs user guidance to resolve ambiguities. Therefore, there remains a need for improved approaches to extract data from documents with minimized ambiguities to better enable automation by software-driven systems with reduced user participation (see Sathi [0002]). Advantageously, the improved techniques can reduce the need for user participation in validation of data extracted from images of documents, and yield greater and more accurate data extraction (see Sathi [0003]). Regarding claim 26, claim 26 contains substantially similar limitations to those found in claim 12. Consequently, claim 26 is rejected for the same reasons. Regarding claim 13, Sampson in view of Sathi teaches all the limitations of claim 1, further comprising: wherein the at least one processor is further programmed to: generate a document type for each generated template; and assign the document type to each corresponding document of the set of static text elements. (Sampson Figs. 1-17; col. 4 [line 50], the system receives as input to the training module a set of documents 425 that may be used to train the system. The training module outputs a set of document classes 430 and a set of document templates 435. Each document template is associated with a document class; col. 4 [line 65], during a training step the location comparison engine is used to compare a document (e.g., first document) in the set of documents with another document (e.g., second document) in the set of documents. In a specific implementation, if the comparison indicates the first and second documents are similar, a document class and associated template are created for classifying documents similar to the first and second documents. If the comparison indicates the first and second documents are different, a first document class and associated first template is created for classifying documents similar to the first document. And, a second document class and associated second template is created for classifying documents similar to the second document; col. 5 [line 21], During a classification step, the location comparison engine can also be used to classify a document into a particular document class using the templates. For example, the location comparison engine can be used to compare the document to be classified against the document templates. Based on the comparison between the document and a document template, the document may be classified into a document class associated with the document template; col. 5 [line 44], The classification step then compares an image with each of the classes and decides in which class or classes the image belongs. In a specific implementation, if the image belongs to only one class the image may be considered classified; col. 5 [line 62], there is an automated training step, a classification step, or both which use a comparison function (which may be referred to as a distance function) to determine whether an image is "close" to another image or template. The training and classification algorithms may use this comparison function; col. 6 [line 62], There is a "classification" function that compares an image and a reference set of keywords; col. 20 [line 43], a document template associated with a document class includes a set of keywords col. 21 [line 42], a document template is created that includes the keywords. Upon receipt of a document to be classified, the document is compared against the template and is classified in response to the comparison (see FIG. 17 and accompanying discussion above); col. 21 [line 47], a template includes a set of keywords and first location information that indicates a location of a keyword in a template relative to one or more other keywords in the template. The system receives a document to be classified; col. 22 [line 19], To classify a document using a template, the system generates a set of word pairs. Each word pair includes a keyword from the set of keywords of the selected template and a corresponding word from the document to be classified--see step 1115 (FIG. 11) and accompanying description of generating word pairs.; col. 21 [line 11], This generates a list giving the information, for example, "word X appears in document A, B, C and D," "word Y appears in documents A and D," and so forth. The list may include a word, and a number of documents that the word has been found in, an identification of the documents that the word has been found in, or both; col. 22 [line 31], determine whether or not the received document should be classified in the document class associated with the template. Classifying the document in the document class may include tagging the document with a tag or other metadata information that indicates the document class; see also col. 4 [line 50], col. 5 [line 29], col. 8 [line 21], col. 7 [line 20], col. 22 [line 66]) Regarding claim 27, claim 27 contains substantially similar limitations to those found in claim 13. Consequently, claim 27 is rejected for the same reasons. Regarding claim 14, Sampson in view of Sathi teaches all the limitations of claim 1, further comprising: wherein the at least one processor is further programmed to store the template and the set of static text elements within a database (Sampson Figs. 1-17; col. 8 [line 1], In a step 920, the system runs a clustering algorithm that compares the documents (using the generated word lists) and groups similar documents. In a specific implementation, the clustering algorithm incorporates a similarity function (which may be referred to as a distance function) which is an algorithm that makes, among other things, a set of word pairs, each word pair including a word from a first document and a word from a second document. The system takes a pair of documents and returns a "distance." The "distance" can indicate whether or not the pair of documents are similar; col. 20 [line 23], The templates may be stored in a template database; col. 20 [line 43], a document template associated with a document class includes a set of keywords and location information indicating a location of a keyword in the template relative to one or more other keywords in the template. Upon creating the set of document classes based on grouping the set of training documents, the system can create a document template to be associated with each of the document classes. In other words, once there is a set of document images that are of the same class, system determines a set of words that appear in all (or at least most) of the documents. The set of words may be referred to as the keywords of a template; see also col. 4 [line 50], col. 4 [line 65]) Regarding claim 28, claim 28 contains substantially similar limitations to those found in claim 14. Consequently, claim 28 is rejected for the same reasons. Regarding claim 29, Sampson in view of Sathi teaches all the limitations of claim 1, further comprising: wherein the at least one processor is further programmed to discard, prior to said clustering, text elements indexed in the element array having a frequency of occurrence below a predetermined threshold (Sampson Figs. 1-17; col. 5 [line 29], Applicants have recognized that structured and semi-structured documents may have certain patterns that are text-based such as "Total," "Invoice #," and so forth that appear in the same relative position in each document of the same class. This application discusses techniques for learning these common text patterns and their relative locations and applying this on production document images to provide improved grouping and classification methods; col. 7[line 14], in a step 915, for each document, the system generates a list of words. A list of words includes one or more words from the document. In a specific implementation, generating a list of words for a document includes a pretreatment process; col. 8 [line 1], In a step 920, the system runs a clustering algorithm that compares the documents (using the generated word lists) and groups similar documents. In a specific implementation, the clustering algorithm incorporates a similarity function (which may be referred to as a distance function) which is an algorithm that makes, among other things, a set of word pairs, each word pair including a word from a first document and a word from a second document. The system takes a pair of documents and returns a "distance." The "distance" can indicate whether or not the pair of documents are similar; col. 8 [line 13], the clustering algorithm uses the spatial relations of words to cluster and group similar documents. In this specific implementation, a function--referred to as a textual distance function--takes as input two images (e.g., digitized documents or document images) and outputs a distance or score; col. 8 [line 22], there is a comparison function that takes optical character recognition (OCR) data that may include a set of characters with position and confidence information from two images and finds a set of words that appear in both of the images in approximately the same relative position. Upon finding the set of common words, the set of common words is passed to a scoring function that takes into account a number and size of the common words; col. 10 [line 55], The system can then take the two lists of words and create a list of the words from the one page or document that have approximately the same text and approximately the same size as the words on the other page or document. This results in a list of pairs of words (one word from each page or document); col. 23 [line 58], for clustering, the system takes a set of images. One at a time, the system checks against all the previous images. If a match is found, the document images are placed in the same bucket. An iterative process using progressively higher thresholds for matching may be used for refining. In a specific implementation, the system counts the number of matched characters and ignores mismatched (assuming any mismatch may be due to variable text)) Regarding claim 31, Sampson in view of Sathi teaches all the limitations of claim 1, further comprising: wherein the at least one processor is further programmed to assign a respective temporary identifier to each respective text element in the element array, the respective temporary identifier being assigned based on the respective text value of the corresponding text element (Sampson Figs. 1-17; col. 7 [line 14], in a step 915, for each document, the system generates a list of words. A list of words includes one or more words from the document. In a specific implementation, generating a list of words for a document includes a pretreatment process; col. 8 [line 1], In a step 920, the system runs a clustering algorithm that compares the documents (using the generated word lists) and groups similar documents; col. 8 [line 13], the clustering algorithm uses the spatial relations of words to cluster and group similar documents. In this specific implementation, a function--referred to as a textual distance function--takes as input two images (e.g., digitized documents or document images) and outputs a distance or score; col. 20 [line 43], a document template associated with a document class includes a set of keywords and location information indicating a location of a keyword in the template relative to one or more other keywords in the template. Upon creating the set of document classes based on grouping the set of training documents, the system can create a document template to be associated with each of the document classes. In other words, once there is a set of document images that are of the same class, system determines a set of words that appear in all (or at least most) of the documents. The set of words may be referred to as the keywords of a template; col. 23 [line 58], for clustering, the system takes a set of images. One at a time, the system checks against all the previous images. If a match is found, the document images are placed in the same bucket) 07-21-aia AIA Claim s 9, 10, 23, and 24 are rejected under 35 U.S.C. 103 as being unpatentable over Sampson in view of Sheng (US 20180144042 A1, published 05/24/2018), hereinafter Sheng . Regarding claim 9, Sampson in view of Sathi teaches all the limitations of claim 1, further comprising: wherein to determine the set of static text elements within the clustered set of documents, the at least one processor is further programmed to compare at least one first document of the clustered set of documents to at least one second document of the clustered set of documents to determine a similarity match (Sampson Figs. 1-17; col. 4 [line 50], the system receives as input to the training module a set of documents 425 that may be used to train the system. The training module outputs a set of document classes 430 and a set of document templates 435. Each document template is associated with a document class; col. 4 [line 65], during a training step the location comparison engine is used to compare a document (e.g., first document) in the set of documents with another document (e.g., second document) in the set of documents. In a specific implementation, if the comparison indicates the first and second documents are similar, a document class and associated template are created for classifying documents similar to the first and second documents. If the comparison indicates the first and second documents are different, a first document class and associated first template is created for classifying documents similar to the first document. And, a second document class and associated second template is created for classifying documents similar to the second document; col. 8 [line 1], In a step 920, the system runs a clustering algorithm that compares the documents (using the generated word lists) and groups similar documents. In a specific implementation, the clustering algorithm incorporates a similarity function (which may be referred to as a distance function) which is an algorithm that makes, among other things, a set of word pairs, each word pair including a word from a first document and a word from a second document. The system takes a pair of documents and returns a "distance." The "distance" can indicate whether or not the pair of documents are similar; col. 20 [line 43], once there is a set of document images that are of the same class, system determines a set of words that appear in all (or at least most) of the documents. The set of words may be referred to as the keywords of a template; col. 22 [line 66], (e.g., the words "total," "tax," and "subtotal" may appear in the same positions consistently and if two of the three are found one may be fairly sure to have found the right place) However, Sampson fails to expressly disclose a percentage match. In the same field of endeavor, Sheng teaches: a percentage match (Sheng Figs. 1-7; [0023], other types of documents, such as letters (e.g., in portable document format (“PDF”) and/or word processing format), invoices, bills, receipts, invitations (e.g., invites received via social network applications), or other structured documents; [0037], Feature extraction engine 250 may extract various features <f.sub.1, f.sub.2, . . . , f.sub.n> from each structured document 300 of cluster 132.sub.x and may provide those features to machine learning application engine 252. Machine learning application engine 252 may apply the features to one or more category machine learning models 254. In some implementations, each category machine learning model 254 may be trained as described above to determine whether a structured document 300 should be classified into a particular category. If, for instance, a threshold number (e.g., 90%, or some other threshold) of structured documents 300 of cluster 132.sub.x are classified into a particular category, then an association between template 134.sub.x and the threshold-satisfying category may be stored, e.g., as an annotation of template 134.sub.x and/or in template database 142; [0038], machine learning application engine 252 may apply the extracted features <f.sub.1, f.sub.2, . . . , f.sub.n> to one or more extraction machine learning models 256. In some implementations, each extraction machine learning model 256 may be trained as described above to locate transient fields within each structured document 300. If, for instance, a threshold number (e.g., 90%, or some other threshold) of structured documents 300 of cluster 132.sub.x are classified as having a particular transient field (e.g., event location, departure city, etc.) in a particular location (e.g., XPath), then an association between template 134.sub.x and the threshold-satisfying transient field location may be stored, e.g., as an annotation of template 134.sub.k and/or in template database 142) It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to have incorporated a percentage match as suggested in Sheng into Sampson in view of Sathi. Doing so would be desirable because various data points in the communications that may be immediately relevant to a user, such as information related to an upcoming or current trip (e.g., flight information, hotel reservation, event/venue information, etc.), may be scattered across multiple different communications, and may be difficult for the user to track down (see Sheng [0001]). Given the ever-changing content and layout of B2C communications, reverse engineering data extraction templates manually may become impractical (see Sheng [0002]). The present disclosure is generally directed to methods, apparatus and computer-readable media (transitory and non-transitory) for automatically generating data extraction templates for structured documents (e.g., B2C emails, invoices, bills, invitations, etc.), and for assigning classifications to those data extraction templates to streamline data extraction from subsequent structured documents (see Sheng [0003]). The system of Sheng would improve the system of Sampson by using disclosed the techniques, new formats may be recognized, and data points may be extracted (see Sheng [0058]). Regarding claim 23, claim 23 contains substantially similar limitations to those found in claim 9. Consequently, claim 23 is rejected for the same reasons. Regarding claim 10, Sampson in view of Sathi in further view of Sheng teaches all the limitations of claim 9, further comprising: wherein when the similarity match between two or more of the first and second documents exceeds a threshold, the at least one processor is further programmed to determine the set of static text elements between the two or more of the first and second documents (Sampson Figs. 1-17; col. 4 [line 50], the system receives as input to the training module a set of documents 425 that may be used to train the system. The training module outputs a set of document classes 430 and a set of document templates 435. Each document template is associated with a document class; col. 4 [line 65], during a training step the location comparison engine is used to compare a document (e.g., first document) in the set of documents with another document (e.g., second document) in the set of documents. In a specific implementation, if the comparison indicates the first and second documents are similar, a document class and associated template are created for classifying documents similar to the first and second documents. If the comparison indicates the first and second documents are different, a first document class and associated first template is created for classifying documents similar to the first document. And, a second document class and associated second template is created for classifying documents similar to the second document; col. 8 [line 1], In a step 920, the system runs a clustering algorithm that compares the documents (using the generated word lists) and groups similar documents. In a specific implementation, the clustering algorithm incorporates a similarity function (which may be referred to as a distance function) which is an algorithm that makes, among other things, a set of word pairs, each word pair including a word from a first document and a word from a second document. The system takes a pair of documents and returns a "distance." The "distance" can indicate whether or not the pair of documents are similar; col. 20 [line 43], once there is a set of document images that are of the same class, system determines a set of words that appear in all (or at least most) of the documents. The set of words may be referred to as the keywords of a template; col. 22 [line 66], (e.g., the words "total," "tax," and "subtotal" may appear in the same positions consistently and if two of the three are found one may be fairly sure to have found the right place) Sheng further teaches: the percentage match (Sheng Figs. 1-7; [0023], other types of documents, such as letters (e.g., in portable document format (“PDF”) and/or word processing format), invoices, bills, receipts, invitations (e.g., invites received via social network applications), or other structured documents; [0037], Feature extraction engine 250 may extract various features <f.sub.1, f.sub.2, . . . , f.sub.n> from each structured document 300 of cluster 132.sub.x and may provide those features to machine learning application engine 252. Machine learning application engine 252 may apply the features to one or more category machine learning models 254. In some implementations, each category machine learning model 254 may be trained as described above to determine whether a structured document 300 should be classified into a particular category. If, for instance, a threshold number (e.g., 90%, or some other threshold) of structured documents 300 of cluster 132.sub.x are classified into a particular category, then an association between template 134.sub.x and the threshold-satisfying category may be stored, e.g., as an annotation of template 134.sub.x and/or in template database 142; [0038], machine learning application engine 252 may apply the extracted features <f.sub.1, f.sub.2, . . . , f.sub.n> to one or more extraction machine learning models 256. In some implementations, each extraction machine learning model 256 may be trained as described above to locate transient fields within each structured document 300. If, for instance, a threshold number (e.g., 90%, or some other threshold) of structured documents 300 of cluster 132.sub.x are classified as having a particular transient field (e.g., event location, departure city, etc.) in a particular location (e.g., XPath), then an association between template 134.sub.x and the threshold-satisfying transient field location may be stored, e.g., as an annotation of template 134.sub.k and/or in template database 142; ) It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to have incorporated a percentage match as suggested in Sheng into Sampson in view of Sathi. Doing so would be desirable because various data points in the communications that may be immediately relevant to a user, such as information related to an upcoming or current trip (e.g., flight information, hotel reservation, event/venue information, etc.), may be scattered across multiple different communications, and may be difficult for the user to track down (see Sheng [0001]). Given the ever-changing content and layout of B2C communications, reverse engineering data extraction templates manually may become impractical (see Sheng [0002]). The present disclosure is generally directed to methods, apparatus and computer-readable media (transitory and non-transitory) for automatically generating data extraction templates for structured documents (e.g., B2C emails, invoices, bills, invitations, etc.), and for assigning classifications to those data extraction templates to streamline data extraction from subsequent structured documents (see Sheng [0003]). The system of Sheng would improve the system of Sampson by using disclosed techniques, new formats may be recognized, and data points may be extracted (see Sheng [0058]). Regarding claim 24, claim 24 contains substantially similar limitations to those found in claim 10. Consequently, claim 24 is rejected for the same reasons . 07-21-aia AIA Claim 30 is rejected under 35 U.S.C. 103 as being unpatentable over Sampson in view of Mandal et al. (US 11243834 B1, published 02/08/2022), hereinafter Mandal . Regarding claim 30, Sampson in view of Sathi teaches all the limitations of claim 1, further comprising: wherein the at least one processor is further programmed to: generate a plurality of templates, each template representing a respective clustered set of documents of the batch of documents having one or more respective sets of static text elements (Sampson Figs. 1-17; col. 4 [line 65], during a training step the location comparison engine is used to compare a document (e.g., first document) in the set of documents with another document (e.g., second document) in the set of documents. In a specific implementation, if the comparison indicates the first and second documents are similar, a document class and associated template are created for classifying documents similar to the first and second documents. If the comparison indicates the first and second documents are different, a first document class and associated first template is created for classifying documents similar to the first document. And, a second document class and associated second template is created for classifying documents similar to the second document; col. 8 [line 1], In a step 920, the system runs a clustering algorithm that compares the documents (using the generated word lists) and groups similar documents; col. 20 [line 43], a document template associated with a document class includes a set of keywords and location information indicating a location of a keyword in the template relative to one or more other keywords in the template. Upon creating the set of document classes based on grouping the set of training documents, the system can create a document template to be associated with each of the document classes. In other words, once there is a set of document images that are of the same class, system determines a set of words that appear in all (or at least most) of the documents. The set of words may be referred to as the keywords of a template; col. 20 [line 58], In this specific implementation, a keyword learning algorithm takes the collection of document images in a class and outputs a set of words in common. The algorithm starts by getting or obtaining the common set of words between each pair of documents; col. 20 [line 64], The system then creates a matrix of words in each document (e.g., docCount X words); col. 21 [line 11], This generates a list giving the information, for example, "word X appears in document A, B, C and D," "word Y appears in documents A and D," and so forth. The list may include a word, and a number of documents that the word has been found in, an identification of the documents that the word has been found in, or both; col. 21 [line 17], the system then sorts this list by another scoring function (which is a different scoring function from the distance function) that takes into account the number of documents a word is found in; col. 21 [line 22], A selection is made of the top N words that have a score at least equal to a threshold; col. 22 [line 66], (e.g., the words "total," "tax," and "subtotal" may appear in the same positions consistently and if two of the three are found one may be fairly sure to have found the right place) However, Sampson fails to expressly disclose cluster a subset of the plurality of templates using a matching threshold for similar sets of static text elements between templates of the plurality of templates; and generate a super template that groups a subset of the plurality of templates. In the same field of endeavor, Mandal teaches: cluster a subset of the plurality of templates using a matching threshold for similar sets of static text elements between templates of the plurality of templates; and generate a super template that groups a subset of the plurality of templates (Mandal Figs. 1-5; abs. a similarity analysis to combine similar templates from among the first log parsing templates to form second log templates.; col. 5 [line 48], The clustering module 220 receives templates output by the invariant identification module 215 and further processes those templates. For example, some log lines may include a variant followed by a first number of parameters, while other log lines may include that same variant followed by a second number of parameters. In the templates received by the clustering module 220, these may correspond to two templates. However, they may actually be considered the same template. Accordingly, the clustering module 220 may collapse or compress these multiple similar templates into single templates; col. 5 [line 59], the clustering module 220 may sort or order the received templates lexicographically such that similar template patterns appear adjacently in a sorted order. The clustering module 220 then compares adjacent templates in the sorted order to determine a similarity of the compared templates. In at least some examples, the clustering module 220 utilizes a Jaccard similarity, or variant of a Jaccard similarity, for determining the similarity. In other examples, any suitable similarity determination process or algorithm is used for determining the similarity. The determined similarity is represented, in at least some examples, by a numerical similarity value. When the similarity value exceeds a programmed threshold, the clustering module clusters the two templates that are under analysis for similarity; col. 7 [line 33], templates are generated based on the raw log data. In at least some examples, the templates are generated by the template generator 110, as described above; col. 8 [line 20], a similarity analysis is performed to combine similar templates from among the first log parsing templates to form second log templates) It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to have incorporated cluster a subset of the plurality of templates using a matching threshold for similar sets of static text elements between templates of the plurality of templates; and generate a super template that groups a subset of the plurality of templates as suggested in Mandal into Sampson in view of Sathi. Doing so would be desirable because previous solutions use predefined and rigidly constructed templates. Previous rigid approaches can lead to inaccuracies in parsing and clustering and reduces the quality of analysis outputs and degrades a user experience, or a system's automatic ability to, identify anomalies or trends (see Mandal col. 3 [line 21]). Accordingly, the present disclosure provides a technical solution for extraction and clustering (see Mandal col. 3 [line 45]). The system of Mandal would improve the system of Sampson because two templates may actually be considered the same template. The system of Mandal can collapse or compress these multiple similar templates into single templates (see Mandal col. 5 [line 48]), thereby reducing storage requirements, saving time by avoiding document comparison to duplicative templates, and better enabling dynamic management of the templates . Response to Arguments The Examiner acknowledges the Applicant’s amendments to claims 1, 3- 5, 7, 9-12, 15, 17-19, 21, 23-25, and 26, the cancellation of claims 8 and 22, and the addition of claims 29-31. The previous objections to claims 5, 8, 19, and 22 are respectfully withdrawn. Claims 1-7, 9-21, and 23-31 stand rejected under 35 U.S.C. 112(b). Regarding independent claim 1, the Applicant alleges the pending claims are not directed to an abstract idea under Step 2A (p. 11). Applicant alleges that at least the limitations of (i) aggregating the plurality of text elements for each document into an element array indexing each text element according to its respective text value and an identifier of the respective document within which it was identified, (ii) clustering a set of documents of the batch of documents in response to detecting a threshold percentage of matching text elements with matching text values within the respective element arrays of the documents of the set of documents, and (iii) determining a set of static text elements for the clustered set of documents based on the matching text elements common to a threshold number of documents within the clustered set of documents, as recited in amended Claims 1 and 15, are not reasonably characterized as any of a mental step, a mathematical calculation, or a method of organizing human activity (see p. 12). To the contrary, at least these recitations are directed to specific actions necessarily rooted in computer-implemented data-structure manipulation (see remarks p. 13). Examiner respectfully disagrees. As discussed in the rejection above, the claim is directed to an abstract idea that encompasses mental processes including evaluations or observations that are practically capable of being performed in the human mind with the assistance of pen and paper, and mathematical concepts that are achievable through mathematical computation. The claim places no limits on how the aggregating, clustering, and determining is performed. That is, nothing in the claim element precludes the step from practically being performed in the mind. With respect to the data structures, Examiner notes the broadest reasonable interpretation of “array” includes a grouping, an order, or an arrangement (see attached definition) and the broadest reasonable interpretation of “cluster” includes a number of things, a bunch, or a group. As further discussed above, when viewed in combination, the additional elements in the claim do not integrate the recited judicial exception into a practical application (Step 2A, Prong Two: NO), and the additional elements individually or in combination with the judicial exception do not provide an inventive concept; so, the claim as a whole does not amount to significantly more than the abstract idea. (Step 2B: NO). The claim is not eligible. The Applicant further alleges the pending claims, when considered as a whole, recite additional elements that integrate the alleged exception into a practical application of that exception. Specifically, with respect to exemplary Claim 1, the independent claims reflect technical improvements to the field of computer-implemented document template generation (see remarks p. 13). Applicant alleges Claim 1 recites "aggregate the respective plurality of text elements for each document into an element array indexing each text element according to its respective text value and an identifier of the respective document within which it was identified." This is a specific data structure that decouples the recited text elements from their relative spatial origins within any particular document page and indexes them according to both text value and document of origin, thereby enabling downstream processing that operates on the text values (see remarks pp. 13-14). Claim 1 further recites "cluster a set of documents of the batch of documents in response to detecting a threshold percentage of matching text elements with matching text values within the respective element arrays of the documents of the set of documents." This limitation is a specific data structure operation including clustering based on text-value matches within the element array across multiple document sections of the element array (see remarks p. 14). Claim 1 further recites "generate a template that represents the clustered set of documents included within the batch of documents having matching sets of static text elements." This limitation highlights the "on-the-fly" nature of the claimed invention, requiring processor- based operations related to the defined set of static text elements to then generate a template which may then be employed for document classification. Together, these limitations effect concrete technical improvements over prior template- generation systems. The claimed computing system enables template generation on a text-value- centric, location-agnostic basis (see Applicant's Specification, at least at. paragraphs [0130], [0145]); accommodates layout variability between documents of an otherwise same document type (paragraphs [0027], [0029]); and is performed without any pre-trained machine-learning model, thereby requiring "significantly fewer computational resources than machine learning or artificial intelligence models" (paragraph [0039]; see also paragraphs [0004], [0071]). Therefore, the claimed computing system provides significant, clear technical benefits in the relevant technical field (see remarks p. 14). Regarding arrays and clusters, these limitations were analyzed in Step 2A Prong 2 to determine whether they recited additional elements that integrate the exception into a practical application and Step 2B to determine whether they recited additional elements that amount to an inventive concept (aka “significantly more”) than the recited judicial exception. As discussed above, the BRI of terms include non-computer implemented data structures. Additionally, the claims do not recite data structure that decouple the recited text elements from their relative spatial origins and enabling downstream processing that operates on the text values. In response to applicant’s argument that the limitations of claim 1 provide technical improvements, one way to determine integration into a practical application is when the claimed invention improves the functioning of a computer or improves another technology or technical field. To evaluate an improvement to a computer or technical field, the specification must set forth an improvement in technology and the claim itself must reflect the disclosed improvement. See MPEP 2106.04(d)(1) and 2106.05(a). The consideration of whether the claim as a whole includes an improvement to a computer or to a technological field requires an evaluation of the specification and the claim to ensure that a technical explanation of the asserted improvement is present in the specification, and that the claim reflects the asserted improvement. According to the background section, human personnel were previously tasked with identifying documents based on the information within the document ([0003]). The specification further discloses that templates can be generated “on-the-fly”. The system can identify text elements regardless of location ([0130]) utilizing fuzzy matches ([0029]) and without training a machine learning model ([0039]). However, there is no improvement to the functioning of a computer nor to any other technology. At best, the claimed combination amounts to an improvement to the abstract idea of rather than to any technology. See MPEP 2106.05(a). The Applicant further alleges that Sampson as described in the previous Office action, does not explicitly teach aggregate the respective plurality of text elements for each document into an element array indexing each text element according to its respective text value and an identifier of the respective document within which it was identified, cluster a set of documents of the batch of documents in response to detecting a threshold percentage of matching text elements with matching text values within the respective element arrays of the documents of the set of documents, and determine a set of static text elements for the clustered set of documents based on the matching text elements common to a threshold number of documents within the clustered set of documents, as has been amended to the claim. Examiner has therefore rejected independent claim 1 under 35 U.S.C § 103 as unpatentable over Sampson in view of Sathi. Similar arguments have been presented for claim 15 and thus, Applicant’s arguments are not persuasive for the same reasons. Applicant states that the dependent claims recite all the limitations of the independent claims, and thus, are allowable in view of the remarks set forth regarding the independent claims. However, as discussed above, Sampson in view of Sathi is considered to teach the independent claims, and consequently, the dependent claims are rejected. Conclusion 07-96 AIA The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Tolman (US 20180032606 A1) see Figs. 1-14 and [0113] . Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL . See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a). A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action. Any inquiry concerning this communication or earlier communications from the examiner should be directed to JOHN T REPSHER III whose telephone number is (571)272-7487. The examiner can normally be reached Monday - Friday, 8AM-5PM EST. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Jennifer Welch can be reached at (571) 272-7212. 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. /JOHN T REPSHER III/ Primary Examiner, Art Unit 2143 Application/Control Number: 18/626,009 Page 2 Art Unit: 2143 Application/Control Number: 18/626,009 Page 3 Art Unit: 2143 Application/Control Number: 18/626,009 Page 4 Art Unit: 2143 Application/Control Number: 18/626,009 Page 5 Art Unit: 2143 Application/Control Number: 18/626,009 Page 6 Art Unit: 2143 Application/Control Number: 18/626,009 Page 7 Art Unit: 2143 Application/Control Number: 18/626,009 Page 8 Art Unit: 2143 Application/Control Number: 18/626,009 Page 9 Art Unit: 2143 Application/Control Number: 18/626,009 Page 10 Art Unit: 2143 Application/Control Number: 18/626,009 Page 11 Art Unit: 2143 Application/Control Number: 18/626,009 Page 12 Art Unit: 2143 Application/Control Number: 18/626,009 Page 13 Art Unit: 2143 Application/Control Number: 18/626,009 Page 14 Art Unit: 2143 Application/Control Number: 18/626,009 Page 15 Art Unit: 2143 Application/Control Number: 18/626,009 Page 16 Art Unit: 2143 Application/Control Number: 18/626,009 Page 17 Art Unit: 2143 Application/Control Number: 18/626,009 Page 18 Art Unit: 2143 Application/Control Number: 18/626,009 Page 19 Art Unit: 2143 Application/Control Number: 18/626,009 Page 20 Art Unit: 2143 Application/Control Number: 18/626,009 Page 21 Art Unit: 2143 Application/Control Number: 18/626,009 Page 22 Art Unit: 2143 Application/Control Number: 18/626,009 Page 23 Art Unit: 2143 Application/Control Number: 18/626,009 Page 24 Art Unit: 2143 Application/Control Number: 18/626,009 Page 25 Art Unit: 2143 Application/Control Number: 18/626,009 Page 26 Art Unit: 2143 Application/Control Number: 18/626,009 Page 27 Art Unit: 2143 Application/Control Number: 18/626,009 Page 28 Art Unit: 2143 Application/Control Number: 18/626,009 Page 29 Art Unit: 2143 Application/Control Number: 18/626,009 Page 30 Art Unit: 2143 Application/Control Number: 18/626,009 Page 31 Art Unit: 2143 Application/Control Number: 18/626,009 Page 32 Art Unit: 2143 Application/Control Number: 18/626,009 Page 33 Art Unit: 2143 Application/Control Number: 18/626,009 Page 34 Art Unit: 2143 Application/Control Number: 18/626,009 Page 35 Art Unit: 2143 Application/Control Number: 18/626,009 Page 36 Art Unit: 2143 Application/Control Number: 18/626,009 Page 37 Art Unit: 2143 Application/Control Number: 18/626,009 Page 38 Art Unit: 2143 Application/Control Number: 18/626,009 Page 39 Art Unit: 2143 Application/Control Number: 18/626,009 Page 40 Art Unit: 2143 Application/Control Number: 18/626,009 Page 41 Art Unit: 2143 Application/Control Number: 18/626,009 Page 42 Art Unit: 2143 Application/Control Number: 18/626,009 Page 43 Art Unit: 2143 Application/Control Number: 18/626,009 Page 44 Art Unit: 2143 Application/Control Number: 18/626,009 Page 45 Art Unit: 2143 Application/Control Number: 18/626,009 Page 46 Art Unit: 2143 Application/Control Number: 18/626,009 Page 47 Art Unit: 2143 Application/Control Number: 18/626,009 Page 48 Art Unit: 2143 Application/Control Number: 18/626,009 Page 49 Art Unit: 2143