# US 9,563,915 B2 · Extracting purchase-related information from digital documents

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,563,915 B2
- Document ID: US9563915B2
- Status: Granted
- Kind: B2
- Application number: 14/684,658
- Filed: 2015-04-13
- Published: 2015-08-20
- Granted: 2017-02-07
- Earliest claimed: 2011-07-19
- Assignees: Slice Technologies, Inc.
- Applicants: Slice Technologies, Inc.
- Inventors: Scott J. Brady; Benjamin A. Suppe; Eric J. Botto; Harpinder Singh Madan; Ievgen Mastierov; Aditya Khosla; Dmytry B. Mykhaylov; Georgii Verbytskyi; Alexander Lototsky; Michael Mantel
- Web page: https://patentgrep.com/patent/US9563915B2

## CPC

- G06Q 10/083: Shipping
- G06F 16/951: Indexing; Web crawling techniques
- G06F 16/953: Querying, e.g. by the use of web search engines
- G06F 16/9558: {Details of hyperlinks; Management of linked annotations}
- G06F 40/174: Form filling; Merging
- G06F 40/205: Parsing
- G06Q 10/08: Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q 10/0833: Tracking
- G06Q 10/0838: {Historical data}
- G06Q 10/107: Computer-aided management of electronic mailing [e-mailing]
- G06Q 30/0635: {replenishment orders; recurring orders}
- H04L 51/063: Content adaptation, e.g. replacement of unsuitable content
- H04L 51/10: Multimedia information
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Product order and shipping information received via email messages is automatically aggregated for ready user review. Once the user is authenticated, authorization to access their email mailbox is obtained and the email message headers of their entails are analyzed to identify those messages of interest. The bodies of the email messages of interest are parsed to extract the product order and shipping information which is stored and presented for display to the user typically grouped by individual product thus greatly simplifying user review of orders. The aggregated product order and shipping information can be augmented with additional information such as shipping status, delivery status, a product image, and/or a last date that the product can be returned.

## Claims

### Claim 1

A computer-implemented method, comprising:
identifying electronic messages concerning respective product orders in respective collections of electronic messages transmitted between network nodes and stored in one or more non-transitory networked electronic message storage systems;
for each of respective ones of the identified electronic messages,
selecting a respective extraction parser corresponding to the identified electronic message, wherein each extraction parser is generated from a respective template defining a respective context-free grammar that describes a respective format of an electronic message body comprising an ordered arrangement of unstructured free form text elements, and
applying, by a processor, the selected extraction parser to unstructured free form text in a body portion of the identified electronic message to extract therefrom a respective set of product order related data values corresponding to a predefined set of purchase order related data field types;
storing the sets of extracted product order related data values as aggregated data in a non-transitory networked data storage system;
for each of respective ones of the sets of extracted product order related data values, retrieving additional information concerning product order information missing from the respective set of extracted product order related data values based on one or more of the extracted product order related data values in the respective set of extracted product order related data values; and
augmenting the aggregated data with the retrieved additional information.

### Claim 2 (depends on 1)

The method of claim 1, wherein the identified purchase-related electronic messages comprise electronic mail messages.

### Claim 3 (depends on 1)

The method of claim 1, wherein, for each of one or more of the sets of extracted product order related data values:
the retrieving comprises retrieving a respective image of an ordered product corresponding to the respective product order from a remote server; and
the augmenting comprises augmenting the aggregated data with the retrieved image.

### Claim 4 (depends on 1)

The method of claim 1, wherein, for each of one or more of the sets of extracted product order related data values, the retrieving comprises retrieving a respective shipping status of the respective product order from a respective one of the identified electronic messages.

### Claim 5 (depends on 1)

The method of claim 1, wherein, for each of one or more of the sets of extracted product order related data values, the retrieving comprises retrieving a respective delivery status of the respective product order from a respective one of the identified electronic messages.

### Claim 6 (depends on 1)

The method of claim 1, wherein, for each of one or more of the sets of extracted product order related data values, the retrieving comprises retrieving a respective last date to return an ordered product corresponding to the respective product order.

### Claim 7 (depends on 1)

The method of claim 1, wherein the selecting of the respective extraction parser is based on identification of a type of the respective identified electronic message selected from a predefined set of electronic message types.

### Claim 8 (depends on 7)

The method of claim 7, wherein the predefined set of electronic message types comprises an order confirmation message type and a shipping confirmation message type.

### Claim 9 (depends on 8)

The method of claim 8, wherein, for each of one or more of the product orders:
the storing comprises, in a respective database record, storing a respective one of the sets of product order related data values extracted from a respective electronic message concerning the product order and corresponding to the order confirmation message type;
the retrieving comprises retrieving shipping information from a respective electronic message concerning the product order and corresponding to the shipping confirmation message type; and
the augmenting comprises incorporating the retrieved shipping information into the respective database record.

### Claim 10 (depends on 8)

The method of claim 8, further comprising, for each of respective ones of the identified electronic messages corresponding to the order confirmation message type, the applying comprises extracting purchase order related information comprising one or more of an order number, a product description, a product name, a product price, and an order total.

