IP Library › Granted Patent US 12,373,640
Granted Patent B2
US 12,373,640 · App. 18/362,398 · Granted Jul 29, 2025

Real-time artificial intelligence powered dynamic selection of template sections for adaptive content creation

Inventors: Ricardo Reyna Fernandez (Boston, MA); Jenna Hong (Acton, MA)
Assignee: Microsoft Technology Licensing, LLC
G06F40/186G06F16/3329
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 12,373,640
App. No.
18/362,398
Granted
Jul 29, 2025
Kind
B2
Abstract

A data processing system implements and iterative process for dynamically creating a template including receiving a request for a template suggestion for an electronic content item for an application on a client device. The request includes an identifier of the application and textual content from the first electronic content item. The system further implements providing the identifier of the first application and the textual content to a language model to obtain a template suggestion, the language model being trained to analyze the identifier of the application and the textual content and to output the template suggestion, the template suggestion comprising a template identifier and a first subsection identifier identifying a first subsection of the first template predicted to be relevant to the user for creating the electronic content item, sending the template suggestion to the client device, and causing the client device to present the template suggestion in the application.

Claims (74)

1. A data processing system comprising:

a processor; and

a machine-readable storage medium storing executable instructions that, when executed, cause the processor alone or in combination with other processors to perform operations of:

receiving a first request for a template suggestion for a first electronic content item for a first application on a first client device, the first request including an identifier of the first application and first textual content from the first electronic content item;

constructing a first prompt for a first language model, the first prompt comprising a first natural language query that includes the identifier of the first application and the first textual content;

providing the first prompt to the first language model to obtain a first template suggestion, the first template suggestion comprising one or more first template subsections selected from among a plurality of document templates predicted to be relevant for creating the first electronic content item based on the identifier of the first application and the first textual content, the first language model being trained on the plurality of document templates;

sending the first template suggestion to the first client device;

causing the first client device to present the first template suggestion in the first application on the first client device;

receiving a second request for a template suggestion for the first electronic content item, the second request including the identifier of the first application and second textual content from the first electronic content item, the second textual content being different than the first textual content;

constructing a second prompt for the first language model, the second prompt comprising a second natural language query that includes the identifier of the first application and the second textual content;

providing the second prompt to the first language model to obtain a second template suggestion, the second template suggestion comprising one or more second template subsections selected from among a plurality of second templates predicted to be relevant for creating the first electronic content item based on the identifier of the first application and the second textual content;

sending the second template suggestion to the first client device; and

causing the first client device to present the second template suggestion in the first application on the first client device.

2. The data processing system of claim 1 , wherein the one or more first template subsections include at least one template subsection that is not including the one or more second template subsections.

3. The data processing system of claim 1 , wherein the first language model is trained on metadata associated with the plurality of document templates and usage history associated with the plurality of document templates.

4. The data processing system of claim 1 , wherein the first request includes context information associated with a first user, the context information includes one or more of usage pattern information indicating how the first user has used the first application, user role information indicative of a role of the first user within an organization, and metadata associated with one or more files previously created by the first user using the first application, and wherein providing the identifier of the first application and the first textual content to the first language model further comprising providing the context information as an additional input to the first language model.

5. The data processing system of claim 1 , providing the identifier of the first application and the first textual content to the first language model further comprises constructing a textual prompt for the first language model that comprises the identifier of the first application and the first textual content.

6. The data processing system of claim 1 , wherein the machine-readable storage medium further includes instructions configured to cause the processor alone or in combination with other processors to perform operations of:

receiving feedback from a first user indicating whether the first template suggestion was useful; and

refining outputs of the first language model based on the feedback received from the first user.

7. The data processing system of claim 1 , wherein the machine-readable storage medium further includes instructions configured to cause the processor alone or in combination with other processors to perform operations of:

receiving a request to analyze a third template and an indication of a second application associated with the third template;

analyzing the third template using a categorization model trained to predict a first category of subject matter associated with the third template; and

associating the second application and the first category with the third template.

8. The data processing system of claim 7 , wherein the machine-readable storage medium further includes instructions configured to cause the processor alone or in combination with other processors to perform operations of:

segmenting the third template into a plurality of segments using a segmentation model trained to segment templates into a plurality of subsections and to associate a content type indication with each of the plurality of subsections; and

storing the plurality of segments and the content type indication associated with each of the plurality of segments in a template datastore.

9. The data processing system of claim 8 , wherein the machine-readable storage medium further includes instructions configured to cause the processor alone or in combination with other processors to perform operations of:

generating first training data for the first language model based on the indication of the second application, a category of subject matter associated with the third template, the plurality of segments of the third template, and the content type indication associated with each of the plurality of segments of the template datastore; and

training the first language model using the first training data.

10. The data processing system of claim 7 , wherein the machine-readable storage medium further includes instructions configured to cause the processor alone or in combination with other processors to perform operations of:

analyzing the third template using a content moderation service to predict whether the third template includes objectionable subject matter; and

rejecting the third template responsive to predicting that the third template includes objectionable subject matter.

11. The data processing system of claim 1 , wherein the machine-readable storage medium further includes instructions configured to cause the processor alone or in combination with other processors to perform operations of:

receiving a second request to refine the first template suggestion for the first electronic content item from the first client device, the second request comprising a natural language description requesting the first template suggestion be refined;

providing the natural language description to the first language model to obtain a second template suggestion for the first electronic content item;

sending the second template suggestion to the first client device; and

causing the first client device to present the first template suggestion in the first application on the first client device.

