IP Library › Granted Patent US 11,763,075
Granted Patent B1
US 11,763,075 · App. 17/827,213 · Granted Sep 19, 2023

Method and system of discovering templates for documents

Inventors: Bahareh Sarrafzadeh (Seattle, WA); Sujay Kumar Jauhar (Kirkland, WA); Casey Jo Gossard (Spokane, WA); Maria Leonor Pacheco Gonzalez (West Lafayette, IN); Curtis Dean Anderson (Kent, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F40/186G06F40/12
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,763,075
App. No.
17/827,213
Filed
May 27, 2022
Granted
Sep 19, 2023
Kind
B1
Art Unit
2144
USPC
715/235
Abstract

A system and method and for identifying a template for a document includes receiving a request to identify the template from among a plurality of available templates, the plurality of templates being templates that are available for use in an application. After receiving the request, the content and structure of the document are encoded into one or more embedding representations via a trained document encoder and the embedding representations are compared to a plurality of template representations, each of the plurality of template representations being a representation of content and structure of one of the plurality of templates to identify one of the plurality of the templates as corresponding to the document. The identified template is then provided for display as a recommended template.

Claims (58)

1. A data processing system comprising:

a processor; and

a memory in communication with the processor, the memory comprising executable instructions that, when executed by the processor, cause the data processing system to perform functions of:

receiving a request to identify a template from among a plurality of available templates for a document, the plurality of templates being templates that are available for use in an application;

encoding a content and structure of the document into one or more embedding representations via a trained document encoder;

comparing, the one or more embedding representations to a plurality of template representations, each of the plurality of template representations being a representation of content and structure of one of the plurality of templates;

identifying, based on the comparison, at least one of the plurality of the templates as corresponding to the document; and

providing the identified at least one of the plurality of the templates for display as a recommended template.

2. The data processing system of claim 1 , wherein the document is a partially completed document.

3. The data processing system of claim 1 , wherein the document has a templatic pattern.

4. The data processing system of claim 1 , wherein the template representations are encoded using a trained template representation model.

5. The data processing system of claim 1 , wherein the template representations are encoded in an offline stage.

6. The data processing system of claim 1 , wherein the executable instructions, when executed by the processor, cause the data processing system to perform functions of:

classifying, using a document classifier, the document as having a document type, the document type being among a plurality of document types, each document type corresponding to one of the plurality of templates;

upon identifying the at least one of the plurality of the templates, determining whether the classified document type matches the document type of the identified at least one of the plurality of the templates; and

providing the identified at least one of the plurality of the templates for display as a recommended template, upon determining that the classified document type matches the document type of the identified at least one of the plurality of the templates.

7. The data processing system of claim 6 , wherein the document classifier further classifies the document as having a document subtype.

8. The data processing system of claim 1 , wherein executable instructions, when executed by the processor, cause the data processing system to perform functions of:

comparing, the one or more embedding representations to a plurality of sample document representations, each of the plurality of sample document representations being a representation of content and structure of one of a plurality of sample documents;

identifying, based on the comparison, at least one of the plurality of sample documents as corresponding to the document; and

providing the identified at least one of the plurality of sample documents for display as a recommended sample document.

9. The data processing system of claim 1 , wherein the at least one of the plurality of sample documents is identified by comparing the document and the plurality of sample documents at a section level.

10. A method for identifying a template for a document comprising:

receiving a request to identify the template from among a plurality of available templates, the plurality of templates being templates that are available for use in an application;

encoding a content and structure of the document into one or more embedding representations via a trained document encoder;

comparing, the one or more embedding representations to a plurality of template representations, each of the plurality of template representations being a representation of content and structure of one of the plurality of templates;

identifying, based on the comparison, at least one of the plurality of the templates as corresponding to the document; and

providing the identified at least one of the plurality of the templates for display as a recommended template.

11. The method of claim 10 , wherein the document is a partially completed document.

12. The method of claim 10 , wherein the template representations are encoded using a trained template representation model.

13. The method of claim 10 , further comprising:

determining that the identified at least one of the plurality of the templates has a confidence score that does not meet a required threshold level;

determining that, within a predetermined time period, a given number of users have created documents having a document type that is similar to the document type of the document; and

creating a notification to inform a content curator of a need for creating a new template for the document type.

14. The method of claim 10 , further comprising:

classifying, using a document classifier, the document as having a document type, the document type being among a plurality of document types, each document type corresponding to one of the plurality of templates;

upon identifying the at least one of the plurality of the templates, determining whether the classified document type matches the document type of the identified at least one of the plurality of the templates; and

providing the identified at least one of the plurality of the templates for display as a recommended template, upon determining that the classified document type matches the document type of the identified at least one of the plurality of the templates.

15. The method of claim 10 , further comprising:

comparing, the one or more embedding representations to a plurality of sample document representations, each of the plurality of sample document representations being a representation of content and structure of one of a plurality of sample documents;

identifying, based on the comparison, at least one of the plurality of sample documents as corresponding to the document; and

providing the identified at least one of the plurality of sample documents for display as a recommended sample document.

16. The method of claim 10 , wherein the recommended template is displayed in a selectable user interface element.

17. A non-transitory computer readable medium on which are stored instructions that, when executed, cause a programmable device to perform functions of:

receiving a request to identify a template from among a plurality of available templates for a document, the plurality of templates being templates that are available for use in an application;

encoding a content and structure of the document into one or more embedding representations via a trained document encoder;

comparing, the one or more embedding representations to a plurality of template representations, each of the plurality of template representations being a representation of content and structure of one of the plurality of templates;

identifying, based on the comparison, at least one of the plurality of the templates as corresponding to the document; and

providing the identified at least one of the plurality of the templates for display as a recommended template.

18. The non-transitory computer readable medium of claim 17 , wherein the instructions, when executed further cause the programmable device to perform functions of:

classifying, using a document classifier, the document as having a document type, the document type being among a plurality of document types, each document type corresponding to one of the plurality of templates;

upon identifying the at least one of the plurality of the templates, determining whether the classified document type matches the document type of the identified at least one of the plurality of the templates; and

providing the identified at least one of the plurality of the templates for display as a recommended template, upon determining that the classified document type matches the document type of the identified at least one of the plurality of the templates.

19. The non-transitory computer readable medium of claim 18 , wherein the document classifier further classifies the document as having a document subtype.

20. The non-transitory computer readable medium of claim 17 , wherein the instructions, when executed further cause the programmable device to perform functions of:

comparing, the one or more embedding representations to a plurality of sample document representations, each of the plurality of sample document representations being a representation of content and structure of one of a plurality of sample documents;

identifying, based on the comparison, at least one of the plurality of sample documents as corresponding to the document; and

providing the identified at least one of the plurality of sample documents for display as a recommended sample document.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2022
From: ANDERSON, CURTIS DEAN; GOSSARD, CASEY JO
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 060067/0974 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2022
From: SARRAFZADEH, BAHAREH; PACHECO GONZALEZ, MARIA LEONOR; JAUHAR, SUJAY KUMAR
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 060042/0098 →
Cited By (3)
US 12,321,957 US 12,614,024 US 12,711,182