Embedding-based query rewriting for search result optimization

The embedding-based query rewriting method addresses linguistic discrepancies in e-commerce search by generating and ranking query pairs using Siamese eBERT and two-tower neural networks, enhancing search relevance and user satisfaction.

WO2026129276A1PCT designated stage Publication Date: 2026-06-25EBAY INC +4
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
EBAY INC
Filing Date
2024-12-20
Publication Date
2026-06-25

AI Technical Summary

Technical Problem

Existing e-commerce platforms face challenges in effectively matching user queries with relevant product listings due to linguistic discrepancies between user intent and product descriptions, exacerbated by the diversity of expressions and terminology, leading to missed opportunities for both buyers and sellers.

Method used

An embedding-based query rewriting approach that identifies query rewrite candidates through a cross-attention model, utilizing Siamese eBERT and two-tower neural networks to generate and rank query pairs based on semantic similarity, ensuring relevance and user satisfaction by incorporating user behavior data and historical conversions.

Benefits of technology

Enhances search relevance by aligning user intent with product listings, improving user satisfaction and transaction completion rates through contextually relevant query reformulations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024140855_25062026_PF_FP_ABST
    Figure CN2024140855_25062026_PF_FP_ABST
Patent Text Reader

Abstract

A user-generated search query is received. A first machine learning model is used to retrieve a plurality of embeddings representing a plurality of query rewrite candidates. A plurality of query pairs is generated between the user-generated search query and each query rewrite candidate. A second machine learning model is used to generate a plurality of similarity scores based on the plurality of query pairs. A plurality of similarity scores is ranked to identify a query rewrite candidate used for generating query results. The query results are caused to be displayed.
Need to check novelty before this filing date? Find Prior Art

Description

EMBEDDING-BASED QUERY REWRITING FOR SEARCH RESULT OPTIMIZATIONTECHNICAL FIELD

[0001] The present disclosure generally relates to data processing using machine learning technologies. More particularly, various embodiments described herein provide for systems, methods, techniques, instruction sequences, and devices that facilitate search result optimization using embedding-based query rewriting.BACKGROUND

[0002] Existing e-commerce platforms face challenges in effectively matching user queries with relevant product listings. The wide range of linguistic expressions buyers use to convey intent, combined with the diverse terminology sellers use in product descriptions, creates a complex environment for search algorithms. This linguistic discrepancy often results in a gap between user intent and search results, causing missed opportunities for both buyers and sellers. The expansion of online marketplaces has further amplified these challenges, as the increasing volume and variety of products across numerous categories require more sophisticated search solutions.BRIEF DESCRIPTION OF THE DRAWINGS

[0003] In the drawings, which are not necessarily drawn to scale, like numerals may describe similar components in different views. To easily identify the discussion of any particular element or act, the most significant digit or digits in a reference number refer to the figure number in which that element is first introduced. Some embodiments are illustrated by way of examples, and not limitations, in the accompanying figures.

[0004] FIG. 1 is a block diagram showing an example data system that includes a data management system, according to various examples of the present disclosure.

[0005] FIG. 2 is a block diagram illustrating an example data management system that facilitates search result optimization using embedding-based query rewriting, according to various examples of the present disclosure.

[0006] FIG. 3 is a flowchart illustrating an example method for facilitating search result optimization using embedding-based query rewriting, according to various examples of the present disclosure.

[0007] FIG. 4 is a flowchart illustrating an example method for facilitating search result optimization using embedding-based query rewriting, according to various examples of the present disclosure.

[0008] FIG. 5 is a flowchart illustrating an example method for facilitating search result optimization using embedding-based query rewriting, according to various examples of the present disclosure.

[0009] FIG. 6 is a diagram illustrating a data flow that facilitates search result optimization using embedding-based query rewriting, according to various examples of the present disclosure.

[0010] FIG. 7 is a block diagram illustrating examples of a whole query rewrite flow that facilitates search result optimization using embedding-based query rewriting, according to various examples of the present disclosure.

[0011] FIG. 8 is a block diagram illustrating an example embedding model training data and model architecture that facilitates search result optimization using embedding-based query rewriting, according to various examples of the present disclosure.

[0012] FIG. 9 is a block diagram illustrating an example embedding model training data and model architecture that facilitates search result optimization using embedding-based query rewriting, according to various examples of the present disclosure.

[0013] FIG. 10 is a block diagram illustrating a representative software architecture, which may be used in conjunction with various hardware architectures herein described, according to various examples of the present disclosure.

[0014] FIG. 11 is a block diagram illustrating components of a machine able to read instructions from a machine storage medium and perform any one or more of the methodologies discussed herein according to various examples of the present disclosure.DETAILED DESCRIPTION

[0015] The description that follows includes systems, methods, techniques, instruction sequences, and computing machine program products that embody illustrative embodiments of the present disclosure. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of embodiments. It will be evident, however, to one skilled in the art that the present inventive subject matter may be practiced without these specific details.

[0016] Reference in the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present subject matter. Thus, the appearances of the phrase “in one embodiment” or “in an embodiment” appearing in various places throughout the specification are not necessarily all referring to the same embodiment.

[0017] For purposes of explanation, specific configurations and details are set forth in order to provide a thorough understanding of the present subject matter. However, it will be apparent to one of ordinary skill in the art that embodiments of the subject matter described may be practiced without the specific details presented herein, or in various combinations, as described herein. Furthermore, well-known features may be omitted or simplified in order not to obscure the described embodiments. Various embodiments may be given throughout this description. These are merely descriptions of specific embodiments. The scope or meaning of the claims is not limited to the embodiments given.

[0018] Various examples include systems, methods, and non-transitory computer-readable media that facilitate search result optimization using embedding-based query rewriting, according to various examples of the present disclosure. Specifically, various embodiments involve an embedding-based query rewriting approach that enhances search experiences by providing buyers with more relevant results aligned with their search intent. In particular, query rewrite candidates are identified based on a user-generated search query, which serves as a direct indicator of a user’s immediate search intent. Query rewrite candidates refer to alternative search queries that are contextually similar to the original user-generated search query (also referred to as seed query) but may use different vocabulary or phrasing to express the same search intent. Query rewrite candidates are identified through an embedding-based retrieval process where the system retrieves up to hundreds of queries as potential alternatives to the original query. Query rewrite candidates are identified based on diverse vocabularies at the whole query level, as opposed to tokenizing a search query into multiple words or phrases. Query pairs are generated based on the user-generated search query and each query rewrite candidate. A cross-attention model (e.g., a binary classification model) is built and trained to generate similarity scores based on the query rewrite candidates’s emantic relevance to the user-generated search query (also referred to as the seed query) . A seed query refers to the original user-generated search query that is input into the system before any query rewriting occurs. Top-ranked candidates are selected based on their semantic relevance to the seed query, addressing any mismatched attributes to enhance the similarity between query pairs. Subsequently, an online relevance simulation is conducted to evaluate the performance of these selected candidates and ensure that only the top-performing candidates are used to generate the final search results. Top-performing candidates demonstrate successful conversion signals and are typically associated with completed transactions, ensuring they represent effective query reformulations, thereby improving the overall search relevance and user satisfaction.

[0019] In various embodiments, at least the following main components collaborate to enhance search result optimization.

[0020] Query Candidates Generation Component: Query embedding models are developed to create embedding indexes from historically converted queries. A query-item embedding model collects search queries and the corresponding user behavior data to generate embeddings that represent the collected search queries. This ensures that the embeddings accurately reflect search intents and are contextually relevant to the e-commerce inventory. The model employs a Siamese eBERT architecture with a single-layer MLP to map embeddings to a multi-dimensional space (e.g., 96 dimensional space) . Another model is an in-session query embedding model that tracks user behavior within search sessions. This model captures cases where users modify their queries when initial search results are unsatisfactory. Therefore, the embeddings generated by the query embedding models incorporate various types of user behavioral and engagement data, including buyers’ item clicks on search result pages, query reformulations within the same search session, and historical converted queries. The approximate nearest neighbor (ANN) search is used for each user query to find similar alternative query candidates using both embedding models.

[0021] Relevance-based Query Ranking Component: A cross-attention model is used to predict relevance scores between each query and its rewrite candidates. The model utilizes human-judged query-item relevance data collected over time, referred to as the SPOT dataset. This dataset includes binary classifications (relevant / irrelevant) and more refined pentadic classifications (perfect, excellent, good, fair, poor) . The model processes query-item pairs using the eBERT architecture.

[0022] Relevance Simulation Component: Recall and relevancy simulations are performed on an evaluation query set to ensure candidate query performance. This process measures the relevance impact of newly recalled items from rewritten queries.

