# US 2021/0241313 A1 · Systems and methods for keyword categorization

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

- Number: US 2021/0241313 A1
- Document ID: US20210241313A1
- Status: Published application
- Kind: A1
- Application number: 16/777,055
- Filed: 2020-01-30
- Published: 2021-08-05
- Earliest claimed: 2020-01-30
- Assignees: Walmart Apollo, LLC
- Applicants: Walmart Apollo, LLC
- Inventors: Zigeng Wang; Cheng Jie; Wei Shen
- Web page: https://patentgrep.com/patent/US20210241313A1

## CPC

- G06Q 30/0247: {Calculate past, present or future revenues}
- G06F 16/9024: {Graphs; Linked lists (G06F16/9027 takes precedence)}
- G06F 16/90344: {by using string matching techniques}
- G06F 16/906: Clustering; Classification
- G06Q 30/0256: {User search}
- G06Q 30/0275: {Auctions}
- 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

Systems and methods including one or more processors and one or more non-transitory storage devices storing computing instructions configured to run on the one or more processors and perform determining a respective interaction metric between at least two respective keywords of a plurality of keywords; constructing, using each respective interaction metric, as determined, a graph comprising a plurality of nodes connected by at least one edge; identifying one or more clusters of nodes using the graph; optimizing each cluster of nodes of the one or more clusters of nodes; and facilitating altering a graphical user interface (GUI) of an electronic device based upon a cluster of nodes of the one or more clusters of nodes, as identified and optimized. Other embodiments are disclosed herein.

## Claims

### Claim 1

A system comprising:
one or more processors; and
one or more non-transitory computer-readable storage devices storing computing instructions configured to run on the one or more processors and perform:
determining a respective interaction metric between at least two respective keywords of a plurality of keywords;
constructing, using each respective interaction metric, as determined, a graph comprising a plurality of nodes connected by at least one edge;
identifying one or more clusters of nodes using the graph;
optimizing each cluster of nodes of the one or more clusters of nodes; and
facilitating altering a graphical user interface (GUI) of an electronic device based upon a cluster of nodes of the one or more clusters of nodes, as identified and optimized.

### Claim 2 (depends on 1)

The system of claim 1, wherein determining the respective interaction metric comprises using a first set of rules that operate as a function of a respective total number of interactions for each respective keyword of the at least two respective keywords.

### Claim 3 (depends on 2)

The system of claim 2, wherein the first set of rules further operate as a function of a second respective number of user interactions for at least one respective shared keyword of the at least two respective keywords.

### Claim 4 (depends on 1)

The system of claim 1, wherein:
each respective node of the plurality of nodes represents at least one respective keyword of the plurality of keywords; and
each respective edge of the at least one edge:
connects a respective pair of nodes; and
represents a respective number of user interactions between the respective pair of nodes connected by the respective edge.

### Claim 5 (depends on 1)

The system of claim 1, wherein the computing instructions are further configured to run on the one or more processors and perform:
receiving at least one new keyword at the system; and
for each respective new keyword of the at least one new keyword received at the system:
when the respective new keyword is similar to respective keywords represented by a respective cluster of nodes of the one or more clusters of nodes, creating an edge between a respective node representing the respective new keyword and a node of the respective cluster of nodes of the one or more clusters of nodes.

### Claim 6 (depends on 5)

The system of claim 5, wherein creating the edge between the respective node representing the respective new keyword and the node of the respective cluster of nodes of the one or more clusters of nodes comprises:
vectorizing the respective new keyword of the at least one new keyword and the respective keywords; and
using a cosine similarity between the respective new keyword of the at least one new keyword, as vectorized, and the respective keywords, as vectorized, to determine when to create the edge between the respective node representing the respective new keyword and the node of the respective cluster of nodes of the one or more clusters of nodes.

### Claim 7 (depends on 1)

The system of claim 1, wherein facilitating altering the GUI of the electronic device based upon the cluster of keywords comprises:
using the one or more clusters of nodes in a revenue per click prediction; and
determining a bid on at least one keyword represented by at least one node in the one or more clusters of nodes using the revenue per click prediction.

### Claim 8 (depends on 1)

The system of claim 1, wherein:
identifying the one or more clusters of nodes further comprises using a union find algorithm on the graph; and
each respective node pair connected by a respective edge in the one or more clusters of nodes represents a respective pair of keywords having their respective interaction metric above a predetermined threshold.