12. A method implemented in a data processing system for suggesting templates for generating electronic content, the method comprising:

receiving a first request for a template suggestion for a first electronic content item for a first application on a first client device, the first request including an identifier of the first application and first textual content from the first electronic content item, the first textual content representing at least a first subsection of the first electronic content item;

constructing a first prompt for a first language model, the first prompt comprising a first natural language query that includes the identifier of the first application and the first textual content;

providing the first prompt to the first language model to obtain a first template suggestion, the first template suggestion comprising a first template identifier of a first template and a first subsection of the first template predicted to be relevant for creating the first electronic content item based on the identifier of the first application and the first textual content, the first template being selected from among a plurality of templates and the first subsection of the first template being selected from among a plurality of subsections of the first template, the first language model being trained on the plurality of templates;

sending the first template suggestion to the first client device;

causing the first client device to present the first template suggestion in the first application on the first client device;

receiving a second request for a template suggestion for the first electronic content item, the second request including the identifier of the first application and second textual content from the first electronic content item, the second textual content being different than the first textual content, the second textual content representing at least a second subsection of the first electronic content item;

constructing a second prompt for the first language model, the second prompt comprising a second natural language query that includes the identifier of the first application and the second textual content representing at least the second subsection of the first electronic content item;

providing the second prompt to the first language model to obtain a second template suggestion, the second template suggestion comprising a second template identifier of a second template and a first subsection of the second template predicted to be relevant for creating the first electronic content item based on the identifier of the first application and the second textual content, the second template being selected from among the plurality of templates and the first subsection of the second template being selected from among a plurality of subsections of the second template;

sending the second template suggestion to the first client device; and

causing the first client device to present the second template suggestion in the first application on the first client device.

13. The method of claim 12 , wherein the first template is different than the second template.

14. The method of claim 12 , wherein the first language model is trained on metadata associated with the plurality of templates and usage history associated with the plurality of templates.

15. The method of claim 12 , wherein the first request includes context information associated with a first user, the context information includes one or more of usage pattern information indicating how the first user has used the first application, user role information indicative of a role of the first user within an organization, and metadata associated with one or more files previously created by the first user using the first application, and wherein providing the identifier of the first application and the first textual content to the first language model further comprising providing the context information as an additional input to the first language model.

16. The method of claim 12 , wherein providing the identifier of the first application and the first textual content to the first language model further comprises constructing a textual prompt for the first language model that comprises the identifier of the first application and the first textual content.

17. The method of claim 12 , further comprising:

receiving feedback from a first user indicating whether the first template suggestion was useful; and

refining outputs of the first language model based on the feedback received from the first user.

18. The method of claim 12 , further comprising:

receiving a request to analyze a third template and an indication of a second application associated with the third template;

analyzing the third template using a categorization model trained to predict a first category of subject matter associated with the third template; and

associating the second application and the first category with the third template.

19. A data processing system comprising:

a processor; and

a machine-readable storage medium storing executable instructions that, when executed, cause the processor alone or in combination with other processors to perform operations of:

accessing a plurality of templates for creating electronic content items;

categorizing each template of the plurality of templates based at least in part on textual content of each template the plurality of templates, metadata associated with each of the plurality of templates, or a combination thereof;

segmenting the plurality of templates to segment each template into a plurality of subsections using a segmentation model trained to segment templates into the plurality of subsections based on a type of content included in each subsection of the plurality of subsections;

generating metadata for each template of the plurality of templates and the plurality of subsections associated with each template, the metadata including an indication of an application associated with each template of the plurality of templates, a category of subject matter associated with each template of the plurality of templates, and a type of content included in each subsection of each template of the plurality of templates;

storing each of the templates, the plurality of subsections associated with each of the templates, and the metadata associated with each of the templates in a template datastore in a memory of the data processing system;

generating training data for a language model based on the metadata stored in the template datastore;

training the language model using the training data; and

dynamically generating a template for an electronic content item based on template suggestions obtained from the language model as the electronic content item is being created in a first application, the template comprising a plurality of template subsections predicted to be relevant for creating the electronic content item, wherein the plurality of template subsections are presented on a user interface of the first application in which the electronic content item is being created as the electronic content item is being created.

20. The data processing system of claim 19 , wherein the machine-readable storage medium further includes instructions configured to cause the processor alone or in combination with other processors to perform operations of:

receiving an indication from the first application to save a copy of the template in the template datastore; and

storing template information in the template datastore that indicates which template subsections were included in the template and an order in which the plurality of template subsections were utilized in the template.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2023
From: REYNA FERNANDEZ, RICARDO; HONG, JENNA
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 064437/0380 →
Continuity (1)
Related Publication 20250045516A1 · Feb 6, 2025
References Cited (10)
US 20180150446A1 · Sivaji · 2018 [cited by examiner]
US 20180240538A1 · Koll · 2018 [cited by examiner]
US 20180267950A1 · de Mello Brandao · 2018 [cited by examiner]
US 20200117752A1 · Liu · 2020 [cited by examiner]
US 20220004705A1 · Chua · 2022 [cited by examiner]
US 20220414323A1 · Sreenivasan · 2022 [cited by examiner]
US 20230004727A1 · Oberoi et al. · 2023 [cited by applicant]
CN 112711937A · 2021 [cited by examiner]
English Translation of CN 112711937 A published on Apr. 27, 2021 (Year: 2021). [cited by examiner]
International Search Report and Written Opinion received for PCT Application No. PCT/US2024/036464, mailed on Oct. 15, 2024, 13 pages. [cited by applicant]