[0023] Various embodiments demonstrate optimal performance for queries with a reasonable recall size (e.g., between 40 and 1000 items) , striking a balance between recall improvement and relevance maintenance. For specific queries with a minimum recall size, additional items are kept in Recovery instead of Main search results, allowing buyers to focus on their needs while still having access to broader options. This multi-step approach aims to bridge the gap between the diverse linguistic choices of buyers and the varied terminology used by sellers, ultimately enhancing search relevance and user satisfaction on e-commerce platforms while ensuring consistent presentation of results through uniform ranking factors for all recalled items.

[0024] In various embodiments, a data management system receives user-generated search queries from client devices. Received search queries can serve as direct indicators of users’ immediate search intent.

[0025] In various embodiments, the data management system uses a machine learning model (e.g., the first machine learning model) to retrieve a plurality of embeddings representing a plurality of query rewrite candidates. In various embodiments, the data management system uses Faiss HNSW (Hierarchical Navigable Small World) technology to create vector indexes that allow for approximate nearest neighbor (ANN) search. Indexes enable efficient retrieval of similar queries (e.g., query rewrite candidates) from a massive dataset of qualified queries. This indexing structure makes it possible to quickly locate the most semantically similar queries when processing a seed query.

[0026] In various embodiments, each query rewrite candidate is contextually similar (or relevant) to an embedding representing a user-generated search query. The machine learning model can be a two-tower machine learning model that has two separate neural networks (or “towers” ) that process different inputs but share the same structure and weights. This setup is particularly useful for tasks involving similarity matching, where the purpose is to understand the affinity or similarity between two items, between an item and a query, or between two queries. The two-tower machine learning model corresponds to a Siamese neural network.

[0027] In various embodiments, the data management system generates a plurality of query pairs between the user-generated search query and each of the plurality of query rewrite candidates. Specifically, supervised datasets, including query, rewrite pairs derived from user behaviors, are constructed using generative models. Based on the datasets, a generative model, such as a large language model, can be trained to generate query rewrites equivalent to the user-generated search query. This approach allows the generative model to learn specific types of query reformulations, such as removing non-essential words or substituting synonyms, from the training data. As a result, the model can apply these reformulation types more broadly across a wider range of queries.

[0028] In various embodiments, the data management system uses a machine learning model (e.g., the second machine learning model) to generate a plurality of similarity scores based on the plurality of query pairs. The machine learning model can be a binary classification eBERT model that processes pairs of queries to evaluate their semantic similarity. The eBERT model can utilize human-judged query-item relevance data from the SPOT dataset, which includes both binary classifications (e.g., relevant / irrelevant) and pentadic classifications (e.g., perfect, excellent, good, fair, poor) . The eBERT model can process inputs structured as a single string that combines two distinct pieces of text (e.g., a query and a title) separated by different token type identifiers. To generate similarity scores between query pairs, the eBERT model uses a symmetrized scoring function. This function averages the relevance scores from both query-to-query directions, ensuring consistent semantic similarity and alignment between queries.

[0029] In various embodiments, the data management system ranks the plurality of similarity scores to identify one or more query rewrite candidates used for generating query results. Specifically, the data management system employs a multi-step process to rank similarity scores and identify query rewrite candidates. The data management system ranks the similarity scores generated by the binary classification eBERT model for each query pair, reflecting the semantic relevance between the original query and the rewrite candidates. In various embodiments, the data management system initially selects a threshold number (e.g., 10) of top-ranked query candidates based on the ranked similarity scores. From these candidates, the data management system identifies up to a certain number (e.g., 3) of best-performing rewrite queries for each seed query. The query rewrite candidate selected comes from the query pair associated with the highest-ranked similarity score. The data management system maintains consistent ranking factors across all displayed results to ensure uniform presentation quality.

[0030] In various embodiments, the data management system causes the display of query results on the device. Specifically, the data management system can cause the display of a union of search results from both the original query and rewrite queries in the main search results section.

[0031] In various embodiments, the data management system runs a relevance simulation on a subset of the plurality of query pairs to measure the relevance impact of the query results generated based on the query rewrite candidate. The query pairs are in text format. The text format allows the data management system to perform direct comparisons between queries and evaluate their semantic similarity through the relevance simulation process. This format also enables the system to integrate the query pairs into both the Whole Query Rewrite (WQR) cache and Query-to-Query Cache (qq-Cache) mechanisms, where the queries are stored and processed as text strings.

[0032] In various embodiments, in response to running the relevance simulation, the data management system evaluates the simulation results and identifies one or more top-performing query pairs from the subset of the plurality of query pairs to generate the final search results. In various embodiments, the data management system updates the query results based on one or more query rewrite candidates included in the one or more top-performing query pairs. The data management system then trains the two-tower machine learning model (e.g., the first machine learning model) based on the one or more query pairs from the subset of the plurality of query pairs.

[0033] In various embodiments, the data management system trains the two-tower machine learning model based on query-item pairs and deploys the model to generate outputs based on query-query pairs. In particular, the two-tower model is initially trained on query-item pairs, where each pair consists of a user query (e.g., “running shoes” ) and an item  (e.g., a product title or description for specific running shoes) . In this phase, the model learns to map both queries and items into a shared embedding space. By learning to associate queries with relevant items, the model captures patterns that reflect semantic similarity between the types of information in the query and the types of items that fulfill that query. After training, the two-tower model is deployed to handle query-query pairs rather than query-item pairs. This deployment shift serves the model’s purpose, including query expansion, query reformulation, or query similarity tasks, and leverages its learned embeddings to measure the semantic similarity between different queries. Under this approach, the two-tower model learns a rich representation of user intent in relation to available items. Once trained, the model can effectively use its learned representations to determine semantic similarity between queries. This allows for improved search relevance and supports diverse query reformulation.

[0034] In various embodiments, the data management system identifies a plurality of historical user-generated search queries received within a predetermined time period (e.g., six months) . The data management system retrieves item data for each historical user-generated search query. The item data for each historical user-generated search query can include one or more of item titles, item descriptions, prices, categories, user ratings and reviews, conversion data, and user interaction data. In various embodiments, the data management system generates a plurality of query-item pairs based on the plurality of historical user-generated search queries and the item data for each historical user-generated search query. The data management system then trains the two-tower machine learning model based on the plurality of query-item pairs. Both towers are trained based on query-item pairs, though only the query tower is subsequently used to retrieve embeddings representing query rewrite candidates described herein.

[0035] In various embodiments, each query in the plurality of historical user-generated search queries is associated with one or more complete transactions of one or more queried items. The historical query data is filtered to include only those queries where users not only searched for items but also followed through to complete a transaction for one or more of the items they queried. This helps ensure the training data represents successful search-to-purchase patterns, as complete transactions provide strong signals about the effectiveness of particular query formulations in helping users find and purchase desired items.

[0036] In various embodiments, the data management system uses a machine learning model (e.g., the third machine learning model) to generate the embedding representing the user-generated search query based on the user-generated search query. The machine learning model can be any transformer-based model that generates embeddings based on text inputs.

[0037] Reference will now be made in detail to embodiments of the present disclosure, examples of which are illustrated in the appended drawings. The present disclosure may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein.

[0038] FIG. 1 is a block diagram showing an example data system 100 that includes a data management system 122 (also referred to as system 122) , according to various examples of the present disclosure. By including the data management system 122, the data system 100 can facilitate search result optimization using embedding-based query rewriting. As shown, the data system 100 includes one or more client devices 102, a server system108, and a network 106 (e.g., Internet, wide-area-network (WAN) , local-area-network (LAN) , wireless network) that communicatively couples them together. Each client device 102 can host a number of applications, including a client software application 104. The client software application 104 can communicate data with the server system 108 via a network 106. Accordingly, the client software application 104 can communicate and exchange data with the server system 108 via network 106.

[0039] The server system 108 provides server-side functionality via the network 106 to the client software application 104. While certain functions of the data system 100 are described herein as being performed by the data management system 122 on the server system 108, it will be appreciated that the location of certain functionality within the server system 108 is a design choice. For example, it may be technically preferable to initially deploy certain technology and functionality within the server system 108, but to later migrate this technology and functionality to the client software application 104.

[0040] The server system 108 supports various services and operations that are provided to the client software application 104 by the data management system 122. Such operations include transmitting data from the data management system 122 to the client software application 104, receiving data from the client software application 104 at the data management system 122, and the data management system 122 processing data generated by the client software application 104. Data exchanges within the data system 100 may be invoked and controlled through operations of software component environments available via one or more endpoints, or functions available via one or more user interfaces of the client software application 104, which may include web-based user interfaces provided by the server system 108 for presentation at the client device 102.

