Machine processing of search query based on grammar rules
US-10282466-B2 · May 7, 2019 · US
US10467269B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10467269-B2 |
| Application number | US-201615043796-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 15, 2016 |
| Priority date | Feb 13, 2015 |
| Publication date | Nov 5, 2019 |
| Grant date | Nov 5, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A search system includes a query processing device for processing a search query and a search server. The search server receives a search request with a search query and sends the search query to the query processing device via an application programming interface (API). Upon sending the search query to the query processing device, the search server determines whether an indication is received from the query processing device, the indication indicates that the search query does not trigger category-specific search results. In response to determining that the indication has not been received: the search server waits to receive the category-specific search results that correspond with the search query. The search server aggregates the category-specific search results with the general purpose search results, and transmits the aggregated search results. In response to determining that that indication has been received, the search server generates and transmits the general purpose search results.
Opening claim text (preview).
What is claimed is: 1. A search server comprising: a network communication device; a storage device that stores a search data store with one or more search records; and a processing device that executes computer-readable instructions that, when executed by the processing device, cause the processing device to: receive a search request via the network communication device, the search request comprising a search query with one or more search terms, send the search query to a query processing device via an application programming interface (API), wherein the query processing device stores a plurality of grammars associated a plurality of category-specific search servers and each of the plurality of grammars specify a set of phrase types and an order of phrase types in the set of phrase types, upon sending the search query to the query processing device, identify whether an indication is received from the query processing device, wherein the indication indicates that the search query does not trigger category-specific search results and is received from the query processing device when none of the plurality of grammars stored in the query processing device matches the search query, and wherein a specific grammar is identified to match the search query when all of phrase types included in the specific grammar constitutes the search query in an order specified by the specific grammar and the specific grammar spans the search query entirely, and in response to identifying that the indication has not been received: transmit the search query to one or more category-specific search server associated with one or more grammar that matches the search query which is identified from the plurality of category-specific search servers, receive, from the one or more category-specific search server associated with the one or more grammar that matches the search query, the category-specific search results that correspond with the search query, generate general purpose search results for the search query based on the one or more search records stored in the search data store, aggregate the category-specific search results and the general purpose search results, transmit the aggregated search results, and in response to identifying that the indication has been received: generate the general purpose search results for the search query based on the one or more search records stored in the data store, and transmit the general purpose search results. 2. The search server of claim 1 , wherein receiving the category-specific search results comprises: initiating a timer; and receiving the category-specific search results before the timer expires. 3. The search server of claim 1 , wherein receiving the category-specific search results comprises: receiving a list of server identifiers (IDs) for category-specific search servers from the query processing device; sending a request for category-specific search results to each category-specific search server in the list; and receiving the category-specific search results from the category-specific search servers via the network communication device. 4. The search server of claim 1 , wherein generating the general purpose search results comprises: querying the search data store with the search terms of the search query; identifying a set of search records that are relevant to the search query based on the querying; and retrieving information from the set of search records. 5. The search server of claim 1 , wherein aggregating the category-specific search results and the general purpose search results comprises identifying a display order for each category-specific search result and each general purpose search result. 6. The search server of claim 1 , wherein the query processing device comprises: a transceiver; a memory comprising: a knowledge data store that stores a list of phrases and phrase types associated with the list of phrases, and grammar files that store grammars, each grammar comprising one or more phrase types, each grammar being associated with one or more category-specific search servers, each category-specific search server being associated with a server identifier (ID); and a computing processor that executes computer-readable instructions that, when executed by the computing processor, cause the computing processor to: receive the search query from the search server via the API, generate a chart parse for the search query based on the phrase types stored in the knowledge data store, the chart parse identifying the phrase types in the search query and the chart parse indicates a location of the phrase types within the search query, identify whether one or more grammar, from the grammar files, matches the search query based on the phrase types included in the chart parse, in response to identifying that none of the grammars match the search query, transmit, via the transceiver, an indication to the search server that there are no category-specific search results for the search query, and in response to identifying that one or more grammar matches the search query: identify one or more category-specific search servers that are associated with the one or more grammar that matches the search query, retrieve, from the grammar files, the server IDs for the one or more category-specific search servers that are associated with the one or more grammar that matches the search query, generate a list of server IDs for the one or more category-specific search servers that are associated with the one or more grammar that matches the search query, and transmit, via the transceiver, the list of server IDs to the search server. 7. The search server of claim 6 , wherein generating the chart parse comprises: generating tokens by splitting the search query with a given delimiter; forming n-grams by concatenating adjacent tokens; querying the knowledge data store with the n-grams; receiving the phrase types associated with the n-grams; and generating a mapping between the phrase types and token positions that indicate the location of the phrase types within the search query. 8. The search server of claim 7 , wherein the chart parse maps token start positions and token end positions to the phrase types that span from the token start positions to the token end positions. 9. The search server of claim 6 , wherein identifying whether the one or more grammars match the search query comprises: identifying a set of phrase types, in the chart parse, that collectively reference all the one or more search terms of the search query; querying the grammar files with the set of phrase types; and receiving an indication that indicates whether the grammar files include a grammar that defines all the phrase types in the set. 10. The search server of claim 6 , wherein the computer-readable instructions further cause the computing processor to: transmit the chart parse to each category-specific search server that is associated with a matched grammar; receive category-specific search results from the category-specific search servers; aggregate the category-specific search results received from the category-specific search servers; and transmit the aggregated category-specific search results to the search server. 11. A query processing device for processing a search query, the query processing device comprising: a transceiver; a memory comprising: a knowledge data store that stores a list of phrases and phrase types associated with the phrases, and grammar files that store a plurality of grammars, each grammar comprising one or more phrase types, the plurality of grammars being associated with a plurality of category-specific
using natural language analysis · CPC title
Distributed queries · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.