# US 11,122,068 B2 · Network security database filtering tool

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

- Number: US 11,122,068 B2
- Document ID: US11122068B2
- Status: Granted
- Kind: B2
- Application number: 16/577,170
- Filed: 2019-09-20
- Published: 2020-01-09
- Granted: 2021-09-14
- Earliest claimed: 2016-11-18
- Assignees: Bank of America Corporation
- Applicants: Bank of America Corporation
- Inventors: Pinak Chakraborty; Vidhu Beohar; Chetan Phanse
- Web page: https://patentgrep.com/patent/US11122068B2

## CPC

- H04L 63/1425: {Traffic logging, e.g. anomaly detection}
- G06F 16/9535: Search customisation based on user profiles and personalisation
- G06F 40/126: Character encoding
- G06F 40/194: Calculation of difference between files
- 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)

## Abstract

A method comprises creating a word vector from a message, wherein the word vector comprises creating a word vector from a message stored in a database, wherein the word vector comprises an entry for each word of the plurality of words and each entry indicating a number of occurrences in the message of the word for that entry. The method further comprising calculating a cosine difference between the word vector and each group vector of a plurality of group vectors and assigning the word vector to a group for a group vector of the plurality of group vectors based on the calculated cosine difference between the word vector and the group vector for the group. The method may also comprise reformatting the message to include a phrase and assigning the phrase to the same group that the word vector is assigned to. The method may also comprise notifying the user.

## Claims

### Claim 1

A network security database filtering tool comprising:
a memory configured to store a plurality of group vectors, wherein each group vector is associated with a network security issue;
a translation engine configured to create a word vector from a message, wherein:
the word vector comprises an entry for each word of the message;
each entry indicating a number of occurrences in the message of the word for that entry; and
the word vector associates each word of the message with a weight;
a filtering engine configured to:
calculate a cosine difference between the word vector and each group vector of the plurality of the group vectors; and
assign the word vector to a group for a group vector of the plurality of group vectors based on the calculated cosine difference between the word vector and the group vector for the group, wherein the group indicates a subtype of network security issue associated with the group vector;
a reformatting engine configured to:
identify one or more words in the word vector associated with a weight greater than a weight threshold value;
extract the one or more words associated with a weight greater than the weight threshold value;
create a second message using the extracted one or more words;
assign the second message to the group assigned to the word vector; and
send a notification to a user associated with the message in response to assigning the word vector to the group.

### Claim 2 (depends on 1)

The database filtering tool of claim 1, wherein:
the memory is further configured to store a preferred entry format;
the reformatting engine configured to reformat the message to include a phrase based on the preferred entry format, wherein the phrase is assigned to the same group as the word vector.

### Claim 3 (depends on 2)

The database filtering tool of claim 2, further comprising an update engine configured to update a group vector of the plurality of group vectors based on the assignment of the phrase.

### Claim 4 (depends on 1)

The database filtering tool of claim 1, wherein the memory is further configured to store information about a user who submitted the message.

### Claim 5 (depends on 1)

The database filtering tool of claim 1, wherein the cosine difference between the word vector and the group vector for the group is less than or equal to each cosine difference between the word vector and each other group vector of the plurality of group vectors.

### Claim 6 (depends on 1)

The database filtering tool of claim 1, wherein the cosine difference between the word vector and the group vector is compared to a threshold.

### Claim 7

A method comprising:
creating a word vector from a message, wherein:
the word vector comprises an entry for each word of the message;
each entry indicating a number of occurrences in the message of the word for that entry; and
the word vector associates each word of the message with a weight;
calculating cosine difference between the word vector and each group vector of a plurality of group vectors, wherein each group vector is associated with a network security issue;
assigning the word vector to a group for a group vector of the plurality of group vectors based on the calculated cosine difference between the word vector and the group vector for the group, wherein the group indicates a subtype of network security issue associated with the group vector;
identifying one or more words in the word vector associated with a weight greater than a weight threshold value;
extracting the one or more words associated with a weight greater than the weight threshold value;
creating a second message using the extracted one or more words;
assigning the second message to the group assigned to the word vector; and
sending a notification to a user associated with the message in response to assigning the word vector to the group.

### Claim 8 (depends on 7)

The method of claim 7, further comprising reformatting the message to include a phrase based on a preferred entry format, wherein the phrase is assigned to the same group as the word vector.

### Claim 9 (depends on 8)

The method of claim 8, further comprising updating a group vector of the plurality of group vectors based on the assignment of the phrase.

### Claim 10 (depends on 7)

The method of claim 7, wherein calculating the cosine difference between the word vector and the group vector for the group is less than or equal to each cosine difference between the word vector and each other group vector of the plurality of group vectors.

### Claim 11 (depends on 7)

The method of claim 7, wherein assigning the word vector to a group for a group vector of the plurality of group vectors comprises comparing the cosine difference between the word vector and the group vector to a threshold.

### Claim 12

A computer program comprising executable instructions stored in a non-transitory computer-readable storage medium that when executed by a processor causes the processor to:
create a word vector from a message, wherein:
the word vector comprises an entry for each word of the message;
each entry indicating a number of occurrences in the message of the word for that entry; and
the word vector associates each word of the message with a weight;
calculate a cosine difference between the word vector and each group vector of a plurality of the group vectors, wherein each group vector is associated with a network security issue;
assign the word vector to a group for a group vector of the plurality of group vectors based on the calculated cosine difference between the word vector and the group vector for the group, wherein the group indicates a subtype of network security issue associated with the group vector;
identify one or more words in the word vector associated with a weight greater than a weight threshold value;
extract the one or more words associated with a weight greater than the weight threshold value;
create a second message using the extracted one or more words;
assign the second message to the group assigned to the word vector; and
send a notification to a user associated with the message in response to assigning the word vector to the group.

### Claim 13 (depends on 12)

The computer program of claim 12, wherein the software is further operable when executed to reformat the message to include a phrase based on the preferred entry format, wherein the phrase is assigned to the same group as the word vector.

### Claim 14 (depends on 13)

The computer program of claim 13, wherein the software is further operable when executed to update a group vector of the plurality of group vectors based on the assignment of the phrase.

### Claim 15 (depends on 12)

The computer program of claim 12, wherein the software is further operable when executed to assign the word vector to a group for a group vector when the cosine difference between the word vector and the group vector for the group is less than or equal to each cosine difference between the word vector and each other group vector of the plurality of group vectors.

### Claim 16 (depends on 12)

The computer program of claim 12, wherein the software is further operable when executed to assign the word vector to a group for a group vector based on comparing the cosine difference between the word vector and the group vector to a threshold.