[0041] With respect to the server system108, an Application Program Interface (API) server 110 and a web server 112 is coupled to an application server 116, which hosts the data management system 122. The application server 116 is communicatively coupled to a database server 118, which facilitates access to a database 120 that stores data associated with the application server 116, including data that may be generated or used by the data management system 122.

[0042] The API server 110 receives and transmits data (e.g., API calls, commands, requests, responses, and authentication data) between the client device 102 and the application server 116. Specifically, the API server 110 provides a set of interfaces (e.g., routines and protocols) that can be called or queried by the client software application 104 in order to invoke the functionality of the application server 116. The API server 110 exposes various functions supported by the application server 116 including, without limitation, user registration; login functionality; data object operations (e.g., generating, storing, retrieving, encrypting, decrypting, transferring, access rights, licensing) ; and / or user communications.

[0043] Through one or more web-based interfaces (e.g., web-based user interfaces) , the web server 112 can support various functionality of the data management system 122 of the application server 116.

[0044] FIG. 2 is a block diagram 200 illustrating an example data management system 212 that facilitates search result optimization using embedding-based query rewriting, according to various examples of the present disclosure. For some examples, the data management system212 represents an example of the data management system 122 described with respect to FIG. 1. As shown, the data management system 212 comprises a search query receiving component 210, an embedding retrieving component 220, a query pair generating component 230, a similarity score generating and ranking component 240, a query result displaying and updating component 250, a relevance simulation component 260, a historical query identifying component 270, and a model training component 280. According to various examples, one or more of the search query receiving component 210, the embedding retrieving component 220, the query pair generating component 230, the similarity score generating and ranking component 240, the query result displaying and updating component 250, the relevance simulation component 260, the historical query identifying component 270, and the model training component 280 are implemented by one or more hardware processors 202. Data generated by one or more of the search query receiving component 210, the embedding retrieving component 220, the query pair generating component 230, the similarity score generating and ranking component 240, the query result displaying and updating component 250, the relevance simulation component 260, the historical query identifying component 270, and the model training component 280 may be stored in a database (or datastore) 290 of the data management system 212.

[0045] The search query receiving component 210 is configured to receive user-generated search queries from client devices. Received search queries can serve as direct indicators of users’ immediate search intent.

[0046] The embedding retrieving component 220 is configured to use a two-tower machine learning model (e.g., the first machine learning model) to retrieve a plurality of embeddings representing a plurality of query rewrite candidates. Each query rewrite candidate is contextually similar to an embedding representing a user-generated search query.

[0047] The query pair generating component 230 is configured to generate a plurality of query pairs between the user-generated search query and each of the plurality of query rewrite candidates. An example query pair can be {search query, rewrite candidate} . A query pair can be presented either in textual format or as embeddings. In the textual format, both queries remain in their original text form (e.g., “running shoes” and “best sneakers for running” ) . This format is useful for natural language processing models that handle raw text directly or for pre-processing tasks where specific wording is required. In embedding format, each query is converted into a dense vector (e.g., an embedding) that captures its semantic meaning. By representing queries as embeddings, the system can efficiently measure semantic similarity using similarity calculation metrics (e.g., cosine similarity) .

[0048] The similarity score generating and ranking component 240 is configured to use a binary classification model (e.g., eBERT model) to generate a plurality of similarity scores based on the plurality of query pairs. The similarity score generating and ranking component 240 is further configured to rank the plurality of similarity scores to identify one or more top-performing query rewrite candidates with the highest-ranked similarity scores for generating the final query results.

[0049] The query result displaying and updating component 250 is configured to cause the display of final query results on devices. Final query results can be a union of search results from both the original query and rewrite queries (also referred to as rewrite candidates) in the main search results section. The query result displaying and updating component 250 is further configured to update final query results based on query rewrite candidates in top-performing query pairs identified based on the relevance simulation described herein.

[0050] The relevance simulation component 260 is configured to perform a relevance simulation on a subset of a plurality of query pairs to measure the relevance impact of the query results generated based on the query rewrite candidate. In response to running the relevance simulation, the relevance simulation component 260 is configured to evaluate the simulation results and identify one or more top-performing query pairs fromthe subset of the plurality of query pairs to generate the final search results (also referred to as the final query results) .

[0051] The historical query identifying component 270 is configured to identify a plurality of historical user-generated search queries received within a predetermined time period (e.g., six months) . The historical query identifying component 270 is configured to retrieve item data (e.g., titles, descriptions, prices, categories, user ratings and reviews, conversion data, and user interaction data) associated with each historical user-generated search query. The historical query identifying component 270 is further configured to generate a plurality of query-item pairs based on the plurality of historical user-generated search queries and the item data for each historical user-generated search query.

[0052] The model training component 280 is configured to train the two-tower machine learning model based on the plurality of query-item pairs generated based on the historical user-generated search queries and associated item data. Both towers are trained based on query-item pairs, though only the query tower is subsequently used to retrieve embeddings representing query rewrite candidates described herein.

[0053] FIG. 3 is a flowchart illustrating an example method 300 for facilitating search result optimization using embedding-based query rewriting, according to various examples of the present disclosure. It will be understood that example methods described herein may be performed by a machine in accordance with some examples. For example, method 300 can be performed by the data management system 122 described with respect to FIG. 1, the data management system 212 described with respect to FIG. 2, or individual components thereof. An operation of various methods described herein may be performed by one or more hardware processors (e.g., central processing units or graphics processing units) of a computing device (e.g., a desktop, server, laptop, mobile phone, tablet, etc. ) , which may be part of a computing system based on a cloud architecture. Example methods described herein may also be implemented in the form of executable instructions stored on a machine-readable medium or in the form of electronic circuitry. For instance, the operations of method 300 may be represented by executable instructions that, when executed by a processor of a computing device, cause the computing device to perform method 300. Depending on the embodiment, an operation of an example method described herein may be repeated in different ways or involve intervening operations not shown. Though the operations of example methods may be depicted and described in a certain order, the order in which the operations are performed may vary among examples, including performing certain operations in parallel.

[0054] At operation 302, a processor receives search queries via user devices. Received search queries (also referred to as seed queries) can serve as direct indicators of users’ immediate search intent.

[0055] At operation 304, a processor uses a machine learning model (e.g., the first machine learning model) to retrieve a plurality of embeddings representing a plurality of query rewrite candidates. Each query rewrite candidate is contextually similar (or relevant) to an embedding representing a user-generated search query. The machine learning model can be a two-tower machine learning model that has two separate networks (or “towers” ) that process different inputs but share the same structure and weights. The two-tower machine learning model corresponds to a Siamese neural network.

[0056] At operation 306, a processor generates a plurality of query pairs between the user-generated search query and each of the plurality of query rewrite candidates. Supervised datasets, including query, rewrite pairs derived from user behaviors, are constructed using machine learning models, such as generative models or  Sequence-to-Sequence (Seq2Seq) models. Based on the datasets, a generative model, such as a large language model, can be trained to generate query rewrite candidates equivalent to the user-generated search query. This approach allows for the predefined types of query reformulations within the training data, such as the removal of non-essential words or the substitution of synonyms, thereby allowing for an extension of these types of reformulation to a broader range of queries.

[0057] At operation 308, a processor uses a machine learning model (e.g., a binary classification eBERT model) to generate a plurality of similarity scores based on the plurality of query pairs. The model can process query pairs (presented either in textual format or as embeddings) to evaluate their semantic similarity. In particular, The model can utilize human-judged query-item relevance data from a dataset that includes both binary classifications (e.g., relevant / irrelevant) and pentadic classifications (e.g., perfect, excellent, good, fair, poor) . To generate similarity scores between query pairs, the model can use a symmetrized scoring function, which averages the relevance scores fromboth query-to-query directions, ensuring consistent semantic similarity and alignment between queries.

[0058] At operation 310, a processor ranks a plurality of similarity scores to identify one or more query rewrite candidates used for generating the final query results. For example, a threshold number of top-ranked query candidates can be selected by computing and sorting similarity scores (in descending order) for each rewrite candidate in relation to the seed query. Similarity scores represent the degree of relevance or semantic similarity to the seed query.

[0059] At operation 312, a processor causes the display of query results on the device. Specifically, the processor can cause the display of the search results derived from one or more rewrite candidates alone or from both the seed query (the query entered directly by the user) and rewrite candidates (alternative or modified versions of the original query) .

[0060] Though not illustrated, method 300 can include an operation where a graphical user interface is displayed (or caused to be displayed) by the hardware processor. For instance, the operation can cause a client device (e.g., the client device 102 communicatively coupled to the data management system 122) to display the graphical user interface. This operation for displaying the graphical user interface can be separate from operations 302 through 312 or, alternatively, form part of one or more of operations 302 through 312.

