# US 2019/0244175 A1 · System for Inspecting Messages Using an Interaction Engine

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

- Number: US 2019/0244175 A1
- Document ID: US20190244175A1
- Status: Published application
- Kind: A1
- Application number: 15/890,152
- Filed: 2018-02-06
- Published: 2019-08-08
- Earliest claimed: 2018-02-06
- Assignees: Bank of America Corporation
- Applicants: Bank of America Corporation
- Inventors: Michael E. Ogrinz; James M. Thomas; Varadharajan Candhadai Ramaswamy; Kathleen D. Schaumburg
- Web page: https://patentgrep.com/patent/US20190244175A1

## CPC

- G06Q 10/107: Computer-aided management of electronic mailing [e-mailing]
- G06F 40/295: Named entity recognition
- G06F 40/30: Semantic analysis
- G06Q 10/063: Operations research, analysis or management
- 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
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system for categorizing vendor interactions by inspecting messages is disclosed. The system is configured to scan a plurality of messages and identify keywords from the body of the messages. Based on the identified keywords, the system determines a topic for each of the messages. The system further performs a sentiment analysis to determine an overall contextual polarity for each of the messages and categorizes the messages based on the determined overall contextual polarity. Additionally, the system stores the determined overall contextual polarity and the category of the messages in interaction data entries.

## Claims

### Claim 1

A system for categorizing vendor interactions with an enterprise, comprising:
one or more interfaces operable to receive a plurality of messages;
a memory operable to store the plurality of messages; and
one or more processor communicatively coupled to the memory and operable to:
retrieve a first message of the plurality of messages;
scan a body of the first message;
identify one or more keywords in the body of the first message;
determine a topic of the first message based on the identified one or more keywords;
perform a sentiment analysis on the body of the first message;
determine an overall contextual polarity of the first message based on the sentiment analysis;
determine a category of the first message based on the determined overall contextual polarity; and
store the determined overall contextual polarity and the determined category of the first message in an interaction data entry.

### Claim 2 (depends on 1)

The system of claim 1, wherein the one or more processor are further operable to:
remove words that are not alphanumeric; and
remove stop words.

### Claim 3 (depends on 1)

The system of claim 1, wherein identifying the one or more keywords in the body of the first message comprises:
calculating a word frequency distribution of the body of the first message;
identifying a set of most frequently used nouns in the body of the first message;
extracting a set of named entities from the body of the first message; and
identifying the one or more keywords as an intersection of the set of most frequently used nouns and the set of named entities.

### Claim 4 (depends on 1)

The system of claim 1, wherein the topic of the first message comprises a service, or a product of a vendor.

### Claim 5 (depends on 1)

The system of claim 1, wherein the sentiment analysis comprises at least one of the following:
natural language processing;
text analysis; or
computational linguistics.

### Claim 6 (depends on 1)

The system of claim 1, wherein determining the overall contextual polarity of the first message based on the sentiment score comprises:
identifying a plurality of polarity bearing words in the body of the first message based on the sentiment analysis;
determining a sentiment number for each polarity bearing word;
calculating a sum of the sentiment number for each polarity bearing word; and
determining a sentiment score of the first message by dividing the sum by a number of the polarity bearing words.

### Claim 7 (depends on 6)

The system of claim 6, wherein determining the overall contextual polarity of the first message further comprises:
if the sentiment score exceeds a predetermined first threshold, determining that the overall contextual polarity of the first message is positive; and
if the sentiment score is below a predetermined second threshold, determining that the overall contextual polarity is negative, wherein the predetermined second threshold is lower then the predetermined first threshold.

### Claim 8 (depends on 1)

The system of claim 1, wherein determining a category of the first message based on the determined overall contextual polarity comprises:
if the overall contextual polarity of the first message is determined to be positive, categorizing the first message as a good communication; and
if the overall contextual polarity of the first message is determined to be negative, categorizing the first message as a bad communication.

### Claim 9

