US2017091589A1PendingUtilityA1

Framework for data extraction by examples

Assignee: MICROSOFT TECHNOLOGY LICENSING LLCPriority: Mar 8, 2014Filed: Dec 12, 2016Published: Mar 30, 2017
Est. expiryMar 8, 2034(~7.6 yrs left)· nominal 20-yr term from priority
G06F 18/2163G06F 40/18G06F 40/151G06F 16/80G06F 40/174G06F 16/84G06F 3/0484G06F 17/243G06K 9/00456G06K 9/6261G06F 17/246G06V 30/413
50
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Various technologies described herein pertain to controlling automated programming for extracting data from an input document. Examples indicative of the data to extract from the input document can be received. The examples can include highlighted regions on the input document. Moreover, the input document can be a semi-structured document (e.g. a text file, a log file, a word processor document, a semi-structured spreadsheet, a webpage, a fixed-layout document, an image file, etc.). Further, an extraction program for extracting the data from the input document can be synthesized based on the examples. The extraction program can be synthesized in a domain specific language (DSL) for a type of the input document. Moreover, the extraction program can be executed on the input document to extract an instance of an output data schema.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A computing system, comprising:
 at least one processor; and   memory that comprises computer-executable instructions that, when executed by the at least one processor, cause the at least one processor to perform acts including:
 causing input regions of a document to be highlighted in a uniform user interface, the input regions of the document being examples of data to extract from the document, the uniform user interface being for a plurality of different document types; and 
 causing output regions of the document to be highlighted in the uniform user interface, the output regions being indicative of an instance of an output data schema, the instance of the output data schema being inferred from the document based on the examples of the data to extract from the document. 
   
     
     
         2 . The computing system of  claim 1 , the memory further comprising computer-executable instructions that, when executed by the at least one processor, cause the at least one processor to perform acts including:
 receiving user input that specifies the examples of the data to extract from the document;   wherein the input regions of the document are highlighted responsive to receiving the user input.   
     
     
         3 . The computing system of  claim 2 , wherein the user input further specifies relationships between the examples of the data to extract from the document. 
     
     
         4 . The computing system of  claim 1 , the memory further comprising computer-executable instructions that, when executed by the at least one processor, cause the at least one processor to perform acts including:
 synthesizing an extraction program based on the examples of the data to extract from the document; and   executing the extraction program on the document to infer the instance of the output data schema from the document;   wherein the output regions of the document are highlighted responsive to executing the extraction program on the document.   
     
     
         5 . The computing system of  claim 4 , wherein the extraction program is synthesized in a domain-specific language (DSL) for a type of the document utilizing inductive synthesis algorithms usable across different DSLs. 
     
     
         6 . The computing system of  claim 1 , the memory further comprising computer-executable instructions that, when executed by the at least one processor, cause the at least one processor to perform acts including:
 outputting the instance of the output data schema inferred from the document.   
     
     
         7 . The computing system of  claim 1 , wherein:
 the input regions of the document highlighted in the uniform user interface comprise a first region of the document highlighted with a visual indicator, the first region of the document being an example of an instance of a field to extract from the document; and   the output regions of the document highlighted in the uniform user interface comprise a second region of the document highlighted with the visual indicator, the second region of the document being an instance of the field extracted from the document.   
     
     
         8 . The computing system of  claim 7 , the memory further comprising computer-executable instructions that, when executed by the at least one processor, cause the at least one processor to perform acts including:
 receiving user input that specifies that the second region of the document highlighted with the visual indicator is a negative example of the field not to be extracted from the document; and   causing updated output regions of the document to be highlighted in the uniform user interface, the updated output regions being indicative of an updated instance of the output data schema inferred from the document based on the examples of the data to extract from the document and the negative example.   
     
     
         9 . The computing system of  claim 7 , the memory further comprising computer-executable instructions that, when executed by the at least one processor, cause the at least one processor to perform acts including:
 receiving user input that specifies a third region of the document, the third region of the document not being highlighted with the visual indicator as part of the output regions of the document highlighted in the uniform user interface, the third region of the document being an additional example of an instance of the field to extract from the document; and   causing updated output regions of the document to be highlighted in the uniform user interface, the updated output regions being indicative of an updated instance of the output data schema inferred from the document based on the examples of the data to extract from the document and the additional example.   
     
     
         10 . The computing system of  claim 1 , wherein:
 the input regions of the document highlighted in the uniform user interface comprise:
 a first region of the document highlighted with a first visual indicator, the first region of the document being an example of an instance of a first field to extract from the document; and 
 a second region of the document highlighted with a second visual indicator, the second region of the document being an example of an instance of a second field to extract from the document, the first visual indicator differing from the second visual indicator; and 
   the output regions of the document highlighted in the uniform user interface comprise:
 a third region of the document highlighted with the first visual indicator, the third region of the document being an instance of the first field extracted from the document; and 
 a fourth region of the document highlighted with the second visual indicator, the fourth region of the document being an instance of the second field extracted from the document. 
   
     
     
         11 . The computing system of  claim 1 , the memory further comprising computer-executable instructions that, when executed by the at least one processor, cause the at least one processor to perform acts including:
 receiving user input that defines the output data schema, the output data schema comprises a hierarchical combination of structure and sequence constructs.   
     
     
         12 . The computing system of  claim 1 , the memory further comprising computer-executable instructions that, when executed by the at least one processor, cause the at least one processor to perform acts including:
 subsequent to causing the output regions of the document to be highlighted in the uniform user interface:
 receiving user input that specifies a refining example; and 
 causing updated output regions of the document to be highlighted in the uniform user interface, the updated output regions being indicative of an updated instance of the output data schema inferred from the document based on the examples of the data to extract from the document and the refining example. 
   
     
     
         13 . The computing system of  claim 1 , wherein the examples of the data to extract from the document are received in a user-selected order over fields of the output data schema. 
     
     
         14 . The computing system of  claim 1 , the memory further comprising computer-executable instructions that, when executed by the at least one processor, cause the at least one processor to perform acts including:
 subsequent to causing the output regions of the document to be highlighted in the uniform user interface:
 updating the output data schema to change a number of fields of the output data schema; and 
 causing updated output regions of the document to be highlighted in the uniform user interface, the updated output regions being indicative of an updated instance of the output data schema having the number of the fields as updated. 
   
     
     
         15 . A method of controlling data extraction programming, comprising:
 highlighting input regions of a document in a uniform user interface, the input regions of the document being examples of data to extract from the document, the uniform user interface being for a plurality of different document types; and   highlighting output regions of the document in the uniform user interface, the output regions being indicative of an instance of an output data schema, the instance of the output data schema being inferred from the document based on the examples of the data to extract from the document.   
     
     
         16 . The method of  claim 15 , further comprising:
 outputting the instance of the output data schema inferred from the document.   
     
     
         17 . The method of  claim 15 , further comprising:
 receiving user input via the uniform user interface, the user input specifies the examples of the data to extract from the document;   wherein the input regions of the document are highlighted responsive to receiving the user input via the uniform user interface.   
     
     
         18 . The method of  claim 15 , further comprising:
 subsequent to highlighting the output regions of the document in the uniform user interface:
 receiving user input via the uniform user interface, the user input specifies a refining example, the refining example comprising at least one of a positive example of additional data to extract from the document or a negative example of data not to be extracted from the document; and 
 highlighting updated output regions of the document in the uniform user interface, the updated output regions being indicative of an updated instance of the output data schema inferred from the document based on the examples of the data to extract from the document and the refining example. 
   
     
     
         19 . A method of controlling data extraction programming, comprising:
 receiving user input that specifies examples of data to extract from a document;   responsive to receiving the user input that specifies the examples, causing input regions of a document to be highlighted in a uniform user interface, the input regions of the document being the examples of the data to extract from the document;   causing output regions of the document to be highlighted in the uniform user interface, the output regions being indicative of an instance of an output data schema, the instance of the output data schema being inferred from the document based on the examples of the data to extract from the document; and   subsequent to causing the output regions of the document to be highlighted in the uniform user interface:
 receiving user input that specifies a refining example; and 
 responsive to receiving the user input that specifies the refining example, causing updated output regions of the document to be highlighted in the uniform user interface, the updated output regions being indicative of an updated instance of the output data schema inferred from the document based on the examples of the data to extract from the document and the refining example. 
   
     
     
         20 . The method of  claim 19 , wherein the uniform user interface is for a plurality of different document types.

Join the waitlist — get patent alerts

Track US2017091589A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.