[0061] FIG. 4 is a flowchart illustrating an example method 400 for facilitating search result optimization using embedding-based query rewriting, according to various examples of the present disclosure. It will be understood that example methods described herein may be performed by a machine in accordance with some examples. For example, method 400 can be performed by the data management system 122 described with respect to FIG. 1, the data management system 212 described with respect to FIG. 2, or individual components thereof. An operation of various methods described herein may be performed by one or more hardware processors (e.g., central processing units or graphics processing units) of a computing device (e.g., a desktop, server, laptop, mobile phone, tablet, etc. ) , which may be part of a computing system based on a cloud architecture. Example methods described herein may also be implemented in the form of executable instructions stored on a machine-readable medium or in the form of electronic circuitry. For instance, the operations of method 400 may be represented by executable instructions that, when executed by a processor of a computing device, cause the computing device to perform method 400. Depending on the embodiment, an operation of an example method described herein may be repeated in different ways or involve intervening operations not shown. Though the operations of example methods may be depicted and described in a certain order, the order in which the operations are performed may vary among examples, including performing certain operations in parallel. Operations in method 400 can be performed dependently or independently from operations in method 300.

[0062] At operation 402, a processor runs (or conducts) a relevance simulation a relevance simulation on a subset of the plurality of query pairs to measure the relevance impact of the query results generated based on the one or more query rewrite candidates.

[0063] At operation 404, a processor evaluates the relevance simulation results and identifies one or more top-performing query pairs from the subset of the plurality of query pairs for generating the final search results. These selected pairs demonstrate successful conversion signals and are typically associated with completed transactions, ensuring they represent effective query reformulations. For example, relevance impact is measured by calculating the average PEGFB (Perfect, Excellent, Good, Fair, Bad) scores of the top-ranked items and comparing PEGFB scores with and without the union of the rewrite candidates. Only top-performing pairs showing less than a certain percentage of PEGFB regression are retained, and a maximum number of best-performing query pairs are kept per seed query. The selection process considers recall size constraints, focusing on queries with a certain recall size (e.g., between 40-1000 items) while excluding queries with very large recall sizes that show neutral or negative trending, and filtering out queries with minimum recall sizes that demonstrate unsatisfactory user interactions.

[0064] At operation 406, a processor updates the final search results (also referred to as final query results) based on one or more query rewrite candidates included in the one or more top-performing query pairs.

[0065] At operation 408, a processor trains the two-tower machine learning model based on the one or more top-performing query pairs from the subset of the plurality of query pairs.

[0066] Though not illustrated, method 400 can include an operation where a graphical user interface can be displayed (or caused to be displayed) by the hardware processor. For instance, the operation can cause a client device (e.g., the client device 102 communicatively coupled to the data management system 122) to display the graphical user interface. This operation for displaying the graphical user interface can be separate from operations 402 through 408 or, alternatively, form part of one or more of operations 402 through 408.

[0067] FIG. 5 is a flowchart illustrating an example method 500 for facilitating search result optimization using embedding-based query rewriting, according to various examples of the present disclosure. It will be understood that example methods described herein may be performed by a machine in accordance with some examples. For example, method 500 can be performed by the data management system 122 described with respect to FIG. 1, the data management system 212 described with respect to FIG. 2, or individual components thereof. An operation of various methods described herein may be performed by one or more hardware processors (e.g., central processing units or graphics processing units) of a computing device (e.g., a desktop, server, laptop, mobile phone, tablet, etc. ) , which may be part of a computing system based on a cloud architecture. Example methods described herein may also be implemented in the form of executable instructions stored on a machine-readable medium or in the form of electronic circuitry. For instance, the operations of method 500 may be represented by executable instructions that, when executed by a processor of a computing device, cause the computing device to perform method 500. Depending on the embodiment, an operation of an example method described herein may be repeated in different ways or involve intervening operations not shown. Though the operations of example methods may be depicted and described in a certain order, the order in which the operations are performed may vary among examples, including performing certain operations in parallel. Operations in method 500 can be performed dependently or independently from operations in method 300 and method 400.

[0068] At operation 502, a processor identifies a plurality of historical user-generated search queries received within a predetermined time period. Historical user-generated search queries are identified from a specific time period to establish the model’s training dataset, ensuring the data represents effective search-to-purchase patterns. This helps maintain the relevance and quality of the query pool. For example, 84 million historical user-generated search queries with conversion signals from the past 6 months can be identified to establish the dataset.

[0069] At operation 504, a processor retrieves item data for each historical user-generated search query. The item data for each historical user-generated search query can include one or more of item titles, item descriptions, prices, categories, user ratings and reviews, conversion data, and user interaction data.

[0070] At operation 506, a processor generates a plurality of query-item pairs based on the plurality of historical user-generated search queries and the item data for each historical user-generated search query. In particular, positive samples can be created from queries and their clicked items. Hard negative samples can be created from items without clicks for the same query. These query-item pairs serve as the foundation for training the two-tower model, allowing for effective query-rewriting capabilities.

[0071] At operation 508, a processor trains the two-tower machine learning model based on the plurality of query-item pairs. In various embodiments, both towers are trained based on query-item pairs, though only the query tower is subsequently used to retrieve embeddings representing query rewrite candidates described herein.

[0072] Though not illustrated, method 500 can include an operation where a graphical user interface can be displayed (or caused to be displayed) by the hardware processor. For instance, the operation can cause a client device (e.g., the client device 102 communicatively coupled to the data management system 122) to display the graphical user interface. This operation for displaying the graphical user interface can be separate from operations 502 through 508 or, alternatively, form part of one or more of operations 502 through 508.

[0073] FIG. 6 is a diagram illustrating a data flow 600 that facilitates search result optimization using embedding-based query rewriting, according to various examples of the present disclosure. As shown, X million conversion Search Results Pages (SRPs) are gathered over a Y-month period. Through filtering that retains only queries with recall sizes exceeding Z after deduplication, the data management system  (e.g., systems 122, 212) refines this initial dataset down to a number of qualified queries 602 that serve as the foundation for index building. Indexes enable efficient retrieval of similar queries from a massive dataset of qualified queries. The data management system uses Faiss HNSW (Hierarchical Navigable Small World) technology to create vector indexes that allow for approximate nearest neighbor (ANN) search. This indexing structure makes it possible to quickly locate the most semantically similar queries when processing a seed query.

[0074] The data management system employs a sophisticated dual embedding approach utilizing two types of embedding models: a query-item embedding model 604 and an in-session query embedding model 606. Path A leverages the query-item embedding model that captures relationships between queries and clicked items, while Path B implements an in-session query embedding model that learns from users’ query reformulations within the same search session. These models work in parallel to generate query embeddings that help build the initial index structure and allow for index searching for small-recalled seed queries.

[0075] For vector index implementation, the data management system utilizes Faiss HNSW (Hierarchical Navigable Small World) technology for both embedding paths. This implementation enables efficient approximate nearest neighbor search, with each path retrieving a number of the most relevant candidate queries (e.g., rewrite candidates) . The HNSW approach provides an effective balance between search efficiency and result quality in the high-dimensional embedding space.

[0076] Upon identifying the most relevant candidate queries, the data management system arrives at the candidate fusion stage 608, where the candidate queries retrieved from both embedding paths are combined, ensuring a diverse pool of potential rewrite candidates. The data management system generates query pairs described herein. The rewrite candidates are evaluated and scored at the relevance-based query ranking stage 610. Finally, the data management system evaluates the candidates’ effectiveness at the relevance simulation stage 612, ultimately selecting the most promising (top-performing) candidates and outputting them in the query pair format, such as <query, rewrite1, rewrite3, rewrite4>.

[0077] This comprehensive workflow creates a robust system that maintains both semantic similarity and relevance in the final query rewrites. The multi-stage filtering and evaluation process ensures that the selected rewrites not only preserve the original query intent but also expand the vocabulary coverage to improve search results.

[0078] FIG. 7 is a block diagram 700 illustrating examples of a whole query rewrite flow that facilitates search result optimization using embedding-based query rewriting, according to various examples of the present disclosure. As shown, the block diagram illustrates how query rewrite candidates are identified at the whole query level, where the original query 702 “teeth and mouth wash” is rewritten into complete alternative queries, such as Query 1 “gums care mouth wash, ” Query 2 “teeth gum mouth wash, ” and Query 3 “the natural dentist mouthwash. ” This whole-query approach maintains the semantic integrity of the entire search intent rather than breaking it down into individual terms. This approach addresses a challenge in search where there can be a potential gap between whole query semantics and word-level semantics. By treating queries as complete units rather than individual terms, the system better preserves the user's intended search objective.

