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 .
DETAILED ACTION
Claims 1-20 are pending. Claims 1, 10 and 14 are independent and have been amended.
This Application was published as U.S. 20250036874.
Apparent priority: 27 July 2023.
Applicant’s amendments and arguments are considered but are either unpersuasive or moot in view of the new grounds of rejection that, if presented, were necessitated by the amendments to the Claims.
This action is Final.
Response to Amendments and Arguments
Applicant’s arguments are moot in view of the new grounds of rejection necessitated by the claim amendments.
Providing an example of the operation of Claim 1 would help expedite prosecution such as an example of a prompt and a prompt combined with a test span sequence.
Claim 1 is amended as follows (and the other independents similarly);
1. A method comprising:
obtaining a test document set and test span sequences extracted from the test document set;
generating a test prompt sequence set based on the test document set, wherein each prompt sequence is generated by combining a test span sequence with a prompt selected from a prompt library based on its similarity to the test span sequence; and
extracting an entity of a particular entity type from the test document set using the test prompt sequence set and a few-shot entity extraction model trained to extract at least the particular entity type.
Text spans of the claim are essentially words and span sequences are sentences. See [0004] of the published Application.
[0041] A training span sequence of training span sequences 122 is labeled by (associated with) an entity type that it contains an annotated span instance of. For example, for a “contracting party” entity type, both “Acme Inc.” and “Example.Com Company” can be annotated spans in the training span sequence: “This contract is signed between Acme Inc. and the Example.Com Company on the 12.sup.th of May 2022.” In this case, the training span sequence can be labeled with (associated with) the text “CONTRACTING PARTY,” which is an assigned text label for the contracting party entity type. No particular text label or text label format is required for a given entity type. In some embodiments, a consistent label and label format for an entity type is used across training span sequences. This example also illustrates the possibility that a training span sequence can contain multiple annotated spans for an entity type.
[0042] In some embodiments, a training span sequence contains annotated spans of different entity types. In this case, training span sequences 122 contains multiple training span sequences for the same document context. For example, in the example sentence above, the spans “Acme. Inc. and “Example.Com Company” could be annotated as instances of the contracting party entity type and the span “12.sup.th of May 2022” could be annotated as an instance of an “execution date” entity type. In this case, two instances of a training span sequence can be included in training span sequences 122 for this sentence: one where the sentence is labeled “CONTRACTING PARTY” and another where the sentence is labeled “EXECUTION DATE.”
For support see:
Figures 1 and 3, “Prompt Data Store 112” which appear to support the “Library of Pre-generated Prompts” of the Claim and includes the “Prompt Set 128.”
[0051] At step 208, the templatized training span sequences in the label set for the target entity type are added to prompt set 128 in prompt data store 112 along with their corresponding generated prompt embeddings as part of prompt embedding set 126, to be used later during the training phase and the extraction phase.
[0077] Steps of the method are depicted in FIG. 3 by numbered circles that overlay directed arrows. The directed arrows represent a direction of data flow between connected components but not necessarily the exclusive direction. The method is performed by pipeline system 100 because of the set of one or more processors 108 executing code 104 stored in memory 106. Pipeline system 100 also encompasses test span sequence extractor 310, prompt data store 112, test prompt retrieval engine 314, and extraction engine 316. Each of these components is implemented by the set of one or more processing devices 102 of pipeline system 100.
[0084] At step 402, steps 404, 406, and 408 are performed for each test span sequence in test span sequences 322. At step 404, a prompt embedding generated for the current test span sequence is compared to each prompt embedding in prompt embedding set 126 that was generated during the training phase for each templatized training span sequence for the target entity type in prompt set 128. The prompt embedding for the test span sequence is generated using the pre-trained prompt language model as described elsewhere herein. The comparison is for similarity according to a similarity measure. For example, the cosine distance or the other similarity measure (e.g., a Euclidean distance or a dot product) between the prompt embeddings can be computed. At step 406, the templatized training span sequence for the target entity type in prompt set 128 that is most like the current test span sequence is selected as the prompt for the current test span sequence. At step 408, a test prompt sequence is formed for the current test span sequence by combining (e.g., concatenating) the selected prompt and the current test span sequence.
[0024] During the training phase, input to the pipeline system includes a small set of annotated natural language text documents (“training documents”) in which text spans (e.g., words) corresponding to instances of the new entity type are indicated. Span sequences (e.g., sentences) encompassing the annotated spans (“training span sequences”) are extracted from the training documents. Prompts that are like the extracted training span sequences are selected from a library of pre-generated prompts. A prompt is an annotated span sequence in which one or more spans in the span sequence are each annotated by an entity type. The prompts are combined with the corresponding training span sequences to form training prompt sequences. The training prompt sequences are used to train the pre-trained entity extraction model using a sequence generation approach modelled with explicit attention from the selected prompts over the corresponding training span sequences resulting in a few-shot trained entity extraction model.
[0025] During the extraction phase, input to the pipeline system includes a set of natural language text documents (“test documents”) from which to extract instances of the new entity type. Span sequences (e.g., sentences) (“test span sequences”) are extracted from the test documents. Prompts that are like the extracted test span sequences are selected from the library of pre-generated prompts. The prompts are combined with the corresponding test span sequences to form test prompt sequences. The test prompt sequences are input to the few-shot trained entity extraction model which uses the sequence generation approach modelled with explicit attention from the selected prompts over the corresponding test span sequences to extract entities of the new entity type from the test span sequences.
Claim Objections
Claim 1, 10 and 14 are objected to for informalities or ambiguities that may be addressed as suggested below:
1. A method comprising:
obtaining a test document set and test span sequences extracted from the test document set;
generating a test prompt sequence set based on the test document set, wherein each test prompt sequence of the test prompt sequence set is generated by combining a test span sequence with a prompt selected from a prompt library based on its similarity to the test span sequence; and
extracting an entity of a particular entity type from the test document set using the test prompt sequence set and a few-shot entity extraction model trained to extract at least the particular entity type.
Appropriate correction is required.
Please establish a connection between the elements of the claim.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-5, 9-18, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Zhang (U.S. 20240153297) in view of Martinez Galindo (U.S. 20240289371) and Boyd (U.S. 20240378636)
Regarding Claim 1, Zhang teaches:
1. A method comprising:
obtaining a test document set and [Zhang, Figure 1, documents 152a-n. “[0027] … The data store 150 is configured to store a set of documents 152, 152a-n. The documents 152 may be of any type and from any source (e.g., from the user 12, other remote entities, or generated by the remote system 140). For example, the documents 152 are forms, or other form-like entities. Each document is associated with a schema 22 that defines the structure for a document type of the document 152 (e.g., an invoice or a paystub).”] test span sequences extracted from the test document set; [Zhang, Figure 7, 702: “obtaining a document comprising a series of textual fields, the series of textual fields including a plurality of entities.” The “textual fields’ teach the “text span sequence” of the claim. (see Figure 6 of instant Application where “span annotation 648” shows a field corresponding to an Influencer or Advertiser.) “[0043] FIG. 7 is a flowchart of an exemplary arrangement of operations for a method 700 for extracting entities from a document. The method 700, at operation 702, includes obtaining a document 152 including a series of textual fields 154. The series of textual fields 154 include a plurality of entities 182. ….” Textual Fields = Test Span]
generating a test prompt sequence set based on the test document set, [Zhang, Figure 1, “query generator 300” generates the “182 Q” / “text prompt sequence” of the Claim. Figure 3, “Entity prompt generator 320” generates “entity prompt 322” / “test prompt sequence” of the Claim. “[0034] … The entity prompt generator 320 generates an entity prompt 322 that includes the series of tokens 202 of the respective document 152 and a query entity 182, 182Q. The query entity 182Q includes one or more entities 182 to query the entity extraction model 180 to extract from the series of tokens 202. For example, the query entity 182Q may represent an entity 182 associated with a “name” field of the respective document 152 (e.g., a form that includes a field for a name of the person filling out the form), which in turns instructs the entity extraction model 180 to determine the location of the “name” entity 182 in the respective document 152 such that the value associated with the “name” entity 182 may be extracted (e.g., “Jane Smith”). The entity prompt 322 encodes the query entity 182Q information….” Figure 7, 706, “[0043] … At operation 706, the method 700 includes generating an entity prompt 322 including the series of tokens 202 and one of the plurality of entities 182….”]
wherein each prompt sequence is generated by combining a test span sequence with a prompt selected from a prompt library based on its similarity to the test span sequence; and [Zhang, Figure 7, 706: “[0043] … At operation 706, the method 700 includes generating an entity prompt 322 including the series of tokens 202 and one of the plurality of entities 182….” The “series of tokens 202” are obtained at 704 from the “series of textual fields” / “test spans” of the claim. So, the “entity prompt 322” has the “series of textual fields” / “test spans” and the “entity” / “prompt” of the Claim. “[0043] … The method 700, at operation 704, includes generating, using the document 152, a series of tokens 202 representing the series of textual fields 154….” Series of Tokens represent Textual Fields = Test Span Sequence and Entity=Prompt.]
extracting an entity of a particular entity type from the test document set using the test prompt sequence set and a few-shot entity extraction model trained to extract at least the particular entity type. [Zhang, Figure 7, 712. The “test document set” is taught by “a document” of Zhang; “the test prompt sequence set” is taught by the “entity prompt 322” of Zhang, and “entity extraction model” is taught by the “entity extraction model 180” of Zhang. “[0043] FIG. 7 is a flowchart of an exemplary arrangement of operations for a method 700 for extracting entities from a document. The method 700, at operation 702, includes obtaining a document 152 including a series of textual fields 154. The series of textual fields 154 include a plurality of entities 182. The method 700, at operation 704, includes generating, using the document 152, a series of tokens 202 representing the series of textual fields 154. At operation 706, the method 700 includes generating an entity prompt 322 including the series of tokens 202 and one of the plurality of entities 182. At operation 708, the method 700 includes generating a schema prompt 312 including a schema 22 associated with the document 152. The method 700, at operation 710, includes generating a model query 332 (i.e., a bi-level prompt 332) that includes the entity prompt 322 and the schema prompt 312. At operation 712, the method 700 includes determining, using an entity extraction model 180 and the model query 332, a location of the one of the plurality of entities 182 among the series of tokens 202.”]
Zhang uses a zero-shot model and does not teach the few-shot model of the Claim.
Martinez Galindo teaches:
generating a test prompt sequence set based on the test document set, wherein each prompt sequence is generated by combining a test span sequence with a prompt selected from a prompt library based on its similarity to the test span sequence; and [Martinez Galindo, DER= Description Enrichment and Ranking. Figure 2, the “sentence corpus 214” teaches the “test document set” and “Descriptions 216” teaches the “Prompt Library” of the Claim. Figure 3, 306. “[0046] FIG. 3 illustrates an example method 300 of operation of the DER framework 200 of FIGS. 1 and 2. Referring collectively to FIGS. 2 and 3 collectively, in block 302, a user inputs entity 212 and sentence corpus 214 via user interface 208. In block 304, DER framework 200 determines whether a description 216 for entity 212 is supplied by the user or is otherwise electronically stored and accessible by description enricher 202. If so, in block 306, description enricher 202 generates enriched descriptions 210 using description 216. Otherwise, in block 308, description enricher 216 generates enriched descriptions 210 from a description created with only a label supplied by the user and corresponding to entity 212.” ]
extracting an entity of a particular entity type from the test document set using the test prompt sequence set and a few-shot entity extraction model trained to extract at least the particular entity type. [Martinez Galindo establishes an equivalence between using zero-shot and few-shot models for entity extraction: “[0019] This disclosure relates to knowledge extraction from unstructured text, and, more particularly, to the automated generation of descriptions of entities used to train a machine learning model to identify and classify mentions of the entities in unstructured text. In accordance with the inventive arrangements described herein, methods, systems, and computer program products are provided that are capable of automatically generating and ranking enriched descriptions for training a machine learning model to identify and classify one or more specified entities. The enriched descriptions, automatically generated and ranked according to the inventive arrangements, enhance the predictive accuracy of the machine learning model (e.g., zero-shot model, few-shot model). ….”]
Zhang and Martinez Galindo pertain to NLP include entity extraction and it would have been obvious to replace the zero-shot model of Zhang with the few-shot model of Martinez-Galindo as the two are interchangeable as per Martinez Galindo cited paragraph. This combination falls under simple substitution of one known element for another to obtain predictable results or use of known technique to improve similar devices (methods, or products) in the same way. See MPEP 2141, KSR, 550 U.S. at 418, 82 USPQ2d at 1396.
While Martinez Galindo suggests the Prompt Library a more express reference is added.
Boyd teaches:
generating a test prompt sequence set based on the test document set, wherein each prompt sequence is generated by combining a test span sequence with a prompt selected from a prompt library based on its similarity to the test span sequence; and [Boyd, Figure 14, “Prompt Libraries 17-4” are used to augment/add/combine context with the prompt: “[0166] Prompt libraries 17-4 can include sets of inputs configured to induce behavior aligned with desired performance criteria. Prompt libraries 17-4 can include few-shot prompts (e.g., inputs providing examples of desired model outputs for prepending to a desired runtime query), chain-of-thought prompts (e.g., inputs providing step-by-step reasoning within the exemplars to facilitate thorough reasoning by the model), and the like.” “[0171] Prompt libraries 17-4 can include pipelines for context injection. For instance, a performance of development model 16 on a particular task can improve if provided with additional context for performing the task. Prompt libraries 17-4 can include software components configured to identify desired context, retrieve the context from an external source (e.g., a database, a sensor, etc.), and add the context to the input prompt. Workbench 15 can implement context injection pipelines in development model 16.”]
Zhang/Martinez Galindo and Boyd pertain to NLP include entity extraction and it would have been obvious to combine the prompt libraries of Boyd that are used for context injection which is a type of prompt augmentation with the system of combination which impliedly teaches this feature for improved results. This combination falls under simple substitution of one known element for another to obtain predictable results or use of known technique to improve similar devices (methods, or products) in the same way. See MPEP 2141, KSR, 550 U.S. at 418, 82 USPQ2d at 1396.
Regarding Claim 2, Zhang teaches:
2. The method of claim 1,
wherein the few-shot entity extraction model is trained to extract at least the particular entity type based on a training prompt sequence set, [Zhang, “[0034] … or example, the query entity 182Q may represent an entity 182 associated with a “name” field of the respective document 152 (e.g., a form that includes a field for a name of the person filling out the form), which in turns instructs the entity extraction model 180 to determine the location of the “name” entity 182 in the respective document 152 such that the value associated with the “name” entity 182 may be extracted (e.g., “Jane Smith”). The entity prompt 322 encodes the query entity 182Q information….”]
wherein the training prompt sequence set is generated using an annotated document set for the particular entity type. [Zhang, Figure 5, Documents 504 used during the fine tuning of the extraction model are annotated: “[0039] Referring now to FIG. 5, in some implementations, the document entity extractor 160, after pre-training the entity extraction model 180 (e.g., on a large quantity of generalized training samples 402 automatically generated from public websites), fine-tunes the entity extraction model 180 using annotated training samples 501 generated from a set of training documents 504. The set of training documents includes a relatively small number of documents that are human-annotated with annotations 506 (i.e., a much smaller quantity than a quantity of the generalized training samples 402 which are not human-annotated). …” “[0025] Thus, it is desirable to have a systematic way to learn knowledge from various types of existing annotated documents to the unannotated target document. For example, it is advantageous to pre-train and fine-tune a model from various types of documents so that the model may generalize well to unseen invoice documents….” “[0029] … For example, an entity 182 extracted from a form (e.g., document 152) includes a key (or label or classification) of “name” and a value of “Jane Smith” which may be classified into the category “identification.” As another example, an entity 182 extracted from a form includes a key of “city” and a value of “Chicago” which may be classified into the category of “location.””]
Regarding Claim 3, Zhang does not teach the augmenting/enhancing of a span sequence from the documents to generate the training prompt sequence.
Martinez Galindo teaches:
3. The method of claim 2,
wherein the training prompt sequence set includes a span sequence set from the annotated document set, [Martinez Galindo, “[0004] In one or more embodiments, a method includes generating multiple enriched descriptions corresponding to an entity mentioned in a sentence corpus input into a computer….” Figure 3, the user input at 302 is associated with both its description 304 and enriched descriptions using either description input or label of the entity 306/308. Some of the “enriched descriptions” are selected at 316 and output at 318 and teach the “training prompt sequence set” of the Claim. The “enriched descriptions” / “training prompt sequence set” include the “span sequence set” / “user input entity 302” of Figure 3. “[0046] FIG. 3 illustrates an example method 300 of operation of the DER framework 200 of FIGS. 1 and 2. Referring collectively to FIGS. 2 and 3 collectively, in block 302, a user inputs entity 212 and sentence corpus 214 via user interface 208….”]
wherein each span sequence of the span sequence set comprises at least one annotated instance of the particular entity type, and [Martinez Galindo, Figure 3, the 308 branch uses the annotated/labeled entities. “[0049] In block 308, if no description of entity 212 is provided, then language model 218 generates enriched descriptions 210 from a label assigned to entity 212. Using the label, language model 218 generates enriched descriptions 210 from scratch. Language model 218, in certain embodiments, generates enriched descriptions 210 based on the label using a template (e.g., “description of label:”). Language model 218 can be trained to generate enriched descriptions 210 based on a label of entity 212 using the sequence-to-sequence approach.” “[0002] Named entity recognition and classification (NERC) is an important data preprocessing task in many knowledge extraction applications. NERC relates to identifying entities in unstructured text and classifying the entities into predefined classes or categories. The classes include names, organizations, medical codes, time expressions, monetary values, and various other categories or classes. Machine learning models can perform NERC by learning to detect tokens that make up an entity—that is, a labeled unit of information (data) having a corresponding description—and its type wherever mentioned within the unstructured text. Labeled data needed for training such machine learning models can be difficult to obtain, however. To address the problem, some state-of-the-art approaches combine NERC with zero-shot or few-shot learning.”]
wherein each span sequence of the span sequence set is associated with a respective prompt that is determined to be similar to the span sequence. [Martinez Galindo, Figure 3, 310, the “enriched descriptions” / “span sequences” are ranked according to the likelihood which they will be correctly classified which is based on how similar the descriptions are to what the model knows and has been trained on. “[0050] … In various embodiments, description ranker 204 can implement different models to generate specific metrics for ranking enriched descriptions 210 to indicate the strength of correspondence of each to the entity. The various metrics, in some embodiments, can be combined to determine the rankings. The rankings, in different embodiments, can be determined based on information entropy, semantic similarities, other probabilistic metric, or a combination thereof….” “[0006] In another aspect, the likelihood is based on a semantic similarity of encodings within an embedding space of each of the enriched descriptions and the entity.” “[0003] Zero-shot learning is a type of machine learning that can transfer information observed in training data to a previously unseen target. For example, although a zero-shot learner may not have been explicitly trained with an entity labeled cat, the learner nonetheless may have seen text descriptions describing a cat as an object having pointy ears and long whiskers. By transferring the information, the zero-shot learner can predict that a text description of an object having pointy ears and long whiskers is indeed a cat. Few-shot learning similarly generates predications, albeit based on a small number of training samples describing a given entity. Like zero-shot machine learning, few-shot machine learning can be integrated into NERC models.”]
Rationale for combination as provided for Claim 2.
Regarding Claim 4, Zhang does not mention the use of GUI for annotation.
Martinez Galindo teaches:
4. The method of claim 2,
wherein the annotated document set for the particular entity type is obtained via a graphical user interface for annotating spans of a natural language document as instances of the particular entity type. [Martinez Galindo, Figure 3, 306, the use input can be used in place of the annotations, and 308 user can input the annotations: ‘[0046] FIG. 3 illustrates an example method 300 of operation of the DER framework 200 of FIGS. 1 and 2. Referring collectively to FIGS. 2 and 3 collectively, in block 302, a user inputs entity 212 and sentence corpus 214 via user interface 208. In block 304, DER framework 200 determines whether a description 216 for entity 212 is supplied by the user or is otherwise electronically stored and accessible by description enricher 202. If so, in block 306, description enricher 202 generates enriched descriptions 210 using description 216. Otherwise, in block 308, description enricher 216 generates enriched descriptions 210 from a description created with only a label supplied by the user and corresponding to entity 212.” “[0019] .. Optionally, in certain embodiments, the inventive arrangements implement a feedback loop that enables a user to visualize (e.g., via a graphical user interface (GUI)) the rankings of enriched descriptions and to input feedback for fine-tuning the machine learning model.”]
Rationale for combination as provided for Claim 1.
Regarding Claim 5, Zhang teaches:
5. The method of claim 1,
wherein an embedding representing a particular span sequence is generated by explicitly attending over one or more prompt embeddings. [Zhang uses transformers which operate by an attention mechanism. Figure 4, the “embedder 420” input to the “transformer backbone 180.” “[0038] Optionally, the web page pre-training includes a tokenizer 410 that tokenizes the schema prompt 312T, the entity prompt 322T, and input content 412 derived from the web page 404. The tokenized information may be provided to an embedder 420 that embeds and concatenates the tokenized schema prompt 312T, the entity prompt 322T, and the input content 412 into a query embedding 422. The entity extraction model 180 (i.e., a transformer backbone) uses the query embedding 422 to generate predictions (e.g., the location 184 of the entity 182) via, for example, a BOISE scheme.”]
(Martinez Galindo evaluates the similarities in an embedding space according to the closeness of the embeddings (vectors) and this teaches “attending over … prompt embeddings.” “[0052] In other embodiments, description ranker 204 can implement an encoder to encode the mentions of the entity in sentence corpus 214 and each of enriched descriptions 200 in an embedding space. Using a distance metric (e.g., Euclidean distance, Manhattan distance) or cosine similarity, description ranker 204 can determine semantic similarities between the entity and enriched descriptions based on their respective closeness within the embedding space….”)
Regarding Claim 9, Zhang teaches:
9. The method of claim 1, further comprising:
providing the extracted entity to a client device. [Zhang, Figure 1, “user device/client device 10.” “[0028] The remote system 140 is configured to receive an entity extraction request 20 from a user device 10 associated with a respective user 12 via, for example, the network 112. …The request 20 may include one or more documents 152 for entity extraction. Additionally or alternatively, the request 20 may refer to one or more documents 152 stored at the data store 150 for entity extraction.” “[0029] The remote system 140 may execute a document entity extractor 160 for extracting structured entities 182 from the documents 152. The entities 182 represent information (e.g., values) extracted from the document that has been classified into or associated with a predefined category. In some examples, each entity 182 includes a key-value pair, where the key is the classification and the value represents the value extracted from the document 152. For example, an entity 182 extracted from a form (e.g., document 152) includes a key (or label or classification) of “name” and a value of “Jane Smith” which may be classified into the category “identification.” As another example, an entity 182 extracted from a form includes a key of “city” and a value of “Chicago” which may be classified into the category of “location.””]
Regarding Claim 10, Zhang teaches:
10. A non-transitory computer-readable medium storing executable instructions, which when executed by a processing device, cause the processing device to perform operations comprising: [Zhang, Figure 1, the “processing device” is mapped to the “cloud environment 140” including servers 142: “[0027] Referring to FIG. 1, in some implementations, an example document entity extraction system 100 includes a remote system 140 in communication with one or more user devices 10 via a network 112. The remote system 140 may be a single computer, multiple computers, or a distributed system (e.g., a cloud environment) having scalable/elastic resources 142 including computing resources 144 (e.g., data processing hardware) and/or storage resources 146 (e.g., memory hardware)….”]
obtaining a first set of documents from the processing device, [Zhang, Figure 1, documents 152a-n are at the “processing device” / “cloud environment 140” of Zhang and are sent to the user client device 10. “[0027] … The data store 150 is configured to store a set of documents 152, 152a-n. The documents 152 may be of any type and from any source (e.g., from the user 12, other remote entities, or generated by the remote system 140). For example, the documents 152 are forms, or other form-like entities. Each document is associated with a schema 22 that defines the structure for a document type of the document 152 (e.g., an invoice or a paystub).”]
wherein one or more spans of the first set of documents are annotated as instances of a particular entity type; [Zhang, Figure 2 shows the spans that are annotated as “Last Name,” “First Name,” “Date,” and “Signature.” “[0031] Referring now to FIG. 2, each document 152 received by the document entity extractor 160 includes a series of textual fields 154. In some examples, the vision model 200, for each respective textual field 154 of the document 152, determines a respective textual offset for the respective textual field 154. The textual offset indicates a location of the respective textual field 154 relative to each other textual field 154 in the document 152….” “[0032] Here, an example document 152 is a form with a textual field 154 for a “Last Name” that has been filled with “Smith,” a textual field 154 for a “First Name” filled with “Mary,” and blank “Date” and “Signature” textual fields 154. Using conventional extraction systems (e.g., OCR capabilities), the vision model 200, as shown in this example, extracts a series of tokens 202 (e.g., a text span or the like) that represents text from the textual fields 154. The series of tokens 202 provides an order to the textual fields 154 of the document 152.”] tonight
generating a training prompt sequence set based on the first set of documents; and [Zhang, Figure 1, the “query generator 300” takes in the output of the “vision model 200” of Figure 2 (where the text spans are annotated with their entity class) and outputs the query / “training prompt sequence set.” “[0039] Referring now to FIG. 5, in some implementations, the document entity extractor 160, after pre-training the entity extraction model 180 (e.g., on a large quantity of generalized training samples 402 automatically generated from public websites), fine-tunes the entity extraction model 180 using annotated training samples 501 generated from a set of training documents 504. The set of training documents includes a relatively small number of documents that are human-annotated with annotations 506 (i.e., a much smaller quantity than a quantity of the generalized training samples 402 which are not human-annotated)….”]
training, by a prompt-based few-shot entity extraction system, a pre-trained entity extraction model based on the training prompt sequence set to yield a few-shot entity extraction model trained to extract at least the particular entity type. [Zhang, Figures 4, 5, and 6 shows the steps of pretraining and then training the pretrained entity extraction model. Figure 6 starts with “pretrain” at the top to “fine-tune” to use of the model for “prediction 182.” “[0037] Referring now to FIG. 4, in some implementations, the document entity extractor 160 pre-trains the entity extraction model 180 using generalized training samples 402….” “[0039] Referring now to FIG. 5, in some implementations, the document entity extractor 160, after pre-training the entity extraction model 180 (e.g., on a large quantity of generalized training samples 402 automatically generated from public websites), fine-tunes the entity extraction model 180 using annotated training samples 501 generated from a set of training documents 504. The set of training documents includes a relatively small number of documents that are human-annotated with annotations 506 (i.e., a much smaller quantity than a quantity of the generalized training samples 402 which are not human-annotated). The training documents 504 include many different types of form-like documents so that the entity extraction model 180 may learn more specialized knowledge based on information learned from the training entity prompts 322T and the training schema prompts 312T….”]
Zhang uses a zero-shot model and Martinez Galindo, as applied to Claim 1, teaches the use of a few-shot entity extraction model. The combination of the references warranted under the rationale provided for Claim 1.
Regarding Claim 11, Zhang teaches:
11. The non-transitory computer-readable medium of claim 10, wherein the operation of generating a training prompt sequence set based on the first set of documents further comprises:
extracting a span sequence set from the first set of documents, wherein each span sequence of the span sequence set comprises at least one annotated instance of the particular entity type; [Zhang, Figure 1, “vision model 200” and Figure 2 showing the inputs to the “vision model 200” that are documents with each span sequence (sequence of words) corresponding to an entity such as “Last Name” or “First Name.” “[0032] Here, an example document 152 is a form with a textual field 154 for a “Last Name” that has been filled with “Smith,” a textual field 154 for a “First Name” filled with “Mary,” and blank “Date” and “Signature” textual fields 154. Using conventional extraction systems (e.g., OCR capabilities), the vision model 200, as shown in this example, extracts a series of tokens 202 (e.g., a text span or the like) that represents text from the textual fields 154. The series of tokens 202 provides an order to the textual fields 154 of the document 152.”]
determining a classification embedding for a span sequence of the span sequence set; and [Zhang, Figure 2, the classifications are the “Last Name” and “First Name” etc.
using the classification embedding to determine a prompt in a prompt set that is similar to the span sequence. [Zhang, Figure 1, the input of the 182Q, 202, 332 to the “entity extraction model 180.” Figure 2, “text entity extractor 220.” “[0033] Referring back to FIG. 1, the information of the series of tokens 202 (e.g., the relative location of textual fields 154 relative to other textual fields 154 of the document 152) may be provided to a query generator 300 included in the document entity extractor 160. The query generator 300 generates extraction queries 332 for querying an entity extraction model 180. The extraction queries 332 ask the entity extraction model 180 to determine a location of one or more specific entities 182 within one or more documents 152 (i.e., within the series of tokens 202 or text span) specified by the entity extraction request 20.” “[0034] Referring now to FIG. 3, in some examples the query generator 300 includes a schema prompt generator 310 and an entity prompt generator 320. The entity prompt generator 320 generates an entity prompt 322 that includes the series of tokens 202 of the respective document 152 and a query entity 182, 182Q….”]
Regarding Claim 12, Zhang teaches:
12. The non-transitory computer-readable medium of claim 10, wherein the prompt-based few-shot entity extraction system is remote from the processing device. [Zhang, Figure 1, the processing device where the training occurs in the “cloud environment 140” and the extraction also usually occurs there. However, Zhang teaches that the extraction may occur at the user client device 10. “[0030] The remote system 140 may execute the document entity extractor 160 in its entirety. In other examples, the user device 10 executes the document entity extractor 160 (i.e., using the computing resources 18 and the storage resources 16. In yet other examples, a portion of the document entity extractor 160 executes on the remote system 140 while a different portion (e.g., a graphical user interface, a document 152 collector, etc.) executes on the user device 10. The document entity extractor 160 receives the documents 152 (e.g., from the user device 10 and/or the data store 150). The document entity extractor 160 includes a vision model 200.”]
13. The non-transitory computer-readable medium of claim 10, wherein the operation of training, by a prompt-based few-shot entity extraction system, a pre-trained entity extraction model based on the training prompt sequence set to yield a few-shot entity extraction model trained to extract at least the particular entity type, further comprises:
obtaining a set of contextualized feature vectors from an encoder of the pre-trained entity extraction model, the set of contextual feature vectors comprising a respective contextualized feature vector for each span of a span sequence and for each span of a prompt generated for the span sequence, the span sequence extracted from a document in the first set of documents, the span sequence comprising at least one instance of the particular entity type; [Zhang, Figure 5 shows the fine-tuning of the model that is pre-trained in Figure 4. Figure 6 also shows the “fine-tune” of the “pretrained backbone model 180.” The system uses an encoder/decoder transformer. The span sequences are shown in Figure 2 and include the entity types such as Last Name or First Name. The tokenization and generation of embeddings from several prompt portions (span sequences), some of which provide context for the others, and input of the embedding to a transformer is shown in both Figure 4 and Figure 5. “[0026] Implementations herein include a document entity extractor for providing a query-based framework for extracting entities from forms and documents. The document entity extractor extracts entities in a zero-shot fashion using a bi-level prompting mechanism that encodes document schema and entity into queries for an entity extraction model (e.g., a transformer architecture) to make conditional predictions….” “[0042] Thus, the document entity extractor 160 provides a query-based framework for zero-shot document entity extraction. The document entity extractor 160 employs a bi-level prompting mechanism to encode document schema and entity information to learn transferable knowledge from source to target document types….”]
generating an embedding representing the span sequence by explicitly attending over the respective contextual feature vectors obtained for each span of the prompt generated for the span sequence; and [Zhang, Figure 5, “Query Embedding 422” which includes “Embedding and Concatenation” of two vectors of “E-prompt” and “Input.”]
using the generated embedding representing the span sequence to model a distribution from which a next span in an output sequence is generated. [Zhang, Figure 6, “prediction 182.”]
Zhang uses a zero-shot entity extraction model and Martinez Galindo was cited for the teaching of a few-shot model.
Claim 14 is a system claim with limitations corresponding to the limitations of Claim 1 and is rejected under similar rationale. Additionally, Zhang teaches:
14. A system comprising:
a memory component; and [Zhang, Figure 8, “[0045] The computing device 800 includes a processor 810, memory 820, a storage device 830, a high-speed interface/controller 840 connecting to the memory 820 and high-speed expansion ports 850, and a low speed interface/controller 860 connecting to a low speed bus 870 and a storage device 830….”]
one or more processing devices coupled to the memory component and to perform operations comprising: [Zhang, Figure 8, “[0045] The computing device 800 includes a processor 810, memory 820, a storage device 830, a high-speed interface/controller 840 connecting to the memory 820 and high-speed expansion ports 850, and a low speed interface/controller 860 connecting to a low speed bus 870 and a storage device 830….”]
…
Claim15 is a system claim with limitations corresponding to the limitations of Claim 2 and is rejected under similar rationale.
Claim 16 is a system claim with limitations corresponding to the limitations of Claim 3 and is rejected under similar rationale.
Claim 17 is a system claim with limitations corresponding to the limitations of Claim 4 and is rejected under similar rationale.
Claim 18 is a system claim with limitations corresponding to the limitations of Claim 5 and is rejected under similar rationale.
Claim 20 is a system claim with limitations corresponding to the limitations of Claim 9 and is rejected under similar rationale.
Claims 6 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Zhang and Martinez Galindo and Boyd in view of Chatterjee (U.S. 20210256966).
Regarding Claim 6, Zhang does not expressly teach the attention mechanism and thus does not discuss the particulars of what attends to what. Martinez Galindo does not teach this feature either.
Boyd mentions attention: Figure 11, “machine learned models 1101” and “[0128] Example neural networks can include feed-forward neural networks, recurrent neural networks (RNNs), including long short-term memory (LSTM) based recurrent neural networks, convolutional neural networks (CNNs), diffusion models, generative-adversarial networks, or other forms of neural networks. Example neural networks can be deep neural networks. Some example machine-learned models can leverage an attention mechanism such as self-attention. For example, some example machine-learned models can include multi-headed self-attention models.”
Chatterjee more completely teaches:
6. The method of claim 5,
wherein explicitly attending over the one or more prompt embeddings comprises determining a numerical emphasis for a decoder of the few-shot entity extraction model to place on (a) a distribution over a fixed vocabulary over (b) a distribution over the span sequence. [Chatterjee teaches that the decoder has to place the emphasis on a word in order to emphasize the importance of the word in the sequence: “[0044] Thereafter, upon extracting the intent sequence from the input text sequence, the system also determines a manner in which the importance of each word can be emphasized. This is achieved using the attention mechanism, discussed in the subsequent sub-sections. The deep neural network may implement attention distribution mechanism to generate the intent as an ordered sequence upon applying predefined weights for each target word associated with the user query.” “[0045] In an embodiment, the attention distribution mechanism uses sequence of encoder hidden states hi and Decoder hidden states st using which the attention distribution is expressed below ….”]
Zhang/Martinez-Galindo/Boyd and Chatterjee pertain to NLP and the use of attention mechanism to place emphasis on certain words in the NLP and it would have been obvious to combine the method by which Chatterjee uses the attention mechanism with the system of combination which does not elaborate on the details of how the attention mechanism is being used. This combination falls under combining prior art elements according to known methods to yield predictable results or use of known technique to improve similar devices (methods, or products) in the same way. See MPEP 2141, KSR, 550 U.S. at 418, 82 USPQ2d at 1396.
(Instant Application: “[0070] Training engine 116 models a distribution over both a fixed vocabulary represented and the span sequence SS. The parameter Pgen represents the emphasis the decoder gives to the fixed vocabulary over the span sequence SS. In some embodiments, the parameter Pgen is represented by the following function:” “[0072] Modeling the distribution to generate the next span in the output sequence involves the computation by training engine 116 of both the distribution over the fixed vocabulary and the distribution over the span sequence SS….”)
Claim 19 is a system claim with limitations corresponding to the limitations of Claim 6 and is rejected under similar rationale.
Claim 7 is rejected under 35 U.S.C. 103 as being unpatentable over Zhang and Martinez Galindo and Boyd in view of Gong (U.S. 20230214651) and Pauli (U.S. 20240338532).
Regarding Claim 7, Zhang does not mention few-shot training and Martinez Galindo
Martinez Galindo teaches:
7. The method of claim 2,
wherein the annotated document set comprises less than twenty documents and fewer than four annotated instances of the particular entity type per document. [Martinez Galindo, “[0003] … By transferring the information, the zero-shot learner can predict that a text description of an object having pointy ears and long whiskers is indeed a cat. Few-shot learning similarly generates predications, albeit based on a small number of training samples describing a given entity. Like zero-shot machine learning, few-shot machine learning can be integrated into NERC models.”]
Rationale for combination as provided for Claim 1.
Martinze Glaindo does not specify the number of training samples as fewer than four.
Boyd also teaches few-shot but not the number of samples. “[0166] Prompt libraries 17-4 can include sets of inputs configured to induce behavior aligned with desired performance criteria. Prompt libraries 17-4 can include few-shot prompts (e.g., inputs providing examples of desired model outputs for prepending to a desired runtime query), chain-of-thought prompts (e.g., inputs providing step-by-step reasoning within the exemplars to facilitate thorough reasoning by the model), and the like.” “[0175] … Tooling packages 18-2 can include one or more inputs configured to cause machine-learned model(s) to implement the tools (e.g., few-shot prompts that induce a model to output tool calls in the proper syntax, etc.)….”
Gong teaches:
wherein the annotated document set comprises less than twenty documents and fewer than four annotated instances of the particular entity type per document. [Gong teaches that a few-shot training is conducted with fewer than 20 samples per training bin: “[0070] Following Yang et al. and common practice in imbalanced learning, overall results on the whole test set are reported, as well as on the subsets of many-shot region (bins with >100 training samples), medium-shot region (bins with 20 to 100 training samples), and few-shot region (bins with <20 training samples)….” ]
Zhang/Martinez-Galindo/Boyd and Gong pertain to NLP and training of machine learning models and it would have been obvious to consider the fewer than 20 documents for a few-shot training of Gong for the few-shot training of the combination which does not specify the number of documents used. This combination falls under combining prior art elements according to known methods to yield predictable results or use of known technique to improve similar devices (methods, or products) i