# US 11,113,315 B2 · Search keyword generation

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

- Number: US 11,113,315 B2
- Document ID: US11113315B2
- Status: Granted
- Kind: B2
- Application number: 16/395,398
- Filed: 2019-04-26
- Published: 2019-10-31
- Granted: 2021-09-07
- Earliest claimed: 2018-04-27
- Assignees: Branch Metrics, Inc.
- Applicants: Branch Metrics, Inc.
- Inventors: Eric J. Glover; Jyotsna Jayaraman
- Web page: https://patentgrep.com/patent/US11113315B2

## CPC

- G06F 16/285: {Clustering or classification}
- G06F 16/953: Querying, e.g. by the use of web search engines
- G06F 16/2448: {for particular applications; for extensibility, e.g. user defined types}
- G06F 16/288: {Entity relationship models}
- G06F 16/951: Indexing; Web crawling techniques
- G06F 16/9538: Presentation of query results
- G06Q 30/0623: {by investigating goods or services}
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- H04W 4/60: Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
- 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)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

A method includes acquiring application data for applications. The application data specifies an application category and includes application words that describe the application. The method includes determining, for each application word, a global fraction value that indicates the fraction of applications with the application word, a category fraction value that indicates the fraction of applications in the category with the application word, and a ratio value that indicates the ratio of the category fraction value to the global fraction value. The method includes classifying application words as categorical words when the ratio value is greater than a ratio threshold. The method includes identifying similar applications and setting categorical words as categorical search keywords for applications when the categorical words are in greater than a threshold number of similar applications. The method further includes receiving a query and generating search results based on matches between the query and categorical search keywords.

## Claims

### Claim 1

A method comprising:
acquiring, at a computing device, application data for a plurality of applications, wherein the application data for each application specifies one of a plurality of application categories and includes application words that describe the application;
determining, at the computing device, a global fraction value, a category fraction value, and a ratio value for each of the application words, wherein the global fraction value indicates the fraction of applications in the plurality of applications that include the application word, wherein the category fraction value indicates the fraction of applications in the associated category that include the application word, and wherein the ratio value indicates the ratio of the category fraction value to the global fraction value for the application word;
classifying, at the computing device, application words as categorical words when the ratio value associated with the application words is greater than a ratio threshold;
for each application, identifying similar applications based on similarity between the application words for the application and the application words for the similar applications;
for each application, setting categorical words as categorical search keywords for the application when the categorical words are included in greater than a threshold number of similar applications;
receiving, at the computing device, a search query from a user device;
identifying, at the computing device, search result applications based on matches between terms of the search query and categorical search keywords associated with the search result applications; and
sending, from the computing device, search results to the user device including download links for the search result applications.

### Claim 2 (depends on 1)

The method of claim 1, wherein the application words include an application title.

### Claim 3 (depends on 1)

The method of claim 1, wherein setting categorical words as categorical search keywords for the application comprises adding categorical search keywords from similar applications.

### Claim 4 (depends on 1)

The method of claim 1, wherein identifying similar applications comprises identifying similar applications in the same category based on the similarity between the categorical words in the application and the categorical words in the similar applications.

### Claim 5 (depends on 1)

The method of claim 1, further comprising classifying application words as categorical words when the ratio value associated with the application words is greater than the ratio threshold and the category fraction value of the application words is greater than a fraction value threshold.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
classifying application words as application-specific words when the global fraction value associated with the application words is less than a global fraction threshold value;
for each application, setting application-specific words as application-specific search keywords for the application; and
identifying search result applications based on matches between terms of the search query and application-specific search keywords associated with the search result applications.

### Claim 7 (depends on 6)

The method of claim 6, wherein identifying similar applications for each application comprises:
identifying matches between the categorical words in the application and the categorical words in the similar applications; and
identifying matches between the application-specific words in the application and the application-specific words in the similar applications.

### Claim 8 (depends on 7)