[0079] Individual queries (e.g., Cassini Queries 1-3) are generated for each rewrite candidate. These individual Cassini queries are then combined through a replace / union operation to create the final rewrite candidate that enables the retrieval system to fetch results matching any of these query variations.

[0080] FIG. 8 is a block diagram 800 illustrating an example embedding model training data and model architecture that facilitates search result optimization using embedding-based query rewriting, according to various examples of the present disclosure. As shown, the architecture illustrates a Siamese eBERT machine learning model architecture, in particular, the query-item embedding model architecture described herein. The model collects search queries and the corresponding user behavior data to generate embeddings that represent the collected search queries. The model architecture includes two neural networks (also referred to as “towers” or “query embedders” ) 802 and 804. Both towers share the same underlying structure.

[0081] The model is initially trained on query-item pairs, where each pair consists of a user query 806 (e.g., “Spider Man Comic Books” ) and a number of the associated items (e.g., items 1-3) . The model learns to map both query 806 and items 1-3 into a shared embedding space and captures patterns that reflect semantic similarity between information in query 806 and the types of items that fulfill the query. After training, the model can be deployed to handle query-query pairs rather than query-item pairs. Under this approach, the two-tower model learns a rich representation of user intent in relation to available items. Once deployed, the model can effectively use its learned representations to determine semantic similarity between queries. This allows for improved search relevance and supports diverse query reformulation.

[0082] FIG. 9 is a block diagram 900 illustrating an example embedding model training data and model architecture that facilitates search result optimization using embedding-based query rewriting, according to various examples of the present disclosure. As shown, the architecture illustrates a Siamese eBERT machine learning model architecture, in particular, the in-session query embedding model architecture described herein. Similarly to the query-item embedding model architecture, the in-session query embedding model architecture includes two neural networks, 902 and 904, that share the same underlying structure. Each neural network (or tower, embedder) uses eBERT as the base model. This in-session embedding model complements the query-item embedding model by capturing query relationships even when no item-level interactions (e.g., clicks) are recorded. This helps capture how users naturally refine their searches when initial results don’ t meet their expectations.

[0083] FIG. 10 is a block diagram illustrating an example of a software architecture 1002 that may be installed on a machine, according to some examples. FIG. 10 is merely a non-limiting example of software architecture, and it will be appreciated that many other architectures may be implemented to facilitate the functionality described herein. The software architecture 1002 may be executing on hardware such as a machine 1100 of FIG. 11 that includes, among other things, processors 1110, memory 1130, and input / output (I / O) components 1150. A representative hardware layer 1004 is illustrated and can represent, for example, the machine 1100 of FIG. 11. The representative hardware layer 1004 comprises one or more processing units 1006 having associated executable instructions 1008. The executable instructions 1008 represent the executable instructions of the software architecture 1002. The hardware layer 1004 also includes memory or storage modules 1010, which also have the executable instructions 1008. The hardware layer 1004 may also comprise other hardware 1012, which represents any other hardware of the hardware layer 1004, such as the other hardware illustrated as part of the machine 1100.

[0084] In the example architecture of FIG. 10, the software architecture 1002 may be conceptualized as a stack of layers, where each layer provides particular functionality. For example, the software architecture 1002 may include layers such as an operating system 1014, libraries 1016, frameworks / middleware 1018, applications 1020, and a presentation layer 1044. Operationally, the applications 1020 or other components within the layers may invoke API calls 1024 through the software stack and receive a response, returned values, and so forth (illustrated as messages 1026) in response to the API calls 1024. The layers illustrated are representative in nature, and not all software architectures have all layers. For example, some mobile or special-purpose operating systems may not provide a frameworks / middleware 1018 layer, while others may provide such a layer. Other software architectures may include additional or different layers.

[0085] The operating system 1014 may manage hardware resources and provide common services. The operating system1014 may include, for example, a kernel 1028, services 1030, and drivers 1032. The kernel 1028 may act as an abstraction layer between the hardware and the other software layers. For example, the kernel 1028 may be responsible for memory management, processor management (e.g., scheduling) , component management, networking, security settings, and so on. The services 1030 may provide other common services for the other software layers. The drivers 1032 may be responsible for controlling or interfacing with the underlying hardware. For instance, the drivers 1032 may include display drivers, camera drivers,  drivers, flash memory drivers, serial communication drivers (e.g., Universal Serial Bus (USB) drivers) ,  drivers, audio drivers, power management drivers, and so forth depending on the hardware configuration.

[0086] The libraries 1016 may provide a common infrastructure that may be utilized by the applications 1020 and / or other components and / or layers. The libraries 1016 typically provide functionality that allows other software modules to perform tasks in an easier fashion than by interfacing directly with the underlying operating system 1014 functionality (e.g., kernel 1028, services 1030, or drivers 1032) . The libraries 1016 may include system libraries 1034 (e.g., C standard library) that may provide functions such as memory allocation functions, string manipulation functions, mathematic functions, and the like. In addition, the libraries 1016 may include API libraries 1036 such as media libraries (e.g., libraries to support presentation and manipulation of various media formats such as MPEG4, H. 264, MP3, AAC, AMR, JPG, and PNG) , graphics libraries (e.g., an OpenGL framework that may be used to render 2D and 3D graphic content on a display) , database libraries (e.g., SQLite that may provide various relational database functions) , web libraries (e.g., WebKit that may provide web browsing functionality) , and the like. The libraries 1016 may also include a wide variety of other libraries 1038 to provide many other APIs to the applications 1020 and other software components / modules.

[0087] The frameworks 1018 (also sometimes referred to as middleware) may provide a higher-level common infrastructure that may be utilized by the applications 1020 or other software components / modules. For example, the frameworks 1018 may provide various graphical user interface functions, high-level resource management, high-level location services, and so forth. The frameworks 1018 may provide a broad spectrum of other APIs that may be utilized by the applications 1020 and / or other software components / modules, some of which may be specific to a particular operating system or platform.

[0088] The applications 1020 include built-in applications 1040 and / or third-party applications 1042. Examples of representative built-in applications 1040 may include, but are not limited to, a home application, a contacts application, a browser application, a book reader application, a location application, a media application, a messaging application, or a game application.

[0089] The third-party applications 1042 may include any of the built-in applications 1040, as well as a broad assortment of other applications. In a specific example, the third-party applications 1042 (e.g., an application developed using the AndroidTM or iOSTM software development kit (SDK) by an entity other than the vendor of the particular platform) may be mobile software running on a mobile operating system such as iOSTM, AndroidTM, or other mobile operating systems. In this example, the third-party applications 1042 may invoke the API calls 1024 provided by the mobile operating systemsuch as the operating system 1014 to facilitate functionality described herein.

[0090] The applications 1020 may utilize built-in operating system functions (e.g., kernel 1028, services 1030, or drivers 1032) , libraries (e.g., system libraries 1034, API libraries 1036, and other libraries 1038) , or frameworks / middleware 1018 to create user interfaces to interact with users of the system. Alternatively, or additionally, in some systems, interactions with a user may occur through a presentation layer, such as the presentation layer 1044. In these systems, the application / module “logic” can be separated from the aspects of the application / module that interact with the user.

[0091] Some software architectures utilize virtual machines. In the example of FIG. 10, this is illustrated by a virtual machine 1048. The virtual machine 1048 creates a software environment where applications / modules can execute as if they were executing on a hardware machine (e.g., the machine 1100 of FIG. 11) . The virtual machine 1048 is hosted by a host operating system (e.g., the operating system 1014) and typically, although not always, has a virtual machine monitor 1046, which manages the operation of the virtual machine 1048 as well as the interface with the host operating system  (e.g., the operating system 1014) . A software architecture executes within the virtual machine 1048, such as an operating system 1050, libraries 1052, frameworks 1054, applications 1056, or a presentation layer 1058. These layers of software architecture executing within the virtual machine 1048 can be the same as corresponding layers previously described or may be different.

