IP Library Granted Patent US 11,394,674
Granted Patent B2
US 11,394,674 · App. 15/489,198 · Granted Jul 19, 2022

System for annotation of electronic messages with contextual information

Inventors: Nathaniel Borenstein (Wexford, PA); Marc Amphlett (Kettering, GB); Clive Jordan (Auckland, NZ); Max Linscott (London, GB); Niall O'Malley (Surrey, GB); Jacqueline Osborne (Surrey, GB); Luke Pentreath (London, GB); Oliver Scott (London, GB); Rahul Sharma (London, GB)
Assignee: Mimecast Services Ltd.
H04L51/08H04L51/216
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,394,674
App. No.
15/489,198
Granted
Jul 19, 2022
Kind
B2
Abstract

A system that transforms electronic messages into annotated messages that include contextual information to aid a recipient in utilizing the electronic message, understanding its meaning, and responding to the message. Annotations are additions or modifications to the original message with contextual information that is related to the features and contents of the original message. Message features are extracted and used to search one or more sources of contextual information. Relevant items are retrieved and added to the message, for example as attachments, hyperlinks, or inline notes. Machine learning techniques may be used to generate or refine modules for feature extraction and information selection. Feedback components may be used to track the usage and value of annotations, in order to iteratively improve the annotation system.

Claims (66)

1. A system for annotation of electronic messages with contextual information, the system comprising:

a computer system comprising at least one processor, at least one tangible memory device, and at least one network interface;

an interface to a plurality of contextual information sources that communicates over one or more of said at least one network interface;

a processor coupled to a memory containing instructions executable by the processor to cause the system to:

receive an electronic message on one or more of said at least one network interface, wherein said electronic message comprises message content and message metadata, wherein the message metadata is not part of the message content;

analyze said message metadata of said electronic message and generate a set of features associated with said message metadata, wherein said set of features comprises a frequency distribution of n-grams appearing in said message metadata, wherein the length of each of said n-grams is between a minimum n-gram length and a maximum n-gram length;

identify one or more application-specific contextual information sources from among a plurality of contextual information sources based on the message metadata:

perform a metadata query against the one or more application-specific contextual information sources, wherein said metadata query is directed towards at least one private or public database and returns one or more contextual information items related to said metadata;

calculate a relevance score for each of a set of available contextual information items based on said one or more features associated with said message metadata;

rank said set of available contextual information items based on said relevance scores;

select a top-ranked subset of said set of available contextual information items;

transform said electronic message by adding said top-ranked subset of contextual information items to said message content of said electronic message to create an annotated electronic message, wherein said annotated electronic message provides relevant data to aid a recipient in at least one of utilizing said electronic message, understanding a meaning of said electronic message, and responding to said electronic message;

transmit said annotated electronic message on one or more of said at least one network interface to one or more recipients;

track whether and how said one or more recipients utilize said one or more contextual information items of said electronic messages that is annotated as annotation usage feedback data;

accept input from said one or more recipients as direct user feedback that allows users to indicate or rate a usefulness or relevance of said one or more contextual information items as direct user feedback data; and

use the annotation usage feedback data and the direct user feedback data to improve future feature extraction and information selection.

2. The system for annotation of electronic messages with contextual information of claim 1 , wherein said memory contains instructions executable by the processor to cause the system to attach said one or more contextual information items to said electronic message as attachments containing said one or more contextual information items or links or references to said one or more contextual information items.

3. The system for annotation of electronic messages with contextual information of claim 1 , wherein said memory contains instructions executable by the processor to cause the system to insert said one or more contextual information items or links or references to said one or more contextual information items into said contents of said electronic message.

4. The system for annotation of electronic messages with contextual information of claim 1 , wherein said relevance score is a similarity metric or a distance metric between said set of features associated with said message metadata and a corresponding set of features associated with or calculated from each of said available contextual information items.

5. The system for annotation of electronic messages with contextual information of claim 1 , wherein said memory contains instructions executable by the processor to cause the system to:

perform one or more queries against one or more external search engines based on said one or more features;

retrieve a set of top-ranked results from said one or more queries; and

annotate said electronic message with said set of top-ranked results.

6. The system for annotation of electronic messages with contextual information of claim 1 , wherein:

said set of features comprises said one or more recipients, and other features extracted from said electronic message;

contextual information items that each of said one or more recipients is permitted to access; and

said memory contains instructions executable by the processor to cause the system to select a set of contextual information items for each of said one or more recipients from the accessible subset of said contextual information items for that recipient, based on said other features extracted from said electronic message.

7. The system for annotation of electronic messages with contextual information of claim 1 , wherein said memory contains instructions executable by the processor to cause the system to categorize said electronic message or message metadata of said electronic message into one or more classes using a classifier.

8. The system for annotation of electronic messages with contextual information of claim 7 , wherein said classifier is a probabilistic classifier, and said memory contains instructions executable by the processor to cause the system to annotate said electronic message only if the probability of a correct classification from said probabilistic classifier exceeds a threshold probability.

9. The system for annotation of electronic messages with contextual information of claim 1 , wherein said memory contains instructions executable by the processor to cause the system to generate one or more topics associated with said electronic message using a probabilistic topic model.

10. The system for annotation of electronic messages with contextual information of claim 1 , wherein said memory contains instructions executable by the processor to cause the system to further use a training set to develop or revise methods for feature extraction and information selection.

