IP Library Granted Patent US 12,373,645
Granted Patent B2
US 12,373,645 · App. 17/533,342 · Granted Jul 29, 2025

System for automatically augmenting a message based on context extracted from the message

Inventors: Rahul Gupta (Telangana, IN); Manish Kansal (Telangana, IN); Bhavesh S Sharma (Telangana, IN); Pradeep Kumar Reddy K (Telangana, IN)
Assignee: Microsoft Technology Licensing, LLC
G06F40/295G06F40/30G06Q10/107H04L51/046H04L51/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 12,373,645
App. No.
17/533,342
Granted
Jul 29, 2025
Kind
B2
Abstract

An augmentation service receives message information about a message being authored by a message sender. The augmentation service calls a topic extraction service to extract a topic from the message information and then accesses inferences, based upon the topics, to identify a suggested augmentation to the message. The suggested augmentation is surfaced for the sender of the message. Similarly, a messaging system can process the message prior to sending it to a recipient and insert suggested augmentations into the message so that the recipient sees a message which has additional content over that which was sent by the sender.

Claims (88)

1. A computer system, comprising:

at least one processor; and

a data store that stores instructions which, when executed by the at least one processor, cause the at least one processor to perform steps comprising:

receiving message information, including message content to be included in a message generated by a message service;

identifying an entity in the message information in response to a means for inferring inferences parsing the message information and generating tokens indicative of the entity extracted from the message information;

identifying a recipient associated with the message;

accessing a user-specific inference store based on the recipient, wherein the user-specific inference store stores an inference identified by the means for inferring inferences that indicates a correlation between the entity and an augmentation to include in the message;

identifying the augmentation based on the inference identified by the means for inferring inferences;

providing a user interface, wherein the user interface includes a drop-down menu including a link to the augmentation;

causing the augmentation that is linked in the drop-down menu to be attached to the message; and

sending, to the message service, the augmentation attached to the message.

2. The computer system of claim 1 wherein receiving message information comprises:

receiving user data identifying a first user who is authoring the message; and

receiving context information indicative of a context in which the message is generated.

3. The computer system of claim 2 wherein identifying an entity in the message information in response to a means for inferring inferences parsing the message information comprises:

identifying at least one of the recipient, a topic of the message, a location where the first user generates the message, or a document related to the message.

4. The computer system of claim 1 wherein the data store stores instructions which, when executed by the at least one processor, cause the at least one processor to perform acts further comprising:

detecting activity data indicative of activity of a plurality of different users;

for each given user of the plurality of different users, generating a set of inferences that each indicate a correlation between the given user and an entity in the activity data; and

storing the set of inferences for each given user in the user-specific inference store.

5. The computer system of claim 4 wherein identifying the augmentation to include in the message comprises:

identifying an attachment to the message as the augmentation to include in the message.

6. The computer system of claim 5 wherein sending of the augmentation to include in the message to the message service for surfacing to a first user comprises:

displaying, as a suggestion, an interactive user identifier identifying the attachment to be attached to the message;

detecting user interaction of the first user with the interactive user identifier to accept or dismiss the suggestion; and

if the user interaction indicates that the first user accepts the suggestion, then causing the augmentation to be attached to the message includes adding the attachment to a body of the message.

7. The computer system of claim 4 wherein identifying the augmentation to include in the message comprises:

identifying a user to be mentioned in a body of the message as the augmentation to include in the message.

8. The computer system of claim 7 wherein the user to be mentioned in the body of the message comprises the recipient.

9. The computer system of claim 7 wherein sending the augmentation to include in the message to the message services for surfacing to a first user comprises:

displaying, as a suggestion, an interactive user identifier identifying the user to be mentioned in the body of the message;

detecting user interaction of the first user with the interactive user identifier to accept or dismiss the suggestion; and

if the user interaction indicates that the first user accepts the suggestion, then adding the user identifier to the body of the message; and

the data store stores instructions which, when executed by the at least one processor, cause the at least one processor to perform steps further comprising:

feeding back the detected user interaction to modify generation of the set of inferences based on the detected user interaction.

10. The computer system of claim 1 wherein the data store stores instructions which, when executed by the at least one processor, cause the at least one processor to perform steps further comprising:

detecting a send indication indicative of the message being sent to a recipient;

identifying the augmentation to include in the message based on the inference; and

sending an indication of the augmentation to include in the message to the message service for surfacing to the recipient.

11. The computer system of claim 1 , wherein the user interface further includes an actuator configured to be actuated by a first user who is authoring the message to accept or reject to include the augmentation in the message.

12. The computer system of claim 11 , wherein upon receiving an actuation via the actuator, attaching the augmentation to the message.

13. A computer implemented method, comprising:

receiving message information including message content of a message generated by a message service;

