IP Library › Granted Patent US 11,080,475
Granted Patent B2
US 11,080,475 · App. 15/408,334 · Granted Aug 3, 2021

Predicting spreadsheet properties

Inventors: Rishabh Singh (Kirkland, WA); Ben Livshits (London, GB); Benjamin G. Zorn (Woodinville, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F40/18G06F40/30G06N3/04G06N3/08
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,080,475
App. No.
15/408,334
Granted
Aug 3, 2021
Kind
B2
Abstract

A device includes a logic machine and a data-holding machine having instructions executable by the logic machine to receive a spreadsheet including a plurality of cells, apply an abstraction to the spreadsheet that defines one or more features of a cell set including one or more cells of the plurality of cells to form an abstracted representation of the spreadsheet, form, for the cell set, an input vector for a machine-learning prediction function from the abstracted representation of the spreadsheet, the machine-learning prediction function configured to output a prediction of one or more properties of the cell set based on the input vector, wherein the machine-learning prediction function is previously trained based on a plurality of previously-created spreadsheets, provide the input vector to the machine-learning prediction function; and output the prediction from the machine-learning prediction function.

Claims (45)

1. A device comprising:

a logic machine including one or more processors; and

a data-holding machine having instructions executable by the logic machine to

receive a spreadsheet that is based on a template, the spreadsheet including a plurality of cells;

apply a selected template-specific abstraction to the spreadsheet, wherein the selected template-specific abstraction is selected from a plurality of template-specific abstractions for a corresponding plurality of templates for spreadsheets, and wherein the selected template-specific abstraction defines one or more features of a cell set including one or more cells of the plurality of cells to form an abstracted representation of the spreadsheet, wherein forming the abstracted representation of the spreadsheet comprises replacing content of each cell of the cell set with an abstraction of the content replaced based upon the selected template-specific abstraction, the abstraction of the content comprising one or more symbols that represent a feature of the content replaced;

form, for the cell set, an input vector for a machine-learning prediction function from the abstracted representation of the spreadsheet, the machine-learning prediction function configured to identify one or more patterns in the cell set and output a prediction of one or more properties of the cell set based on the input vector, wherein the machine-learning prediction function is previously trained based on a plurality of previously-created spreadsheets, and wherein the prediction of the one or more properties of the cell set includes a prediction of whether the cell set includes a potential error;

provide the input vector to the machine-learning prediction function; and

output the prediction from the machine-learning prediction function.

2. The device of claim 1 , wherein the input vector includes a plurality of other cell sets selected from the spreadsheet based on the cell set.

3. The device of claim 1 , wherein the machine-learning prediction function is produced via training of a neural network model with the plurality of previously-created spreadsheets.

4. The device of claim 1 , wherein the potential error includes the cell set having a type of content that differs from an expected type of content for the cell set.

5. The device of claim 1 , wherein the selected template-specific abstraction defines a plurality of content classes, and wherein applying the selected template-specific abstraction to the spreadsheet includes classifying the cell set as being a member of one or more content classes of the plurality of content classes based upon content of the cell set.

6. The device of claim 5 , wherein the prediction includes a probability distribution that the content of the cell set corresponds to each content class of the plurality of content classes.

7. The device of claim 1 , wherein the spreadsheet includes a plurality of sheets arranged in a workbook, and wherein each sheet of the plurality of sheets includes a plurality of cells.

8. The device of claim 1 , wherein the instructions are further executable by the logic machine to:

identify the template used to create the spreadsheet; and

select a template-specific machine-learning prediction function for the spreadsheet based on the identified template.

9. The device of claim 1 , wherein the instructions are further executable by the logic machine to:

identify an organization associated with the spreadsheet; and

select an organization-specific abstraction and/or an organization-specific machine-learning prediction function for the spreadsheet based on the identified organization.

10. The device of claim 1 , wherein the instructions are further executable by the logic machine to:

visually present, via a display, a visual representation indicating the prediction of the one or more properties of the cell set on the spreadsheet.

11. A method comprising:

receiving a spreadsheet that is based on a template, the spreadsheet including a plurality of cells;

applying a selected template-specific abstraction to the spreadsheet, wherein the selected template-specific abstraction is selected from a plurality of template-specific abstractions for a corresponding plurality of templates for spreadsheets, and wherein the selected template-specific abstraction defines one or more features of a cell set including one or more cells of the plurality of cells to form an abstracted representation of the spreadsheet, wherein forming the abstracted representation of the spreadsheet comprises replacing content of each cell of the cell set with an abstraction of the content replaced based upon the selected template-specific abstraction, the abstraction of the content comprising one or more symbols that represent a feature of the content replaced;

forming, for the cell set, an input vector for a machine-learning prediction function from the abstracted representation of the spreadsheet, the machine-learning prediction function configured to output a prediction of one or more properties of the cell set based on the input vector, wherein the machine-learning prediction function is previously trained based on a plurality of previously-created spreadsheets;

providing the input vector to the machine-learning prediction function; and

outputting the prediction from the machine-learning prediction function.

12. The method of claim 11 , further comprising:

visually presenting, via a display, a visual representation indicating the prediction of the one or more properties of the cell set on the spreadsheet.

13. The method of claim 11 , wherein the input vector includes a plurality of other cell sets selected from the spreadsheet based on the cell set.

14. The method of claim 11 , wherein the machine-learning prediction function is produced via training of a neural network model with the plurality of previously-created spreadsheets.

15. The method of claim 11 , wherein the prediction of the one or more properties of the cell set includes a prediction of whether the cell set includes a potential error.

16. The method of claim 11 , wherein the selected template-specific abstraction defines a plurality of content classes, and wherein applying the selected template-specific abstraction to the spreadsheet includes classifying the cell set as being a member of one or more content classes of the plurality of content classes based upon content of the cell set.

17. The method of claim 16 , wherein the prediction includes a probability distribution that the content of the cell set corresponds to each content class of the plurality of content classes.

18. The method of claim 11 , wherein the spreadsheet includes a plurality of sheets arranged in a workbook, and wherein each sheet of the plurality of sheets includes a plurality of cells.

19. A device comprising:

a logic machine including one or more processors; and

a data-holding machine having instructions executable by the logic machine to:

receive a plurality of previously-created spreadsheets, each previously-created spreadsheet of the plurality of previously-created spreadsheets including a plurality of cell sets, each cell set of the plurality of cell sets including one or more cells;

for the plurality of previously-created spreadsheets, select a selected template-specific abstraction from a plurality of template-specific abstractions for a corresponding plurality of templates for spreadsheets, wherein the selected template-specific abstraction relates to a structure and properties of the plurality of previously-created spreadsheets and wherein the selected template-specific abstraction defines one or more features of each cell set of the plurality of cell sets, and, for each spreadsheet of the plurality of previously-created spreadsheets, apply the selected template-specific abstraction to form an abstracted representation of the spreadsheet, wherein forming the abstracted representation of the spreadsheet comprises replacing content of each cell of each cell set with an abstraction of the content replaced based upon the selected template-specific abstraction, the abstraction of the content comprising one or more symbols that represent a feature of the content replaced;

form a set of training vectors for a machine-learning model from the abstracted representation of each spreadsheet of the plurality of previously-created spreadsheets, each training vector of the set of training vectors being formed for a corresponding cell set, wherein the machine-learning model is configured to produce a machine-learning prediction function based on the set of training vectors, wherein the machine-learning prediction function is configured to receive an input vector for a cell set of a spreadsheet as input and output a prediction of one or more properties of the cell set based on the input vector;

train the machine-learning model with the set of training vectors to produce the machine-learning prediction function; and

output the machine-learning prediction function.

20. The device of claim 1 , wherein the abstraction of the content comprises a symbol representing a content class.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2017
From: SINGH, RISHABH; LIVSHITS, BEN; ZORN, BENJAMIN G.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 040994/0922 →
Continuity (1)
Related Publication 20180203836A1 · Jul 19, 2018
Cited By (1)
US 12,561,518