Attribute-aware vector search using similarity threshold adjustment
By mapping items and queries to an expanded query space and using an adjusted similarity threshold, the problem of integrating structured data attributes in existing search systems is solved, resulting in more efficient and accurate search results and optimized utilization of computing resources.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-30
- Publication Date
- 2026-04-07
AI Technical Summary
Existing search systems struggle to effectively integrate structured data attributes into vector search, leading to multiple queries, wasted computational resources, and inaccurate search results.
By mapping items and queries to an expanded query space and selecting items within that space using an adjusted similarity threshold, attribute constraint filtering is integrated to optimize similarity search.
It improves the relevance of search results and the efficiency of computing resource utilization, reduces storage device I/O operations, and lowers network latency and computing resource consumption.
Smart Images

Figure CN121807841A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims the benefit of U.S. Provisional Application No. 63 / 703,441, filed October 4, 2024, the entire contents of which are incorporated herein by reference. TECHNICAL FIELD
[0003] Embodiments of the present invention relate to the field of computing, and more specifically to systems. The example embodiments described below provide a system, method, and program product, among others, to optimize similarity results in a system using attribute-aware vector search engines. BACKGROUND
[0004] Large-scale structured and unstructured data from sources such as social media, Internet of Things devices, medical systems, and surveillance systems are rapidly exhibiting exponential growth. As the volume of data continues to grow, efficient techniques for managing and retrieving meaningful information become increasingly important.
[0005] Vector search has become a key component in various domains including recommendation systems, e-commerce, legal document retrieval, bioinformatics, and the like. Vector search, especially through Approximate Nearest Neighbor (ANN) algorithms, has become a powerful method for efficiently identifying semantically similar items in large datasets. These methods transform unstructured data into high-dimensional feature vectors and efficiently perform similarity searches. While these vector search methods are able to identify semantically similar items, many practical applications require going beyond similarity-based results. For example, some applications require integrating specific attribute constraints from structured data, rather than relying solely on similarity-based results. SUMMARY
[0006] Various aspects of the technology described herein generally relate to systems, methods, and computer storage media, among others, for integrating attribute constraints into vector search results. More specifically, aspects of the technology described herein map items and queries to an extended query space using attributes and also select items in the extended query space using an adjusted similarity threshold. According to some configurations, a search query is received. Items are mapped into an extended embedding space based on encoded attributes of the items. The search query is also mapped into the extended embedding space based on encoded attributes of the search query. An adjusted similarity threshold is generated based on a number of attributes for which the search query is to be matched. Items similar to the search query in the extended embedding space are retrieved using the adjusted similarity threshold. Search results based on the one or more retrieved items can be provided as a response to the search query.
[0007] This Summary is intended to introduce some concepts in a simplified form that are further described below in the DETAILED DESCRIPTION. This Summary is neither intended to identify key or essential features of the claimed subject matter, nor is it intended to be used to determine the scope of the claimed subject matter. BRIEF DESCRIPTION OF DRAWINGS
[0008] The technology described herein will be described with reference to the accompanying drawings, of which:
[0009] Figure 1 An exemplary system implementing aspects of the technology described herein is provided;
[0010] Figure 2 A block diagram illustrating an attribute-aware vector search engine in accordance with some aspects of the technology described herein is provided;
[0011] Figure 3A With Figure 3B An example of an original embedding space and an expanded embedding space in accordance with some aspects of the technology described herein is shown;
[0012] Figure 4 A flowchart of an example method illustrating attribute-aware vector search using an adjusted similarity threshold in accordance with some aspects of the technology described herein is provided; and
[0013] Figure 5 A block diagram of an exemplary computing environment suitable for implementing aspects of the technology described herein is provided. DETAILED DESCRIPTION
[0014] SUMMARY
[0015] A search system supports storing items (products or assets) in an item database and searching received queries to identify search result items based on the queries. An item (e.g., a physical item or a digital item) refers to a product or asset provided for display on an item listing platform. The search system supports identifying result items from the item database for a received query. The item database can be specific to a content platform or an item listing platform, such as the eBay® content platform developed by eBay® Inc. of San Jose, California.
[0016] Conventionally, search systems have not been configured to effectively integrate structured data attributes into vector search. For example, in e-commerce, a search for "women's summer dresses" should return not only visually similar items, but also items that match certain attributes such as category (e.g., dresses), gender (e.g., female), and season (e.g., summer). In automotive parts search, a query for "brake pads" should return not only visually or structurally similar, but also parts that match certain brand and model. In legal document retrieval, a lawyer searching for case law should find documents that are not only semantically relevant, but also match attributes such as jurisdiction, court level, and date. In bioinformatics, researchers searching for similar protein structures should consider attributes such as molecular weight, hydrophobicity, and function in addition to structural similarity. In medical image retrieval, radiologists should have the ability to find visually similar medical images and also filter based on certain attributes such as age, gender, and medical history.
[0017] To handle attributes, conventional search systems typically employ one of the following approaches, such as 1) two-stage filtering, which involves two separate sub-query systems that perform attribute filtering and vector similarity search separately, which limits the accuracy, efficiency, and effectiveness of hybrid queries; and 2) single-stage filtering, which aims to address this limitation of two-stage filtering by concatenating vector similarity search and attribute filtering into a composite index, thereby allowing joint pruning of items with dissimilar vectors and mismatched attributes in a single step, which can result in retrieving items that do not meet the intended criteria.
[0018] Accordingly, users can need to perform multiple searches to find relevant items, which wastefully consumes various computing resources of the system, such as processing power, network bandwidth, throughput, memory usage, etc. In some instances, multiple attempts to find a particular item can even fail to satisfy the user's goal, thus requiring the user to spend more time and computing resources on the search process due to the process of repeatedly submitting additional queries until the user finally obtains the desired content item. In some cases, the user can even give up the search because the search engine fails to return the desired search results after multiple searches.
[0019] These deficiencies of existing search systems have adverse effects on computer network communications. For example, each time a query is received, the content or payload of the search query often supplements the header information or other metadata, which can multiply with all the additional queries needed to retrieve the relevant items. Thus, because such metadata is repeatedly generated and sent over the computer network, a cost in terms of throughput and latency is incurred. In some instances, these repeated queries increase storage device I / O (e.g., excessive physical read / write head movement on non-volatile disks) because each time a user enters unnecessary information (e.g., enters several queries), the computing system often needs to access the storage device to perform a read or write operation, which is time-consuming, error-prone, and ultimately causes wear and tear on components such as read / write heads. Moreover, if multiple users repeatedly submit queries, it is costly because processing the queries consumes a large amount of computing resources. For example, for some search engines, a query execution plan needs to be computed each time a query is submitted, which requires the search system to find the least costly query execution plan to completely execute the query. This reduces throughput and increases network latency, and can waste valuable time.
[0020] Aspects of the technology described herein address the deficiencies of existing search systems by providing a solution that effectively integrates structured data attributes into vector search. More specifically, aspects of the technology described herein map items and queries to an extended query space using attributes, and also select items in the extended query space using an adjusted similarity threshold. According to some configurations, a search query is received. Based on encoded attributes of a plurality of items, the items are mapped into an extended embedding space. Based on encoded attributes of the search query, the search query is also mapped into the extended embedding space. Based on a number of attributes of the search query to be matched, an adjusted similarity threshold is generated. Using the adjusted similarity threshold, items similar to the search query in the extended embedding space are retrieved. Search results based on the one or more retrieved items can be provided as a response to the search query.
[0021] Aspects of the technology described herein provide numerous improvements over existing search systems. For example, compared to existing techniques, computing resource consumption is improved while search relevance is also enhanced. In particular, the technology allows for integrating vector search and attribute constraint filtering, thereby eliminating the need for a multi-stage search that separately performs vector search and attribute constraint filtering. Moreover, by adjusting the similarity threshold based on attributes in the search query and using an extended embedding space in which the extended item embeddings and the extended query embeddings also encode attribute information, search result consistency can be ensured without changing how the original embeddings are generated or the underlying search algorithm. As can be seen, better results are achieved compared to conventional search systems that require extensive browsing and filtering of search results or performing multiple search queries.
[0022] Additionally, search result consistency is enhanced, thereby allowing users to more quickly access relevant search results. This eliminates (or at least reduces) the operation of extensive browsing and filtering of search results or performing multiple search queries. Thus, aspects of the technology described herein reduce computing resource (e.g., processing power and network bandwidth) consumption. For example, a user query (e.g., HTTP request) will only need to be transmitted once (or fewer times than existing techniques) in a computer network.
[0023] Similarly, aspects of the technology described herein improve storage device or disk I / O and query execution functionality. As previously described, the inability to effectively provide structured data attributes into vector search results in repeated user queries and filtering selections. This incurs multiple accesses to disk I / O. In contrast, aspects of the technology described herein reduce storage device I / O as the computing system does not need to access the storage device as frequently to perform read or write operations because of the reduced number of inputs provided by the user. For example, by representing the original embedding and attribute constraints in a new embedding space and adjusting the similarity threshold, the system is able to more quickly access relevant search results without modifying the original item embedding or changing the underlying search algorithm. Thus, there is less wear and tear on the query execution functionality.
[0024] Example system for attribute-aware vector search using adjusted similarity threshold
[0025] Reference is now made to the following descriptions Figure 1 An example system 100 in which implementations of the disclosure can be employed is shown. In particular, Figure 1 A high level architecture of an example system 100 that can host an environment for a technical solution (or portions thereof) is shown. It should be understood that this and other arrangements described herein are set forth only as examples. For example, as will be appreciated by one skilled in the art, many of the elements described herein can be implemented as discrete or distributed components or in conjunction with other components, and in any suitable combination and location. Other arrangements and elements (e.g., machines, interfaces, functions, orders, and groupings of functions) can be used in addition to or instead of those shown.
[0026] System 100 can be a cloud computing environment that provides computing resources for functions associated with system 100. For example, system 100 supports the delivery of computing components and services, including servers, storage devices, databases, network facilities, and applications associated with project listing platform 110 and client devices 120. Multiple client devices (e.g., client devices 120) include hardware or software that accesses resources on system 100. Client devices 120 can include applications (e.g., client application 122) and interface data (e.g., client application interface data 124) that support client-side functions associated with the system. Multiple client devices can access computing components of system 100 through a network (e.g., network 102) to perform computing operations.
[0027] Project listing platform 110 is responsible for providing a computing environment or architecture that includes infrastructure that supports providing e-commerce functionality. Project listing platform 110 supports storing project data for projects in a project database and provides a search system for receiving queries and identifying search results based on the queries. Project listing platform 110 can also provide a computing environment with functionality for managing, selling, buying, and recommending different types of projects. Project listing platform 110 can be specific to a content platform, such as the eBAY content platform or e-commerce platform developed by eBAY Inc. of San Jose, California.
[0028] Project listing platform 110 can provide project listing operations 130 and project listing interfaces 140. Project listing operations 130 can include service operations, communication operations, resource management operations, security operations, and fault tolerance operations that support specific tasks or functions in project listing platform 110. Project listing interfaces 140 can include service interfaces, communication interfaces, resource interfaces, security interfaces, and management monitoring interfaces that support functionality between storage management platform components. Project listing operations 130 and project listing interfaces 140 can enable communication, coordination, and seamless operation of system 100.
[0029] As examples, functions associated with project listing platform 110 can include: shopping operations (e.g., product search and browse; product selection and cart; checkout and payment; and order tracking); user account operations (e.g., user registration and authentication; and user profiles); seller and product management operations (e.g., seller registration and product listing; and inventory management); payment and financial operations (e.g., payment processing, refunds, and returns); order fulfillment operations (e.g., order processing and fulfillment; and inventory management); customer support and communication interfaces (e.g., customer support chat / email and notifications); security and privacy interfaces (e.g., authentication and authorization; payment security); recommendation and personalization interfaces (e.g., product recommendations; and customer reviews and ratings); analytics and reporting interfaces (e.g., sales and inventory reporting; and user behavior analytics); and API and integration interfaces (e.g., APIs for third-party integration).
[0030] The project listing platform 110 may include a project listing database (such as project listing database 150) to efficiently manage and store different types of data. Project listing database 150 may include: relational databases, NoSQL databases, search databases, cache databases, content management systems, analytics databases, payment gateway databases, customer relationship management databases, log and error databases, inventory and supply chain databases, and multi-channel databases, which are used in combination to efficiently manage data and provide users with an e-commerce experience.
[0031] The project listing platform 110 supports applications (such as application 160), which can be computer programs, software components, or services that provide specific functions or sets of functions to meet the specific needs of the project listing platform or user requirements. Applications can be client-side (user-facing) and server-side (back-end). As examples, applications may include: online store portal applications, mobile shopping applications, management and monitoring consoles, payment gateway integration, user account and authentication applications, search and personalization engines, inventory management applications, order processing and fulfillment applications, customer support and communication tools, content management systems, analytics and reporting applications, marketing and promotion applications, multi-channel integration applications, logging and bug tracking applications, customer relationship management (CRM) applications, security applications, and APIs and web services, used in combination to efficiently provide users with an e-commerce experience.
[0032] The item listing platform 110 includes an attribute-aware vector search engine 170. Generally, the attribute-aware vector search engine 170 maps items and search queries to an extended embedding space based on encoded attributes. The attribute-aware vector search engine 170 also generates an adjusted similarity threshold based on the number of encoded attributes to be matched in the search query. Based on the adjusted similarity threshold, the attribute-aware vector search engine 170 retrieves items from the item listing database 150 that are similar to the search query within the extended embedding space.
[0033] Figure 2 Provided an attribute-aware vector search engine 210 (which can correspond to...) Figure 1 A block diagram of aspects of the attribute-aware vector search engine (170). For example... Figure 2 As shown, the attribute-aware vector search engine 210 includes an attribute encoding component 220, an embedding mapping component 230, a threshold adjustment component 240, and a vector search component 250.
[0034] The attribute encoding component 220 encodes the attributes of the items into a format suitable for embedding into the extended embedding space. In some aspects, the attribute encoding component 220 utilizes a one-hot encoding scheme to represent each attribute value as a binary vector (referred to herein as an encoded attribute). For each attribute in the defined set of attributes, the attribute encoding component 220 generates a unique binary vector, where, based on the attribute value for that attribute, only one element is set to 1, while all other elements are set to 0. This encoding allows the system to integrate categorical attribute information into the vector representation of the items, facilitating the integration of structured data attributes into the vector search process.
[0035] The embedding mapping component 230 maps the items and search queries into the extended embedding space using the encoded attributes. In some aspects, the items and search queries can first be represented with item embeddings and query embeddings in the first embedding space. The embedding mapping component 230 can map the items and queries from the first embedding space into the extended embedding space by integrating the encoded attributes with the item embeddings, query embeddings. For each item, in some aspects, the embedding mapping component 230 extracts the encoded attributes for that item and combines them with the original item embedding for that item to create an extended item embedding for that item in the extended embedding space. For each search query, in some aspects, the embedding mapping component 230 obtains the encoded attributes for that search query and combines them with the original query embedding for that search query to create an extended query embedding for that query in the extended embedding space. In some aspects, the embedding mapping component 230 provides zero vectors for attributes in the defined set of attributes that do not occur in the items or queries. The embedding mapping component 230 can concatenate the original embedding vectors with the one-hot encoded attribute vectors to obtain new, higher-dimensional vectors that represent both the semantic content and attribute information for each item and each search query. The extended embeddings map the items and queries into the extended embedding space, enabling the system to perform similarity searches that consider both vector similarity and attribute constraints.
[0036] The threshold adjustment component 240 adjusts a similarity threshold used in the vector search process based on the number of attributes specified in the search query to provide an adjusted similarity threshold. In some configurations, the threshold adjustment component 240 computes the adjusted similarity threshold as a function of the original similarity threshold, the number of attributes in the search query to be matched, and the total number of attributes defined for the system. The adjusted similarity threshold ensures that the search results satisfy the attribute constraints specified in the query while maintaining an overall similarity criterion. This adjustment allows the system to retrieve items that are both semantically similar and match the specified attributes.
[0037] The vector search component 250 performs search operations in the expanded embedding space using the adjusted similarity threshold. In some configurations, the vector search component 250 computes similarity values (e.g., cosine similarity) between the expanded item embeddings and the expanded embedding of the search query being processed. The vector search component 250 then compares the computed similarity values to the adjusted similarity threshold to determine which items are similar to the query. The vector search component 250 retrieves the items that satisfy the adjusted similarity threshold, ensuring that the search results are both relevant to the query and satisfy the specified attribute constraints. This unified approach allows the system to efficiently process complex search queries that require both semantic similarity and attribute matching.
[0038] To illustrate the operation of attribute-aware vector search according to some aspects, let denote a set of items. Each item in the set of items has multiple attributes. First, each item has an item embedding in an original embedding space. For example, it can be a normalized embedding vector where is the original embedding space and . Second, each item has a set of categorical attributes where: denotes the value of the th attribute of item ; is the set of all possible values for the th attribute; is the total number of categorical attributes.
[0039] A given query also has multiple attributes. First, the query has a query embedding in the original embedding space. For example, it can be a normalized embedding vector . Second, the query has a subset of attribute indices . This subset denotes the attributes in the query that require exact matching.
[0040] Given a similarity threshold , the set of items that are similar to the query item that satisfy the exact attribute matching is defined as:
[0041] To integrate the categorical attributes into the vector-based similarity search within the embedding space without requiring separate attribute filtering, a mapping function is used to transform the original embedding space and the attribute values to an expanded embedding space where : where denotes an absence of an attribute in .
[0042] For an item , an extended item embedding in the extended embedding space that integrates all attribute values of the item is provided as follows:
[0043] For a query , an extended query vector in the extended embedding space that integrates attributes in the query is provided as follows: where denotes an unspecified attribute (i.e., an attribute not included in the query).
[0044] The mapping function and the similarity threshold can be defined such that: satisfies
[0045] This ensures that the set of similar items retrieved in the extended embedding space matches the set retrieved in the original embedding space without the need to introduce additional attribute filtering methods while preserving accurate attribute matching using pure vector-based similarity search.
[0046] According to some aspects, the original embedding space is augmented with encoded attribute information, allowing both similarity metric and attribute matching to be performed within a unified framework. To this end, some configurations use four aspects: attribute encoding, embedding mapping, threshold adjustment, and vector search. Each of these aspects will be detailed below.
[0047] Attribute Encoding: For each attribute value , a one-hot encoding function is defined as: where: the number of possible values for the th attribute; a one-hot encoding of the attribute value . When the attribute is missing , the th attribute is defined as a zero vector of dimension .
[0048] Embedding mapping: For an item ∈ , the mapping function can be defined as follows: i.e.: where denotes the one-hot encoding of the th attribute of item , and denotes vector concatenation.
[0049] The mapping function for a query uses the modified attribute values defined above: i.e.: where is defined as:
[0050] Here, is the one-hot encoding of the attribute value , and is a zero vector of dimension .
[0051] Threshold adjustment: The following function can be used to adjust the similarity threshold from to : where denotes the number of attributes of the query to be matched, and is the total number of categorical attributes.
[0052] Vector search: Vector search is performed in the new embedding space using the adjusted similarity threshold . For example, this can include:
[0053] The method effectively integrates attribute constraints into the similarity search process, enabling retrieval of items that are both similar in embedding space and match specified attributes, all within a unified framework.
[0054] Examples are provided below to illustrate aspects of the present technology. Consider a scenario where there are two categorical attributes, each with three possible attribute values: color ( ): {red, green, blue}; and size ( ): {small, medium, large}. Also, consider items and and query . In this example, item has attribute values “color: red” and “size: small”; item has attribute values “color: green” and “size: small”; and query includes attribute value “color: red”. Table 1 below shows how embedding vectors and one-hot encoded attributes are combined for these items and query. Table 1: Item and Query Details
[0055]
[0056] In this example, the goal is to retrieve items similar to query with color attribute “red”, using a similarity threshold of . Figure 3A Figures Figure 3B and show the original embedding space 310 and the extended embedding space 320, respectively. In the original embedding space 310 ( ), both items and are close to query , with both items’ cosine similarity exceeding the threshold. However, only item matches the query’s specified color attribute “red”. Without integrating attribute information, it is not possible to distinguish between and based on embedding similarity alone.
[0057] Figure 3B Figure shows the mapping of items , and query to the extended embedding space 320 ( ) using the mapping function . Furthermore, the similarity threshold has been adjusted to provide the following adjusted similarity threshold:
[0058] Within an extended embedding space of 320 and using an adjusted similarity threshold, the project The cosine similarity satisfies the adjusted similarity threshold; while the items The cosine similarity does not meet the adjusted similarity threshold. Therefore, by... , The query q is mapped to the extended embedding space 320 and an adjusted similarity threshold is used to retrieve only items. This approach integrates accurate attribute matching while preserving a set of similar items, all without modifying the original item embeddings. In this way, it provides a unified framework for handling attribute constraints in vector search, maintaining search consistency across different embedding spaces.
[0059] Example method for attribute-aware vector search using adjusted similarity thresholds
[0060] Now for reference Figure 4 A flowchart is provided illustrating an example method 400 for attribute-aware vector search using an adjusted similarity threshold, according to some implementations of this disclosure. Method 400 may be derived from, for example... Figure 1 The project list platform 110 is executed. Each block of method 400 and any other method described herein includes computational processing performed using any combination of hardware, firmware, and / or software. For example, various functions can be performed by a processor executing instructions stored in memory. The method may also be embodied as computer-usable instructions stored on a computer storage medium. The method may be provided as a standalone application, service, or managed service (alone or in combination with other managed services), or as a plug-in to other products.
[0061] As shown in box 402, a search query is received. This may involve retrieving a query that specifies the search criteria used to retrieve relevant items. The search query may include natural language text and may include any number of attributes to help define the search parameters.
[0062] As shown in box 404, items are mapped to an extended embedding space based on the encoded attributes of each item. In some aspects, this may involve accessing the item embeddings in the embedding space, and generating extended item embeddings in the extended embedding space by concatenating the item embeddings with the set of encoded attributes of the items. Encoded attributes may include one-hot encodings of the attribute values of the items.
[0063] As represented by block 406, the search query is also mapped into the extended embedding space based on the encoding attributes of the search query. In some aspects, this can involve accessing a query embedding of the search query in the embedding space, and generating an extended query embedding in the extended embedding space by concatenating the query embedding with the set of encoding attributes of the query. The encoding attributes of the query can include one-hot encodings of attribute values that occur in the query and zero vectors for attributes that do not occur in the query.
[0064] At block 408, an adjusted similarity threshold is generated based on the number of attributes that the search query is to be matched against. In some aspects, the adjusted similarity threshold is generated as a function of the number of attributes that the search query is to be matched against, a predefined similarity threshold, and a total number of attributes in the defined set of attributes.
[0065] As represented by block 410, using the adjusted similarity threshold, items in the extended embedding space that are similar to the search query are retrieved. This can involve, for example, determining whether a cosine similarity between an extended item embedding and the extended query embedding satisfies the adjusted similarity threshold, thereby identifying items that are similar to the search query.
[0066] Embodiments of the application have been described in connection with several novel features (e.g., operations, systems, engines, and components) associated with systems. The described novel features include operations, interfaces, data structures, and arrangements of computing resources associated with providing functionality described herein in connection with systems.
[0067] Embodiments of the application relate to the field of computing, and more particularly to systems. The example embodiments described below provide a system, method, and program product, among others, to optimize similarity results in a system using an attribute-aware vector search engine. Thus, embodiments of the application are capable of improving the art of system technology by providing more efficient and accurate search results. For example, the search engine described in connection with this technical solution provides a particular improvement to existing systems that results in optimized search results. In particular, this particular way of providing search results does not use traditional user interface methods. This technical solution integrates attribute constraints into vector search results.
[0068] Example Operating Environment
[0069] Having described implementations of the present disclosure, an example operating environment in which embodiments of the present technology can be implemented will be described below in order to provide a general context as to a particular aspect of the present disclosure. First, reference will be made to the example operating environment in which the present technology can be implemented. Figure 5FIG. 1 shows an example operating environment for implementing embodiments of the present technology, and this environment is generally identified as computing device 500. Computing device 500 is but one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the present technology. Neither should computing device 500 be interpreted as having any dependency relating to or requirement with any one or combination of components illustrated in the example operating environment.
[0070] The present technology can be described in the general context of computer code or machine-useable instructions, including computer-executable instructions such as program modules, being executed by a computer or other machine, such as a personal data assistant or other handheld device. Generally, program modules include routines, programs, objects, components, data structures, and the like, that are designed to perform particular tasks or implement particular abstract data types. The present technology can be practiced in a variety of system configurations, including hand-held devices, consumer electronics, general- purpose computers, and the like. The present technology can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
[0071] With reference to Figure 5 , computing device 500 includes a bus 510 that directly or indirectly couples the following devices: memory 512, one or more processors 514, one or more presentation components 516, input / output (I / O) ports 518, input / output components 520, and an exemplary power supply 522. Bus 510 can represent one or more busses (e.g., an address bus, a data bus, or a combination thereof). Although the various components of computing device 500 are shown Figure 5 as being separate in the figure, in real implementations, the boundaries between these components can not be as clear-cut, can overlap, and can be more or less abstract. For example, presentation components can also be I / O components. Also, a processor has memory. The inventors recognize that such is the nature of the art, and reiterate that Figure 5 The diagram of FIG. 1 is merely an illustration of an example computing device that can be used with one or more embodiments of the present technology. No distinction is made between a "workstation," "server," "laptop computer," "handheld device," or the like, as all of these can encompass the scope of Figure 5 the present technology and be referred to as a "computing device."
[0072] Computing device 500 typically includes a variety of computer-readable media. Computer-readable media can be any available media that is accessible by computing device 500 and includes both volatile and non-volatile media, removable and non-removable media. By way of example, and not limitation, computer-readable media can comprise computer storage media and communication media. Computer storage media includes both volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
[0073] Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, and any other medium which can be used to store the desired information and which can be accessed by computing device 500. The term "computer storage media" and "computer storage media" does not include signals per se.
[0074] Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. 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. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer readable media.
[0075] Memory 512 includes computer storage media in the form of volatile and / or nonvolatile memory. The memory can be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid state memory, hard drives, optical drives, etc. Computing device 500 includes one or more processors that read data from various entities such as memory 512 or I / O components 520. Presentation component(s) 516 present data indications to a user or other devices. Exemplary presentation components include a display device, speaker, printing component, vibrating component, etc.
[0076] The I / O ports 518 enable the computing device 500 to logically couple to other devices, including I / O components 520, some of which can be built in. Example components include a microphone, a control pad, a game pad, a satellite dish, a scanner, a printer, a wireless device, etc. The I / O components 520 can provide a natural user interface (NUI) that processes air gestures, voice, or other physiological inputs generated by a user. In some instances, inputs can be transmitted to a suitable network for further processing. A NUI can implement any combination of speech recognition, touch and stylus recognition, facial recognition, biometric recognition, gesture recognition both on screen and adjacent to the screen, air gestures, head and eye tracking, touch screen inputs, and / or holographic or augmented reality displays, etc. The computing device 500 can be equipped with depth cameras, such as stereoscopic camera systems, infrared camera systems, RGB camera systems, and combinations of these, for gesture detection and recognition.
[0077] The technology has been described in relation to particular examples, which are intended in all respects to be illustrative rather than restrictive. Alternative embodiments will become apparent to those of ordinary skill in the art to which the technology belongs having the benefit of this disclosure.
[0078] Having thus described the various components utilized herein, it is to be understood that any number of components and arrangements can be employed to achieve the desired functionality within the scope of the present disclosure. For example, for clarity, components of the embodiments shown in the figures have been simplified. Other arrangements and elements can also be implemented. For example, although some components are described as being stored in memory, a number of the units described herein can be implemented as discrete components or distributed components, or used in conjunction with other components, and can be employed in any suitable combination and location. Some units can be entirely omitted. Furthermore, the various functions described herein as being performed by one or more entities can be carried out by hardware, firmware, and / or software as desired. For example, various functions can be implemented by a processor executing stored instructions. Accordingly, other arrangements and elements (e.g., machines, interfaces, functions, orders, and groupings of functions) can be used in addition to or in place of the arrangements and elements illustrated. However, any such component, element, and / or function can be implemented to perform in the capacity of that function or functions described or seemingly implied.
[0079] The embodiments described herein can be combined with one or more of the specifically described alternatives. In particular, claimed embodiments can selectively refer to more than one other embodiment. Claimed embodiments can specify further limitations on claimed subject matter.
[0080] To the extent necessary to satisfy the statutory requirements, the subject matter of embodiments of the present technology has been described herein. However, the present description is not intended to limit the scope of this patent. Rather, the inventors have contemplated that the claimed subject matter can also be embodied by other ways, including different step or step combinations, in conjunction with other present or future technologies. Moreover, although the terms "step" and / or "block" can be used herein to connote different elements of methods employed, the terms should not be interpreted as implying any particular order among or between various steps herein disclosed unless and except when the order of individual steps is explicitly described.
[0081] For purposes of this disclosure, the word "comprising" is intended to mean the same thing as the word "including" and the word "accessing" includes "receiving," "referencing," or "retrieving." In addition, the word "communication" has the same broad meaning as the words "receiving" or "sending," which are facilitated by software- or hardware-based buses, receivers, or transmitters, and using the communication media described herein. Also, words such as "a" and "one" are intended to encompass both singular and plural forms unless the context clearly dictates otherwise. Thus, for example, reference to "a feature" is satisfied (as long as the context has not clearly ruled out a plural interpretation) by including one or more features. Likewise, the term "or" is intended to encompass both the conjunctive and disjunctive sense, unless the context clearly dictates otherwise (thus, "a or b" includes a, or b, as well as a and b). Furthermore, the term "and / or" encompasses conjunctive, disjunctive, and both (thus, "a and / or b" includes a, or b, as well as a and b).
[0082] For purposes of the detailed discussion above, embodiments of the present technology are described with reference to a distributed computing environment; however, the distributed computing environment described herein is merely exemplary. Components can be configured to perform novel embodiments of each embodiment, where the term "configured to" can mean "programmed to" perform a particular task or implement a particular abstract data type using code. Furthermore, although embodiments of the present technology can be generally described with reference to the technological solution environment and schematic diagrams described herein, it should be understood that the technology described is extensible to other implementation scenarios.
[0083] In light of the foregoing, it will be seen that the present technology is well adapted to attain all ends and objects hereinabove set forth, together with other advantages which are inherent to the system and method. It will be understood that certain features and subcombinations are of utility and can be employed without reference to other features and subcombinations. This is contemplated by and is within the scope of the claims.
Claims
1. A computer-implemented method, comprising: Receive search queries; Based on the encoding attributes of multiple items, the multiple items are mapped to an extended embedding space; Based on the encoding attributes of the search query, the search query is mapped to the extended embedding space; Based on the number of attributes to be matched in the search query, an adjusted similarity threshold is generated; as well as Using the adjusted similarity threshold, one or more items similar to the search query are retrieved from the plurality of items in the expanded embedding space.
2. The computer-implemented method of claim 1, wherein mapping the first item in the plurality of items to the extended embedding space comprises: A mapping function is used to map the first item embedding in the first item in the embedding space to the first extended item embedding of the first item in the extended embedding space.
3. The computer-implemented method of claim 1, wherein mapping the first item in the plurality of items to the extended embedding space comprises: Access the first item embedding in the embedding space of the first item; Access the encoded attribute set of the first item; as well as A first extended item embedding is generated by concatenating the first item embedding with the encoded attribute set of the first item.
4. The computer-implemented method according to claim 3, wherein the encoding attribute set of the first item includes a set of one-hot encodings of the attribute values of the first item.
5. The computer-implemented method of claim 1, wherein mapping the search query to the extended embedding space comprises: A mapping function is used to map the query embedding of the search query in the embedding space to the extended query embedding of the search query in the extended embedding space.
6. The computer-implemented method of claim 1, wherein mapping the search query to the extended embedding space comprises: Access the query embedding of the search query in the embedding space; Access the encoded attribute set of the search query; as well as An extended query embedding is generated by concatenating the query embedding with the encoded attribute set of the search query.
7. The computer-implemented method according to claim 6, wherein the encoded attribute set of the search query includes: One-hot encoding of attribute values for attributes in the search query, and zero vectors for attributes not in the search query.
8. The computer-implemented method according to claim 1, wherein the adjusted similarity threshold is generated based on the number of attributes to be matched in the search query, the similarity threshold, and the total number of attributes in the defined attribute set.
9. The computer-implemented method according to claim 1, wherein, Retrieving a first item similar to the search query from among the plurality of items in the extended embedding space using the adjusted similarity threshold includes: The cosine similarity between the first item embedding in the extended embedding space and the extended query embedding in the extended embedding space of the search query satisfies the adjusted similarity threshold.
10. One or more computer storage media having computer-executable instructions thereon, the computer-executable instructions causing the computing system to perform operations when executed by a computing system, the operations including: Receive search queries; Based on the encoding attributes of multiple items, the multiple items are mapped to an extended embedding space; Based on the encoding attributes of the search query, the search query is mapped to the extended embedding space; Based on the number of attributes to be matched in the search query, an adjusted similarity threshold is generated; as well as Using the adjusted similarity threshold, one or more items similar to the search query are retrieved from the plurality of items in the expanded embedding space.
11. The computer storage medium of claim 10, wherein mapping a first item from the plurality of items to the extended embedded space comprises: A mapping function is used to map the first item embedding of the first item in the embedding space to the first extended item embedding of the first item in the extended embedding space. as well as Mapping the search query to the extended embedding space includes: using the mapping function to map the query embedding of the search query in the embedding space to the extended query embedding of the search query in the extended embedding space.
12. The computer storage medium of claim 10, wherein mapping a first item from the plurality of items to the extended embedded space comprises: Access the first item embedding in the embedding space of the first item; Access the encoded attribute set of the first item, wherein the encoded attribute set of the first item includes: a set of one-hot encodings of the attribute values of the first item for a defined attribute set; as well as A first extended item embedding is generated by concatenating the first item embedding with the encoded attribute set of the first item.
13. The computer storage medium of claim 12, wherein mapping the search query to the extended embedding space comprises: Access the query embedding of the search query in the embedding space; Access the encoded attribute set of the search query, wherein the encoded attribute set of the search query includes: one-hot encoding of the attribute value of each attribute in the search query from the defined attribute set, and a zero vector for each attribute from the defined attribute set that is not in the search query; as well as An extended query embedding is generated by concatenating the query embedding with the encoded attribute set of the search query.
14. The computer storage medium of claim 10, wherein the adjusted similarity threshold is generated based on the number of attributes to be matched in the search query, the similarity threshold, and the total number of attributes in the defined attribute set.
15. One or more computer storage media according to claim 10, wherein, Retrieving a first item similar to the search query from among the plurality of items in the extended embedding space using the adjusted similarity threshold includes: The cosine similarity between the first item embedding in the extended embedding space and the extended query embedding in the extended embedding space of the search query satisfies the adjusted similarity threshold.
16. A computer system, comprising: One or more computer processors; as well as One or more computer storage media storing computer-usable instructions, which, when used by the one or more computer processors, cause the one or more computer processors to perform operations, the operations including: Receive search queries; Based on the encoding attributes of multiple items, the multiple items are mapped to an extended embedding space; Based on the encoding attributes of the search query, the search query is mapped to the extended embedding space; Based on the number of attributes to be matched in the search query, an adjusted similarity threshold is generated; and Using the adjusted similarity threshold, one or more items similar to the search query are retrieved from the plurality of items in the expanded embedding space.
17. The computer system of claim 16, wherein mapping the first item in the plurality of items to the extended embedding space comprises: A mapping function is used to map the first item embedding of the first item in the embedding space to the first extended item embedding of the first item in the extended embedding space. as well as Mapping the search query to the extended embedding space includes: using the mapping function to map the query embedding of the search query in the embedding space to the extended query embedding of the search query in the extended embedding space.
18. The computer system of claim 16, wherein mapping the first item in the plurality of items to the extended embedding space comprises: Access the first item embedding in the embedding space of the first item; Access the encoded attribute set of the first item, wherein the encoded attribute set of the first item includes: a set of one-hot encodings of the attribute values of the first item for a defined attribute set; as well as A first extended item embedding is generated by concatenating the first item embedding with the encoded attribute set of the first item.
19. The computer system of claim 18, wherein mapping the search query to the extended embedding space comprises: Access the query embedding of the search query in the embedding space; Access the encoded attribute set of the search query, wherein the encoded attribute set of the search query includes: one-hot encoding of the attribute value of each attribute in the search query from the defined attribute set, and a zero vector for each attribute from the defined attribute set that is not in the search query; as well as An extended query embedding is generated by concatenating the query embedding with the encoded attribute set of the search query.
20. The computer system of claim 16, wherein the adjusted similarity threshold is generated based on the number of attributes to be matched in the search query, the similarity threshold, and the total number of attributes in the defined attribute set.