Patent ID: 8473503

Claim:
A method comprising: receiving an unstructured search query; parsing the unstructured search query into a plurality of structured search attributes using a search term attribute dictionary, wherein parsing the unstructured search query into a plurality of structured search attributes using the search term attribute dictionary comprises: constructing a directed acyclic graph, the directed acyclic graph comprising: a plurality of nodes, each particular node corresponding to a word boundary in the unstructured search query, and one or more edges, each edge starting at a particular node and ending at one of the plurality of nodes representing a word boundary occurring after the word boundary represented by the particular node; assigning to each particular edge of the one or more edges a weight and an associated structured search attribute, the weight calculated based upon a probability that a search query will contain an entity of the structured search attribute having the same text as a sub-phrase of the unstructured search query located between the starting and ending nodes of the edge, the probability calculated based upon the search term attribute dictionary; and assigning, as search terms, one or more sub-phrases of the search query to one or more of the plurality of structured search attributes based upon finding a most probable path from a first node of the directed acyclic graph to a last node; performing a search of a structured database based upon the plurality of structured search attributes to identify a plurality of search results; populating a plurality of form fields of a search form with the plurality of structured search attributes; and displaying the search form in association with the search results.