[0092] FIG. 11 illustrates a diagrammatic representation of a machine 1100 in the form of a computer system within which a set of instructions may be executed for causing the machine 1100 to performany one or more of the methodologies discussed herein, according to some examples. Specifically, FIG. 11 shows a diagrammatic representation of the machine 1100 in the example form of a computer system, within which instructions 1116 (e.g., software, a program, an application, an applet, an app, or other executable code) for causing the machine 1100 to perform any one or more of the methodologies discussed herein may be executed. For example, the instructions 1116 may cause the machine 1100 to execute method 300 described above with respect to FIG. 3, method 400 described above with respect to FIG. 4, and method 500 described above with respect to FIG. 5. The instructions 1116 transform the general, non-programmed machine 1100 into a particular machine 1100 programmed to carry out the described and illustrated functions in the manner described. In alternative examples, the machine 1100 operates as a standalone device or may be coupled (e.g., networked) to other machines. In a networked deployment, the machine 1100 may operate in the capacity of a server machine or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine 1100 may comprise, but not be limited to, a server computer, a client computer, a personal computer (PC) , a tablet computer, a laptop computer, a netbook, a personal digital assistant (PDA) , an entertainment media system, a cellular telephone, a smart phone, a mobile device, or any machine capable of executing the instructions 1116, sequentially or otherwise, that specify actions to be taken by the machine 1100. Further, while only a single machine 1100 is illustrated, the term  “machine” shall also be taken to include a collection of machines 1100 that individually or jointly execute the instructions 1116 to perform any one or more of the methodologies discussed herein.

[0093] The machine 1100 may include processors 1110, memory 1130, and I / O components 1150, which may be configured to communicate with each other such as via a bus 1102. In an example, the processors 1110 (e.g., a hardware processor, such as a central processing unit (CPU) , a reduced instruction set computing (RISC) processor, a complex instruction set computing (CISC) processor, a graphics processing unit (GPU) , a digital signal processor (DSP) , an application-specific integrated circuit (ASIC) , a radio-frequency integrated circuit (RFIC) , another processor, or any suitable combination thereof) may include, for example, a processor 1112 and a processor 1114 that may execute the instructions 1116. The term  “processor” is intended to include multi-core processors that may comprise two or more independent processors (sometimes referred to as “cores” ) that may execute instructions contemporaneously. Although FIG. 11 shows multiple processors 1110, the machine 1100 may include a single processor with a single core, a single processor with multiple cores (e.g., a multi-core processor) , multiple processors with a single core, multiple processors with multiples cores, or any combination thereof.

[0094] The memory 1130 may include a main memory 1132, a static memory 1134, and a storage unit 1136 including machine-readable medium 1138, each accessible to the processors 1110 such as via the bus 1102. The main memory 1132, the static memory 1134, and the storage unit 1136 store the instructions 1116 embodying any one or more of the methodologies or functions described herein. The instructions 1116 may also reside, completely or partially, within the main memory 1132, within the static memory 1134, within the storage unit 1136, within at least one of the processors 1110 (e.g., within the processor’s cache memory) , or any suitable combination thereof, during execution thereof by the machine 1100.

[0095] The I / O components 1150 may include a wide variety of components to receive input, provide output, produce output, transmit information, exchange information, capture measurements, and so on. The specific I / O components 1150 that are included in a particular machine will depend on the type of machine. For example, portable machines such as mobile phones will likely include a touch input device or other such input mechanisms, while a headless server machine will likely not include such a touch input device. It will be appreciated that the I / O components 1150 may include many other components that are not shown in FIG. 11. The I / O components 1150 are grouped according to functionality merely for simplifying the following discussion, and the grouping is in no way limiting. In some examples, the I / O components 1150 may include output components 1152 and input components 1154. The output components 1152 may include visual components (e.g., a display such as a plasma display panel (PDP) , a light-emitting diode (LED) display, a liquid crystal display (LCD) , a projector, or a cathode ray tube (CRT) ) , acoustic components (e.g., speakers) , haptic components (e.g., a vibratory motor, resistance mechanisms) , other signal generators, and so forth. The input components 1154 may include alphanumeric input components (e.g., a keyboard, a touch screen configured to receive alphanumeric input, a photo-optical keyboard, or other alphanumeric input components) , point-based input components (e.g., a mouse, a touchpad, a trackball, a joystick, a motion sensor, or another pointing instrument) , tactile input components (e.g., a physical button, a touch screen that provides location and / or force of touches or touch gestures, or other tactile input components) , audio input components (e.g., a microphone) , and the like.

[0096] In further examples, the I / O components 1150 may include biometric components 1156, motion components 1158, environmental components 1160, or position components 1162, among a wide array of other components. The motion components 1158 may include acceleration sensor components (e.g., accelerometer) , gravitation sensor components, rotation sensor components (e.g., gyroscope) , and so forth. The environmental components 1160 may include, for example, illumination sensor components (e.g., photometer) , temperature sensor components (e.g., one or more thermometers that detect ambient temperature) , humidity sensor components, pressure sensor components (e.g., barometer) , acoustic sensor components (e.g., one or more microphones that detect background noise) , proximity sensor components (e.g., infrared sensors that detect nearby objects) , gas sensors (e.g., gas detection sensors to detect concentrations of hazardous gases for safety or to measure pollutants in the atmosphere) , or other components that may provide indications, measurements, or signals corresponding to a surrounding physical environment. The position components 1162 may include location sensor components (e.g., a Global Positioning System  (GPS) receiver component) , altitude sensor components (e.g., altimeters or barometers that detect air pressure from which altitude may be derived) , orientation sensor components (e.g., magnetometers) , and the like.

[0097] Communication may be implemented using a wide variety of technologies. The I / O components 1150 may include communication components 1164 operable to couple the machine 1100 to a network 1180 or devices 1170 via a coupling 1182 and a coupling 1172, respectively. For example, the communication components 1164 may include a network interface component or another suitable device to interface with the network 1180. In further examples, the communication components 1164 may include wired communication components, wireless communication components, cellular communication components, near field communication (NFC) components,  components (e.g.,  Low Energy) ,  components, and other communication components to provide communication via other modalities. The devices 1170 may be another machine or any of a wide variety of peripheral devices (e.g., a peripheral device coupled via a USB) .

[0098] Moreover, the communication components 1164 may detect identifiers or include components operable to detect identifiers. For example, the communication components 1164 may include radio frequency identification (RFID) tag reader components, NFC smart tag detection components, optical reader components (e.g., an optical sensor to detect one-dimensional bar codes such as Universal Product Code (UPC) bar code, multi-dimensional bar codes such as Quick Response (QR) code, Aztec code, Data Matrix, Dataglyph, MaxiCode, Ultra Code, UCC RSS-2D bar code, and other optical codes) , or acoustic detection components (e.g., microphones to identify tagged audio signals) . In addition, a variety of information may be derived via the communication components 1164, such as location via Internet Protocol (IP) geolocation, location via signal triangulation, location via detecting an NFC beacon signal that may indicate a particular location, and so forth.

[0099] Certain examples are described herein as including logic or a number of components, modules, elements, or mechanisms. Such modules can constitute either software modules (e.g., code embodied on a machine-readable medium or in a transmission signal) or hardware modules. A “hardware module” is a tangible unit capable of performing certain operations and can be configured or arranged in a certain physical manner. In various example embodiments, one or more computer systems (e.g., a standalone computer system, a client computer system, or a server computer system) or one or more hardware modules of a computer system  (e.g., a processor or a group of processors) are configured by software (e.g., an application or application portion) as a hardware module that operates to perform certain operations as described herein.

[0100] In some examples, a hardware module is implemented mechanically, electronically, or any suitable combination thereof. For example, a hardware module can include dedicated circuitry or logic that is permanently configured to perform certain operations. For example, a hardware module can be a special-purpose processor, such as a field-programmable gate array (FPGA) or an ASIC. A hardware module may also include programmable logic or circuitry that is temporarily configured by software to perform certain operations. For example, a hardware module can include software encompassed within a general-purpose processor or other programmable processor. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) can be driven by cost and time considerations.

[0101] Accordingly, the phrase “module” should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired) , or temporarily configured (e.g., programmed) to operate in a certain manner or to perform certain operations described herein. Considering examples in which hardware modules are temporarily configured (e.g., programmed) , each of the hardware modules need not be configured or instantiated at any one instance in time. For example, where a hardware module comprises a general-purpose processor configured by software to become a special-purpose processor, the general-purpose processor may be configured as respectively different special-purpose processors (e.g., comprising different hardware modules) at different times. Software can accordingly configure a particular processor or processors, for example, to constitute a particular hardware module at one instance of time and to constitute a different hardware module at a different instance of time.

[0102] Hardware modules can provide information to, and receive information from, other hardware modules. Accordingly, the described hardware modules can be regarded as being communicatively coupled. Where multiple hardware modules exist contemporaneously, communications can be achieved through signal transmission (e.g., over appropriate circuits and buses) between or among two or more of the hardware modules. In examples in which multiple hardware modules are configured or instantiated at different times, communications between or among such hardware modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware modules have access. For example, one hardware module performs an operation and stores the output of that operation in a memory device to which it is communicatively coupled. A further hardware module can then, at a later time, access the memory device to retrieve and process the stored output. Hardware modules can also initiate communications with input or output devices, and can operate on a resource (e.g., a collection of information) .

