CPC G06Q 30/0625 (2013.01) [G06F 16/9024 (2019.01); G06F 17/18 (2013.01)] | 19 Claims |
1. A method, performed at a computer system comprising a processor and a computer-readable medium, comprising:
receiving a search query including one or more search terms from a customer via a user interface of the computer system;
retrieving an item graph comprising item nodes and attribute nodes, wherein the item graph is a database of records arranged as a graph database, and each attribute node is connected to a set of item nodes that share an attribute represented by the attribute node;
segmenting the search query into tokens, each token comprising one or more of the search terms;
identifying candidate nodes from the item graph by comparing the tokens to the item graph;
in response to determining that none of the identified candidate nodes meet presentation criteria, reformulating the search query by applying a query reformulation model to the one or more search terms, wherein the query reformulation model calculates a first probability that the search query leads to a first conversion and a second probability that a reformulated search query leads to a second conversion, and the second probability is higher than the first probability, and wherein the query reformulation model is trained with a dataset including the search terms entered by the customer, subsequent search terms entered by customers, and labels indicating whether the subsequent search terms resulted in a conversion;
selecting search results from the item graph comprising one or more item nodes based on the reformulated search query; and
transmitting the search results to a customer device.
|