A non-transitory computer-readable medium comprising logic for categorizing vendor interactions with an enterprise, the logic, when executed by a processor, operable to:
receive a plurality of messages;
retrieve a first message of the plurality of messages;
scan a body of the first message;
identify one or more keywords in the body of the first message;
determine a topic of the first message based on the identified one or more keywords;
perform a sentiment analysis on the body of the first message;
determine an overall contextual polarity of the first message based on the sentiment analysis;
determine a category of the first message based on the determined overall contextual polarity; and
store the determined overall contextual polarity and the determined category of the first message in an interaction data entry.

### Claim 10 (depends on 9)

The non-transitory computer-readable medium of claim 9, wherein identifying the one or more keywords in the body of the first message comprises:
calculating a word frequency distribution of the body of the first message;
identifying a set of most frequently used nouns in the body of the first message;
extracting a set of named entities from the body of the first message; and
identifying the one or more keywords as an intersection of the set of most frequently used nouns and the set of named entities.

### Claim 11 (depends on 9)

The non-transitory computer-readable medium of claim 9, wherein the topic of the first message comprises a service, or a product of a vendor.

### Claim 12 (depends on 9)

The non-transitory computer-readable medium of claim 9, wherein determining the overall contextual polarity of the first message based on the sentiment score comprises:
identifying a plurality of polarity bearing words in the body of the first message based on the sentiment analysis;
determining a sentiment number for each polarity bearing word;
calculating a sum of the sentiment number for each polarity bearing word; and
determining a sentiment score of the first message by dividing the sum by a number of the polarity bearing words.

### Claim 13 (depends on 12)

The non-transitory computer-readable medium of claim 12, wherein determining the overall contextual polarity of the first message further comprises:
if the sentiment score exceeds a predetermined first threshold, determining that the overall contextual polarity of the first message is positive; and
if the sentiment score is below a predetermined second threshold, determining that the overall contextual polarity is negative, wherein the predetermined second threshold is lower then the predetermined first threshold.

### Claim 14 (depends on 9)

The non-transitory computer-readable medium of claim 9, wherein determining a category of the first message based on the determined overall contextual polarity comprises:
if the overall contextual polarity of the first message is determined to be positive, categorizing the first message as a good communication; and
if the overall contextual polarity of the first message is determined to be negative, categorizing the first message as a bad communication.

### Claim 15

A method for categorizing vendor interactions with an enterprise, comprising:
receiving a plurality of messages;
retrieving a first message of the plurality of messages;
scanning a body of the first message;
identifying one or more keywords in the body of the first message;
determining a topic of the first message based on the identified one or more keywords;
performing a sentiment analysis on the body of the first message;
determining an overall contextual polarity of the first message based on the sentiment analysis;
determining a category of the first message based on the determined overall contextual polarity; and
storing the determined overall contextual polarity and the determined category of the first message in an interaction data entry.

### Claim 16 (depends on 15)

The method of claim 15, wherein identifying the one or more keywords in the body of the first message comprises:
calculating a word frequency distribution of the body of the first message;
identifying a set of most frequently used nouns in the body of the first message;
extracting a set of named entities from the body of the first message; and
identifying the one or more keywords as an intersection of the set of most frequently used nouns and the set of named entities.

### Claim 17 (depends on 15)

The method of claim 15, wherein the topic of the first message comprises a service, or a product of a vendor.

### Claim 18 (depends on 15)

The method of claim 15, wherein determining the overall contextual polarity of the first message based on the sentiment score comprises:
identifying a plurality of polarity bearing words in the body of the first message based on the sentiment analysis;
determining a sentiment number for each polarity bearing word;
calculating a sum of the sentiment number for each polarity bearing word; and
determining a sentiment score of the first message by dividing the sum by a number of the polarity bearing words.

### Claim 19 (depends on 18)

The method of claim 18, wherein determining the overall contextual polarity of the first message further comprises:
if the sentiment score exceeds a predetermined first threshold, determining that the overall contextual polarity of the first message is positive; and
if the sentiment score is below a predetermined second threshold, determining that the overall contextual polarity is negative, wherein the predetermined second threshold is lower then the predetermined first threshold.

### Claim 20 (depends on 15)

The method of claim 15, wherein determining a category of the first message based on the determined overall contextual polarity comprises:
if the overall contextual polarity of the first message is determined to be positive, categorizing the first message as a good communication; and
if the overall contextual polarity of the first message is determined to be negative, categorizing the first message as a bad communication.
