US 12,190,048 B2
Context adaptive writing assistant
James Cogley, Dublin (IE); Aman Singh, Dublin (IE); Enrico Cadoni, Dublin (IE); and Shashank Shekhar Gupta, Dublin (IE)
Assigned to Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Nov. 14, 2022, as Appl. No. 17/986,444.
Prior Publication US 2024/0160836 A1, May 16, 2024
Int. Cl. G06F 40/166 (2020.01)
CPC G06F 40/166 (2020.01) 18 Claims
OG exemplary drawing
 
1. A data processing system comprising:
a processor; and
a machine-readable medium storing executable instructions that, when executed, cause the processor to perform operations comprising:
receiving textual content from a first application on a first client device associated with a first user for analysis by a context adaptive writing assistant configured to provide suggestions for improving the textual content;
obtaining, from a plurality of data sources, contextual information indicative of a level of formality of the textual content, the contextual information including information identifying an intended audience of the textual content, and wherein obtaining the contextual information further comprises obtaining user graph information that represents relationships between the first user and users of the intended audience, the user graph information being derived from previous communications between the first user and the users of the intended audience;
categorizing the textual content as being associated with a first level of formality selected from a plurality of levels of formality based on the contextual information by providing the textual content and the contextual information as an input to a first machine learning model, the first machine learning model being trained to analyze the textual content and the contextual information to determine a predicted level of formality associated with the textual content and to output an indication of the predicted level of formality;
analyzing the textual content to identify one or more suggested improvements to the textual content;
selecting a subset of suggested improvements from the one or more suggested improvements to the textual content to the first user based on the first level of formality associated with the textual content;
sending the subset of suggested improvements to the first client device; and
causing the first client device to display the subset of suggested improvements in the first application on the first client device.