The method of claim 7, further comprising, for each application pair:
determining a first similarity value based on the identified matches between the categorical words;
determining a second similarity value based on the identified matches between the application-specific words; and
determining an application-pair similarity value for the application pair based on the first similarity value and the second similarity value.

### Claim 9 (depends on 1)

The method of claim 1, wherein the identified similar applications include a predetermined number of the most similar applications.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
classifying application words into a plurality of additional classifications based on the ratio values associated with the application words;
for each application, setting the additionally classified words as additional search keywords; and
identifying search result applications based on matches between terms of the search query and the additional search keywords associated with the search result applications.

### Claim 11 (depends on 10)

The method of claim 10, further comprising identifying similar applications based on the similarity between the additionally classified words for the application and the additionally classified words for the similar applications.

### Claim 12

A system comprising:
one or more storage devices configured to store application data for a plurality of applications, wherein the application data for each application specifies one of a plurality of application categories and includes application words that describe the application; and
one or more processing units that execute computer-readable instructions that cause the one or more processing units to:
determine a global fraction value, a category fraction value, and a ratio value for each of the application words, wherein the global fraction value indicates the fraction of applications in the plurality of applications that include the application word, wherein the category fraction value indicates the fraction of applications in the associated category that include the application word, and wherein the ratio value indicates the ratio of the category fraction value to the global fraction value for the application word;
classify application words as categorical words when the ratio value associated with the application words is greater than a ratio threshold;
for each application, identify similar applications based on similarity between the application words for the application and the application words for the similar applications;
for each application, set categorical words as categorical search keywords for the application when the categorical words are included in greater than a threshold number of similar applications;
receive a search query from a user device;
identify search result applications based on matches between terms of the search query and categorical search keywords associated with the search result applications; and
send search results to the user device including download links for the search result applications.

### Claim 13 (depends on 12)

The system of claim 12, wherein the application words include an application title.

### Claim 14 (depends on 12)

The system of claim 12, wherein the one or more processing units are configured to set categorical words as categorical search keywords for the application by adding categorical search keywords from similar applications.

### Claim 15 (depends on 12)

The system of claim 12, wherein the one or more processing units are configured to identify similar applications by identifying similar applications in the same category based on the similarity between the categorical words in the application and the categorical words in the similar applications.

### Claim 16 (depends on 12)

The system of claim 12, wherein the one or more processing units are configured to classify application words as categorical words when the ratio value associated with the application words is greater than the ratio threshold and the category fraction value of the application words is greater than a fraction value threshold.

### Claim 17 (depends on 12)

The system of claim 12, wherein the one or more processing units are configured to:
classify application words as application-specific words when the global fraction value associated with the application words is less than a global fraction threshold value;
for each application, set application-specific words as application-specific search keywords for the application; and
identify search result applications based on matches between terms of the search query and application-specific search keywords associated with the search result applications.

### Claim 18 (depends on 17)

The system of claim 17, wherein the one or more processing units are configured to identify similar applications for each application by:
identifying matches between the categorical words in the application and the categorical words in the similar applications; and
identifying matches between the application-specific words in the application and the application-specific words in the similar applications.

### Claim 19 (depends on 18)

The system of claim 18, wherein the one or more processing units are configured to, for each application pair:
determine a first similarity value based on the identified matches between the categorical words;
determine a second similarity value based on the identified matches between the application-specific words; and
determine an application-pair similarity value for the application pair based on the first similarity value and the second similarity value.

### Claim 20 (depends on 12)

The system of claim 12, wherein the identified similar applications include a predetermined number of the most similar applications.

### Claim 21 (depends on 12)

The system of claim 12, wherein the one or more processing units are configured to:
classify application words into a plurality of additional classifications based on the ratio values associated with the application words;
for each application, set the additionally classified words as additional search keywords; and
identify search result applications based on matches between terms of the search query and the additional search keywords associated with the search result applications.

### Claim 22 (depends on 21)

The system of claim 21, wherein the one or more processing units are configured to identify similar applications based on the similarity between the additionally classified words for the application and the additionally classified words for the similar applications.
