# US 2018/0024986 A1 · Extracting actionable information from emails

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

- Number: US 2018/0024986 A1
- Document ID: US20180024986A1
- Status: Published application
- Kind: A1
- Application number: 15/215,286
- Filed: 2016-07-20
- Published: 2018-01-25
- Earliest claimed: 2016-07-20
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC.
- Inventors: Jitendra Singh; Manoj Kumar Agarwal
- Web page: https://patentgrep.com/patent/US20180024986A1

## CPC

- G06F 16/313: {Selection or weighting of terms for indexing}
- G06F 16/322: {Trees}
- G06F 16/80: of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML (content-based retrieval of web data G06F16/95)
- G06F 40/131: Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
- G06F 40/14: Tree-structured documents (parsing G06F40/205; validation G06F40/226)
- G06F 40/186: Templates
- G06F 40/221: Parsing markup language streams (streaming G06F40/149)
- G06F 40/242: Dictionaries
- G06F 40/284: Lexical analysis, e.g. tokenisation or collocates
- G06Q 10/107: Computer-aided management of electronic mailing [e-mailing]
- G06Q 10/109: Time management, e.g. calendars, reminders, meetings or time accounting
- H04L 51/42: Mailbox-related aspects, e.g. synchronisation of mailboxes
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- 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)

## Abstract

Systems and methods are provided for extracting actionable information from emails in a completely unsupervised manner with no need for the data to be labeled (i.e., the systems and methods do not a human to identify unlabeled or relabeled emails). Changes in the email structure are automatically incorporated to learn new templates through the novel concept of sub-templates. The systems and methods incorporate the minor variations in email structure seamlessly, without needing to introduce new templates. Email templates are computed as permutations of multiple sub-templates in the email, which allows the systems and methods to handle variations in email structure seamlessly and highly efficiently. These systems and methods are extendable to any domain using structured emails, and improve the efficiency of the systems that receive and act on information contained in emails.

## Claims

### Claim 1

A method for improving efficiency of a computing device used in extracting actionable information from a message, comprising:
receiving a message;
parsing the message;
identifying one or more keywords from a dictionary in the parsed message;
separating the message into nodes;
generating node scores for the nodes;
identifying an area of interest based at least in part on the node scores;
correlating the area of interest to one or more sub-templates;
identifying a template based on the one or more sub-templates; and
extracting actionable information from the message based on the identified template.

### Claim 2 (depends on 1)

The method of claim 1, wherein the message is an email message formatted according to the Hypertext Markup Language.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
identifying a language of the parsed message; and
selecting the dictionary based on the identified language.

### Claim 4 (depends on 1)

The method of claim 1, wherein the message is separated into nodes based on a hierarchical structural in which the message is composed.

### Claim 5 (depends on 1)

The method of claim 1, wherein the node scores are generated by:
incrementing a given node score based on an associated node containing at least one keyword; and
adding the node scores of child nodes of a particular node to a particular node score associated with the particular node.

### Claim 6 (depends on 1)

The method of claim 1, wherein the identified area of interest comprises a given node and child nodes of the given node wherein the given node has a highest node score furthest from a root node.

### Claim 7 (depends on 6)

The method of claim 6, wherein the given node has the highest node score that is selected from the nodes scores at least a set number of tiers below the root node.

### Claim 8 (depends on 1)

The method of claim 1, wherein correlating the area of interest to the one or more sub-templates further comprises:
determining whether portions of the area of interest match one or more existing sub-templates;
in response to determining that a given portion of the area of interest matches a given existing sub-template, selecting the given sub-template; and
in response to determining that the given portion of the area of interest does not match the one or more existing sub-templates, saving the given portion as a new sub-template.

### Claim 9 (depends on 1)

The method of claim 1, wherein the actionable information extracted from the message is added to the dictionary.

### Claim 10 (depends on 1)

The method of claim 1, further comprising transmitting the extracted actionable information to one of:
a personal digital assistant; or
a calendar application.

### Claim 11

A system for improving efficiency of a computing device in extracting actionable information from a message, comprising:
a parser, operable to receive a message and break the message into nodes based on a structure of the message, wherein the nodes are organized according to a tree structure;
a domain dictionary, in communication with the parser;
a template library, in communication with the parser;
wherein the parser is further operable to identify keywords in nodes of the message matching entries in the domain dictionary and assign node scores to each of the nodes based on keyword presence;
wherein the parser is further operable to identify an area of interest in the message comprising a given node and child nodes of the given node based on the given node having a highest node score that is furthest from a root of the tree structure;
wherein the parser is further operable to identify a template for the message from the template library; and
wherein the parser is further operable to extract actionable information from the area of interest based on the template.

### Claim 12 (depends on 11)

The system of claim 11, wherein the extracted actionable information is transmitted to a personal digital assistant and integrated into a calendar application.

### Claim 13 (depends on 11)

The system of claim 11, wherein the keywords include:
names;
dates;
holidays; and
times.

### Claim 14 (depends on 11)

The system of claim 11, wherein the domain dictionary is selected from a plurality of domain dictionaries based on a sender of the message.

### Claim 15 (depends on 11)

The system of claim 11, wherein the domain dictionary is built based on text included in the area of interest.

### Claim 16 (depends on 11)

The system of claim 11, wherein the template library is built based on identifying tree structures and node scores from portions of the area of interest that are repeated in multiple messages.

### Claim 17

A computer readable storage device including instructions, which when executed by a processor are operable to:
defining a plurality of nodes of an email message, the plurality of nodes arranged in a tree structure based on a structure of the email message;
parse the email message according to a domain dictionary to identify keywords from the domain dictionary included in leaf nodes in the tree structure;
increment a node score for each leaf node that includes at least one keyword;
combine node scores of each child node of the tree structure at a parent node;
identify a node in the tree structure having a highest node score;
define the node having the highest node score and child nodes of the node having the highest node score as an core region in the email message;
identify one or more sub-templates having tree structures and node scores matching tree structures and node scores of one or more portions of the core region;
identify an ur-template that includes the one or more sub-templates; and
extract actionable information from the core region based on the ur-template.

### Claim 18 (depends on 17)

The computer readable storage device of claim 17, wherein when the highest node score is shared by multiple nodes, a node of the multiple nodes sharing the highest node score located furthest from the root node in the tree structure is selected as the node with the highest node score.

### Claim 19 (depends on 17)

The computer readable storage device of claim 17, wherein when the tree structures and the node scores of the one or more portions of the email message do not match a known sub-template, the tree structures and the node scores of the one or more portions are saved as new sub-templates.

### Claim 20 (depends on 17)

The computer readable storage device of claim 17, wherein the structure of the email message is formatted according to Hypertext Markup Language and the nodes and the tree structure are determined based on tags of the elements.
