# US 2016/0253418 A1 · System, method, and non-transitory computer-readable storage media for generating synonyms of a search query

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

- Number: US 2016/0253418 A1
- Document ID: US20160253418A1
- Status: Published application
- Kind: A1
- Application number: 14/634,657
- Filed: 2015-02-27
- Published: 2016-09-01
- Earliest claimed: 2015-02-27
- Assignees: Wal-Mart Stores, Inc.
- Applicants: Wal-Mart Stores, Inc.
- Inventors: Monadhika Sharma; Andrei Lopatenko; Seshadri Sridharan
- Web page: https://patentgrep.com/patent/US20160253418A1

## CPC

- G06F 16/3322: {using system suggestions (G06F16/3325 takes precedence)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system for generating synonyms of a search query includes a database for storing session logs including query data and a processor configured to execute computer-readable instructions for tying the search query to a category, analyzing query data of session logs to formulate groups of synonym candidates, selecting one of groups containing a synonym candidate that matches the search query, and filtering the selected group by tying each candidate of the selected group to a respective category, comparing the category of the search query with the category of each of the candidates of the selected group, and removing at least one candidate from the selected group to form a set of synonyms with each synonym being tied to a category that is common with the category of the search query. A method and one or more non-transitory computer-readable storage media for generating synonyms of a search query are also disclosed.

## Claims

### Claim 1

A system for generating synonyms of a search query, said system comprising:
a database for storing a plurality of session logs with each session log including query data;
a processor in communication with the database and configured to execute computer-readable instructions causing the processor to:
tie the search query to a category;
analyze the query data of the plurality of session logs to formulate a plurality of groups of synonym candidates;
select one of the plurality of groups of synonym candidates containing a synonym candidate that matches the search query; and
filter the selected group of synonym candidates by causing the processor to:
tie each synonym candidate of the selected group of synonym candidates to a category;
compare the category of the search query with the category of each of the synonym candidates of the selected group of synonym candidates; and
remove at least one synonym candidate from the selected group of synonym candidates to form a set of synonyms with each synonym being tied to a category that is common with the category of the search query.

### Claim 2 (depends on 1)

The system as set forth in claim 1 wherein the processor is further configured to execute computer-readable instructions causing the processor to:
collect the query data of each of the plurality of session logs from a corresponding session;
organize the query data into the plurality of session logs; and
store the plurality of session logs in the database.

### Claim 3 (depends on 1)

The system as set forth in claim 1 wherein the processor is further configured to execute computer-readable instructions causing the processor to reformulate the plurality of groups of synonym candidates so that each group of synonym candidates includes a plurality of synonym candidates having a frequency of occurring that exceeds a predetermined threshold value.

### Claim 4 (depends on 1)

The system as set forth in claim 1 wherein the computer-readable instructions causing the processor to filter the selected group of synonym candidates further causes the processor to remove at least one synonym candidate from the selected group of synonym candidates that has a spelling error.

### Claim 5 (depends on 1)

The system as set forth in claim 1 wherein the computer-readable instructions causing the processor to filter the selected group of synonym candidates further causes the processor to remove at least one synonym candidate from the selected group of synonym candidates that qualifies as a stemming query of an other synonym candidate of the selected group of synonym candidates.

### Claim 6 (depends on 1)

The system as set forth in claim 1 wherein the computer-readable instructions causing the processor to filter the selected group of synonym candidates further causes the processor to remove at least one synonym candidate from the selected group of synonym candidates that qualifies as a corner query.

### Claim 7 (depends on 1)

The system as set forth in claim 1 wherein the computer-readable instructions causing the processor to filter the selected group of synonym candidates further causes the processor to remove at least one synonym candidate from the selected group of synonym candidates that is mutually non-exclusive from an other synonym candidate of the selected group of synonym candidates.

### Claim 8 (depends on 1)

The system as set forth in claim 1 wherein the computer-readable instructions causing the processor to filter the selected group of synonym candidates further causes the processor to remove at least one synonym candidate from the selected group of synonym candidates that has an edit distance of three or more words from an other candidate of the selected group of synonym candidates.

### Claim 9 (depends on 1)

The system as set forth in claim 1 wherein the computer-readable instructions causing the processor to filter the selected group of synonym candidates further causes the processor to:
collect category data during a session; and
determine a frequency of an item being selected having a category that is common with the category of the search query.

### Claim 10

A method for generating synonyms of a search query with one or more steps of said method being performed utilizing a processor, said method comprising the steps of:
tying the search query to a category;
analyzing query data of a plurality of session logs to formulate a plurality of groups of synonym candidates;
selecting one of the plurality of groups of synonym candidates containing a synonym candidate that matches the search query;
filtering the selected group of synonym candidates, the filtering step including the steps of:
tying each synonym candidate of the selected group of synonym candidates to a respective category;
comparing the category of the search query with the category of each of the synonym candidates of the selected group of synonym candidates; and
removing at least one synonym candidate from the selected group of synonym candidates to form a set of synonyms with each synonym being tied to a category that is common with the category of the search query.

### Claim 11 (depends on 10)

The method as set forth in claim 10 further comprising the steps of:
collecting the query data of each of the plurality of session logs from a corresponding session;
organizing the query data into the plurality of session logs; and
storing the plurality of session logs in the database.

### Claim 12 (depends on 10)

The method as set forth in claim 10 further comprising the step of reformulating the plurality of groups of synonym candidates so that each group of synonym candidates includes a plurality of synonym candidates having a frequency of occurring that exceeds a predetermined threshold value.

### Claim 13 (depends on 10)

The method as set forth in claim 10 wherein the step of filtering the selected group of synonym candidates further comprises the step of removing at least one synonym candidate from the selected group of synonym candidates that has a spelling error.

### Claim 14 (depends on 10)

The method as set forth in claim 10 wherein the step of filtering the selected group of synonym candidates further comprises the step of removing at least one synonym candidate from the selected group of synonym candidates that qualifies as a stemming query of an other synonym candidate of the selected group of candidates.

### Claim 15 (depends on 10)

The method as set forth in claim 10 wherein the step of filtering the selected group of synonym candidates further comprises the step of removing at least one synonym candidate from the selected group of synonym candidates that qualifies as a corner query.

### Claim 16 (depends on 10)

The method as set forth in claim 10 wherein the step of filtering the selected group of synonym candidates further comprises the step of removing at least one synonym candidate from the selected group of synonym candidates that is mutually non-exclusive from an other synonym candidate of the selected group of synonym candidates.

### Claim 17 (depends on 10)

The method as set forth in claim 10 wherein the step of filtering the selected group of synonym candidates further comprises the step of removing at least one synonym candidate from the selected group of synonym candidates that has an edit distance of three or more words from an other candidate of the selected group of synonym candidates.

### Claim 18 (depends on 10)

The method as set forth in claim 10 wherein the step of filtering the selected group of synonym candidates further comprises the steps of:
collecting category data during a session; and
determining a frequency of an item being selected having a category that is common with the category of the search query.

### Claim 19 (depends on 10)

The method as set forth in claim 10 wherein the step of analyzing the query data of the plurality of session logs to formulate the plurality of groups of synonym candidates occurs offline.

### Claim 20 (depends on 10)

The method as set forth in claim 10 wherein the steps of selecting one of the plurality of groups of synonym candidates containing a synonym candidate that matches the search query and filtering the selected group of synonym candidates occurs in real time.

### Claim 21

One or more non-transitory computer-readable storage media having computer-executable instructions embodied thereon and, when executed by a processor, causes the processor to:
tie the search query to a category;
analyze query data of a plurality of session logs to formulate a plurality of groups of synonym candidates;
select one of the plurality of groups of synonym candidates containing a synonym candidate that matches the search query; and
filter the selected group of synonym candidates by causing the processor to:
tie each synonym candidate of the selected group of synonym candidates to a respective category;
compare the category of the search query with the category of each of the synonym candidates of the selected group of synonym candidates; and
remove at least one synonym candidate from the selected group of synonym candidates to form a set of synonyms with each synonym being tied to a category that is common with the category of the search query.

### Claim 22 (depends on 21)

The one or more non-transitory computer-readable storage media, having computer-readable instructions embodied thereon, as set forth in claim 21, wherein the processor is further configured to:
collect the query data of each of the plurality of session logs from a corresponding session;
organize the query data into the plurality of session logs; and
store the plurality of session logs in the database.

### Claim 23 (depends on 21)

The one or more non-transitory computer-readable storage media, having computer-readable instructions embodied thereon, as set forth in claim 21, wherein the processor is further configured to execute the computer-readable instructions causing the processor to reformulate the plurality of groups of synonym candidates so that each group of synonym candidates includes a plurality of synonym candidates having a frequency of occurring that exceeds a predetermined threshold value.

### Claim 24 (depends on 21)

The one or more non-transitory computer-readable storage media, having computer-readable instructions embodied thereon, as set forth in claim 21, wherein the computer-readable instructions causing the processor to filter the selected group of synonym candidates further causes the processor to remove at least one synonym candidate from the selected group of synonym candidates that has a spelling error, qualifies as a stemming query of an other synonym candidate of the selected group of synonym candidates, qualifies as a corner query, is mutually non-exclusive from an other synonym candidate of the selected group of synonym candidates, has an edit distance of three or more words from an other candidate of the selected group of synonym candidates, or combinations thereof.

### Claim 25 (depends on 21)

The one or more non-transitory computer-readable storage media, having computer-readable instructions embodied thereon, as set forth in claim 21, wherein the computer-readable instructions causing the processor to filter the selected group of synonym candidates further causes the processor to:
collect category data during a session; and
determine a frequency of an item being selected having a category that is common with the category of the search query.
