Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Remarks
This Office Action is in response to applicant’s amendment filed on October 9, 2025, under which claims 1-20 are pending and under consideration.
Response to Arguments
Applicant’s amendments have overcome the previous claim objections and claim rejections under § 112. Therefore, these objections and rejections have been withdrawn.
Applicant’s amendments have overcome the previous prior art rejections. However, upon further consideration, new grounds of rejections have been made based on new references. Applicant’s arguments directed to the previous prior art rejections are moot under the new grounds of rejection.
Applicant’s arguments directed to the § 101 rejections have been fully considered but are not deemed to be persuasive. These arguments are addressed below.
Section 101 Rejections
Applicant argues:
Applicant respectfully submits that claim 1 as a whole recites a specific, technical process for generating a featurized candidate as a 3-tuple numerical vector using linguistic, embedding, and syntactic featurizers respectively to capture multi-dimensional similarities between attributes in customer and industry-specific schemas. Further, labels are generated using a ML model based on the featurized candidates. The claimed featurization and ML labeling are not mental processes that can be performed in the human mind because humans cannot feasibly generate 3-tuple numerical vectors from linguistic, embedding, and syntactic similarities across attributes of schemas…
(Applicant’s response, page 10).
These arguments are not persuasive because the claims do not recite any specific algorithm for generating the 3-tuple numeric vector of linguistic, embedding, and syntactic similarities, but instead merely recites the generation of this vector using featurizers that are claimed at a high degree of generality.
In general, a 3-tuple numeric vector is something that a human can generate, since the vector merely comprises 3 numbers, which can be numerical scores that a human assign. For example, a human can evaluate two items and rate them, on a score of 1 to 10, in terms of linguistic, embedding, and syntactic similarity.
Given that the end product of the 3-tuple numeric vector is itself data that a human can generate, applicant would need to rely on a specific technical process of generating this vector. However, the claims merely recite featurizers at a high degree of abstraction, without any limitation as to the algorithms used by the featurizers. More specifically, the “linguistic featurizer” and “syntactic featurizer,” as presented in the instant claim, broadly cover the performance of mental processes of determining linguistic and syntactic features implemented as a software function using generic computer components. In this case, any computer components involved in these featurizers, although not mental processes themselves, are merely deployed as tools for performing the otherwise mental process. Therefore, these limitations amount to no more than mere instructions to apply a generic computer to perform a mental process of determining features.
The “embedding featurizer” is considered to be a software function that is configured to perform a process distinct from a mental process, since an “embedding” is generally not a type of data that is generated in a mental process. However, since the claim does not specifically define the algorithm used in embedding featurization, the limitation of “embedding featurizer” as currently recited merely invokes the use of an embedding model generically as a tool to perform other limitations that are mental processes.
In summary, although applicant argues that claim 1 recites a “technical process for generating a featurized candidate as a 3-tuple numerical vector using linguistic,” the Examiner notes that the claim generally lacks technical features other than the use of generic computer functions and a generic embedding model as tools to perform processes that are mental processes.
Next, applicant argues:
Further, Applicant respectfully submits that the limitations of claim 1 are similar to the claim under Example 39, on page 8-9, of the "Subject Matter Eligibility Examples: Abstract Ideas", in which the claim involving data transformation and iterative processing was eligible without reciting a judicial exception, as the claim focused on technical steps rather than abstract mathematics or mental processes. Notably, "the N attributes may be selected at any point throughout the iterative process of labeling the attributes" (see Application, paragraph [0057], emphasis added).
Additionally, Applicant respectfully submits that the claimed use of distinct featurizers to produce a structured 3-tuple numerical vector (representing linguistic, embedded, and syntactic similarities) is a technical data preparation method, not a mere mental process or mathematical formula. Similarly, in Example 47 (Neural Network for Anomaly Detection) from the "July 2024 Subject Matter Eligibility Examples", claims 1 and 3 using ML for data analysis were eligible because they involved specific features to improve detection accuracy, without being directed to an abstract idea.
(Applicant’s response, page 11).
These arguments are not persuasive because the examples mentioned above do not support applicant’s position.
Example 39 pertains to transforming digital images and training a neural network. In Example 39, the transformations of digital images are not mental processes that can be practically performed by a human. On the other hand, the instant claim does not recite transformation of digital images.
Although applicant’s remarks quoted above refers to “data transformation and iterative processing,” the claim does not actually recite any limitations of iterative processing. Furthermore, it is unclear what specific data transformations are being referred to as technical steps that are not mental processes. To the extent that the claim involves data transformation, the data transformations in the claim are generally those that can be performed by a human. The Examiner notes that data processing and transformation are not exclusive to the realm of computing, since a human is also capable of processing and transformation data in general, especially when such processes are defined at a high degree of generality.
Applicant’s comparison with Example 47 claims 1 and 3 are similarly not persuasive. In general, applicant’s claim contains mental processes in a substantial part of the claim, whereas Example 47 claim 1 is a specialized hardware device that contains no mental process steps, and Example 47 claim 3, while including some steps that are mental processes, also include additional elements that integrate mental into a practical application. By contrast, applicant’s claim lacks substantial additional elements besides the mental process steps, since the additional elements are either insignificant extra-solution activity or are mere instructions to apply an abstract idea. Therefore, applicant’s arguments directed to the § 101 rejections are not persuasive.
Examiner’s General Suggestions
To advance prosecution in view of the § 101 rejection, the Examiner suggests adding additional technical implementation details to the claims. The Examiner observes that although the title of this application is “Linguistic schema mapping via semi-supervised learning,” the present claims do not recite a semi-supervised learning process. Therefore, additional technical features that may advance prosecution could be features pertaining to a semi-supervised learning technique, and how the different featurizers are specifically used to affect specific parts of the unsupervised learning process.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-20 are rejected under 35 U.S.C. § 101 because the claimed invention is directed to an abstract idea without significantly more.
Independent Claims
Step 2A Prong One: Does the claim recite an abstract idea, law of nature, or natural phenomenon?
Yes, independent claim 1, for example, recites an abstract idea in the form of mental processes. A mental process is a process that “can be performed in the human mind, or by a human using a pen and paper” (MPEP § 2106.04(a)(2)(III), paragraph 1). Examples of mental processes include “observations, evaluations, judgments, and opinions” (MPEP § 2106.04(a)(2)(III), paragraph 2).
Independent claim 1 recites the following limitations that are mental processes:
identify an industry-specific schema corresponding to the received customer schema;
select a first attribute included within the received customer schema for labeling;
generate at least one candidate pair based on the selected first attribute, the candidate pair including the first attribute and a second attribute;
generate, […], a featurized candidate based on an identified similarity between the first attribute and the second attribute, the featurized candidate being a 3-tuple numerical vector corresponding to the candidate pair based on the identified similarity including a linguistic similarity, an embedded similarity, and a syntactic similarity between the first attribute and the second attribute in the candidate pair, wherein the linguistic similarity, the embedded similarity, and the syntactic similarity in the 3-tuple numerical vector are identified […]; and
generate, […], one or more suggested labels for the first attribute based on the featurized candidate, the one or more suggested labels corresponding to the second attribute, and
apply a label of the one or more suggested labels to the first attribute.
Independent claim 12 recites the following limitations that are mental processes:
identifying […] an industry-specific schema corresponding to the received customer schema, and
selecting […] a first attribute included within the received customer schema for labeling,
generating […] a candidate pair based on the selected first attribute, the candidate pair including the first attribute and a second attribute;
generating […] a featurized candidate based on an identified similarity between the first attribute and the second attribute, the featurized candidate being a 3-tuple numerical vector corresponding to the candidate pair based on the identified similarity including a linguistic similarity, an embedded similarity, and a syntactic similarity between the first attribute and the second attribute in the candidate pair, wherein the linguistic similarity, the embedded similarity, and the syntactic similarity in the 3-tuple numerical vector are identified […];
generating […] a matching score for the candidate pair based on the featurized candidates, the matching score measuring how closely the respective second attribute matches the first attribute;
identifying […] a predetermined quantity of matching scores having highest value of the generated matching scores;
identifying […] the candidate pair with the predetermined quantity of matching scores having the highest value of the generated matching scores;
generating […] a suggested label for the first attribute in the candidate pair, the suggested label corresponding to the second attribute in the candidate pair; and
applying […] the suggested label to the first attribute.
Independent claim 19 recites the following limitations that are mental processes:
[…]
identify an industry-specific schema corresponding to the received customer schema, and
select a first attribute included within the received customer schema for labeling,
generate a candidate pair based on the selected first attribute, the candidate pair including the first attribute and a second attribute;
generate a featurized candidate based on an identified similarity between the first attribute and the second attribute, the featurized candidate being a 3-tuple numerical vector corresponding to the candidate pair based on the identified similarity including a linguistic similarity, an embedded similarity, and a syntactic similarity between the first attribute and the second attribute in the candidate pair, wherein the linguistic similarity, the embedded similarity, and the syntactic similarity in the 3-tuple numerical vector are identified […];
generate […] a matching score for the candidate pair based on the featurized candidates, the matching score measuring how closely the second attribute matches the first attribute in the candidate pair;
identify […] a predetermined quantity of matching scores having highest a value of the generated matching scores;
identify […] the candidate pair with the predetermined quantity of matching scores having the highest value of the generated matching scores;
generate […] a suggested label for the first attribute in the candidate pair, the suggested label corresponding to the second attribute in the candidate pair having the matching score with the highest value; and
apply the suggested label to the first attribute.
The limitation quoted above are mental processes that can be performed by observation, evaluation, judgment, and opinion. In particular, the acts of generating a matching score and identifying matching attributes of schemas are recited at a high degree of generality, such that they cover mental processes.
In regards to the limitation of generating “a featurized candidate based on an identified similarity between the first attribute and the second attribute, the featurized candidate being a 3-tuple numerical vector corresponding to the candidate pair based on the identified similarity including a linguistic similarity, an embedded similarity, and a syntactic similarity between the first attribute and the second attribute in the candidate pair, wherein the linguistic similarity, the embedded similarity, and the syntactic similarity in the 3-tuple numerical vector are identified”, this limitation does not recite any specific computational process that cannot be performed by a human with pen and paper. The features of a linguistic similarity, an embedded similarity, and a syntactic similarity, for example, are recited at a high degree of generality, without recitation of any specific technical algorithm that is used to compute these similarities. Furthermore, the similarities referred to here are not required to meet any specific technical specifications. Instead, a similarity can be a simple numerical measure, which a human can determine based on an evaluation of judgment. The feature of a “3-tuple numerical vector” does not distinguish over a mental process, because a 3-tuple numerical vector broadly covers a vector of 3 numbers, which can be determined by a human. For example, a human can assess linguistic, embedded, and syntactic similarity on a scale of 1 to 10, and such evaluation would therefore form the content of a 3-tuple numerical vector. Moreover, a “vector” can simply be a structured set of numbers, which a human is capable of processing in a mental process.
Therefore, the independent claims recite a judicial exception.
Step 2A Prong Two: Does the claim recite additional elements that integrate the judicial exception into a practical application?
No. The judicial exception recited in the above discussed claims is not integrated into a practical application.
The independent claims recite the following additional elements, but these additional elements are not sufficient to integrate the judicial exception into a practical application.
Claim 1:
“A system, comprising: a processor; a memory storing instructions that are executable by the processor, the instructions upon execution by the processor cause the processor to” [These elements constitute no more than mere instructions to apply the judicial exception using generic computer components (MPEP § 2106.04(d)(I)). These additional elements do not meaningfully limit the claim because they merely invoke the use of generic computer components, such as a processor or other general-purpose computer that is programmed by hardware, as tools to perform the abstract idea. These generic computer components merely perform generic functions, and do not place any limitations on the abstract idea other than the use of the generic computer components. Therefore, these additional elements do not integrate the judicial exception into a practical application.]
“receive a customer schema” [These additional elements are not sufficient to integrate the judicial exception into a practical application because they constitute “adding insignificant extra-solution activity to the judicial exception” (MPEP § 2106.05(g)) in the form of mere data gathering.]
“using a linguistic featurizer, an embedding featurizer, and a syntactic featurizer for the candidate pair” to generate the featurizer candidate; and the identification of the similarities “using the linguistic featurizer, the embedding featurizer, and the syntactic featurizer respectively” [These elements constitute no more than mere instructions to apply the judicial exception using generic computer components (MPEP § 2106.04(d)(I)). The various featurizers in this claim are recited at a high degree of abstraction, such that they broadly cover the use of generic computer functions. More specifically, the “linguistic featurizer” and “syntactic featurizer,” as presented in the instant claim, broadly cover the performance of mental processes of determining linguistic and syntactic features implemented as a software function. In this case, any computer components, though not mental processes themselves, are merely deployed as tools for performing the featurization process. Therefore, these limitations amount to no more than mere instructions to apply generic computer functions to perform a mental process of determining linguistic and syntactic features. The “embedding featurizer” is considered to be a software function that is configured to perform a process distinct from a mental process, since an “embedding” is generally not a type of data that is generated in a mental process. However, since the claim does not specifically define the algorithm used in embedding featurization, the limitation of “embedding featurizer” as used in the instant claim merely invokes an embedding model generically as a tool to perform other limitations that are mental processes, including the generation of the 3-tuple numerical vector. In other words, although the “embedding featurizer” is not a mental process, it is merely invoked as a generic function as a tool for performing the abstract ideas in the claim. Therefore, these featurizer limitations are mere instructions to apply the abstract ideas of the claim using generic computer functions.]
“using a machine learning (ML) model” [These additional elements constitute no more than mere instructions to apply the judicial exception using generic computer components because merely invoke the use of generic machine learning without specifying any details of the machine learning process or an improvement to machine learning itself. Instead, these elements merely invoke the use of generic machine learning as a tool to perform the abstract idea. Therefore, these additional elements do not integrate the judicial exception into a practical application.]
Claim 12:
“by an input receiving module”; “by a processor” (or “by the processor”); “by a generator implemented on the at least one processor”; “by a linguistic featurizer included on a featurizer module implemented on the at least one processor” [These elements constitute no more than mere instructions to apply the judicial exception using generic computer components (MPEP § 2106.04(d)(I)). These additional elements do not meaningfully limit the claim because they merely invoke the use of generic computer components, such as a processor or other general-purpose computer that is programmed by hardware, as tools to perform the abstract idea. These generic computer components merely perform generic functions, and do not place any limitations on the abstract idea other than the use of the generic computer components. Therefore, these additional elements do not integrate the judicial exception into a practical application.]
“receiving…a customer schema” [This limitation is analyzed in the same manner as the corresponding limitation of claim 1, discussed above.]
“using a linguistic featurizer, an embedding featurizer, and a syntactic featurizer for the candidate pair” to generate the featurizer candidate; and the identification of the similarities “using the linguistic featurizer, the embedding featurizer, and the syntactic featurizer respectively” [These limitations are analyzed in the same manner as the corresponding limitation of claim 1, discussed above.]
“by the processor using a machine learning (ML) model” and “by the processing using the ML model” [These limitations are analyzed in the same manner as the corresponding limitation of claim 1, discussed above.]
Claim 19:
Claim 19: “One or more computer-storage memory devices embodied with executable instructions that, when executed by a processor, cause the processor to.” [These elements constitute no more than mere instructions to apply the judicial exception using generic computer components (MPEP § 2106.04(d)(I)). These additional elements do not meaningfully limit the claim because they merely invoke the use of generic computer components, such as a processor or other general-purpose computer that is programmed by hardware, as tools to perform the abstract idea. These generic computer components merely perform generic functions, and do not place any limitations on the abstract idea other than the use of the generic computer components. Therefore, these additional elements do not integrate the judicial exception into a practical application.]
“receiving…a customer schema” [This limitation is analyzed in the same manner as the corresponding limitation of claim 1, discussed above.]
“using a linguistic featurizer, an embedding featurizer, and a syntactic featurizer for the candidate pair” to generate the featurizer candidate; and the identification of the similarities “using the linguistic featurizer, the embedding featurizer, and the syntactic featurizer respectively” [These limitations are analyzed in the same manner as the corresponding limitation of claim 1, discussed above.]
“by the processor using a machine learning (ML) model” and “by the processing using the ML model” [These limitations are analyzed in the same manner as the corresponding limitation of claim 1, discussed above.]
Therefore, under MPEP 2106.04(d), the additional elements of the claims do not integrate the judicial exception into a practical application.
Step 2B: Does the claim recite additional elements that amount to significantly more than the judicial exception?
No. The claims do not include additional elements that are sufficient for the claims to amount to significantly more than the judicial exception.
Additional elements that are mere instructions to apply an exception do not constitute significantly more than a judicial exception under MPEP § 2106.05(I)(A). Therefore, those additional elements identified above in the Prong One analysis as mere instructions to apply an exception do not constitute significantly more.
Additional elements that are considered to be extra-solution activity do not amount to significantly more if, upon their reevaluation in Step 2B, they are also merely appending “well-understood, routine, conventional activities previously known to the industry, specified at a high level of generality, to the judicial exception” (MPEP § 2106.05(I)(A)). Here, the additional element of receiving a customer schema in each of claims 1, 12, and 19 is well-understood, routine, conventional activity because it is merely receiving or transmitting data over a network or retrieving information in memory, which is identified in MPEP § 2106.05(d)(II) as being a generic computer function that is well-understood, routine, conventional.
Therefore, the additional elements identified in the Step 2A Prong Two analysis do not constitute significantly more than a judicial exception.
Dependent Claims
The remaining dependent claims do not recite additional elements, whether considered individually or in combination, that are sufficient to integrate the judicial exception into a practical application or amount to significantly more than the judicial exception.
Dependent Claim 2: The further limitations of “to apply a least confidence anchor strategy to select the first attribute, wherein the least confidence anchor strategy identifies the first attribute that represents a most informative attribute of the received customer schema” are a mental process that can be performed by observation, evaluation, judgment, and opinion. The additional element of “the at least one processor” is mere instructions to apply the judicial exception under the same reasoning as those applied to corresponding limitations in the independent claim, and thus does not integrate the abstract idea into a practical application exception or amount to significantly more than the abstract idea.
Dependent Claim 3: The further limitation of “wherein the linguistic featurizer is trained one time per industry-specific schema” is an additional element, but is mere instructions to apply the judicial exception using generic computer functions (MPEP § 2106.04(d)(I)), namely the generic computer function of a generic machine learning process. The element of “one time per industry-specific schema” is not limit this to a specific training process constituting a technical improvement, since this element is recited at a high degree of generality.
Dependent Claim 4: The further limitations of “the second attribute includes a plurality of second attributes” and “generate a matching score for each second attribute of the plurality of second attributes, each matching score measuring how closely the respective second attribute matches the first attribute” are a mental process that can be performed by observation, evaluation, judgment, and opinion. The claim does not recite any specific technical algorithm of a level of complexity that would preclude these operations from being performed as a mental process.
Dependent Claim 5: The further limitations of “identify […] the matching score that has a highest value of the generated matching scores, and identify […] the second label as associated with the matching score having the highest value” are a mental process that can be performed by observation, evaluation, judgment, and opinion. The claim does not recite any specific technical algorithm of a level of complexity that would preclude these operations from being performed as a mental process. The additional element of “using the ML model” is mere instructions to apply the judicial exception under the same reasoning as those applied to corresponding limitations in the independent claim, and thus does not integrate the abstract idea into a practical application exception or amount to significantly more than the abstract idea.
Dependent Claim 6: The further limitations of “identify […] a predetermined quantity of matching scores having highest value of the generated matching scores, and identify […] the respective second labels associated with the predetermined quantity of matching scores having the highest value of the generated matching scores” are a mental process that can be performed by observation, evaluation, judgment, and opinion. The claim does not recite any specific technical algorithm of a level of complexity that would preclude these operations from being performed as a mental process. The additional element of “using the ML model” is mere instructions to apply the judicial exception under the same reasoning as those applied to corresponding limitations in the independent claim, and thus does not integrate the abstract idea into a practical application exception or amount to significantly more than the abstract idea.
Dependent Claim 7: The further limitation of “apply the label of the one or more suggested labels to the first attribute based at least in part on the label being generated” is a mental process that can be performed by observation, evaluation, judgment, and opinion. The additional element of “automatically” is mere instructions to apply the judicial exception using generic computer components or functions that serve as a tool for performing the mental process, and thus does not integrate the abstract idea into a practical application exception or amount to significantly more than the abstract idea.
Dependent Claim 8: The further limitation of “apply the label of the one or more suggested labels to the first attribute based at least in part on receiving a signal from an external device” are a mental process that can be performed by observation, evaluation, judgment, and opinion. The additional element of “the generator is configured to” is mere instructions to apply the judicial exception under the same reasoning as those applied to corresponding limitations in the independent claim, and thus does not integrate the abstract idea into a practical application exception or amount to significantly more than the abstract idea.
Dependent Claim 9: The further limitations of “wherein a featurizer module comprising the linguistic featurizer, the embedding featurizer, and the syntactic featurizer converts the candidate pair into the 3-tuple numerical vector” are additional elements, but are is mere instructions to apply the judicial exception under the same reasoning as those applied to corresponding limitations in the independent claim, and thus do not integrate the abstract idea into a practical application exception or amount to significantly more than the abstract idea. In the same manner as the individual featurizers, the “featurizer module” has no specific algorithmic structure that distinguishes it from a computer-implemented mental process. Therefore, this term is regarded as mere instructions to apply the functions of the individual featurizers, which are mental processes, on generic computer components.
Dependent Claim 10: The further limitations of “to identify the industry-specific schema based at least in part on the first attribute included in the received customer schema” are a mental process that can be performed by observation, evaluation, judgment, and opinion.
Dependent Claim 11: The further limitations of “a relational schema includes each of the first attribute and the second attribute, and the relational schema defines respective attributes of one or more of the received customer schema or the industry-specific schema” merely define the characteristics of the schemas used in the mental processes of the independent claim, without bringing those processes out of the scope of mental processes. This claim does not recite any non-abstract additional elements for purposes of Step 2A Prong Two and Step 2B analysis.
Dependent Claim 13: The further limitations of “applying, […], a least confidence anchor strategy to select the first attribute, wherein the least confidence anchor strategy identifies the first attribute that represent a most informative attribute of the received customer schema” are a mental process that can be performed by observation, evaluation, judgment, and opinion. The additional element of “by the at least one processor” is mere instructions to apply the judicial exception under the same reasoning as those applied to corresponding limitations in the independent claim, and thus does not integrate the abstract idea into a practical application exception or amount to significantly more than the abstract idea.
Dependent Claim 14: The further limitation of “wherein the linguistic featurizer is a pretrained bidirectional encoder representations from transformers (BERT) model” are an additional element, but is merely “generally linking the use of the judicial exception to a particular technological environment or field of use” (MPEP § 2106.05(h)), specifically the technology environment of a BERT model. Therefore, this element does not integrate the judicial exception into a practical application under Step 2A Prong Two and does
Dependent Claim 15: The further limitations of “applying the suggested label further comprises […] applying the suggested label to the first attribute based at least in part on the suggested label being generated” are a mental process that can be performed by observation, evaluation, judgment, and opinion. The additional element of “automatically” is mere instructions to apply the judicial exception using generic computing components, and thus does not integrate the abstract idea into a practical application exception or amount to significantly more than the abstract idea.
Dependent Claim 16: The further limitations of “wherein applying the suggested label further comprises applying the suggested label to the first attribute based at least in part on” are a mental process that can be performed by observation, evaluation, judgment, and opinion. The additional element of “receiving a signal from an external device” constitutes extra-solution activity in the form of mere data gathering (MPEP § 2106.05(g)) and is well-understood, routine, conventional activity because it is merely receiving or transmitting data over a network or retrieving information in memory, which is identified in MPEP § 2106.05(d)(II) as being a generic computer function that is well-understood, routine, conventional.
Dependent Claim 17: The analysis given for claim 9 is applied to this claim, which recites the same or substantially the same features.
Dependent Claim 18: The further limitations of “a identifying the first attribute included in the received customer schema; and associating the first attribute included in the received customer schema with at least one attribute in the identified industry-specific schema” are a mental process that can be performed by observation, evaluation, judgment, and opinion. This claim does not recite any non-abstract additional elements for purposes of Step 2A Prong Two and Step 2B analysis.
Dependent Claim 20: The further limitations of “apply a least confidence anchor strategy to select the first attribute, wherein the least confidence anchor strategy identifies one or more attributes for which the ML model is least confident in a proposed label” are a mental process that can be performed by observation, evaluation, judgment, and opinion. The additional element of “further comprising instructions that, when executed by the processor, cause the processor” is mere instructions to apply the judicial exception under the same reasoning as those applied to corresponding limitations in the independent claim, and thus does not integrate the abstract idea into a practical application exception or amount to significantly more than the abstract idea.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
1. Claims 1, 4-9, 11-12, and 15-20 are rejected under 35 U.S.C. 103 as being unpatentable over Kotecha et al. (US 2023/0244644 A1) (“Kotecha”) in view of Muni et al. (US 2012/0078913 A1) (“Muni”) and Frings et al. (US 2023/0386612 A1) (“Frings”).
As to claim 1, Kotecha teaches a system, comprising:
a processor; [[0068]: “the functionality of the flow diagram of FIG. 8 is implemented by software stored in memory or other computer readable or tangible medium, and executed by a processor.”]
a memory storing instructions that are executable by the processor, the instructions upon execution by the processor cause the processor to: [[0068]: “the functionality of the flow diagram of FIG. 8 is implemented by software stored in memory or other computer readable or tangible medium, and executed by a processor.”]
receive a […] schema; [[0038]: “At 302, the source and target schemas are received in the form of data such as XSD or JSON data.” Note that since the source schema is received in the form of electronic data, the system performing the method of FIG. 3 has an input receiving module.]
identify an industry-specific schema corresponding to the received […] schema; [[0038]: “At 302, the source and target schemas are received in the form of data such as XSD or JSON data.” The feature of a processor is disclosed in [0068]: “the functionality of the flow diagram of FIG. 8 is implemented by software stored in memory or other computer readable or tangible medium, and executed by a processor.” The target schema is “industry-specific” because it relates to a domain, i.e., an industry, which in this case is exemplified as a “business” (see [0018]). See, e.g., [0039]: “Feature store 310 is built over a period of time through online learning or by feeding pre-trained domain ontologies with domain expert input 307.” See also [0048]: “specific to domain but still some automated matching possible”; [0058]: “feature store 310 can be organized based on domain, sub-domain, entities, and values.”]
select a first attribute included within the received […] schema for labeling; [[0038]: “A schema reader service 304 acquires the source and target schemas and parses them to extract all of the attributes/terms/names that correspond to the data.” The aspect of “labeling” is disclosed in the form of matching as shown in the examples of paragraphs [0044] through [0055]. [0056]: “For each source attribute, mapping service 306 may retrieve one or more matching attributes from 511 and/or 521.” That is, the source attribute selected for the matching process constitutes a first attribute within the schema.]
generate at a candidate pair based on the selected first attribute, the candidate pair including the first attribute and a second attribute; [[0056]: “For each source attribute, mapping service 306 may retrieve one or more matching attributes from 511 and/or 521. The matching attributes are then recommended to the user with a corresponding confidence score if matching is done via NER 521.” That is, the one or more matching attributes are a candidate pair comprising the first attribute and a matching attribute (i.e., a second attribute).]
generate, using a linguistic featurizer, an embedding featurizer […] for the candidate pair, a featurized candidate based on an identified similarity between the first attribute and the second attribute, the featurized candidate being a […] corresponding to the candidate pair based on the identified similarity including a linguistic similarity, an embedded similarity, […] between the first attribute and the second attribute in the candidate pair, wherein the linguistic similarity, the embedded similarity […] in the […] are identified using the linguistic featurizer, the embedding featurizer […] [[0056]: “For each source attribute, mapping service 306 may retrieve one or more matching attributes from 511 and/or 521. The matching attributes are then recommended to the user with a corresponding confidence score if matching is done via NER 521. Embodiments use matching algorithms to match the attributes and generate the confidence score using semantic based matcher 520. The confidence score improves over a period of time using a learning process, such as transfer learning, re-training with newer datasets, etc. The matching algorithms in embodiments include one or more of (1) Word net similarity; (2) Cosine similarities in vector space; and/or (3) Synonym custom training. A user or human in loop can accept the recommendation or decline.” Here, the “Word net similarity” and the “cosine similarities in vector space” correspond to a “linguistic similarity” and an “embedded similarity,” respectively. Note that a vector space in this context is understood as a space for embeddings; thus, a similarity in this space is an embedded similarity. Furthermore, a Word net (or WordNet) similarity is understood by those in the art as a conventional linguistic measure. Since these similarities are “matching algorithms,” the algorithms that calculate these similarities constitute “featurizers,” noting that the term “featurizer” broadly reads on a process or algorithm that determines a numerical representation of something (in this case, a similarity measure), and both similarity measures described here are numerical measures.] and
generate, using a machine learning (ML) model, one or more suggested labels for the first attribute based on the featurized candidate, the one or more suggested labels corresponding to the second attribute; and [The use of the matching algorithms (which is a machine learning model) is described in [0056]: “Embodiments use matching algorithms to match the attributes and generate the confidence score using semantic based matcher 520. The confidence score improves over a period of time using a learning process, such as transfer learning, re-training with newer datasets, etc. The matching algorithms in embodiments include one or more of (1) Word net similarity; (2) Cosine similarities in vector space; and/or (3) Synonym custom training. A user or human in loop can accept the recommendation or decline.” Note that the description of “one or more” means that multiple similarity measures (corresponding to the “featurized candidate” in the limitation of “based on the featurized candidate”) are used. Furthermore, see also [0063]: “The recommendations can be restricted to, for example, top 5 matches or any configurable value, such as a threshold confidence score so that only matches with a confidence score above the threshold are listed.” Note that the “recommendations” in this context refers to “one or more matching attributes” ([0056]), which corresponds to respective second attributes that are part of the recommendations. Furthermore, “machine learning model” is described for matching in [0016]: “rule-based matching for simple data types and semantic matching through machine learning models.” In regards to the limitation of “labels,” the recommended attributes are also labels. The Examiner notes that the instant claim does not further define what the labels are, the information conveyed by the labels, or what the labels represent. As such, the matched attribute is also regarded as a label.]
apply a label of the one or more suggested labels to the first attribute. [[0043]: “Examples of the mapping of named entities from source to target are shown below, and classified from simple to complex. These ‘matches’ …are stored as mapping information in feature store 310 as key-value pairs.” Matched attributes are those in which the attribute (label) corresponding second attribute has been applied.]
Kotecha does not explicitly teach:
(1) the limitation that the received schema is a “customer schema.”
(2) the limitation of using a “syntactic featurizer” to generate the featurized candidate, and a “syntactic similarity” between the first and second attributes being identified using the syntactic featurizer.
(3) the limitation of the feaurized candidate being in the form of a “3-tuple numerical vector” that includes all three of the linguistic, embedded, and syntactic similarity.
Muni, which also relates to schema matching (see title), teaches limtiations (1) and (2) listed above. Muni teaches a “customer schema” [[0051]: “The matching between the source and target schemas is performed to identify matches or mappings between schema elements of the corresponding schemas. A match represents a semantic relation between schema elements and a mapping represents a transformation between schema elements. For example, in two schemas PO (PurchaseOrder) and Invoice as illustrated below there is a match between CustomerInfo (PurchaseOrder) and Buyer (Invoice).” [0052]: “CustomerInfo (FirstName, LastName)”]. Muni further teaches a “syntactic featurizer” to generate the featurized candidate, and a “syntactic similarity” between the first and second attributes being identified using the syntactic featurizer [[0022]: “The similarity check is performed to identify syntactic and semantic similarity between the source and target schemas.” [0086]: “In an embodiment of the present invention, the syntactic similarity is the similarity between schema elements in terms of syntactic function and role. The syntactic similarity value represents the degree of syntactic similarity between the source and target schema element. In an embodiment of the present invention, the syntactic similarity value is in the range of 0 to 1, wherein 0 represents the syntactic value for two unrelated schema elements and 1 represents an exact match between two schema elements.” [0087]: “one or more techniques are used for performing the syntactic similarity check. The one or more techniques include, but are not limited to prefix, suffix and edit distance checks. Similarity values are obtained from each of the one or more techniques.” That is, the “technique” which is an algorithm or process performed by a computer, constitutes a featurizer.]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of Kotecha with the teachings of Muni by implementing the received schema as a customer schema and by using a “syntactic featurizer” to also generate the featurized candidate, and using a “syntactic similarity” between the first and second attributes that is identified using the syntactic featurizer. The motivation would have been to apply schema matching to a field that involves customer data (such as e-commerce, as mentioned in [0004] of Muni), and also to use a form of similarity that accounts for schematic elements in terms of syntactic function and role (see Muni, [0086]: “the syntactic similarity is the similarity between schema elements in terms of syntactic function and role.”) for purposes of matching (see Muni, [0090]: “At step 306, the target schema elements are matched to the source schema elements.”).
The combination of references thus far does not teach the limitation of the feaurized candidate being in the form of a “3-tuple numerical vector” that includes all three of the linguistic, embedded, and syntactic similarity.
Frings suggests a “3-tuple numerical vector” [[0194]: “For example, a similarity measure can be described by a tuple or a vector of numbers, wherein each entry can cover a different aspect of similarity or has been calculated in a different way. In this case, a threshold value can also be defined by a tuple or a vector with the same number of elements. In this case, a threshold value can also be defined by a tuple or a vector with the same number of elements. A similarity measure can then be above the threshold value if all components of the similarity measure are above the respective components of the threshold value or if a predefined number of the components of the similarity measure are above the respective components of the threshold value. Alternatively, it is also possible for a norm of the tuple or the vector to be compared with a scalar threshold value; herein, individual components can also be weighted differently in the calculation of the norm.” While Frings does not explicitly teach a tuple with 3 items specifically, the element of “3” flows naturally from the application of a tuple to a set of items, and such set of items is already taught in the previous combination of references.]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of the references combined thus far with the teachings of Frings by implementing the featurized candidate to be in the form of a “3-tuple numerical vector” that includes all three of the linguistic, embedded, and syntactic similarity, so as to arrive at the limitations of the instant claim. The motivation would have been to use a format for similarity that enables multiple similarity measures to be compared in an aggregated manner when the similarity measures cannot be sorted (as suggested by Frings; see parts quoted above).
As to claim 4, the combination of Kotecha, Muni, and Frings teaches the system of claim 1, wherein:
the second attribute includes a plurality of second attributes, [Kotecha, [0056]: “For each source attribute, mapping service 306 may retrieve one or more matching attributes from 511 and/or 521. The matching attributes are then recommended to the user with a corresponding confidence score if matching is done via NER 521.” That is, the one or more matching attributes are a candidate pair.] and
wherein the instructions upon execution by the processor further cause the processor to:
generate a matching score for each second attribute of the plurality of second attributes, each matching score measuring how closely the respective second attribute matches the first attribute. [Kotecha, [0056]: “Embodiments use matching algorithms to match the attributes and generate the confidence score using semantic based matcher 520. The confidence score improves over a period of time using a learning process, such as transfer learning, re-training with newer datasets, etc. The matching algorithms in embodiments include one or more of (1) Word net similarity; (2) Cosine similarities in vector space; and/or (3) Synonym custom training. A user or human in loop can accept the recommendation or decline.” The model is a machine learning model because it is trained by a learning process. See also Kotecha, [0016]: “rule-based matching for simple data types and semantic matching through machine learning models.” Furthermore, the confidence score in this case constitutes a matching score.]
As to claim 5, the combination of Kotecha, Muni, and Frings teaches the system of claim 4, wherein the instructions upon execution by the processor further cause the processor to: identify, using the ML model, the matching score that has a highest value of the generated matching scores; and identify, using the ML model, the label as associated with the matching score having the highest value. [Kotecha, [0063]: “The recommendations can be restricted to, for example, top 5 matches or any configurable value, such as a threshold confidence score so that only matches with a confidence score above the threshold are listed.” That is, a set of scores that is the top 5 or above the thresholds includes scores having a highest value. The match with the highest score therefore includes an identification of an attribute (second label) associated with that score.]
As to claim 6, the combination of Kotecha, Muni, and Frings teaches the system of claim 4, wherein the instructions upon execution by the processor further cause the processor to:
Identify, using the ML model, a predetermined quantity of matching scores having highest value of the generated matching scores; [Kotecha, [0063]: “The recommendations can be restricted to, for example, top 5 matches or any configurable value, such as a threshold confidence score so that only matches with a confidence score above the threshold are listed.” That is, a set of scores that is the top 5 or above the thresholds includes scores having a highest value.] and
Identify, using the ML model, respective labels associated with the predetermined quantity of matching scores having the highest value of the generated matching scores. [Kotecha, [0063]: “The recommendations can be restricted to, for example, top 5 matches or any configurable value, such as a threshold confidence score so that only matches with a confidence score above the threshold are listed.” Note that the “recommendations” in this context refers to “one or more matching attributes” ([0056]), which corresponds to respective second attributes that are part of the recommendations.]
As to claim 7, the combination of Kotecha, Muni, and Frings teaches the system of claim 1, wherein the instructions upon execution by the processor further cause the processor to:
automatically apply the label of the one or more suggested labels to the first attribute based at least in part on the label being generated. [Kotecha, [0063]: “In embodiments, for every source term there are lists of probable matches returned by feature store 310 based on the confidence score at regular intervals. The recommendations can be restricted to, for example, top 5 matches or any configurable value, such as a threshold confidence score so that only matches with a confidence score above the threshold are listed. In embodiments, if the target element in the list, that target element may be automatically matched with the source element.”]
As to claim 8, the combination of Kotecha, Muni, and Frings teaches the system of claim 1, wherein the instructions upon execution by the processor further cause the processor to:
apply the label of the one or more suggested labels to the first attribute based at least in part on receiving a signal from an external device. [Kotecha, [0056]: “The matching attributes are then recommended to the user with a corresponding confidence score if matching is done via NER 521…A user or human in loop can accept the recommendation or decline.” The “user” described here interfaces with the system through an external device, as described in Kotecha, [0024]: “Therefore, a user may interface with system 10 directly, or remotely through a network, or any other method.” This description indicates that an external device, which is connected through a network, or is an input device (e.g., a keyboard or cursor control as shown in FIG. 2) is used by a user to accept the recommendations, which is understood to involve receiving a signal from the user device.]
As to claim 9, the combination of Kotecha, Muni, and Frings teaches the system of claim 1, wherein a featurizer module comprising the linguistic featurizer, the embedding featurizer, and the syntactic featurizer converts the candidate pair into the 3-tuple numerical vector. [Since the featurizer module doesn’t any specific structure other than comprising the different featurizers, this limitation is considered to be disclosed in the form of the combination of those featurizers already addressed in the rejection of the parent claim, above. Furthermore, in regards to “converts the candidate pair into the 3-tuple numerical vector,” the fact that the 3-tuple is a numerical vector, which is a format that is different from the pairs, which are attributes, means that there is a conversion by virtue of the fact that the 3-tuple is generated. Therefore, the instant limitations are already met by the existing combination of the teachings of the references.]
As to claim 11, the combination of Kotecha, Muni, and Frings teaches the system of claim 1, wherein:
a relational schema includes each of the first attribute and the second attribute, [Kotecha, [0042]: “As an example, the below JSON “interimoutput.json” can be the result after rule based matching (e.g., it includes unmatched attributes that were not matched using rule based matcher 510).”] and
the relational schema defines respective attributes of one or more of the received customer schema or the industry-specific schema. [As shown in the example “interimoutput.json” in Kotecha, [0043], the file defines the attributes of source and targets, such as identifying elements that are mapped and not mapped in the “elementsMapped” and “elementsNotMapped” lists.]
As to claim 12, Kotecha teaches a method, comprising:
receiving, by an input receiving module, a […] schema; [[0038]: “At 302, the source and target schemas are received in the form of data such as XSD or JSON data.” Note that since the source schema is received in the form of electronic data, the system performing the method of FIG. 3 has an input receiving module.]
identifying, by a processor, an industry-specific schema corresponding to the received […] schema, [[0038]: “At 302, the source and target schemas are received in the form of data such as XSD or JSON data.” The feature of a processor is disclosed in [0068]: “the functionality of the flow diagram of FIG. 8 is implemented by software stored in memory or other computer readable or tangible medium, and executed by a processor.” The target schema is “industry-specific” because it relates to a domain, i.e., an industry, which in this case is exemplified as a “business” (see [0018]). See, e.g., [0039]: “Feature store 310 is built over a period of time through online learning or by feeding pre-trained domain ontologies with domain expert input 307.” See also [0048]: “specific to domain but still some automated matching possible”; [0058]: “feature store 310 can be organized based on domain, sub-domain, entities, and values.”] and
selecting, by the processor, a first attribute included within the received […] schema for labeling, [[0038]: “A schema reader service 304 acquires the source and target schemas and parses them to extract all of the attributes/terms/names that correspond to the data.” The aspect of “labeling” is disclosed in the form of matching as shown in the examples of paragraphs [0044] through [0055]. [0056]: “For each source attribute, mapping service 306 may retrieve one or more matching attributes from 511 and/or 521.” That is, the source attribute selected for the matching process constitutes a first attribute within the schema.]
generating, by the processor, a candidate pair based on the selected first attribute, the candidate pair including the first attribute and a second attribute; [[0056]: “For each source attribute, mapping service 306 may retrieve one or more matching attributes from 511 and/or 521. The matching attributes are then recommended to the user with a corresponding confidence score if matching is done via NER 521.” That is, the one or more matching attributes are a candidate pair.]
generating, by the processor using a linguistic featurizer, an embedding featurizer […] for the candidate pair, a featurized candidate based on an identified similarity between the first attribute and the second attribute, the featurized candidate being a […] corresponding to the candidate pair based on the identified similarity including a linguistic similarity, an embedded similarity, […] between the first attribute and the second attribute in the candidate pair, wherein the linguistic similarity, the embedded similarity […] in the […] are identified using the linguistic featurizer, the embedding featurizer […] [[0056]: “For each source attribute, mapping service 306 may retrieve one or more matching attributes from 511 and/or 521. The matching attributes are then recommended to the user with a corresponding confidence score if matching is done via NER 521. Embodiments use matching algorithms to match the attributes and generate the confidence score using semantic based matcher 520. The confidence score improves over a period of time using a learning process, such as transfer learning, re-training with newer datasets, etc. The matching algorithms in embodiments include one or more of (1) Word net similarity; (2) Cosine similarities in vector space; and/or (3) Synonym custom training. A user or human in loop can accept the recommendation or decline.” Here, the “Word net similarity” and the “cosine similarities in vector space” correspond to a “linguistic similarity” and an “embedded similarity,” respectively. Note that a vector space in this context is understood as a space for embeddings; thus, a similarity in this space is an embedded similarity. Furthermore, a Word net (or WordNet) similarity is understood by those in the art as a conventional linguistic measure. Since these similarities are “matching algorithms,” the algorithms that calculate these similarities constitute “featurizers,” noting that the term “featurizer” broadly reads on a process or algorithm that determines a numerical representation of something (in this case, a similarity measure), and both similarity measures described here are numerical measures.] , at least one featurized candidate [[0016]: “Embodiments automate or recommend a schema mapping generation by building a mapping taxonomy based on the feature store and associating the mapping terms through feature extraction, rule-based matching for simple data types and semantic matching through machine learning models. The feature extraction entails the named entity recognition of the attributes of the source and target schema automatically. The associated terms are stored as feature vectors in the feature store.” [0065]: “NER is also known as entity identification, entity chunking and entity extraction. In embodiments, the associated features are stored as feature vectors in feature store 310. A feature vector is an n-dimensional vector of numerical features that represent some object.” The limitation of a “featurized candidate” is disclosed because NER is performed on “the attributes of the source and target schema” ([0016]), and the results are stored in the form of feature vectors.] based on an identified linguistic similarity, determined by the linguistic featurizer, between the first attribute and the second attribute; [[0005]: “Embodiments then generate one or more similarity scores for mappings of the source schema elements to the target schema elements.” [0056]: “Embodiments use matching algorithms to match the attributes and generate the confidence score using semantic based matcher 520. The confidence score improves over a period of time using a learning process, such as transfer learning, re-training with newer datasets, etc. The matching algorithms in embodiments include one or more of (1) Word net similarity; (2) Cosine similarities in vector space; and/or (3) Synonym custom training. A user or human in loop can accept the recommendation or decline.”]
generating, by the processor using a machine learning (ML) model, a matching score for the candidate pair based on the featurized candidates, the matching score measuring how closely the respective second attribute matches the first attribute in the candidate pair; [[0056]: “Embodiments use matching algorithms to match the attributes and generate the confidence score using semantic based matcher 520. The confidence score improves over a period of time using a learning process, such as transfer learning, re-training with newer datasets, etc. The matching algorithms in embodiments include one or more of (1) Word net similarity; (2) Cosine similarities in vector space; and/or (3) Synonym custom training. A user or human in loop can accept the recommendation or decline.” The model is a machine learning model because it is trained by a learning process. See also [0016]: “rule-based matching for simple data types and semantic matching through machine learning models.” Furthermore, the confidence score in this case constitutes a matching score.]
identifying, by the processor using the ML model, a predetermined quantity of matching scores having a highest value of the generated matching scores; [[0063]: “The recommendations can be restricted to, for example, top 5 matches or any configurable value, such as a threshold confidence score so that only matches with a confidence score above the threshold are listed.” That is, a set of scores that is the top 5 or above the thresholds includes scores having a highest value.]
identifying, by the processor using the ML model, the candidate pair with the predetermined quantity of matching scores having the highest value of the generated matching scores; [[0063]: “The recommendations can be restricted to, for example, top 5 matches or any configurable value, such as a threshold confidence score so that only matches with a confidence score above the threshold are listed.” Note that the “recommendations” in this context refers to “one or more matching attributes” ([0056]), which corresponds to respective second attributes that are part of the recommendations.]
generating, by the processor using the ML model, a suggested label for the first attribute in the candidate pair, the suggested label corresponding to the second attribute in the candidate pair; [The matching described above results in a label in the form of the matching attributes, as illustrated in [0043]: “Examples of the mapping of named entities from source to target are shown below, and classified from simple to complex. These ‘matches’ …are stored as mapping information in feature store 310 as key-value pairs.” The Examiner notes that the instant claim does not further define what the labels are, the information conveyed by the labels, or what the labels represent. As such, the matched attribute is also regarded as a label.] and
applying, by the processor, the suggested label to the first attribute. [[0043]: “Examples of the mapping of named entities from source to target are shown below, and classified from simple to complex. These ‘matches’ …are stored as mapping information in feature store 310 as key-value pairs.” Matched attributes are those in which the attribute (label) corresponding second attribute has been applied.]
Kotecha does not explicitly teach:
(1) the limitation that the received schema is a “customer schema.”
(2) the limitation of using a “syntactic featurizer” to generate the featurized candidate, and a “syntactic similarity” between the first and second attributes being identified using the syntactic featurizer.
(3) the limitation of the feaurized candidate being in the form of a “3-tuple numerical vector” that includes all three of the linguistic, embedded, and syntactic similarity.
Muni, which also relates to schema matching (see title), teaches limtiations (1) and (2) listed above. Muni teaches a “customer schema” [[0051]: “The matching between the source and target schemas is performed to identify matches or mappings between schema elements of the corresponding schemas. A match represents a semantic relation between schema elements and a mapping represents a transformation between schema elements. For example, in two schemas PO (PurchaseOrder) and Invoice as illustrated below there is a match between CustomerInfo (PurchaseOrder) and Buyer (Invoice).” [0052]: “CustomerInfo (FirstName, LastName)”]. Muni further teaches a “syntactic featurizer” to generate the featurized candidate, and a “syntactic similarity” between the first and second attributes being identified using the syntactic featurizer [[0022]: “The similarity check is performed to identify syntactic and semantic similarity between the source and target schemas.” [0086]: “In an embodiment of the present invention, the syntactic similarity is the similarity between schema elements in terms of syntactic function and role. The syntactic similarity value represents the degree of syntactic similarity between the source and target schema element. In an embodiment of the present invention, the syntactic similarity value is in the range of 0 to 1, wherein 0 represents the syntactic value for two unrelated schema elements and 1 represents an exact match between two schema elements.” [0087]: “one or more techniques are used for performing the syntactic similarity check. The one or more techniques include, but are not limited to prefix, suffix and edit distance checks. Similarity values are obtained from each of the one or more techniques.” That is, the “technique” which is an algorithm or process performed by a computer, constitutes a featurizer.]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of Kotecha with the teachings of Muni by implementing the received schema as a customer schema and by using a “syntactic featurizer” to also generate the featurized candidate, and using a “syntactic similarity” between the first and second attributes that is identified using the syntactic featurizer. The motivation would have been to apply schema matching to a field that involves customer data (such as e-commerce, as mentioned in [0004] of Muni), and also to use a form of similarity that accounts for schematic elements in terms of syntactic function and role (see Muni, [0086]: “the syntactic similarity is the similarity between schema elements in terms of syntactic function and role.”) for purposes of matching (see Muni, [0090]: “At step 306, the target schema elements are matched to the source schema elements.”).
The combination of references thus far does not teach the limitation of the feaurized candidate being in the form of a “3-tuple numerical vector” that includes all three of the linguistic, embedded, and syntactic similarity.
Frings suggests a “3-tuple numerical vector” [[0194]: “For example, a similarity measure can be described by a tuple or a vector of numbers, wherein each entry can cover a different aspect of similarity or has been calculated in a different way. In this case, a threshold value can also be defined by a tuple or a vector with the same number of elements. In this case, a threshold value can also be defined by a tuple or a vector with the same number of elements. A similarity measure can then be above the threshold value if all components of the similarity measure are above the respective components of the threshold value or if a predefined number of the components of the similarity measure are above the respective components of the threshold value. Alternatively, it is also possible for a norm of the tuple or the vector to be compared with a scalar threshold value; herein, individual components can also be weighted differently in the calculation of the norm.” While Frings does not explicitly teach a tuple with 3 items specifically, the element of “3” flows naturally from the application of a tuple to a set of items, and such set of items is already taught in the previous combination of references.]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of the references combined thus far with the teachings of Frings by implementing the featurized candidate to be in the form of a “3-tuple numerical vector” that includes all three of the linguistic, embedded, and syntactic similarity, so as to arrive at the limitations of the instant claim. The motivation would have been to use a format for similarity that enables multiple similarity measures to be compared in an aggregated manner when the similarity measures cannot be sorted (as suggested by Frings; see parts quoted above).
As to claim 15, the combination of Kotecha, Muni, and Frings teaches the method of claim 12, wherein applying the suggested label further comprises automatically applying the suggested label to the first attribute based at least in part on the suggested label being generated. [Kotecha, [0063]: “In embodiments, for every source term there are lists of probable matches returned by feature store 310 based on the confidence score at regular intervals. The recommendations can be restricted to, for example, top 5 matches or any configurable value, such as a threshold confidence score so that only matches with a confidence score above the threshold are listed. In embodiments, if the target element in the list, that target element may be automatically matched with the source element.”]
As to claim 16, the combination of Kotecha, Muni, and Frings teaches the method of claim 12, wherein applying the suggested label further comprises applying the suggested label to the first attribute based at least in part on receiving a signal from an external device. [Kotecha, [0056]: “The matching attributes are then recommended to the user with a corresponding confidence score if matching is done via NER 521…A user or human in loop can accept the recommendation or decline.” The “user” described here interfaces with the system through an external device, as described in Kotecha, [0024]: “Therefore, a user may interface with system 10 directly, or remotely through a network, or any other method.” This description indicates that an external device, which is connected through a network, or is an input device (e.g., a keyboard or cursor control as shown in FIG. 2) is used by a user to accept the recommendations, which is understood to involve receiving a signal from the user device.]
As to claim 17, the combination of Kotecha, Muni, and Frings teaches the method of claim 12, wherein a featurizer module comprising the linguistic featurizer, the embedding featurizer, and the syntactic featurizer converts the candidate pair into the 3-tuple numerical vector. [Since the featurizer module doesn’t any specific structure other than comprising the different featurizers, this limitation is considered to be disclosed in the form of the combination of those featurizers already addressed in the rejection of the parent claim, above. Furthermore, in regards to “converts the candidate pair into the 3-tuple numerical vector,” the fact that the 3-tuple is a numerical vector, which is a format that is different from the pairs, which are attributes, means that there is a conversion by virtue of the fact that the 3-tuple is generated. Therefore, the instant limitations are already met by the existing combination of the teachings of the references.]
As to claim 18, the combination of Kotecha, Muni, and Frings teaches the method of claim 12, wherein identifying the industry-specific schema further includes: identifying the first attribute included in the received customer schema; and associating the first attribute included in the received customer schema with at least one attribute in the identified industry-specific schema. [As noted above, Kotecha, [0056] teaches: “For each source attribute, mapping service 306 may retrieve one or more matching attributes from 511 and/or 521. The matching attributes are then recommended to the user with a corresponding confidence score if matching is done via NER 521. Embodiments use matching algorithms to match the attributes and generate the confidence score using semantic based matcher 520. The confidence score improves over a period of time using a learning process, such as transfer learning, re-training with newer datasets, etc.” This process of matching is performed on individual attributes, and therefore identifies the first attribute and also associates it with an attribute from the other schema.”]
As to claim 19, this claim is directed to a computer-storage memory device for performing operations that are the same or substantially the same as that of claim 12. Therefore, the rejection made to claim 12 is applied to claim 19, respectively.
Additionally, Kotecha teaches “one or more computer-storage memory devices embodied with executable instructions that, when executed by a processor, cause the processor to” [[0025: “Computer readable media may be any available media that can be accessed by processor 22 and includes both volatile and nonvolatile media, removable and non-removable media.”].
Furthermore, compared to claim 12, claim 19 recites that additional limitation of the one of the plurality of second attributes “having the matching score with the highest value.” This limitation is taught by Kotecha because the labels are generated for the top matches, as discussed in the rejection of claim 12.
As to claim 20, the combination of Kotecha, Muni, and Frings teaches the one or more computer storage memory devices of claim 19, further comprising instructions that, when executed by the processor, cause the processor to apply a least confidence anchor strategy to select the first attribute, wherein the least confidence anchor strategy identifies one or more attributes for which the ML model is least confident in a proposed label. [Kotecha, [0072]: “If no at 812, a confidence/similarity score is generated using NER for each element. If this does not result in all mappings found at 814, manual mapping is implemented for the unmapped elements at 815.” Since a confidence score is generated for each element, there exists an identification of an attribute (i.e., a match) for the lowest confidence score, as there exists for higher confidence scores. In regards to the limitation of least confidence anchor strategy, the claim does not define what this further requires beyond the identification of the one or more attribute.]
2. Claims 2 and 13 are rejected under 35 U.S.C. 103 as being unpatentable over Kotecha in view of Muni and Frings, and further in view of Partyka et al., “Enhanced geographically typed semantic schema matching,” Journal of Web Semantics Volume 9, Issue 1, March 2011, Pages 52-70 (“Partyka”).
As to claim 2, the combination of Kotecha, Muni, and Frings teaches the system of claim 1, but does not teach the limitations of the instant claim.
wherein the instructions upon execution by the processor further cause the processor to apply a least confidence anchor strategy to select the first attribute, […]. [Kotecha, [0072]: “If no at 812, a confidence/similarity score is generated using NER for each element. If this does not result in all mappings found at 814, manual mapping is implemented for the unmapped elements at 815.” Since a confidence score is generated for each element, there exists an identification of an attribute (i.e., a match) for the lowest confidence score, as there exists for higher confidence scores. In regards to the limitation of least confidence anchor strategy, this is not a standard claim of art and is not given an explicit definition in this application. Therefore, this limitation is broadly interpreted as covering a method (strategy) serving as a basis (anchor) for a larger process that involves a least confidence determination.]
The combination of references thus far does not teach the limitation of that the least confidence anchor strategy “identifies the first attribute that represents a most informative attribute of the received customer schema.”
Partyka teaches “identifies the first attribute that represents a most informative attribute of the received customer schema.” [§ 5.5.1, paragraph 2: “One last experimental parameter that should be mentioned is an attribute relevance parameter α that was applied to all attributes in tables from S1 and S2. Attribute relevance in GSim is executed as a preprocessing step that prevents any attribute that has a name or instance data which is not relevant to its containing table from taking part in a match with an attribute of another table.” § 6: “Additionally, GSim provides attribute weighting capabilities across tables in a GIS database that penalizes the similarity between table matches involving a high number of commonly occurring attributes and/or irrelevant attributes found throughout the database, while enhancing table matches containing unique and relevant attribute mappings.” Here, relevant constitutes informative, since irrelevant is defined as correlating with commonly occurring attribute, which are not informative in the sense of not being unique.]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of the references combined thus far with the teachings of the references combined thus far with the teachings of Partyka by implementing the least confidence anchor strategy so that it also “identifies the first attribute that represents a most informative attribute of the received customer schema.” The motivation for doing so would have been to determine relevance in a way that enables removal of irrelevant attributes from taking part in a match with another table, as suggested by Partyka (see parts quoted above).
As to claim 13, the combination of Kotecha, Muni, and Frings teaches the method of claim 12, further comprising, applying, by the processor, a least confidence anchor strategy to select the first attribute, […]. [Kotecha, [0072]: “If no at 812, a confidence/similarity score is generated using NER for each element. If this does not result in all mappings found at 814, manual mapping is implemented for the unmapped elements at 815.” Since a confidence score is generated for each element, there exists an identification of an attribute (i.e., a match) for the lowest confidence score, as there exists for higher confidence scores. In regards to the limitation of least confidence anchor strategy, this is not a standard claim of art and is not given an explicit definition in this application. Therefore, this limitation is broadly interpreted as covering a method (strategy) serving as a basis (anchor) for a larger process that involves a least confidence determination.]
The combination of references thus far does not teach the limitation of that the least confidence anchor strategy “identifies the first attribute that represents a most informative attribute of the received customer schema.”
Partyka teaches “identifies the first attribute that represents a most informative attribute of the received customer schema.” [§ 5.5.1, paragraph 2: “One last experimental parameter that should be mentioned is an attribute relevance parameter α that was applied to all attributes in tables from S1 and S2. Attribute relevance in GSim is executed as a preprocessing step that prevents any attribute that has a name or instance data which is not relevant to its containing table from taking part in a match with an attribute of another table.” § 6: “Additionally, GSim provides attribute weighting capabilities across tables in a GIS database that penalizes the similarity between table matches involving a high number of commonly occurring attributes and/or irrelevant attributes found throughout the database, while enhancing table matches containing unique and relevant attribute mappings.” Here, relevant constitutes informative, since irrelevant is defined as correlating with commonly occurring attribute, which are not informative in the sense of not being unique.]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of the references combined thus far with the teachings of the references combined thus far with the teachings of Partyka by implementing the least confidence anchor strategy so that it also “identifies the first attribute that represents a most informative attribute of the received customer schema.” The motivation for doing so would have been to determine relevance in a way that enables removal of irrelevant attributes from taking part in a match with another table, as suggested by Partyka (see parts quoted above).
3. Claims 3 and 14 are rejected under 35 U.S.C. 103 as being unpatentable over Kotecha in view of Muni and Frings, and further in view of Baghdasaryan et al. (US 2023/0222511 A1) (“Baghdasaryan”).
As to claim 3, the combination of Kotecha, Muni, and Frings teaches the system of claim 1, but does not teach the further limitation of “wherein the linguistic featurizer is trained one time per industry-specific schema.”
Baghdasaryan teaches “wherein the linguistic featurizer is trained one time per industry-specific schema” [In general, a model analogous to the linguistic featurizer of the instant claim is disclosed in the form of a feature extractor. See [0049]: “All the SRs and KBs are passed through the fine-tuned BERT-based feature extractor module 28.” [0039]: “In the present embodiment, BERT is the preferred method. Key technical innovation of BERT is application of the bidirectional training of transformers to language modeling. This is in contrast to previous efforts which looked at a text sequence either from left to right or combined left-to-right and right-to-left training. A language model trained bidirectionally can have a deeper sense of language context and flow than single-direction language models…It allows fast fine-tuning which will likely allow a wide range of practical applications.” In regards to the limitation of “trained one time per industry-specific schema,” this is taught in the form of fine-tuning. See [0039]: “It allows fast fine-tuning which will likely allow a wide range of practical applications”; [0042]: “The main goal of fine-tuning is adjustment of the general BERT model to VMware specific language.” That is, the fine-tuning is a training process performed for a specific task (here, VMware specific language), which is analogous to a schema-related task. The Examiner notes that the instant claim language does not specifically define the training. Thus, any training process, including fine tuning, can be regarded as a training reading on the instant claim.]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of the references thus far with the teachings of Baghdasaryan by implementing the pre-trained BERT model as part of the linguistic featurizer and fine tuning for a schema-matching application such that “the linguistic featurizer is trained one time per industry-specific schema.” The motivation would have been to use a type of model that provides the benefits of having a deeper sense of language context and flow than single-direction language models, and to fine-tune it for a specific vocabulary, as suggested by Baghdasaryan (see [0039] and the parts quoted above).
As to claim 14, the combination of Kotecha and Mongeon teaches the method of claim 12, but does not teach the further limitation of “wherein the linguistic featurizer is a pretrained bidirectional encoder representations from transformers (BERT) model.”
Baghdasaryan teaches “wherein the linguistic featurizer is a pretrained bidirectional encoder representations from transformers (BERT) model” [[0049]: “All the SRs and KBs are passed through the fine-tuned BERT-based feature extractor module 28.” [0039]: “In the present embodiment, BERT is the preferred method. Key technical innovation of BERT is application of the bidirectional training of transformers to language modeling. This is in contrast to previous efforts which looked at a text sequence either from left to right or combined left-to-right and right-to-left training. A language model trained bidirectionally can have a deeper sense of language context and flow than single-direction language models…It allows fast fine-tuning which will likely allow a wide range of practical applications.” In regards to the BERT being pretrained, see [0041]: “To speed up pretraining in our experiments, we pre-train the model with sequence length of 128 for 90% of the steps”; [0044]: “a pre-trained model of BERT.”]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of the references thus far with the teachings of Baghdasaryan by implementing the pre-trained BERT model as part of the linguistic featurizer. The motivation would have been to use a type of model that provides the benefits of having a deeper sense of language context and flow than single-direction language models, as suggested by Baghdasaryan (see [0039], including the parts quoted above).
4. Claim 10 is rejected under 35 U.S.C. 103 as being unpatentable over Kotecha, in view of Muni and Frings, and further in view of Simhon et al., US 12,020,297 B1 (“Simhon”).
As to claim 10, the combination of Kotecha, Muni, and Frings teaches the system of claim 1, but does not explicitly teach the further limitations of the instant dependent claim.
Simhon, which pertains to schema matching (see title), teaches the further limitations of “wherein the instructions upon execution by the processor further cause the processor to identify the industry-specific schema based at least in part on the first attribute included in the received customer schema.” [Col. 15, lines 20-23: “As shown in 320, a target schema may be determined for the category based (at least in part) on the relevant attributes. The target schema may include the relevant attributes and exclude other candidate attributes.” Note that in reference to FIG. 3, the relevant attributes referred to here are analogous to the first attribute of the customer schema, since the relevant attributes are selected for the category (see col. 14, lines 63-65: “As shown in 310, a set of relevant attributes for the category may be selected from a larger set of candidate attributes for the category.”), which is analogous to a schema that is to be matched to the target schema.]
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of the references combined thus far with the teachings of Simhon by applying the technique of schema determination taught in Simhon to the industry-specific schema so as to arrive at the limitations that “the instructions upon execution by the processor further cause the processor to identify the industry-specific schema based at least in part on the first attribute included in the received customer schema.” Doing so would enable matching to multiple potential target schemas and to select a particular schema that represent relevant attributes (see Simhon, parts quoted above and col. 16, lines 46-48: “The system 100 may determine a target schema for a given category 91A that represents the attributes deemed most relevant to customers.”).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. The following document depicts the state in the art.
US 2020/0134058 A1 teaches the use of multiple similarity measures, including syntactic similarity.
Berlin et al., “Database Schema Matching Using Machine Learning with Feature Selection,” A. Banks Pidduck et al. (Eds.): CAISE 2002, LNCS 2348, pp. 452–466, 2002 teaches schema mapping with the use of machine learning.
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 YAO DAVID HUANG whose telephone number is (571)270-1764. The examiner can normally be reached Monday - Friday 9:00 am - 5:30 pm.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Miranda Huang can be reached at (571) 270-7092. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/Y.D.H./Examiner, Art Unit 2124
/MIRANDA M HUANG/Supervisory Patent Examiner, Art Unit 2124