# US 12,224,974 B2 · End-to-end email tag prediction

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,224,974 B2
- Document ID: US12224974B2
- Status: Granted
- Kind: B2
- Application number: 17/403,596
- Filed: 2021-08-16
- Published: 2021-12-02
- Granted: 2025-02-11
- Earliest claimed: 2019-12-09
- Assignees: Oracle International Corporation
- Applicants: Oracle International Corporation
- Inventors: Naveen Jafer Nizar; Kyasaram Vishwa Prasad; Anilkumar Gande; Ayushi Behl; Subir Kawal Hira
- Web page: https://patentgrep.com/patent/US12224974B2

## CPC

- G06Q 10/107: Computer-aided management of electronic mailing [e-mailing]
- H04L 51/234: for tracking messages
- G06F 16/26: Visual data mining; Browsing structured data
- G06F 16/313: {Selection or weighting of terms for indexing}
- G06F 16/328: {Management therefor}
- G06F 16/358: Browsing; Visualisation therefor
- G06F 16/383: using metadata automatically derived from the content
- G06N 3/0464: Convolutional networks [CNN, ConvNet]
- G06N 3/09: Supervised learning
- H04L 9/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- H04L 51/08: Annexed information, e.g. attachments
- H04L 51/18: Commands or executable codes
- H04L 51/42: Mailbox-related aspects, e.g. synchronisation of mailboxes
- G06N 3/045: Combinations of networks
- G06N 3/08: Learning methods
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A system provides automatic, end-to-end tagging of email messages. While a message is being composed at a sending email client, the server may receive email information that is used as an input to a predictive model. The model identifies tags that are available to a specific user group or email list that apply to the email message. These predicted tags are sent back to the email client, where they may be embedded in the email message with other user-defined tags. As the message is passed through the email server, the system may use any changes made to the predicted tags to retrain the model. When the message is received at a second email client, the receiver may further edit the tags, and any changes may again be used to retrain the model.

## Claims

### Claim 1

A non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:
receiving email information from a first email client, wherein the email information is associated with an email message to be sent from the first email client to a second email client;
generating a set of predicted tags from a set of available tags for the email message using a model;
sending, by the email server, the set of predicted tags to the first email client to be appended to the email message;
receiving the email message, a set of user tags, a set of unselected tags, and a set of selected tags from the first email client as the email message is sent to the second email client, wherein:
the set of selected tags were selected from the set of predicted tags by a user;
the set of unselected tags were not selected by from the set of predicted tags; and the set of user tags were provided by the user instead of being selected from the set of predicted tags; and
retraining the model based on the set of selected tags, the set of unselected tags, and the set of user tags.

### Claim 2 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the operations further comprise:
providing the email information to the model, wherein the model generates scores for the set of available tags; and
identifying the set of predicted tags as a subset of the set of available tags based at least in part on the scores.

### Claim 3 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the set of selected tags is embedded in a header of the email message when it is sent to the second email client.

### Claim 4 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the operations further comprise:
receiving a request from the first email client comprising a prefix of a new tag being received from a user;
identifying a set of auto complete tags in the set of available tags that begin with the prefix; and
sending the set of auto complete tags to the first email client.

### Claim 5 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the first email client is configured to generate a user interface that includes a display of an email header that includes the set of predicted tags.

### Claim 6 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the operations further comprise generating a hash key based on the email information, wherein the hash key uniquely identifies the email message.

### Claim 7 (depends on 6)

The non-transitory computer-readable medium of claim 6, wherein the operations further comprise storing the hash key in a hash map of hash keys, wherein each of the hash keys in the hash map references a data structure representing a subset of the set of available tags that are not part of the set of predicted tags.

### Claim 8 (depends on 7)

The non-transitory computer-readable medium of claim 7, wherein the data structure comprises a weighted trie of prefixes.

### Claim 9 (depends on 7)

The non-transitory computer-readable medium of claim 7, wherein the operations further comprise:
receiving a prefix and the email information from the first email client;
re-generating the hash key using the email information;
using the hash key to reference a data structure for the email message; and
retrieving one or more tags in the set of available tags from the data structure that complete the prefix.

### Claim 10 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the operations further comprise receiving the set of selected tags from an email server through which the email message is transmitted.

### Claim 11 (depends on 10)

The non-transitory computer-readable medium of claim 10, wherein the operations further comprise receiving a set of user tags from the email server that are different from the set of selected tags.

### Claim 12 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the model is selected from a plurality of models, wherein each of the plurality of models is assigned to a different user group.

### Claim 13 (depends on 12)

The non-transitory computer-readable medium of claim 12, wherein each different user group corresponds to a predefined mailing list.

### Claim 14 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the operations further comprise:
receiving second email information from an email server through which a second email message is transmitted from the first email client;
providing the second email information to the model to identify a second set of predicted tags from the set of available tags; and
sending the second set of predicted tags to the email server, wherein the second set of predicted tags are sent with the second email message to the second email client.

### Claim 15 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the operations further comprise:
receiving changes to the set of selected tags or new user tags from the second email client after the second email client receives the email message; and
retraining the model using the email information and the changes to the set of selected tags or the new user tags from the second email client.

### Claim 16 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the model comprises:
a word embedding matrix populated using the email information;
a plurality of convolutional filters having different window sizes; and
a max pooling operation using results from the plurality of convolution filters.

### Claim 17

A method of automatically generating end-to-end email tags in an email system, the method comprising:
receiving email information from a first email client, wherein the email information is associated with an email message to be sent from the first email client to a second email client;
generating a set of predicted tags from a set of available tags for the email message using a model;
sending, by the email server, the set of predicted tags to the first email client to be appended to the email message;
receiving the email message, a set of user tags, a set of unselected tags, and a set of selected tags from the first email client as the email message is sent to the second email client, wherein: the set of selected tags were selected from the set of predicted tags by a user; the set of unselected tags were not selected by from the set of predicted tags; and the set of user tags were provided by the user instead of being selected from the set of predicted tags; and
retraining the model based on the set of selected tags, the set of unselected tags, and the set of user tags.

### Claim 18

A system comprising:
one or more processors; and
one or more memory devices comprising instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:
receiving email information from a first email client, wherein the email information is associated with an email message to be sent from the first email client to a second email client;
generating a set of predicted tags from a set of available tags for the email message using a model;
sending, by the email server, the set of predicted tags to the first email client to be appended to the email message;
receiving the email message, a set of user tags, a set of unselected tags, and a set of selected tags from the first email client as the email message is sent to the second email client, wherein: the set of selected tags were selected from the set of predicted tags by a user;
the set of unselected tags were not slected by from the set of predicted tags; and the set of user tags were provided by the user instead of being selected from the set of predicted tags; and
retraining the model based on the set of selected tags, the set of unselected tags, and the set of user tags.