identifying an entity in the message information in response to a means for inferring inferences parsing the message information and generating tokens indicative of the entity extracted from the message information;

identifying a recipient associated with the message;

accessing a user-specific inference store based on the recipient, wherein the user-specific inference store stores an inference identified by the means for inferring inferences that indicates a correlation between the entity and an augmentation to include in the message;

identifying the augmentation based on the inference identified by the means for inferring inferences;

providing a user interface, wherein the user interface includes a drop-down menu including a link to the augmentation;

causing the augmentation that is linked in the drop-down menu to be attached to the message; and

sending, to the message service, the augmentation attached to the message.

14. The computer implemented method of claim 11 and further comprising:

detecting activity data indicative of activity of a plurality of different users;

for each given user of the plurality of different users generating a set of inferences that each indicate a correlation between the given user and an entity in the activity data; and

storing the set of inferences for each given user in the user-specific inference store.

15. The computer implemented method of claim 14 wherein identifying the augmentation to include in the message comprises:

identifying an attachment to include in the message as the augmentation to include in the message.

16. The computer implemented method of claim 15 wherein sending an indication of the augmentation to include in the message comprises:

displaying, as a suggestion, an interactive user identifier identifying the attachment to be attached to the message;

detecting user interaction of the first user with the interactive user identifier to accept or dismiss the suggestion; and

if the user interaction indicates that the first user accepts the suggestion, then adding the attachment to the body of the message.

17. The computer implemented method of claim 16 and further comprising:

feeding back the detected user interaction to modify generation of the set of inferences based on the detected user interaction.

18. The computer implemented method of claim 16 wherein identifying the augmentation to include in the message comprises:

identifying a user to be mentioned in a body of the message as the augmentation to include in the message.

19. The computer implemented method of claim 18 wherein the user to be mentioned in the body of the message comprises the recipient.

20. The computer implemented method of claim 18 , wherein sending an indication of the augmentation to include in the message to the message service for surfacing to the first user comprises:

displaying, as a suggestion, an interactive user identifier identifying the user to be mentioned in the body of the message;

detecting user interaction of the first user with the interactive user identifier to accept or dismiss the suggestion; and

if the user interaction indicates that the first user accepts the suggestion, then adding the user identifier to the body of the message, and further comprising:

feeding back the detected user interaction to modify generation of the set of inferences based on the detected user interaction.

21. The computer implemented method of claim 13 and further comprising:

detecting a send indication indicative of the message being sent to a recipient;

identifying an entity in the message information in response to a means for inferring inferences parsing the message information;

accessing the user-specific inference store based on the recipient identified by the means for inferring inferences;

identifying the augmentation to include in the message based on the inference identified by the means for inferring inferences; and

sending an indication of the augmentation to include in the message to the message service for surfacing to the recipient.

22. The computer implemented method of claim 13 , wherein the user interface further includes an actuator configured to be actuated by a first user who is authoring the message to accept or reject to include the augmentation in the message.

23. The computer implemented method of claim 22 , wherein upon receiving an actuation via the actuator, attaching the augmentation to the message.

24. A computer implemented method, comprising:

receiving message content of a message generated by a message service;

detecting a send indication indicative of the message being sent to a recipient;

identifying an entity in the message content in response to a means for inferring inferences parsing message information and generating tokens indicative of the entity extracted from the message information;

accessing a user-specific inference store, specific to the recipient, that stores an inference identified by the means for inferring inferences that indicates a correlation between the entity and an augmentation to include in the message;

identifying the augmentation based on the inference identified by the means for inferring inferences;

providing a user interface, wherein the user interface includes a drop-down menu including a link to the augmentation, and wherein the user interface further includes an actuator configured to be actuated by a first user who is authoring the message to accept the augmentation to include in the message;

sending the augmentation to include in the message to the message service upon receiving an actuation via the actuator;

causing the augmentation that is linked in the drop-down menu to be attached to the message; and

