# US 9,436,747 B1 · Query generation using structural similarity between documents

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

- Number: US 9,436,747 B1
- Document ID: US9436747B1
- Status: Granted
- Kind: B1
- Application number: 14/750,483
- Filed: 2015-06-25
- Granted: 2016-09-06
- Earliest claimed: 2010-11-09
- Assignees: Google Inc.
- Applicants: Google Inc.
- Inventors: Steven D. Baker; Michael E. Flaster; Nitin Gupta; Paul Haahr; Srinivasan Venkatachary; Yonghui Wu
- Web page: https://patentgrep.com/patent/US9436747B1

## CPC

- G06F 16/254: {Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses}
- G06F 16/242: Query formulation
- G06F 16/3322: {using system suggestions (G06F16/3325 takes precedence)}
- G06F 16/951: Indexing; Web crawling techniques
- G06F 16/953: Querying, e.g. by the use of web search engines
- G06F 40/186: Templates
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods, systems, and apparatus, including computer program products, for generating synthetic queries using seed queries and structural similarity between documents are described. In one aspect, a method includes identifying embedded coding fragments (e.g., HTML tag) from a structured document and a seed query; generating one or more query templates, each query template corresponding to at least one coding fragment, the query template including a generative rule to be used in generating candidate synthetic queries; generating the candidate synthetic queries by applying the query templates to other documents that are hosted on the same web site as the document; identifying terms that match structure of the query templates as candidate synthetic queries; measuring a performance for each of the candidate synthetic queries; and designating as synthetic queries the candidate synthetic queries that have performance measurements exceeding a performance threshold.

## Claims

### Claim 1

A method comprising:
identifying, by one or more computers, a seed query for a structured document based on a performance of the seed query with respect to the structured document;
identifying, by the one or more computers, a structure of a portion of the structured document that includes at least one term of the seed query;
generating, by the one or more computers, a query template that specifies the structure and a portion of the structure from which text should be extracted;
generating, by the one or more computers, one or more synthetic queries using the query template and one or more other structured documents, the generating comprising:
identifying a portion of a particular structured document that includes the structure specified by the query template; and
generating a synthetic query using text contained in the portion of the structure of the particular structured document specified by the query template; and
storing, by the one or more computers, the one or more synthetic queries in a query store.

### Claim 2 (depends on 1)

The method of claim 1, wherein the query template includes a generative rule that specifies the portion of the structure from which text should be extracted.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
receiving a query;
identifying a stored synthetic query that includes a term that matches a term of the received query;
identifying a search result to provide in response to the query based on the identified stored synthetic query; and
providing data that initiates presentation of the search result.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
receiving a query;
identifying a stored synthetic query that includes a term that matches a term of the received query; and
providing data that initiates presentation of the identified stored synthetic query as a potential query refinement for the query.

### Claim 5 (depends on 1)

The method of claim 1, wherein the structure comprises a pair of markup tags.

### Claim 6 (depends on 1)

The method of claim 1, further comprising identifying the one or more other structured documents based on the one or more other structured documents being hosted on a same domain as the structured document.

### Claim 7 (depends on 1)

The method of claim 1, wherein generating the query template comprises:
identifying a number of structured documents that include the structure; and
generating the query template in response to the number of structured documents that include the structure satisfying a template qualification value.

### Claim 8

A system, comprising:
a data processing apparatus; and
a memory storage apparatus in data communication with the data processing apparatus, the memory storage apparatus storing instructions executable by the data processing apparatus and that upon such execution cause the data processing apparatus to perform operations comprising:
identifying, by one or more computers, a seed query for a structured document based on a performance of the seed query with respect to the structured document;
identifying, by the one or more computers, a structure of a portion of the structured document that includes at least one term of the seed query;
generating, by the one or more computers, a query template that specifies the structure and a portion of the structure from which text should be extracted;
generating, by the one or more computers, one or more synthetic queries using the query template and one or more other structured documents, the generating comprising:
identifying a portion of a particular structured document that includes the structure specified by the query template; and
generating a synthetic query using text contained in the portion of the structure of the particular structured document specified by the query template; and
storing, by the one or more computers, the one or more synthetic queries in a query store.

### Claim 9 (depends on 8)

The system of claim 8, wherein the query template includes a generative rule that specifies the portion of the structure from which text should be extracted.

### Claim 10 (depends on 8)

The system of claim 8, wherein the operations further comprise:
receiving a query;
identifying a stored synthetic query that includes a term that matches a term of the received query;
identifying a search result to provide in response to the query based on the identified stored synthetic query; and
providing data that initiates presentation of the search result.

### Claim 11 (depends on 8)

The system of claim 8, wherein the operations further comprise:
receiving a query;
identifying a stored synthetic query that includes a term that matches a term of the received query; and
providing data that initiates presentation of the identified stored synthetic query as a potential query refinement for the query.

### Claim 12 (depends on 8)

The system of claim 8, wherein the structure comprises a pair of markup tags.

### Claim 13 (depends on 8)

The system of claim 8, wherein the operations further comprise identifying the one or more other structured documents based on the one or more other structured documents being hosted on a same domain as the structured document.

### Claim 14 (depends on 8)

The system of claim 8, wherein generating the query template comprises:
identifying a number of structured documents that include the structure; and
generating the query template in response to the number of structured documents that include the structure satisfying a template qualification value.

### Claim 15

A non-transitory computer storage medium encoded with a computer program, the program comprising instructions that when executed by a data processing apparatus cause the data processing apparatus to perform operations comprising:
identifying, by one or more computers, a seed query for a structured document based on a performance of the seed query with respect to the structured document;
identifying, by the one or more computers, a structure of a portion of the structured document that includes at least one term of the seed query;
generating, by the one or more computers, a query template that specifies the structure and a portion of the structure from which text should be extracted;
generating, by the one or more computers, one or more synthetic queries using the query template and one or more other structured documents, the generating comprising:
identifying a portion of a particular structured document that includes the structure specified by the query template; and
generating a synthetic query using text contained in the portion of the structure of the particular structured document specified by the query template; and
storing, by the one or more computers, the one or more synthetic queries in a query store.

### Claim 16 (depends on 15)

The non-transitory computer storage medium of claim 15, wherein the query template includes a generative rule that specifies the portion of the structure from which text should be extracted.

### Claim 17 (depends on 15)

The non-transitory computer storage medium of claim 15, wherein the operations further comprise:
receiving a query;
identifying a stored synthetic query that includes a term that matches a term of the received query;
identifying a search result to provide in response to the query based on the identified stored synthetic query; and
providing data that initiates presentation of the search result.

### Claim 18 (depends on 15)

The non-transitory computer storage medium of claim 15, wherein the operations further comprise:
receiving a query;
identifying a stored synthetic query that includes a term that matches a term of the received query; and
providing data that initiates presentation of the identified stored synthetic query as a potential query refinement for the query.

### Claim 19 (depends on 15)

The non-transitory computer storage medium of claim 15, wherein the structure comprises a pair of markup tags.

### Claim 20 (depends on 15)

The non-transitory computer storage medium of claim 15, wherein the operations further comprise identifying the one or more other structured documents based on the one or more other structured documents being hosted on a same domain as the structured document.