[0103] The various operations of example methods described herein can be performed, at least partially, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors constitute processor-implemented modules that operate to perform one or more operations or functions described herein. As used herein, “processor-implemented module” refers to a hardware module implemented using one or more processors.

[0104] Similarly, the methods described herein can be at least partially processor-implemented, with a particular processor or processors being an example of hardware. For example, at least some of the operations of a method can be performed by one or more processors or processor-implemented modules. Moreover, the one or more processors may also operate to support performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS) . For example, at least some of the operations may be performed by a group of computers (as examples of machines 1100 including processors 1110) , with these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., an API) . In certain embodiments, for example, a client device may relay or operate in communication with cloud computing systems and may access circuit design information in a cloud environment.

[0105] The performance of certain of the operations may be distributed among the processors, not only residing within a single machine 1100, but deployed across a number of machines 1100. In some examples, the processors 1110 or processor-implemented modules are located in a single geographic location (e.g., within a home environment, an office environment, or a server farm) . In other example embodiments, the processors or processor-implemented modules are distributed across a number of geographic locations.

[0106] The various memories (i.e., 1130, 1132, 1134, and / or the memory of the processor (s) 1110) and / or the storage unit 1136 may store one or more sets of instructions 1116 and data structures (e.g., software) embodying or utilized by any one or more of the methodologies or functions described herein. These instructions (e.g., the instructions 1116) , when executed by the processor (s) 1110, cause various operations to implement the disclosed embodiments.

[0107] As used herein, the terms “machine-storage medium, ” “device-storage medium, ” and “computer-storage medium” mean the same thing and may be used interchangeably. The terms refer to a single or multiple storage devices and / or media (e.g., a centralized or distributed database, and / or associated caches and servers) that store executable instructions 1116 and / or data. The terms shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media, including memory internal or external to processors. Specific examples of machine-storage media, computer-storage media and / or device-storage media include non-volatile memory, including by way of example semiconductor memory devices, e.g., erasable programmable read-only memory (EPROM) , electrically erasable programmable read-only memory (EEPROM) , FPGA, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The terms “machine-storage media, ” “computer-storage media, ” and “device-storage media” specifically exclude carrier waves, modulated data signals, and other such media, at least some of which are covered under the term  “signal medium” discussed below.

[0108] In some examples, one or more portions of the network 1180 may be an ad hoc network, an intranet, an extranet, a virtual private network (VPN) , a LAN, a wireless LAN (WLAN) , a WAN, a wireless WAN (WWAN) , a metropolitan-area network (MAN) , the Internet, a portion of the Internet, a portion of the public switched telephone network (PSTN) , a plain old telephone service (POTS) network, a cellular telephone network, a wireless network, a network, another type of network, or a combination of two or more such networks. For example, the network 1180 or a portion of the network 1180 may include a wireless or cellular network, and the coupling 1182 may be a Code Division Multiple Access (CDMA) connection, a Global System for Mobile communications (GSM) connection, or another type of cellular or wireless coupling. In this example, the coupling 1182 may implement any of a variety of types of data transfer technology, such as Single Carrier Radio Transmission Technology (1xRTT) , Evolution-Data Optimized (EVDO) technology, General Packet Radio Service (GPRS) technology, Enhanced Data rates for GSM Evolution (EDGE) technology, third Generation Partnership Project (3GPP) including 3G, fourth generation wireless (4G) networks, Universal Mobile Telecommunications System  (UMTS) , High-Speed Packet Access (HSPA) , Worldwide Interoperability for Microwave Access (WiMAX) , Long-Term Evolution (LTE) standard, others defined by various standard-setting organizations, other long-range protocols, or other data transfer technology.

[0109] The instructions may be transmitted or received over the network using a transmission medium via a network interface device (e.g., a network interface component included in the communication components) and utilizing any one of a number of well-known transfer protocols (e.g., hypertext transfer protocol (HTTP) ) . Similarly, the instructions may be transmitted or received using a transmission medium via the coupling (e.g., a peer-to-peer coupling) to the devices 1170. The terms “transmission medium” and “signal medium” mean the same thing and may be used interchangeably in this disclosure. The terms “transmission medium” and “signal medium” shall be taken to include any intangible medium that is capable of storing, encoding, or carrying the instructions for execution by the machine, and include digital or analog communications signals or other intangible media to facilitate communication of such software. Hence, the terms “transmission medium” and “signal medium” shall be taken to include any form of modulated data signal, carrier wave, and so forth. The term  “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.

[0110] The terms “machine-readable medium, ” “computer-readable medium, ” and “device-readable medium” mean the same thing and may be used interchangeably in this disclosure. The terms are defined to include both machine-storage media and transmission media. Thus, the terms include both storage devices / media and carrier waves / modulated data signals. For instance, an embodiment described herein can be implemented using a non-transitory medium (e.g., a non-transitory computer-readable medium) .

[0111] Throughout this specification, plural instances may implement resources, components, operations, or structures described as a single instance. Although individual operations of one or more methods are illustrated and described as separate operations, one or more of the individual operations may be performed concurrently, and nothing requires that the operations be performed in the order illustrated. Structures and functionality presented as separate components in example configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components.

[0112] As used herein, the term  “or” may be construed in either an inclusive or exclusive sense. The terms “a” or “an” should be read as meaning “at least one, ” “one or more, ” or the like. The presence of broadening words and phrases such as “one or more, ” “at least, ” “but not limited to, ” or other like phrases in some instances shall not be read to mean that the narrower case is intended or required in instances where such broadening phrases may be absent. Additionally, boundaries between various resources, operations, modules, engines, and data stores are somewhat arbitrary, and particular operations are illustrated in a context of specific illustrative configurations. Other allocations of functionality are envisioned and may fall within a scope of various embodiments of the present disclosure. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.

[0113] It will be understood that changes and modifications may be made to the disclosed embodiments without departing from the scope of the present disclosure. These and other changes or modifications are intended to be included within the scope of the present disclosure.

[0114] Example 1: A system comprising a memory storing instructions and one or more hardware processors communicatively coupled to the memory and configured by the instructions to performoperations comprising receiving a user-generated search query from a device, retrieving using a first machine learning model a plurality of embeddings representing a plurality of query rewrite candidates each query rewrite candidate being contextually similar to an embedding representing the user-generated search query, generating a plurality of query pairs between the user-generated search query and each query rewrite candidate, generating using a second machine learning model a plurality of similarity scores based on the plurality of query pairs, ranking the plurality of similarity scores to identify a query rewrite candidate used for generating query results, and causing display of the query results on the device.

[0115] Example 2: In the subject matter of Example 1, wherein the operations comprise running a relevance simulation on a subset of the plurality of query pairs to measure relevance impact of the query results generated based on the query rewrite candidate with the plurality of query pairs being in text format, in response to running the relevance simulation identifying one or more query pairs from the subset of the plurality of query pairs, and updating the query results based on one or more query rewrite candidates included in the one or more query pairs.

[0116] Example 3: In the subject matter of Examples 1-2, wherein the operations comprise training the first machine learning model based on the one or more query pairs from the subset of the plurality of query pairs.

[0117] Example 4: In the subject matter of Example 1, wherein the plurality of query pairs is a plurality of query-query pairs, comprising identifying a plurality of historical user-generated search queries received within a predetermined time period, retrieving item data for each historical user-generated search query, generating a plurality of query-item pairs based on the plurality of historical user-generated search queries and the item data for each historical user-generated search query, and training the first machine learning model based on the plurality of query-item pairs.

[0118] Example 5: In the subject matter of Example 4, wherein each query in the plurality of historical user-generated search queries is associated with one or more complete transactions of one or more queried items.

[0119] Example 6: In the subject matter of Example 4, wherein the item data for each historical user-generated search query comprises one or more of item titles, item descriptions, prices, categories, user ratings and reviews, conversion data, and user interaction data.

[0120] Example 7: In the subject matter of Example 4, wherein the first machine learning model corresponds to a two-tower machine learning model that comprises a query tower and an item tower that share the same weights, and wherein the two-tower machine learning model comprises a Siamese neural network.

[0121] Example 8: In the subject matter of Example 7, wherein both the query tower and the item tower are trained based on the plurality of query-item pairs, and wherein only the query tower is used to retrieve the plurality of embeddings representing the plurality of query rewrite candidates.

[0122] Example 9: In the subject matter of Example 1, wherein the operations comprise generating, using a third machine learning model, the embedding representing the user-generated search query based on the user-generated search query.