### Claim 11 (depends on 8)

The method of claim 8, further comprising, for each of respective ones of the identified electronic messages corresponding to the shipping confirmation message type, the applying comprises extracting purchase-related information comprising one or more of a tracking number, a shipping address, a billing address, an estimated shipping date, and an estimated delivery date.

### Claim 12 (depends on 1)

The method of claim 1, further comprising, in response to a request from a client network node associated with a user, transmitting data for displaying on the client network node a view based on the augmented aggregated data comprising purchase-related information extracted from respective ones of the identified purchase-related electronic messages and additional information concerning missing product order information retrieved based on respective ones of the sets of extracted purchase-related information.

### Claim 13 (depends on 1)

The method of claim 1, further comprising: to a client network node associated with a user, transmitting data for generating a view on the augmented aggregated data associated with the user grouped by individual ordered product.

### Claim 14 (depends on 1)

The method of claim 1, further comprising:
for each of multiple merchants, determining at least one respective template that defines a respective context-free grammar that describes a respective language and a respective format of a purchase-related electronic message body based on an instance of a purchase-related electronic message associated with the merchant; and
converting, by a processor, each template into a respective extraction parser that is associated with the respective merchant based on the respective context-free grammar.

### Claim 15

A system, comprising a non-transitory memory storing processor-readable instructions, and a processor coupled to the memory, operable to execute the instructions, and based at least in part on the execution of the instructions operable to perform operations comprising:
identifying electronic messages concerning respective product orders in respective collections of electronic messages transmitted between network nodes and stored in one or more non-transitory networked electronic message storage systems;
for each of respective ones of the identified electronic messages,
selecting a respective extraction parser corresponding to the identified electronic message, wherein each extraction parser is generated from a respective template defining a respective context-free grammar that describes a respective format of an electronic message body comprising an ordered arrangement of unstructured free form text elements, and
applying, by a processor, the selected extraction parser to unstructured free form text in a body portion of the identified electronic message to extract therefrom a respective set of product order related data values corresponding to a predefined set of purchase order related data field types;
storing the sets of extracted product order related data values as aggregated data in a non-transitory networked data storage system;
for each of respective ones of the sets of extracted product order related data values, retrieving additional information concerning product order information missing from the respective set of extracted product order related data values based on one or more of the extracted product order related data values in the respective set of extracted product order related data values; and
augmenting the aggregated data with the retrieved additional information.

### Claim 16 (depends on 15)

The system of claim 15, wherein, based at least in part on the execution of the instructions, the processor is operable to perform operations further comprising, in response to a request from a client network node associated with a user, transmitting data for displaying on the client network node a view based on the augmented aggregated data comprising purchase-related information extracted from respective ones of the identified purchase-related electronic messages and additional information concerning missing product order information retrieved based on respective ones of the sets of extracted purchase-related information.

### Claim 17 (depends on 15)

The system of claim 15, wherein, based at least in part on the execution of the instructions, the processor is operable to perform operations further comprising: to a client network node associated with a user, transmitting data for generating a view on the augmented aggregated data associated with the user grouped by individual ordered product.

### Claim 18

At least one non-transitory computer readable medium comprising instructions, which when executed by computer apparatus, cause the computer apparatus to perform operations comprising:
identifying electronic messages concerning respective product orders in respective collections of electronic messages transmitted between network nodes and stored in one or more non-transitory networked electronic message storage systems;
for each of respective ones of the identified electronic messages,
selecting a respective extraction parser corresponding to the identified electronic message, wherein each extraction parser is generated from a respective template defining a respective context-free grammar that describes a respective format of an electronic message body comprising an ordered arrangement of unstructured free form text elements, and
applying, by a processor, the selected extraction parser to unstructured free form text in a body portion of the identified electronic message to extract therefrom a respective set of product order related data values corresponding to a predefined set of purchase order related data field types;
storing the sets of extracted product order related data values as aggregated data in a non-transitory networked data storage system;
for each of respective ones of the sets of extracted product order related data values, retrieving additional information concerning product order information missing from the respective set of extracted product order related data values based on one or more of the extracted product order related data values in the respective set of extracted product order related data values; and
augmenting the aggregated data with the retrieved additional information.

### Claim 19 (depends on 18)

The at least one non-transitory computer readable medium of claim 18 comprising instructions, which when executed by computer apparatus, cause the computer apparatus to perform operations further comprising: in response to a request from a client network node associated with a user, transmitting data for displaying on the client network node a view based on the augmented aggregated data comprising purchase-related information extracted from respective ones of the identified purchase-related electronic messages and additional information concerning missing product order information retrieved based on respective ones of the sets of extracted purchase-related information.

### Claim 20 (depends on 18)

The at least one non-transitory computer readable medium of claim 18 comprising instructions, which when executed by computer apparatus, cause the computer apparatus to perform operations further comprising: to a client network node associated with a user, transmitting data for generating a view on the augmented aggregated data associated with the user grouped by individual ordered product.