including the augmentation to include in the message when the message is rendered by the message service.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2021
From: GUPTA, RAHUL; KANSAL, MANISH; KUMAR REDDY K, PRADEEP; SHARMA, BHAVESH S.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 058434/0881 →
Continuity (1)
Related Publication 20230161962A1 · May 25, 2023
References Cited (61)
US 8010602B2 · Shen et al. · 2011 [cited by applicant]
US 8286085B1 · Denise et al. · 2012 [cited by applicant]
US 9251248B2 · Agrawal · 2016 [cited by applicant]
US 9594831B2 · Wang et al. · 2017 [cited by applicant]
US 10331480B2 · Gupta et al. · 2019 [cited by applicant]
US 10380629B2 · Amin et al. · 2019 [cited by applicant]
US 10475000B2 · Sarrazin · 2019 [cited by examiner]
US 10572845B2 · Johansen et al. · 2020 [cited by applicant]
US 10992607B2 · Gupta et al. · 2021 [cited by applicant]
US 11057324B1 · Ahmed · 2021 [cited by examiner]
US 11093870B2 · Wilde et al. · 2021 [cited by applicant]
US 11134044B1 · Johansson · 2021 [cited by examiner]
US 11837005B2 · Tiyyagura · 2023 [cited by examiner]
US 20060074932A1 · Fong et al. · 2006 [cited by applicant]
US 20070130368A1 · Martin et al. · 2007 [cited by applicant]
US 20080312905A1 · Balchandran · 2008 [cited by examiner]
US 20120151377A1 · Schultz et al. · 2012 [cited by applicant]
US 20130262438A1 · Palay · 2013 [cited by examiner]
US 20140358521A1 · Mikutel · 2014 [cited by examiner]
US 20150046827A1 · Akselrod · 2015 [cited by examiner]
US 20150081293A1 · Hsu · 2015 [cited by examiner]
US 20150156148A1 · Doulton · 2015 [cited by examiner]
US 20150222581A1 · Zhou · 2015 [cited by examiner]
US 20150294220A1 · Oreif · 2015 [cited by applicant]
US 20160117072A1 · Sharifi · 2016 [cited by examiner]
US 20170086039A1 · Wittig · 2017 [cited by examiner]
US 20170197152A1 · Bojja · 2017 [cited by examiner]
US 20180067959A1 · Sorvillo · 2018 [cited by examiner]
US 20180121499A1 · Joshi et al. · 2018 [cited by applicant]
US 20190243669A1 · Gupta et al. · 2019 [cited by applicant]
US 20190244175A1 · Ogrinz · 2019 [cited by examiner]
US 20190251493A1 · Wilde et al. · 2019 [cited by applicant]
US 20190280998A1 · Katis · 2019 [cited by examiner]
US 20200065857A1 · Lagi · 2020 [cited by examiner]
US 20200287908A1 · Treleaven · 2020 [cited by examiner]
US 20200372075A1 · Rogynskyy · 2020 [cited by examiner]
US 20210064692A1 · Srinivasan · 2021 [cited by examiner]
US 20210073469A1 · Gupta et al. · 2021 [cited by applicant]
US 20210117928A1 · Gupta et al. · 2021 [cited by applicant]
US 20210200515A1 · Rayapati · 2021 [cited by examiner]
US 20210200951A1 · Gao · 2021 [cited by examiner]
US 20210234820A1 · Dhawan · 2021 [cited by examiner]
US 20210289069A1 · Moshir · 2021 [cited by examiner]
US 20210374749A1 · Vukich · 2021 [cited by examiner]
US 20210400008A1 · Khan · 2021 [cited by examiner]
US 20220171935A1 · Goyal · 2022 [cited by examiner]
US 20220222737A1 · Pronski · 2022 [cited by examiner]
US 20220229993A1 · Vu · 2022 [cited by examiner]
US 20220358473A1 · Williams · 2022 [cited by examiner]
US 20240186885A1 · Murthy · 2024 [cited by examiner]
WO 2019032204A1 · 2019 [cited by applicant]
WO 2021141680A1 · 2021 [cited by applicant]
WO WO2021215804A1 · 2021 [cited by examiner]
“International Search Report and Written Opinion Issued in PCT Application No. PCT/US22/041791”, Mailed Date: Dec. 21, 2022, 17 Pages. [cited by applicant]
“Application as Filed in U.S. Appl. No. 16/939,181”, filed Jul. 27, 2020, 50 Pages. [cited by applicant]
“Application as Filed in U.S. Appl. No. 17/011,928”, filed Sep. 3, 2020, 68 Pages. [cited by applicant]
“Introduction to Information Retrieval”, Retrieved from: https://web.stanford.edu/class/cs276/handouts/personalization-lecture-6-per-page.pdf, Oct. 25, 2017, 8 Pages. [cited by applicant]
“Learning to rank”, Retrieved from: https://en.wikipedia.org/wiki/Learning_to_rank#In_Information_retrieval, Oct. 17, 2021, 14 Pages. [cited by applicant]
Dali, et al., “Learning to Rank for Personalized News Article Retrieval”, In JMLR: Workshop and Conference Proceedings, Sep. 30, 2010, pp. 152-159. [cited by applicant]
Gysel, et al., “Reply With: Proactive Recommendation of Email Attachments”, In repository of arXiv:1710.06061v2. Nov. 16, 2017, 10 Pages. [cited by applicant]
Safi, et al., “Learning-to-Rank for Hybrid User Profiles”, In Research in Computing Science, vol. 132, 2017, pp. 107-127. [cited by applicant]