[0123] Example 10: In the subject matter of Example 1, wherein the second machine learning model comprises a binary classification eBERT model, and wherein the query rewrite candidate is included in a query pair associated with a top-ranked similarity score.

[0124] Example 11: A method comprising the operations of Example 1.

[0125] Example 12: In the subject matter of Example 11, comprising the operations of Example 2.

[0126] Example 13: In the subject matter of Examples 11-12, comprising the operations of Example 3.

[0127] Example 14: In the subject matter of Example 11, comprising the operations of Example 4.

[0128] Example 15: In the subject matter of Example 14, comprising the subject matter of Example 5.

[0129] Example 16: In the subject matter of Example 14, comprising the subject matter of Example 6.

[0130] Example 17: In the subject matter of Example 14, comprising the subject matter of Example 7.

[0131] Example 18: In the subject matter of Example 17, comprising the subject matter of Example 8.

[0132] Example 19: In the subject matter of Example 11, comprising the operations of Example 9.

[0133] Example 20: A computer-storage medium comprising instructions that, when executed by a processing device, cause the processing device to perform the operations of Example 1.

[0134] Example 21: An apparatus comprising means to perform one or more elements of a method described in or related to any of Examples 1-20 or any other method or process described herein.

[0135] Example 22: One or more non-transitory computer-readable media comprising instructions to cause an electronic device, upon execution of the instructions by one or more processors of the electronic device, to perform one or more elements of a method described in or related to any of Examples 1-21, or any other method or process described herein.

[0136] Example 23: An apparatus comprising logic, modules, or circuitry to perform one or more elements of a method described in or related to any of Examples 1-22 or any other method or process described herein.

[0137] Example 24: A method, technique, or process as described in or related to any of Examples 1-23 or portions or parts thereof.

[0138] Example 25: An apparatus comprising one or more processors and one or more computer-readable media comprising instructions that, when executed by the one or more processors, cause the one or more processors to perform the method, techniques, or process as described in or related to any of Examples 1-24, or portions thereof.

[0139] Example 26: A signal as described in or related to any of Examples 1-25, or portions or parts thereof.

[0140] Example 27: A datagram, packet, frame, segment, protocol data unit (PDU) , or message as described in or related to any of Examples 1-26, or portions or parts thereof, or otherwise described in the present disclosure.

[0141] Example 28: A signal encoded with data as described in or related to any of Examples 1-27, or portions or parts thereof, or otherwise described in the present disclosure.

[0142] Example 29: A signal encoded with a datagram, packet, frame, segment, protocol data unit (PDU) , or message as described in or related to any of Examples 1-28, or portions or parts thereof, or otherwise described in the present disclosure.

[0143] Example 30: An electromagnetic signal carrying computer-readable instructions, wherein execution of the computer-readable instructions by one or more processors is to cause the one or more processors to perform the method, techniques, or process as described in or related to any of Examples 1-29, or portions thereof.

[0144] Example 31: A computer programcomprising instructions, wherein execution of the program by a processing element is to cause the processing element to carry out the method, techniques, or process as described in or related to any of Examples 1-30, or portions thereof.

[0145] Example 32: A signal in a wireless network, as shown and described herein.

[0146] Example 33: A method of communicating in a wireless network as shown and described herein.

[0147] Example 34: A system for providing wireless communication, as shown and described herein.

[0148] Example 35: A device for providing wireless communication as shown and described herein.

Claims

1.A system comprising:a memory storing instructions; andone or more hardware processors communicatively coupled to the memory and configured by the instructions to perform operations comprising:receiving a user-generated search query from a device;retrieving, using a first machine learning model, a plurality of embeddings representing a plurality of query rewrite candidates, each query rewrite candidate being contextually similar to an embedding representing the user-generated search query;generating a plurality of query pairs between the user-generated search query and each query rewrite candidate;generating, using a second machine learning model, a plurality of similarity scores based on the plurality of query pairs;ranking the plurality of similarity scores to identify a query rewrite candidate used for generating query results; andcausing display of the query results on the device.2.The system of claim 1, wherein the operations comprise:running a relevance simulation on a subset of the plurality of query pairs to measure relevance impact of the query results generated based on the query rewrite candidate, the plurality of query pairs being in text format;in response to running the relevance simulation, identifying one or more query pairs from the subset of the plurality of query pairs; andupdating the query results based on one or more query rewrite candidates included in the one or more query pairs.3.The system of claim 2, wherein the operations comprise:training the first machine learning model based on the one or more query pairs from the subset of the plurality of query pairs.4.The system of claim 1, wherein the plurality of query pairs is a plurality of query-query pairs, comprising:identifying a plurality of historical user-generated search queries received within a predetermined time period;retrieving item data for each historical user-generated search query;generating a plurality of query-item pairs based on the plurality of historical user-generated search queries and the item data for each historical user-generated search query; andtraining the first machine learning model based on the plurality of query-item pairs.5.The system of claim 4, wherein each query in the plurality of historical user-generated search queries is associated with one or more complete transactions of one or more queried items.6.The system of claim 4, wherein the item data for each historical user-generated search query comprises one or more of item titles, item descriptions, prices, categories, user ratings and reviews, conversion data, and user interaction data.7.The system of claim 4, wherein the first machine learning model corresponds to a two-tower machine learning model that comprises a query tower and an item tower that share the same weights, and wherein the two-tower machine learning model comprises a Siamese neural network.8.The system of claim 7, wherein both the query tower and the item tower are trained based on the plurality of query-item pairs, and wherein only the query tower is used to retrieve the plurality of embeddings representing the plurality of query rewrite candidates.9.The system of claim 1, wherein the operations comprise:generating, using a third machine learning model, the embedding representing the user-generated search query based on the user-generated search query.10.The system of claim 1, wherein the second machine learning model comprises a binary classification eBERT model, and wherein the query rewrite candidate is included in a query pair associated with a top-ranked similarity score.11.A method comprising:receiving a user-generated search query from a device;retrieving, using a first machine learning model, a plurality of embeddings representing a plurality of query rewrite candidates, each query rewrite candidate being contextually similar to an embedding representing the user-generated search query;generating, by at least one hardware processor, a plurality of query pairs between the user-generated search query and each query rewrite candidate;generating, using a second machine learning model, a plurality of similarity scores based on the plurality of query pairs;ranking the plurality of similarity scores to identify a query rewrite candidate used for generating query results; andcausing display of the query results on the device.12.The method of claim 11, comprising:running a relevance simulation on a subset of the plurality of query pairs to measure relevance impact of the query results generated based on the query rewrite candidate, the plurality of query pairs being in text format;in response to running the relevance simulation, identifying one or more query pairs from the subset of the plurality of query pairs; andupdating the query results based on one or more query rewrite candidates included in the one or more query pairs.13.The method of claim 12, comprising:training the first machine learning model based on the one or more query pairs from the subset of the plurality of query pairs.14.The method of claim 11, wherein the plurality of query pairs is a plurality of query-query pairs, comprising:identifying a plurality of historical user-generated search queries received within a predetermined time period;retrieving item data for each historical user-generated search query;generating a plurality of query-item pairs based on the plurality of historical user-generated search queries and the item data for each historical user-generated search query; andtraining the first machine learning model based on the plurality of query-item pairs.15.The method of claim 14, wherein each query in the plurality of historical user-generated search queries is associated with one or more complete transactions of one or more queried items.16.The method of claim 14, wherein the item data for each historical user-generated search query comprises one or more of item titles, item descriptions, prices, categories, user ratings and reviews, conversion data, and user interaction data.17.The method of claim 14, wherein the first machine learning model corresponds to a two-tower machine learning model that comprises a query tower and an item tower that share the same weights, and wherein the two-tower machine learning model comprises a Siamese neural network.18.The method of claim 17, wherein both the query tower and the item tower are trained based on the plurality of query-item pairs, and wherein only the query tower is used to retrieve the plurality of embeddings representing the plurality of query rewrite candidates.19.The method of claim 11, comprising:generating, using a third machine learning model, the embedding representing the user-generated search query based on the user-generated search query.20.A computer-storage medium comprising instructions that, when executed by a processing device, cause the processing device to perform operations comprising:receiving a user-generated search query from a device;retrieving, using a first machine learning model, a plurality of embeddings representing a plurality of query rewrite candidates, each query rewrite candidate being contextually similar to an embedding representing the user-generated search query;generating a plurality of query pairs between the user-generated search query and each query rewrite candidate;generating, using a second machine learning model, a plurality of similarity scores based on the plurality of query pairs;ranking the plurality of similarity scores to identify a query rewrite candidate used for generating query results; andcausing display of the query results on the device.