11. The system for annotation of electronic messages with contextual information of claim 10 , wherein said direct user feedback is used to revise said methods for feature extraction and information selection.

12. The system for annotation of electronic messages with contextual information of claim 10 , wherein said memory contains instructions executable by the processor to cause the system to further:

monitor information searches of said one or more recipients after they receive said annotated electronic message; and

provide data on said information searches to be used to revise said methods for feature extraction and information selection.

13. The system for annotation of electronic messages with contextual information of claim 1 , wherein:

said electronic message contains one or more media items, each comprising one or more images, videos, audio clips, or any combinations thereof;

said memory contains instructions executable by the processor to cause the system to:

analyze said one or more media items to extract one or more segments of said one or more media items that represent one or more objects contained in said one or more media items; and

compare said one or more segments of said one or more media items to said at least one private or public database to identify said one or more objects and to select contextual information about said one or more objects.

14. The system for annotation of electronic messages with contextual information of claim 1 , wherein:

said electronic message contains medical information related to a medical or legal case; and

said information selection module selects information on other cases similar to said medical or legal case.

15. The system for annotation of electronic messages with contextual information of claim 1 , wherein said memory contains instructions executable by the processor to cause the system to:

extract or derive one or more locations from said message metadata, wherein said at least one private or public database comprises location-tagged contextual information items; and

select a set of said location-tagged contextual information items with location-tags that are equal to or in proximity to said one or more locations.

16. The system for annotation of electronic messages with contextual information of claim 15 , wherein said derive one or more locations from said message metadata comprises obtain the location of one or more of said one or more senders or of said one or more receivers from one or more of:

location configuration information describing usual or standard locations for one or more of said one or more senders or of said one or more receivers;

current sender location information describing the location of said one or more senders at the time said electronic message is composed or sent; and

current receiver location information describing the location of said one or more receivers at the time said annotated electronic message is received or read.

17. The system for annotation of electronic messages with contextual information of claim 1 , wherein the metadata query is performed against an external search engine.

18. The system for annotation of electronic messages with contextual information of claim 1 , wherein said relevance score is based on similarity between the frequency distribution of n-grams appearing in said message metadata and the frequency distribution of n-grams appearing in each of the available contextual information items.

19. The system for annotation of electronic messages with contextual information of claim 1 , wherein said relevance score is further based on tracked and direct user feedback obtained from at least one prior annotated electronic message.

20. A method for annotation of electronic messages with contextual information, the method comprising:

receiving an electronic message, wherein said electronic message comprises message content and message metadata, wherein the message metadata is not part of the message content;

analyzing said message metadata of said electronic message and generating a set of features associated with said message metadata, wherein said set of features comprises a frequency distribution of n-grams appearing in said message metadata, wherein the length of each of said n-grams is between a minimum n-gram length and a maximum n-gram length;

identifying one or more application-specific contextual information sources from among a plurality of contextual information sources based on the message metadata;

performing a metadata query against one or more application-specific contextual information sources over at least one network interface of a computer system, wherein said metadata query is directed towards at least one private or public database and returns one or more contextual information items related to said metadata;

calculating a relevance score for each of a set of available contextual information items based on said one or more features associated with said message metadata;

ranking said set of available contextual information items based on said relevance scores;

selecting a top-ranked subset of said set of available contextual information items;

transforming said electronic message by adding said top-ranked subset of contextual information items to said message content of said electronic message to create an annotated electronic message, wherein said annotated electronic message provides relevant data to aid a recipient in at least one of utilizing said electronic message, understanding a meaning of said electronic message, and responding to said electronic message;

transmitting said annotated electronic message to one or more recipients;

tracking whether and how said one or more recipients utilize said one or more contextual information items of said electronic messages that is annotated as annotation usage feedback data;

accepting input from said one or more recipients as direct user feedback that allows users to indicate or rate a usefulness or relevance of said one or more contextual information items as direct user feedback data; and

using the annotation usage feedback data and the direct user feedback data to improve future feature extraction and information selection.

Assignments (5)
SECURITY INTEREST Recorded May 20, 2022
From: MIMECAST NORTH AMERICA, INC.; MIMECAST SERVICES LIMITED
To: ARES CAPITAL CORPORATION
Reel/Frame 060132/0429 →
RELEASE OF SECURITY INTEREST Recorded May 19, 2022
From: JPMORGAN CHASE BANK, N.A.
To: MIMECAST SERVICES LTD.; ETORCH INC.
Reel/Frame 059962/0294 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 12, 2018
From: BORENSTEIN, NATHANIEL S.; AMPHLETT, MARC; JORDAN, CLIVE N.; LINSCOTT, MAX; O'MALLEY, NAILL; OSBORNE, JACQUELINE; PENTREATH, LUKE; SCOTT, OLIVER; SHARMA, RAHUL
To: MIMECAST NORTH AMERICA, INC.
Reel/Frame 047147/0770 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 12, 2018
From: MIMECAST NORTH AMERICA, INC.
To: MIMECAST SERVICES LTD.
Reel/Frame 047148/0017 →
SECURITY AGREEMENT Recorded Jul 23, 2018
From: MIMECAST SERVICES LIMITED
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 046616/0242 →
Continuity (2)
Continuation 14813034 · Jul 29, 2015
Related Publication 20170289080A1 · Oct 5, 2017
Cited By (1)
US 12,585,680