CPC G06F 16/951 (2019.01) [G06F 16/953 (2019.01); G06N 3/126 (2013.01)] | 18 Claims |
1. A method for operating an electronic document search engine by setting respective weights of a plurality of search parameters in the search engine, the method comprising:
determining a multi-dimensional search parameter space comprising a set of possible weight values for each of the plurality of search parameters;
dividing the search parameter space into a grid of evenly-spaced values that is a subset of the set of possible values;
defining one or more initial populations of search parameter weight values, wherein each population of search parameter weight values comprises a plurality of initial individuals, wherein each initial individual comprises a set of search parameter weight values, each set comprising a respective one of the evenly-spaced values for each of the search parameters;
executing one or more genetic algorithms based on the one or more initial populations to select a final set of search parameter weight values, wherein executing one or more genetic algorithms based on the one or more initial populations comprises:
executing an evolution step, the evolution step comprising creating a plurality of children individuals, each child individual comprising new values for each of the search parameter weights, each child individual based on a respective first parent individual and second parent individual, wherein the new value for each one of the search parameter weights is selected from a range of values between a value of the respective first parent individual for that weight and a value of the respective second parent individual for that weight, wherein each parent individual is a respective one of the initial individuals; and
computing a fitness of each initial individual of the one or more initial populations based on historical selections by a plurality of users in response to previous searches, wherein computing a fitness of each initial individual comprises measuring how often the plurality of users selected one or more documents returned by the initial individual in each of a plurality of searches; and
returning results of a user search in the search engine according to the final set of search parameter weight values.
|