DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Remarks
Examiner thanks Applicant for submitting Arora et al., Language Models Enable Simple Systems for Generating Structured Views of Heterogeneous Data Lakes in the IDS filed with the RCE.
Claim Rejections - 35 USC § 112
The following is a quotation of the first paragraph of 35 U.S.C. 112(a):
(a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention.
The following is a quotation of the first paragraph of pre-AIA 35 U.S.C. 112:
The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor of carrying out his invention.
Claims 1-10, 12-18 and 20 are rejected under 35 U.S.C. 112(a) or 35 U.S.C. 112 (pre-AIA ), first paragraph, as failing to comply with the written description requirement. The claim(s) contains subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, or for applications subject to pre-AIA 35 U.S.C. 112, the inventor(s), at the time the application was filed, had possession of the claimed invention. Applicant does not appear to have been in possession of the full breadth of “first dataset” and “target outcome describe[ing] a transformation.” The only disclosed dataset is a tabular dataset, and the only target outcomes are criteria for identifying rows, columns, and/or cells to be modified and a description of how to determine an output state of the dataset based on an input state of the dataset. Specification 8:9-31. However, the full breadth of the claims covers non-disclosed embodiments, such as the dataset being a collection of Wikipedia articles on NBA players, and the target outcome to create tabular data based off a non-tabular dataset. One of ordinary skill in the art would not have recognized Applicant to have invented that, yet the claims cover it, and therefore the full breadth of the claims are not supported by the originally-filed written description. Reciting these details would overcome the rejection.
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claim(s) 1-6, 9-10, 12, 14-18 and 20 is/are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Arora et al., Language Models Enable Simple Systems for Generating Structured Views of Heterogeneous Data Lakes.
As per claims 1, 14, and 15, Arora teaches:
receiving, by one or more processors, an indication of a target outcome, wherein the target outcome describes a transformation of a first dataset, Arora Fig. 1 (“Prompt LLM: List all attributes about the player mentioned in this document.”), pp. 7-8 (“For each, we prompt the LLM to extract the most useful attributes from the document as in EVAPORATE-DIRECT.”), where the target outcome is to transform semi-structured documents into structured data;
providing, as an input to a first large language model (LLM), based on the indication of the target outcome, one or more requests to generate one or more functions in a programming language for generating the transformation in accordance with the target outcome when executed on the first dataset, wherein the one or more requests to generate functions do not include the first dataset, Arora Fig. 1 (“Prompt LLM: Write a function to extract draft year from the document.”), pp. 8-9 (“Same as in EVAPORATE-CODE, except instead of generating a single function per attribute, we generate many candidate functions.”);
receiving, in response to the one or more requests, a plurality of distinct functions that are executable by the one or more processors from the first LLM, each candidate function of the plurality of candidate functions including a piece of computing code in the programming language, Arora Fig. 1 (“Prompt LLM: Write a function to extract draft year from the document.”), pp. 8-9 (“Same as in EVAPORATE-CODE, except instead of generating a single function per attribute, we generate many candidate functions.”), where the functions are in Python;
generating, by the one or more processors, a first subset based on the first dataset, wherein the first subset is a subset of the first dataset, Arora pg. 9 (“Let Deval be a small sample of documents from the data lake D.”);
providing, as an input to a second LLM, a request to generate a second transformation on the first subset, wherein the request to generate the second transformation on the first subset includes the first subset and the indication of the target outcome, Arora pp. 9-10, where LLM F is prompted to extract the value for the attribute from Deval;
receiving, by the one or more processors, from the second LLM, the second transformation of the first subset, wherein the second transformation of the first subset is a dataset that is provided as an output by the second LLM in response to the request to generate the second transformation, Arora pp. 9-10, where LLM F is prompted to extract the value for the attribute from Deval;
executing, by the one or more processors, each candidate function of the plurality of candidate functions in the programming language on the first subset to generate a plurality of test transformations of the first subset, Arora pp. 9-10, where each function is evaluated;
validating, by the one or more processors, one or more candidate functions in the plurality of candidate functions, wherein a candidate function is validated by determining that a respective test transformation of the first subset generated by the candidate function matches the second transformation of the first subset, Arora pp. 9-10, where the functions are scored for filtering; and
executing, by the one or more processors, one of the one or more validated candidate functions in the programming language on the first dataset to achieve generate the transformation of the first dataset, Arora pp. 9-10, where the functions are executed to collect votes.
As per claims 2 and 16, the rejection of claims 1 and 15 is incorporated, and Arora further teaches:
wherein the first LLM and the second LLM are a same LLM, Arora pg. 7, where the same LLM is used to write functions and to perform the extraction on the sample.
As per claims 3 and 17, the rejection of claims 1 and 15 is incorporated, and Arora further teaches:
wherein the indication of the target outcome is a natural language description of the transformation to be applied to the first dataset, Arora Fig. 1 (“Prompt LLM: List all attributes about the player mentioned in this document.”).
As per claims 4 and 18, the rejection of claims 3 and 17 is incorporated, and Arora further teaches:
wherein the one or more requests to generate candidate functions each comprise a context portion and the natural language description of the transformation to be applied to the first dataset, wherein the context portion comprises a schema of the first dataset, Arora Fig. 1 (“Prompt LLM: Write a function to extract draft year from the document.”).
As per claim 5, the rejection of claim 4 is incorporated, and Arora further teaches:
wherein the context portion further comprises examples of target outcomes and corresponding candidate functions, Arora Fig. 4.
As per claim 6, the rejection of claim 1 is incorporated, and Arora further teaches:
extracting a schema of the first dataset from the first dataset, Arora Fig. 1 (“Schema Identification”); and
generating the one or more requests to generate candidate functions by combining the indication of the target outcome with the schema of the first dataset, Arora Fig. 1 (“Function Synthesis”), where a function to extract draft_year is prompted because draft_year was identified in the extracted schema.
As per claim 6, the rejection of claim 1 is incorporated, and Arora further teaches:
generating the first subset, wherein generating the first subset comprises one or more of: selecting a randomly distributed sample of rows from the first dataset, Arora pg. 9 (“Let Deval be a small sample of documents from the data lake D.”); selecting evenly spaced rows from the first dataset; and identifying rows comprising non-standard entries and selecting the identified rows.
As per claim 6, the rejection of claim 1 is incorporated, and Arora further teaches:
wherein the request to generate the transformation on the first subset comprises a plain text formatted version of the first subset combined with the indication of the target outcome, Arora pg. 9, where each of the Deval documents is plain text formatted.
As per claim 10, the rejection of claim 1 is incorporated, and Arora further teaches:
wherein the second transformation of the first subset is received from the second LLM in plain text form, and wherein validating one or more of the candidate functions comprises parsing the second transformation of the first subset into a tabular data form and determining whether one or more of the plurality of test transformations match the second transformation, Arora Fig. 1, where identifying the schema and identifying particular structed fields is the claimed parsing, and the filtering is the determining.
As per claims 12 and 20, the rejection of claims 1 and 15 is incorporated, and Anora teaches:
wherein the first LLM is fine-tuned to provide the plurality of candidate functions in a predetermined programming language as an output in response to an input comprising the indication of the target outcome and a schema, Anora pg. 2, where the LLM is fine-tuned as claimed insofar as it a) is trained and b) performs the claimed function, and
the second LLM is fine-tuned to provide the second transformation as an output in response to an input comprising the first subset and the indication of the target outcome, Anora pg. 2, where the LLM is fine-tuned as claimed insofar as it a) is trained and b) performs the claimed function.
Allowable Subject Matter
Claims 8 and 13 would be allowable if rewritten to overcome the rejection(s) under 35 U.S.C. 112(a) or 35 U.S.C. 112 (pre-AIA ), 1nd paragraph, set forth in this Office action and to include all of the limitations of the base claim and any intervening claims.
The following is a statement of reasons for the indication of allowable subject matter:
As per claim 8: Arora does not suggest, e.g., a LLM generating a synthetic NBA player Wikipedia biography to aggregate LLM-generated Python functions used to scrape NBA player Wikipedia biographies. That is, Arora contains no suggestion to synthetically create Deval, nor is there any suggestion in the prior art to do so.
As per claim 13: The functions of Arora are only validated to make sure they satisfy, at some level, the assumptions behind weak supervision. Arora pg. 9. Replacing the abstention-scoring-filtering-collecting-aggregation mechanism with a simple “which function gives the same answer as the LLM and runs fastest” heuristic as claimed is novel and non-obvious.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to WILLIAM SPIELER whose telephone number is (571)270-3883. The examiner can normally be reached Monday-Friday, 11-3.
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, Ann Lo can be reached at 571-272-9767. 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.
WILLIAM SPIELER
Primary Examiner
Art Unit 2159
/WILLIAM SPIELER/ Primary Examiner, Art Unit 2159