Machine learning techniques for predicting and ranking typeahead query suggestion keywords based on user click feedback
Various embodiments of the present disclosure provide methods, apparatus, systems, computing devices, computing entities, and/or the like for providing suggestion keywords based on historical search data of a user by: generating one or more keyword feature vectors associated with a plurality of keywords from a list of suggestion keywords, generating one or more personalized feature vectors associated with the user based on search session data, generating a plurality of predictions of the user selecting the plurality of keywords based on the one or more keyword feature vectors and the one or more personalized feature vectors, assigning a plurality of rankings to the plurality of keywords based on the plurality of prediction probabilities, and generating one or more typeahead suggestion keywords based on the plurality of rankings.
1 . A computer-implemented method comprising:
receiving, by one or more processors and via a graphical user interface, a word prefix from a computing device of a user;
providing, by the one or more processors and to a personalized re-ranking machine learning model, a plurality of keywords to produce a plurality of predictions on the plurality of keywords, wherein:
(i) the plurality of keywords comprises one or more suggestion keywords that are associated with the word prefix,
(ii) the plurality of predictions on the plurality of keywords is generated by the personalized re-ranking machine learning model based on a plurality of keyword feature vectors and one or more personalized feature vectors,
(iii) the plurality of keyword feature vectors corresponds to the plurality of keywords,
(iv) the one or more personalized feature vectors correspond to search session data that is associated with the user,
(v) the personalized re-ranking machine learning model is stored in association with one or more inferred relevant keywords,
(vi) the one or more inferred relevant keywords are determined by one or more of:
(a) matching one or more search word prefixes with one or more beginning leading characters of one or more terms searched during a same search session associated with the search session data,
(b) matching the one or more search word prefixes with one or more leading characters of one or more middle words of the one or more terms searched, or
(c) matching the one or more search word prefixes with one or more beginning leading characters of one or more equivalent keywords with respect to the one or more terms searched, and
(vii) a plurality of rankings is assigned to the plurality of keywords based on the plurality of predictions; and
providing, by the one or more processors and via the graphical user interface, the one or more suggestion keywords for the word prefix, responsive to the word prefix received from the computing device, based on the plurality of rankings.
2 . The computer-implemented method of claim 1 further comprising generating the plurality of predictions on the plurality of keywords from a list of suggestion keywords, including the one or more suggestion keywords, by using the personalized re-ranking machine learning model.
3 . The computer-implemented method of claim 1 , wherein the plurality of predictions comprises a respective plurality of probabilities of the user selecting the plurality of keywords.
4 . The computer-implemented method of claim 1 further comprising generating the plurality of predictions based on a plurality of position embeddings associated with the one or more suggestion keywords.
5 . The computer-implemented method of claim 1 further comprising:
generating training data based on the search session data; and
training the personalized re-ranking machine learning model based on the training data.
6 . The computer-implemented method of claim 5 , wherein generating the training data further comprises labeling one or more word prefix-suggestion pairs based on (i) occurrence of a click or a selection of one or more training typeahead suggestion keywords coinciding with one or more training word prefixes associated with the one or more word prefix-suggestion pairs, or (ii) the one or more inferred relevant keywords.
7 . The computer-implemented method of claim 1 further comprising identifying the one or more equivalent keywords based on an equivalent keywords dictionary data object.
8 . The computer-implemented method of claim 7 further comprising generating the equivalent keywords dictionary data object by:
generating a plurality of intersection over union measurements associated with a plurality of search results based on a comparison between the plurality of search results associated with a plurality of search queries;
determining a subset of the plurality of search queries are one or more equivalent search queries based on the plurality of intersection over union measurements and expert label data; and
determining the one or more equivalent keywords based on the one or more equivalent search queries.
9 . The computer-implemented method of claim 1 , wherein:
(i) the plurality of keywords is associated with a plurality of initial rankings, and
(ii) the plurality of rankings is assigned by modifying the plurality of initial rankings based on the plurality of predictions to re-rank the plurality of keywords.
10 . The computer-implemented method of claim 1 further comprising generating the one or more personalized feature vectors based on the search session data, wherein:
(i) the one or more personalized feature vectors comprise one or more embeddings of one or more features that are associated with the user, and
(ii) the one or more features comprise search session data, one or more word prefix embeddings, an age of the user, or a gender category corresponding to the user.
11 . A system comprising
one or more processors and
one or more memories storing processor-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:
receiving, via a graphical user interface, a word prefix from a computing device of a user;
providing, to a personalized re-ranking machine learning model, a plurality of keywords to produce a plurality of predictions on the plurality of keywords, wherein:
(i) the plurality of keywords comprises one or more suggestion keywords that are associated with the word prefix,
(ii) the plurality of predictions on the plurality of keywords is generated by the personalized re-ranking machine learning model based on a plurality of keyword feature vectors and one or more personalized feature vectors,
(iii) the plurality of keyword feature vectors corresponds to the plurality of keywords,
(iv) the one or more personalized feature vectors correspond to search session data that is associated with the user,
(v) the personalized re-ranking machine learning model is stored in association with one or more inferred relevant keywords,
(vi) the one or more inferred relevant keywords are determined by one or more of:
(a) matching one or more search word prefixes with one or more beginning leading characters of one or more terms searched during a same search session associated with the search session data,
(b) matching the one or more search word prefixes with one or more leading characters of one or more middle words of the one or more terms searched, or
(c) matching the one or more search word prefixes with one or more beginning leading characters of one or more equivalent keywords with respect to the one or more terms searched, and
(vii) a plurality of rankings is assigned to the plurality of keywords based on the plurality of predictions; and
providing, via the graphical user interface, the one or more suggestion keywords for the word prefix, responsive to the word prefix received from the computing device, based on the plurality of rankings.
12 . The system of claim 11 , wherein the operations further comprise generating the plurality of predictions based on a plurality of position embeddings associated with the one or more suggestion keywords.
13 . The system of claim 11 , wherein the operations further comprise:
generating training data based on the search session data;
training the personalized re-ranking machine learning model based on the training data; and
generating, using the personalized re-ranking machine learning model, the plurality of predictions.
14 . The system of claim 13 , wherein the operations further comprise labeling one or more word prefix-suggestion pairs based on (i) occurrence of a click or a selection of one or more training typeahead suggestion keywords coinciding with one or more training word prefixes associated with the one or more word prefix-suggestion pairs, or (ii) the one or more inferred relevant keywords.
15 . The system of claim 11 , wherein the operations further comprise identifying the one or more equivalent keywords based on an equivalent keywords dictionary data object.
16 . The system of claim 15 , wherein the operations further comprise generating the equivalent keywords dictionary data object by:
generating a plurality of intersection over union measurements associated with a plurality of search results based on a comparison between the plurality of search results associated with a plurality of search queries;
determining a subset of the plurality of search queries are one or more equivalent search queries based on the plurality of intersection over union measurements and expert label data; and
determining the one or more equivalent keywords based on the one or more equivalent search queries.
17 . One or more non-transitory computer-readable media storing processor-executable instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:
receiving, via a graphical user interface, a word prefix from a computing device of a user;
providing, to a personalized re-ranking machine learning model, a plurality of keywords to produce a plurality of predictions on the plurality of keywords, wherein:
(i) the plurality of keywords comprises one or more suggestion keywords that are associated with the word prefix,
(ii) the plurality of predictions on the plurality of keywords is generated by the personalized re-ranking machine learning model based on a plurality of keyword feature vectors and one or more personalized feature vectors,
(iii) the plurality of keyword feature vectors corresponds to the plurality of keywords,
(iv) the one or more personalized feature vectors correspond to search session data that is associated with the user,
(v) the personalized re-ranking machine learning model is stored in association with one or more inferred relevant keywords,
(vi) the one or more inferred relevant keywords are determined by one or more of:
(a) matching one or more search word prefixes with one or more beginning leading characters of one or more terms searched during a same search session associated with the search session data,
(b) matching the one or more search word prefixes with one or more leading characters of one or more middle words of the one or more terms searched, or
(c) matching the one or more search word prefixes with one or more beginning leading characters of one or more equivalent keywords with respect to the one or more terms searched, and
(vii) a plurality of rankings is assigned to the plurality of keywords based on the plurality of predictions; and
providing, via the graphical user interface, the one or more suggestion keywords for the word prefix, responsive to the word prefix received from the computing device, based on the plurality of rankings.
18 . The system of claim 11 , wherein the operations further comprise generating the one or more personalized feature vectors based on the search session data, wherein:
(i) the one or more personalized feature vectors comprise one or more embeddings of one or more features that are associated with the user, and
(ii) the one or more features comprise search session data, one or more word prefix embeddings, an age of the user, or a gender category corresponding to the user.