### Claim 9 (depends on 1)

The system of claim 1, wherein optimizing each cluster of nodes of the one or more clusters of nodes comprises:
determining that a cluster coefficient of a cluster of nodes of the one or more clusters of nodes is below a predetermined threshold; and
after determining that the cluster coefficient of the cluster of nodes of the one or more clusters of nodes is below the predetermined threshold, removing at least one edge of the cluster of nodes from the one or more clusters of nodes.

### Claim 10 (depends on 9)

The system of claim 9, wherein the cluster coefficient of the cluster of nodes is determined using a set of cluster rules that operate as a function of a number of all triplets in the cluster of nodes and a number of closed triplets in the cluster of nodes.

### Claim 11

A method implemented via execution of computing instructions configured to run at one or more processors and configured to be stored at non-transitory computer-readable media, the method comprising:
determining a respective interaction metric between at least two respective keywords of a plurality of keywords;
constructing, using each respective interaction metric, as determined, a graph comprising a plurality of nodes connected by at least one edge;
identifying one or more clusters of nodes using the graph;
optimizing each cluster of nodes of the one or more clusters of nodes; and
facilitating altering a graphical user interface (GUI) of an electronic device based upon a cluster of nodes of the one or more clusters of nodes, as identified and optimized.

### Claim 12 (depends on 11)

The method of claim 11, wherein determining the respective interaction metric comprises using a first set of rules that operate as a function of a respective total number of interactions for each respective keyword of the at least two respective keywords.

### Claim 13 (depends on 12)

The method of claim 12, wherein the first set of rules further operate as a function of a second respective number of user interactions for at least one respective shared keyword of the at least two respective keywords.

### Claim 14 (depends on 11)

The method of claim 11, wherein:
each respective node of the plurality of nodes represents at least one respective keyword of the plurality of keywords; and
each respective edge of the at least one edge:
connects a respective pair of nodes; and
represents a respective number of user interactions between the respective pair of nodes connected by the respective edge.

### Claim 15 (depends on 11)

The method of claim 11 further comprising:
receiving at least one new keyword at the system; and
for each respective new keyword of the at least one new keyword received at the one or more processors:
when the respective new keyword is similar to respective keywords represented by a respective cluster of nodes of the one or more clusters of nodes, creating an edge between a respective node representing the respective new keyword and a node of the respective cluster of nodes of the one or more clusters of nodes.

### Claim 16 (depends on 15)

The method of claim 15, wherein creating the edge between the respective node representing the respective new keyword and the node of the respective cluster of nodes of the one or more clusters of nodes comprises:
vectorizing the respective new keyword of the at least one new keyword and the respective keywords; and
using a cosine similarity between the respective new keyword of the at least one new keyword, as vectorized, and the respective keywords, as vectorized, to determine when to create the edge between the respective node representing the respective new keyword and the node of the respective cluster of nodes of the one or more clusters of nodes.

### Claim 17 (depends on 11)

The method of claim 11, wherein facilitating altering the GUI of the electronic device based upon the cluster of keywords comprises:
using the one or more clusters of nodes in a revenue per click prediction; and
determining a bid on at least one keyword represented by at least one node in the one or more clusters of nodes using the revenue per click prediction.

### Claim 18 (depends on 11)

The method of claim 11, wherein:
identifying the one or more clusters of nodes further comprises using a union find algorithm on the graph; and
each respective node pair connected by a respective edge in the one or more clusters of nodes represents a respective pair of keywords having their respective interaction metric above a predetermined threshold.

### Claim 19 (depends on 11)

The method of claim 11, wherein optimizing each cluster of nodes of the one or more clusters of nodes comprises:
determining that a cluster coefficient of a cluster of nodes of the one or more clusters of nodes is below a predetermined threshold; and
after determining that the cluster coefficient of the cluster of nodes of the one or more clusters of nodes is below the predetermined threshold, removing at least one edge of the cluster of nodes from the one or more clusters of nodes.

### Claim 20 (depends on 19)

The method of claim 19, wherein the cluster coefficient of the cluster of nodes is determined using a set of cluster rules that operate as a function of a number of all triplets in the cluster of nodes and a number of closed triplets in the cluster of nodes.
