Enhancing product search with adaptive matching

By generating adaptation hash values ​​for component product entries and performing clustering based on adaptation matching, the problem of identifying interchangeable components on the publishing platform was solved, improving identification accuracy and reducing computational resource consumption.

CN122312243APending Publication Date: 2026-06-30EBAY INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
EBAY INC
Filing Date
2025-12-29
Publication Date
2026-06-30

AI Technical Summary

Technical Problem

Existing publishing platforms struggle to effectively identify and return interchangeable parts when processing parts product entries, leading to increased computational resource consumption, including duplicate queries, unnecessary data packet generation, and storage device I/O operations.

Method used

By generating an adaptation hash value for each component item, clustering the component items based on adaptation matching, using cluster data to identify interchangeable components, and identifying relevant clusters when input is received, returning the corresponding product item.

Benefits of technology

It improves the accuracy and recall rate of the publishing platform in identifying interchangeable parts, reduces repeated user queries and computational resource consumption, and lowers the frequency of data packet generation and storage device I/O operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122312243A_ABST
    Figure CN122312243A_ABST
Patent Text Reader

Abstract

Some aspects involve techniques for performing product retrieval on a publishing platform using clusters of interchangeable parts formed through adapter matching. According to some aspects, product data is accessed for each part product entry on the publishing platform, wherein the product data for each part product entry includes adapter data for each of a plurality of different adapters. For each part product entry, an adapter hash value is generated using the adapter data for each adapter of that part product entry. The part product entries are clustered based on the overlap between the adapter hash values ​​for the part product entries. Cluster data is stored for each cluster of part product entries. The cluster data for each cluster of part product entries associates a cluster identifier with a product entry identifier for each part product entry in that cluster. The cluster data can be used to perform product retrieval on the publishing platform.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Some aspects of this technology involve using clusters of interchangeable parts formed based on fit matching to perform product retrieval on a publishing platform, where fit matching characterizes the degree of overlap of fit items between part product entries, and so on. Background Technology

[0002] A listing platform (e.g., an e-commerce website) is an online platform that provides users with products, services, digital content (e.g., music, videos, etc.), or other goods. Such platforms typically offer a vast number of products. While some products may be relevant to any particular user, the vast majority are not. Therefore, product retrieval on a listing platform is a uniquely internet-centric problem that has proven difficult to fully solve. That is, given the large number of products available on the listing platform, which products should be retrieved and presented to the user, and in what order?

[0003] Given the vast number of available products, publishing platforms include features such as search and recommendation to help users find items of interest. For example, publishing platforms typically offer search functionality, receiving user queries and returning search results that identify products relevant to those queries. They often also utilize recommendation systems, suggesting potentially interesting products to users based on various information such as the products they are currently viewing, user attributes, and their behavior on the platform (e.g., past product views and purchases). Certain categories of products (e.g., auto parts) present unique challenges for product retrieval due to the sheer number of parts and the need to ensure compatibility with different car models. Summary of the Invention

[0004] According to several aspects, product data is accessed for available component product entries on the publishing platform. The product data for each component product entry includes adaptation data for each adapter of that component product entry. An adapter refers to an application compatible with the component product (e.g., a car corresponding to an automotive component), and the adaptation data for the adapter is information used to identify that application (e.g., the car's year / brand / model). Component product entries can have adaptation data for any number of adapters.

[0005] For each component item entry, an adaptation hash value is generated based on the adaptation data for each adapter. This provides a set of adaptation hash values ​​for each component item entry. The component item entries are then clustered based on adaptation matches using these adaptation hash values. An adaptation match characterizes the degree of overlap between the adaptation hash values ​​of component item entries. In some aspects, full adaptation matches (i.e., 100% overlap) are used to cluster component item entries; in others, an adaptation match threshold (e.g., 80% overlap) is used. In some configurations, additional data (e.g., category identifiers and / or price data) is also used to cluster component item entries to prevent functionally different and non-interchangeable types of components from being clustered together because they have the same adapter.

[0006] Cluster data can be stored to identify component item entries that are clustered together. When input for a product retrieval task is received (e.g., a search query in a search scenario or seed products in a recommendation scenario), the cluster data is used to identify clusters associated with the input. A response to the input can be returned, identifying component item entries from the identified clusters (e.g., search results or recommendations including component item entries from that cluster).

[0007] This summary is provided to introduce several concepts in a simplified form, which will be further described in the detailed embodiments below. This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to help determine the scope of the claimed subject matter. Attached Figure Description

[0008] The present technology will now be described in detail with reference to the accompanying drawings, in which:

[0009] Figure 1 This is a block diagram illustrating an exemplary system according to some embodiments of the present disclosure;

[0010] Figure 2 This is a diagram illustrating the generation of component item clusters based on adaptation and matching between component item items according to some embodiments of this disclosure;

[0011] Figure 3 This is a diagram illustrating an example of forming a cluster of component item entries using price data in addition to adaptation matching, according to some embodiments of this disclosure;

[0012] Figure 4 This is a block diagram illustrating the operation of generating component product item clusters based on adaptation matching and using these clusters for product retrieval according to some embodiments of the present disclosure;

[0013] Figure 5This is a flowchart illustrating a method for generating a cluster of component product entries based on adaptation matching and storing cluster data according to some embodiments of the present disclosure;

[0014] Figure 6 This is a flowchart illustrating a method for performing product retrieval using cluster data generated based on adaptation matching, according to some embodiments of the present disclosure; and

[0015] Figure 7 This is a block diagram of an exemplary computing environment applicable to embodiments of this disclosure. Detailed Implementation

[0016] Overview

[0017] Many listing platforms (such as e-commerce websites) offer a vast number of product listings while serving numerous visitors. For example, as of 2023, eBay's listing platform reportedly had 1.7 billion product listings, and the eBay website received nearly 3 billion monthly visits. Each time a user visits a listing platform's website, the platform's servers need to process user input and deliver digital content to the user's device over the network as the user browses the site. This can include, for example, providing search results pages in response to search input, providing browsing node pages in response to the user's navigation on the website or from external sources, and providing product pages when the user chooses to view information about a specific product item.

[0018] With a large number of available product listings and user visits, publishing platforms require significant server resources to ensure smooth performance and short loading times even during peak traffic periods. They also need advanced database management systems to efficiently organize and retrieve product listing information. Therefore, publishing platforms require substantial server processing and storage resources to effectively handle dynamic and demanding environments. Many publishing platform providers attempt to design their server systems to deliver relevant product listings to users as quickly and efficiently as possible, thereby reducing the computational resource consumption required for user access. For example, if the publishing platform's search system cannot effectively return relevant search results, users will submit additional search queries until relevant results are returned. These repeated search queries can cause the publishing platform's computational resource consumption to increase exponentially (e.g., increased bandwidth, memory, and CPU utilization). Furthermore, users often repeatedly select and view product pages for different items until they find the relevant product. This requires the publishing platform's servers to repeatedly retrieve data from memory and serve product pages to user devices, further increasing computational resource consumption.

[0019] One area that presents a particular challenge to publishing platforms is handling product entries for parts (sometimes called component product entries). Parts are products specifically designed for compatibility with a particular application to ensure proper adaptation and operation within a larger system. For example, an ink cartridge is a part that must be compatible with a specific printer model (i.e., the application) to ensure proper printing performance. The term "part" as used herein refers to any product involving compatibility, including essential components and optional accessories. Parts must match the correct application, thus component compatibility requirements present a significant challenge to publishing platforms. This increases the difficulty of presenting relevant products.

[0020] Interchangeable parts are defined as parts that are applicable to the same set of applications and have the same function within those applications. For example, in the automotive context, interchangeable automotive parts are parts that are applicable to the same set of vehicles and have the same function in those vehicles. The ability of a product retrieval system to identify and return product entries for interchangeable parts on a listing platform is a technically challenging problem for several reasons. First, interchangeable parts may be manufactured by different manufacturers, and therefore they are represented by different part numbers (e.g., Manufacturer Part Number (MPN), serial number, etc.). Second, the coverage of part numbers in product entries is low on some listing platforms because sellers may not be aware of the correct part numbers, resulting in the omission of part numbers in product entries on the platform. Third, although catalogers have generated some alternative identifiers to address this issue (e.g., interchangeable numbers in the automotive field), these identifiers are not widely used / known, and their coverage is often low on some listing platforms.

[0021] While product retrieval systems are useful tools for locating products on publishing platforms, current search and recommendation technologies are inadequate in identifying and returning interchangeable parts. Among other factors, the lack of part numbers (e.g., MPN, serial number, interchangeability number, etc.) in some product entries, and the lack of correlation between different part numbers from different manufacturers, pose technical challenges to product retrieval systems, negatively impacting their ability to present interchangeable parts. These deficiencies in existing search and recommendation technologies used in traditional product retrieval systems often lead to significant unnecessary consumption of computational resources (e.g., I / O costs, network packet generation costs, throughput, memory consumption, etc.). For example, a publishing platform's search system may sometimes receive search queries containing only the MPN. In such cases, current search systems typically only identify product entries with that specific MPN, missing entries with compatible parts that do not contain an MPN or use a different MPN. This can result in fewer or even no results in some cases. Fewer or no results often require users to submit multiple queries to find relevant product entries.

[0022] On the other hand, in certain cases involving keyword or natural language queries, traditional search systems on publishing platforms often return a large number of incompatible parts. This typically requires users to submit multiple queries to improve search results and find relevant parts. For example, a user might submit an initial query to the publishing platform's search engine, which returns a set of search results. The user can browse the search results and select certain results to access the corresponding product entries. The selection of search results leads to the retrieval of the corresponding product entries. Furthermore, in some cases, the application may be launched to render data associated with the product entries. When search results fail to return suitable parts, users typically enter subsequent queries until they find product entries for the relevant parts.

[0023] In recommendation scenarios, when there are insufficient recommended product items (not truly interchangeable parts), users may choose to view some items only to find that these items are not what they are looking for. This often leads users to resort to query-based search, which, as mentioned above, can involve issuing numerous queries to try and identify relevant product items.

[0024] In traditional product retrieval systems on publishing platforms, such repetitive input can lead to problems such as increased computational resource consumption. For example, repeated user queries incur packet generation costs, negatively impacting computer network communication. Whenever a user submits a query, under TCP / IP and other protocols, the query content or payload is typically supplemented with header information or other metadata within the data packet. Therefore, when this function is repeatedly superimposed with all the inputs required to retrieve the desired data, repeatedly generating this metadata and sending it over the computer network incurs throughput overhead and latency costs. In some cases, these repetitive inputs (e.g., repeated clicks, selections, or queries) increase storage device I / O (e.g., excessive physical read / write head movement on non-volatile disks) because whenever a user enters unnecessary information (e.g., multiple queries), the computing system typically has to access the storage device to perform read or write operations, which are time-consuming, error-prone, and can eventually wear down components (e.g., read / write heads). Furthermore, if multiple users repeatedly submit queries, the cost is high because processing queries consumes significant computational resources. For example, some product retrieval systems may need to calculate a query execution plan every time a query is issued. This requires the system to find the lowest-cost query execution plan to fully execute the query. This reduces throughput and increases network latency, while wasting valuable time.

[0025] The various aspects of the technology described herein enhance the functionality of the publishing platform server system by providing enhanced product retrieval of component product entries with interchangeable parts. According to the technology described herein, component product entries can be clustered based on adaptation matching, which characterizes the degree of overlap of adaptations between component product entries. Component product entries clustered in this way can be considered interchangeable parts in product retrieval tasks.

[0026] According to some aspects, product data is accessed for component product entries that are provided on a publishing platform. The product data for each component product entry includes adaptation data for each adapter within that entry. An adapter represents an application that is compatible with the component product of the component product entry. A particular component product can have any number of adapters. For example, in the case of a component product entry for automotive parts, the accessed product data could include adaptation data for each car model (i.e., an adapter) that is compatible with that automotive part. The adaptation data for an adapter can be any information identifying a specific application (e.g., the year, brand, model, configuration, and / or engine of the car; or the brand and model of the printer).

[0027] An adaptation hash value can be generated for each adapter item of each component item entry. Each adaptation hash value is generated based on the adaptation data of a given adapter item. Therefore, a set of adaptation hash values ​​for each component item entry includes the adaptation hash values ​​for each adapter item of that component item entry. For example, in the case of automotive parts, an adaptation hash value can be generated based on the year / brand / model of each car identified in the component item entry's product data. In some aspects, adaptation hash values ​​are generated using additional data along with the adapter data of the adapter items. For example, the additional data may include the component item's category identifier, price data, and / or inventory segment identifier.

[0028] Component item entries are clustered based on adaptation hashes and adaptation matching. Adaptation matching characterizes the overlap of adaptation hashes between component item entries. In some configurations, exact adaptation matching is used to form clusters, where each component item in each cluster has an adaptation hash that completely overlaps with every other component item in that cluster. In some configurations, adaptation matching is based on a matching threshold that defines a threshold for overlap of adaptation hashes between component item entries in each cluster (e.g., 80% overlap). In some aspects, supplementary data can be used in conjunction with adaptation hashes to cluster component item entries. During clustering, supplementary data can be used as additional constraints (e.g., positive or negative constraints). In some cases, supplementary data helps identify situations where different types of component items are not interchangeable due to their different functions, but their item entries have exact adaptation matching or threshold-level adaptation matching. For example, category identifiers and / or price data can be used to further divide component item entries into clusters of interchangeable components.

[0029] Cluster data can be stored, which identifies component item entries that have been clustered together and can therefore be considered interchangeable components. For example, cluster data may include a cluster identifier assigned to each cluster and an item identifier for each component item entry within each cluster. In some aspects, cluster data may associate the cluster identifier with the component number (e.g., MPN) of the component item entry in each cluster.

[0030] To perform product retrieval using cluster data, when input is received, the cluster data is used to identify the cluster corresponding to that input. This input can be, for example, a search query in a search scenario, or one or more seed items in a recommendation scenario. For instance, a search query containing a part number (e.g., MPN) can be received, and the cluster to which the part item with that part number belongs can be identified. In the case of a keyword-based search query, initial search results can be identified based on the keywords in the search query, and relevant clusters can be identified based on these initial search results. In a recommendation scenario, given a seed item, the cluster to which that seed item belongs can be identified.

[0031] After identifying the cluster for the input, in response to the input, one or more component item entries from that cluster are returned. In a search scenario, this could include providing search results based on component item entries in the identified cluster. In a recommendation scenario, this could include providing recommendations for component item entries in the identified cluster.

[0032] The technology described in this paper offers several improvements over existing product retrieval technologies on publishing platforms. For example, clustering component item entries based on fit matching provides a powerful way for product retrieval systems to identify interchangeable components among a large number of product entries on a publishing platform. Generating fit hash values ​​based on the fit data of each fit item provides an efficient way to compare the overlap (e.g., one-to-one correspondence) of fit items between component item entries. The overlap of fit hash values ​​provides an indication of the degree of overlap between fit items between component item entries, thus providing a signal for identifying whether a component item offers interchangeable components. Using additional data such as category identifiers and price data in conjunction with fit hash values ​​to perform clustering avoids clustering different types of components that offer different functions and are therefore not interchangeable simply because their component item entries meet fit matching (exact or reaching a threshold).

[0033] By clustering component item entries using various aspects of the techniques described in this paper, the product retrieval system of the publishing platform can accurately identify interchangeable components, unlike traditional methods which often result in few or no results, or a large number of irrelevant search results. Furthermore, it allows for modifications to aspects such as fit-matching thresholds and price anomaly detection, enabling system configuration to avoid over- or under-inclusion within clusters. Therefore, the clustering formed using the techniques described in this paper improves the product retrieval system's ability to return search results and recommend truly interchangeable components. Compared to traditional methods, this improves the accuracy and recall of the publishing platform regarding interchangeable components.

[0034] Among other things, this improves the computational resource consumption of the publishing platform's server system compared to existing product retrieval technologies. For example, utilizing the aspects of the technology described herein, the product retrieval system can provide product entries with interchangeable parts, eliminating (or at least reducing) redundant user queries, search result selection, and product entry rendering compared to traditional technologies. This is because relevant product entries are provided without the need for users to continuously input various search queries to obtain search results and / or continuously select products to obtain further information about the presented product entries. Therefore, the aspects of the technology described herein reduce computational resource consumption such as packet generation costs. For example, a user query (e.g., an HTTP request) only needs to be transmitted once on the computer network (or fewer times compared to existing technologies). Specifically, under TCP / IP or other protocols, for an initial user query, the content or payload of the user query is supplemented with header information or other metadata only once within the data packet. Such user query data packets are sent only once or fewer times on the network. Therefore, metadata is not repeatedly generated, and data packets are not continuously sent on the computer network.

[0035] Similarly, the aspects of the techniques described herein improve storage device or disk I / O and query execution functionality because they only require a single disk access (or fewer than existing product retrieval technologies). As mentioned above, the shortcomings of existing search and recommendation technologies lead to repetitive user queries, search result selection, and product entry rendering. This results in multiple disk traversals. In contrast, the aspects described herein reduce storage device I / O because the computing system receives less input, thus eliminating the need for frequent accesses to storage devices to perform read or write operations. Consequently, wear and tear on components such as read / write heads is significantly reduced due to the substantial decrease in disk I / O.

[0036] Example System for Enhanced Product Retrieval Based on Adaptive Matching

[0037] Now refer to the attached diagram, Figure 1This is a block diagram illustrating an exemplary system 100 according to an embodiment of the present disclosure. The exemplary system 100 performs product retrieval on a publishing platform by forming clusters of interchangeable parts based on adaptation matching between part product entries. It should be understood that such and other arrangements described herein are merely illustrative examples. Other arrangements and elements (e.g., machines, interfaces, functions, sequences, and functional groupings, etc.) may be used in addition to, or in place of, the arrangements and elements shown, and some elements may be omitted entirely. Furthermore, many elements described herein are functional entities that can be implemented as discrete or distributed components or combined with other components, and can be implemented in any suitable combination and location. The various functions performed by one or more entities described herein can be performed by hardware, firmware, and / or software. For example, various functions can be performed by a processor executing instructions stored in memory.

[0038] System 100 is an example of a suitable architecture for implementing some aspects of this disclosure. In addition to other components not shown, system 100 also includes user equipment 102, a publishing platform 104, and a product retrieval system 106. Figure 1 Each of the user device 102, publishing platform 104, and product retrieval system 106 shown may include one or more computer devices, such as those discussed below. Figure 7 The computing device 700 in the middle. For example... Figure 1 As shown, user equipment 102, publishing platform 104, and product retrieval system 106 can communicate via network 110, which may include, but is not limited to, one or more local area networks (LANs) and / or wide area networks (WANs). Such networking environments are common in offices, enterprise-wide computer networks, intranets, and the Internet. It should be understood that, within the scope of this technology, any number of user equipment and servers can be used within system 100. Each system may include a single device or multiple devices cooperating in a distributed environment. For example, publishing platform 104 and product retrieval system 106 may each be provided by multiple server devices that collectively provide the functionality of publishing platform 104 and product retrieval system 106 described herein. Furthermore, other components not shown may also be included in the network environment.

[0039] User device 102 may be a client device on the client side of system 100, while publishing platform 104 and product retrieval system 106 may be on the server side of system 100. Publishing platform 104 and / or product retrieval system 106 may each include server-side software designed to work in conjunction with the client-side software on user device 102 to implement any combination of features and functions discussed herein. For example, user device 102 may include application 108 for interacting with publishing platform 104 and / or product retrieval system 106. Application 108 may be, for example, a web browser or a dedicated application for providing functions such as those described herein. This division of system 100 is provided to illustrate an example of a suitable environment and does not require that any combination of publishing platform 104 and product retrieval system 106 remain separate entities in each implementation. For example, in some aspects, product retrieval system 106 is part of publishing platform 104. While system 100 illustrates a configuration in a networked environment with separate user devices, publishing platforms, and product retrieval systems, it should be understood that other configurations combining aspects of various components may also be employed.

[0040] User equipment 102 may include any type of computing device that a user can use. For example, in one aspect, the user equipment may be the same as described herein. Figure 7 The computing device 700 is described in connection with this description. By way of example and not limitation, user device 102 may be embodied as a personal computer (PC), laptop computer, mobile phone or mobile device, smartphone, tablet computer, smartwatch, wearable computer, personal digital assistant (PDA), MP3 player, global positioning system (GPS) or device, video player, handheld communication device, gaming device or system, entertainment system, in-vehicle computer system, embedded system controller, remote control, electrical appliance, consumer electronics device, workstation, or any combination of these described devices, or any other suitable device. A user may associate with user device 102 and may interact with publishing platform 104 and / or product retrieval system 106 via user device 102.

[0041] Publishing platform 104 can be implemented using one or more server devices, one or more platforms with corresponding application programming interfaces, cloud infrastructure, etc. Publishing platform 104 typically provides product entries to user devices (e.g., user device 102) that describe (physical or digital) goods available for purchase, rental, streaming, download, etc. For example, publishing platform 104 may include an e-commerce platform where published products or services are available for purchase by a user of user device 102 after accessing publishing platform 104. According to various aspects described herein, product entries available on publishing platform 104 include product entries for component goods, i.e., component goods entries (e.g., component goods entries for automotive parts compatible with a specific vehicle).

[0042] The publishing platform 104 provides an interface that allows users of the publishing platform 104 to view product entries for goods. Product data for product entries available through the publishing platform 104 is stored in a product entry data repository 112. Each product entry's product data may include, for example, product-related information, including one or more of the following: product title, product description, category, price in a currency, reviews, product image, shipping options, rating, product condition, product size, product color, etc. Product data may include structured data (attribute name-attribute value pairs) and unstructured text. Product data may also include search information, such as in which search queries a particular product entry was returned as a search result and / or triggered a user action (e.g., click, purchase, etc.). Product data for component product entries also includes compatibility data. Compatibility data indicates the compatibility of the component with an application (e.g., a vehicle). For example, in the case of a vehicle compatibility item, compatibility data may include information identifying compatible brands, models, years, configurations, and engines. The product data for a component item may also include information to identify the brand and part number (e.g., Manufacturer Part Number (MPN), Interchange Part Number, etc.). The product data for a component item may also include an inventory segment identifier, which indicates the inventory segment for the component. Inventory segments are typically used to identify the source and / or condition of the component, such as recycled parts, original equipment manufacturer (OEM) parts, aftermarket parts, or private label parts. In some aspects, each product item is also associated with one or more categories in the category hierarchy of the publishing platform (e.g., using category identifiers), which include meta-categories and leaf categories. For example, meta-categories are each divided into subcategories (or branch categories), while leaf categories cannot be divided.

[0043] The product retrieval system 106 facilitates product retrieval on the publishing platform 104, including providing search and / or recommendation functions that return product entries to users. According to various aspects of the technology described herein, the product retrieval system 106 utilizes adaptive data to generate clusters of component product entries and leverages these clusters to facilitate the provision of interchangeable components for product retrieval tasks.

[0044] like Figure 1 As shown, the product retrieval system 106 includes a parts clustering component 114, a product retrieval component 116, and a user interface component 118. The components of the product retrieval system 106 can be attached to other components that provide additional functionality beyond the features described herein. The product retrieval system 106 can be implemented using one or more server devices, one or more platforms with corresponding application programming interfaces, cloud infrastructure, etc. Although in Figure 1 In this configuration, the product retrieval system 106 is shown as separate from the publishing platform 104 and user equipment 102. However, it should be understood that in other configurations, some of the functionality of the product retrieval system 106 may be provided on the publishing platform 104 and / or user equipment 102. Furthermore, although these components are shown as part of the product retrieval system 106, in other configurations, one or more of these components and / or their modules may be provided by the publishing platform 104 or not. Figure 1 Other locations shown in the diagram provide these components. These components may be provided by a single entity or multiple entities.

[0045] In some aspects, the functions performed by the components of the product retrieval system 106 are associated with one or more applications, services, or routines. Specifically, such applications, services, or routines may operate on one or more user devices or servers, may be distributed across one or more user devices and / or servers, or may be implemented in the cloud. Furthermore, in some aspects, these components of the product retrieval system 106 may be distributed across a network including one or more servers and client devices in the cloud, and / or may reside on user devices. Additionally, these components, the functions performed by these components, or the services performed by these components may be implemented at an appropriate abstraction layer (e.g., the operating system layer, application layer, hardware layer, etc. of a computing system). Alternatively or additionally, the functions of these components and / or aspects of the techniques described herein may be performed at least in part by one or more hardware logic components. Examples of hardware logic components that may be used include, but are not limited to, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), complex programmable logic devices (CPLDs), etc. Furthermore, although the functionality is described herein with respect to specific components shown in Example System 100, it is conceivable that, in some respects, the functionality of these components may be shared or distributed across other components.

[0046] The component clustering component 114 of the product retrieval system 106 uses adaptive matching to form clusters of component product entries, wherein each cluster is considered to include interchangeable components. Figure 2 An operational overview of component clustering component 114 is provided. For example... Figure 2 As shown, the adaptation data 202 for each adapter item identified for each component item is hashed to provide an adaptation hash value for each adapter item. Clustering is performed using these adaptation hash values ​​to generate a cluster 206 of component item items for interchangeable components.

[0047] For ease of explanation, Figure 2 This includes a simple example of clustering component item entries together using this process. For example... Figure 2 As shown, the product data for the first component item includes adaptation data 208, which identifies four adaptation items (i.e., 2011 Chevrolet Equinox, 2012 Chevrolet Equinox, 2013 Chevrolet Equinox, and 2014 Chevrolet Equinox). Similarly, the product data for the second component item includes adaptation data 210, which identifies four adaptation items (i.e., 2011 Chevrolet Equinox, 2012 Chevrolet Equinox, 2013 Chevrolet Equinox, and 2014 Chevrolet Equinox). It should be understood that... Figure 2 The types of adaptive data shown are provided as examples only and are not limitations.

[0048] A first set of adaptation hash values ​​212 is generated based on the adaptation data 208 of the first component item, and a second set of adaptation hash values ​​214 is generated based on the adaptation data 210 of the second component item. Specifically, adaptation hash values ​​are generated based on the adaptation data for each adaptation item in each component item. Since the adaptation data 208 of the first component item includes four adaptation items, four adaptation hash values ​​are generated in the first set of adaptation hash values ​​212. Similarly, since the adaptation data 210 of the second component item includes four adaptation items, four adaptation hash values ​​are generated in the second set of adaptation hash values ​​214.

[0049] Based on the adaptation match between the first set of adaptation hash values ​​212 and the second set of adaptation hash values ​​214, a cluster 216 including component item entries is formed. In this example, since the first set of adaptation hash values ​​212 and the second set of adaptation hash values ​​214 contain the same adaptation hash value, it is an exact adaptation match for the component item entries. Figure 2 As can be seen, clustering provides cluster 216, which includes component item entries for component items with different brands and different MPNs.

[0050] Refer again Figure 1The component clustering component 114 includes an adaptation data module 120, an adaptation hash processing module 122, a clustering module 124, and an evaluation module 126. The adaptation data module 120 accesses adaptation data for component product entries available on the publishing platform 104 and can preprocess the data to prepare it for processing by the adaptation hash processing module 122. The adaptation data can be retrieved from, for example, a product entry data repository 112. The adaptation data for a component product entry provides compatibility information between the component product entry and one or more applications. Each application compatible with a component product is considered an adaptation item for that component product. A component product entry can have adaptation data for any number of adaptation items. For example, in the automotive component scenario, adaptation data identifies which cars the automotive component is designed to be compatible with and can function properly in. Each unique car compatible with an automotive component is considered an adaptation item for that automotive component. Therefore, a component product entry for an automotive component can include adaptation data for any number of cars (i.e., adaptation items).

[0051] As an example and not a limitation, the adaptation data 208 for automotive parts may include any combination of the following: brand (i.e., the vehicle's brand or manufacturer, such as Toyota, Ford, BMW, etc.); model (i.e., the specific model of the vehicle, such as Camry, F-150, 3 Series, etc.); year (i.e., the year the vehicle was manufactured, such as 2010, 2015, 2020, etc.); vehicle configuration (i.e., the specific version or variant of the vehicle model, typically distinguishing different levels of features, options, and configurations available for that model); and engine (i.e., engine specifications, providing details related to the engine, such as horsepower, torque, fuel type, and emission standards). In some configurations, the adaptation data 208 may be based on an adaptation diagram that identifies the relationships between the various parts of the adaptation data (e.g., which brand matches which model, which vehicle configuration matches which brand, etc.).

[0052] In some respects, supplementary data can be combined with the adaptation data for each adaptation item. For example, supplementary data may include a category identifier indicating the category of the component item, which may correspond to a category in the category hierarchy classification system of the publishing platform. Supplementary data may also include price data for each component item entry, such as the listing price or price range of the component item entry. Supplementary data may also include inventory segment identifiers for the inventory segments of the component items, which typically identify the source and / or condition of the component items, such as recycled parts, original equipment manufacturer (OEM) parts, aftermarket parts, or private label parts.

[0053] The adaptation hash processing module 122 generates an adaptation hash value for each adaptation item identified in the adaptation data for each component item. Specifically, the adaptation hash processing module 122 employs an algorithm that, given the adaptation data of a given adaptation item for a component item, generates an adaptation hash value based on the adaptation data of that adaptation item. As used herein, the term "adaptation hash value" refers to any transformed representation of the adaptation data of an adaptation item that provides a more compact representation of the adaptation data for efficient comparison. For example, an adaptation hash value can be a hash value, fingerprint, vector representation, embedding, compression-based representation, dimensionality reduction representation, etc. The adaptation hash processing module 122 employs one or more algorithms or machine learning techniques to generate an adaptation hash value based on the adaptation data of each adaptation item. For example, the adaptation hash processing module 122 can use a hash function or an embedding model to generate the adaptation hash value.

[0054] In some configurations, the adaptation hash processing module 122 uses only the adaptation data of the adaptation item to generate the adaptation hash value of the adaptation item. In other configurations, the adaptation hash processing module 122 uses the adaptation data of the adaptation item along with additional data (e.g., category identifiers, price data, and / or inventory segment identifiers) to generate the adaptation hash value of the adaptation item. In a further configuration, the adaptation hash value generated based on the adaptation data of the adaptation item can be paired with additional data (e.g., category identifiers, price data, inventory segment identifiers, etc.) for subsequent clustering. Utilizing this additional data helps ensure that the resulting clusters (from the clustering module 124 described below) include component item entries for interchangeable components. For example, a first component item entry for one type of component item (e.g., brake pads) and a second component item entry for a second type of component item (e.g., fuel pump) may have completely identical adaptations. However, since they function differently, they are not interchangeable components. Therefore, using additional data such as category identifiers or price data (whether encoded as part of the adaptation hash or combined with the adaptation hash) helps ensure that non-interchangeable parts are not clustered together.

[0055] Clustering module 124 forms clusters of component item entries based on adaptation matching between them, determined using adaptation hash values. Adaptation matching refers to the degree of overlap in adaptation hash values ​​between component item entries. In some aspects, clustering module 124 uses exact adaptation matching to form clusters, where all component item entries in the same cluster have exactly the same set of adaptation matching (i.e., the adaptation matching is completely (100%) overlapping). In other aspects, clustering module 124 uses an adaptation matching threshold to cluster component item entries, setting a threshold level for adaptation hash value overlap (i.e., less than 100%). For example, an 80% adaptation matching threshold can be used, with clustering module 124 forming clusters at this 80% threshold, where at least 80% of the adaptation hash values ​​of the component item entries included in each cluster overlap with the adaptation hash values ​​of every other component item entry within that cluster. Clustering module 124 can employ any of a variety of clustering methods for clustering component product entries based on the adaptive hash value of the component product entry, such as k-means clustering, DBSCAN (density-based noisy applied spatial clustering), mean shift clustering, or agglomerative clustering, to name just a few.

[0056] The goal of clustering module 124 is to generate clusters where each cluster comprises component item entries containing interchangeable parts with identical functionality and fits. While a cluster may include a single component item entry, at least some clusters include multiple component item entries grouped together based on fit matching. In some respects, as part of the clustering process, clustering module 124 attempts to strike a balance between over-inclusion and under-inclusion. Over-inclusion occurs when some clusters contain component item entries that are not interchangeable. Under-inclusion occurs when interchangeable component item entries are grouped into different clusters. For example, using a configurable fit matching threshold is one way the system can provide flexibility to find a balance between over-inclusion and under-inclusion.

[0057] As described above, in some configurations, additional data (e.g., category identifiers, price data, inventory segment identifiers, etc.) can be provided as input along with the adaptation data when generating the adaptation hash. In this configuration, the additional data, encoded into the adaptation hash, helps to form clusters of component item entries that accurately reflect interchangeable components. In other configurations, the additional data can serve as one or more additional constraints that can be applied in addition to adaptation matching when generating clusters. This can include any number of positive constraints and / or any number of negative constraints. A positive constraint can set a rule that specifies that, when the rule is satisfied, component item entries are clustered together regardless of adaptation matching. For example, a positive constraint can specify that if component items satisfy the rule of the positive constraint, then these component item entries are clustered together regardless of adaptation matching. Example rules for positive constraints include having the same brand, having the same MPN, having the same product identifier, or any combination thereof.

[0058] Negative constraints can define a rule that, when satisfied, component items will not be clustered together regardless of their fit / match. For example, a negative constraint could stipulate that if a component item satisfies the rule of this negative constraint, then these component items will not be clustered together, regardless of their fit / match. As an example and not a limitation, negative constraints can group not only based on fit / match but also on the category identifier of the component item. Using category identifiers in the clustering process can address situations where component items for different types of components, while having the exact same set of fits, are not interchangeable because they provide different functions (e.g., brake pads and fuel pumps have the same fits but are not interchangeable).

[0059] Price data is another type of additional data that can be used in the clustering process. Similar to category identifiers, price data helps identify situations where different types of parts, although having exactly the same set of fits, are not interchangeable and therefore should not be clustered together. For example, in some cases, different types of parts may not only have the same fits but also the same category identifier; however, because they provide different functions, they are still not interchangeable.

[0060] As an example Figure 3Parts item items 302, 304, and 306 are shown. Because they have the same set of adapters, they are grouped together based on adapter matching. However, parts item items 302 and 304 are for headlights; while part item item 306 is for headlight mounting bracket rings. In some cases, parts item items 302, 304, and 306 may all belong to the same leaf category and therefore have the same category identifier. Therefore, adapter matching and category identifiers are insufficient to determine that part item item 306 is not interchangeable with other parts item items 302 and 304. In this case, price data is an additional data point that can be used to make this judgment. Specifically, the price of part item item 306 ($17) differs significantly from the prices of parts item items 302 and 304 ($120 and $150, respectively). Therefore, the price data indicates that part item item 306 should not be clustered with parts item items 302 and 304. Therefore, in some aspects, price data is combined with fit matching when clustering component item entries. In these aspects, for component item entries to be clustered together, they must not only have sufficient fit matching (e.g., 100% or reaching some other fit matching threshold), but also have their prices determined to be sufficiently similar using one or more clustering techniques.

[0061] In some respects, clustering module 124 utilizes price data to perform price outlier detection on the cluster to remove component item entries with anomalous prices. In this configuration, for a cluster of component item entries formed based on fit-matching, clustering module 124 accesses the price data for each component item and determines whether the price of any component item in the cluster is an outlier relative to the prices of other component item entries in the cluster. Any price outliers identified in the cluster are removed from the cluster. This addresses the situation where a component item appears to be an interchangeable component based on fit-matching (and in some respects, based on category), but is not. Therefore, clustering module 124 can use price outlier detection to identify and remove such component item entries in the cluster.

[0062] While various methods can be used to identify price anomalies, in some configurations, the clustering module 124 identifies any price anomalies within a cluster based on the cluster's median price. For example, given the price data for component items within a cluster, the median price of that cluster is calculated. = median(X) and median absolute deviation MAD = median(|X) i - |). Determine the lower bound. – k×MAD and / or upper bound + k×MAD, where k is a hyperparameter that can be configured based on, for example, precision, coverage, and / or recall. Any component item entry with a price exceeding the lower and / or upper bounds is identified as a price anomaly and removed from the cluster.

[0063] For the clusters formed by clustering module 124, cluster data can be stored. Cluster data typically includes information identifying which component items are clustered together, such that component items within the same cluster can be considered interchangeable components. For example, the cluster data for each cluster may include a cluster identifier to identify the cluster and a component item identifier for each component item in the cluster. Cluster data can be stored, for example, in a product item data repository 112, or in other storage locations accessible to the product retrieval system 106 to perform product retrieval tasks.

[0064] Evaluation module 126 evaluates the performance of clustering module 124 in generating clusters that accurately capture interchangeable parts and provides updates to improve accuracy. Evaluation module 126 facilitates evaluation of the clusters by evaluators. This may include providing clusters of part item entries to the evaluator, who then identifies whether each part item belongs to that cluster. The evaluator may also evaluate whether the same interchangeable part is included in different clusters. Based on evaluator input, evaluation module 126 determines the accuracy of clustering module 124 in terms of over-inclusion (i.e., clusters include incompatible parts) and under-inclusion (i.e., multiple clusters exist for the same interchangeable part). This accuracy can then be used to update the parameters of clustering module 124 when forming clusters. For example, the fit-match threshold can be adjusted to address over-inclusion (e.g., increasing the fit-match threshold) and under-inclusion (e.g., decreasing the fit-match threshold). Furthermore, aspects of price anomaly detection can be adjusted, such as adjusting the coefficient used to determine the distance from the average price to identify price anomalies.

[0065] The product retrieval component 116 of the product retrieval system 106 utilizes cluster data to select product entries for component goods for product retrieval tasks such as search and recommendation. Given an input (e.g., a search query in a search scenario or seed products in a recommendation scenario), the product retrieval component 116 identifies clusters associated with that input. Then, in response to the input, the product retrieval component 116 returns one or more component goods entries (e.g., as search results or recommendations) based on the identified clusters.

[0066] In a search scenario, when a search query is received from a user device (e.g., user device 102), in response to the search query, the product retrieval component 116 uses cluster data to select and return search results. Specifically, the product retrieval component 116 identifies clusters related to the search query and provides search results based on the identified clusters.

[0067] Relevant clusters for a search query can be identified in several different ways. For example, in some cases, a search query may include a part number (e.g., MPN). In such cases, the cluster containing the part item with that part number can be identified. For instance, a mapping between part numbers and cluster identifiers can be stored, and this mapping can be used to identify the cluster corresponding to a search query with that part number.

[0068] In other cases, preliminary search results for a search query can be identified, and clusters can be identified based on the component item entries included in these preliminary results. This can include: identifying clusters for each component item included in the preliminary search results (e.g., using a mapping between item identifiers and cluster identifiers), and selecting clusters corresponding to a certain threshold proportion of the preliminary search results. In some cases, this can be based solely on the top N component items in the preliminary search results (e.g., based on the ranking of the preliminary search results). This allows identification of component items in the clusters that were not identified in the preliminary search results.

[0069] Search results based on the identified clusters can be returned to the user device in several different ways. In some cases, a search results page can be provided to the user device, presenting a list of search results that includes parts and components from the cluster. In other cases, the provided search results page includes a set of main search results and options for expanding the search to include parts and components from the cluster. For example, if a user query includes a part number (e.g., MPN), the search page can provide search results for parts and components that include that part number, and an option to view other parts and components considered interchangeable. If the user selects this option, parts and components from the cluster that do not include the part number in the search query are presented. In a further aspect, a search results page that segments the search results can be provided. For example, in response to a search query with a part number (e.g., MPN), a search results page can be provided that includes a first part containing parts and a second part containing parts and components from the cluster for that part number but without that part number. In some cases, whether to include search results for parts and components from the cluster can be based on whether the number of search results identified for the search query meets a threshold. For example, if the number of search results is low (i.e., the number of search results is below a threshold) or the search results are empty, the component item entries in the cluster can be used to supplement the search results for that group.

[0070] In a recommendation scenario, the product retrieval component 116 can utilize cluster data to select component product items for recommendation. This can be based on one or more seed products, such as component product items that the user is currently viewing or has previously viewed. The product retrieval component 116 can identify clusters associated with seed products and provide one or more recommended component product items from those clusters. As an example, suppose a user chooses to view the product details page for a specific component product item. In this case, the product retrieval component 116 can identify the cluster to which the component product item belongs (e.g., based on a mapping between product identifiers and cluster identifiers). The product retrieval component 116 can then select one or more component product items from the identified clusters and provide them as recommendations on the product details page.

[0071] The product retrieval system 106 also includes a user interface component 118, which provides one or more user interfaces for interacting with the publishing platform 104 and / or the product retrieval system 106. Although in Figure 1The user interface component 118 is shown as part of the product retrieval system 106, but in some configurations, it may also be part of the publishing platform 104. The user interface component 118 provides one or more user interfaces to a user device (e.g., user device 102). In some cases, the user interface may be presented on the user device 102 via an application 108, which may be a web browser or a dedicated application for interacting with the publishing platform 104 and / or the product retrieval system 106. For example, the user interface component 118 may provide a user interface that allows a user to enter search queries or otherwise browse the publishing platform 104. The user interface may also provide search results and / or recommendations identifying component product entries selected by the product retrieval system 106 using clustered data, as described herein.

[0072] Next, refer to Figure 4 The provided block diagram illustrates operation 400, which utilizes adaptive matching to generate a cluster of component product entries for product retrieval according to some specific aspects of this technology. For example... Figure 4 As shown, from the product data repository 402 (which can correspond to...) Figure 1 Access the product item data repository 112) to adapt the data. More specifically, for the publishing platform (e.g., Figure 1 The platform (104) accesses adaptation data for each adapter item of each component product entry across multiple component product entries. The adaptation data for each adapter item of a component product entry includes information identifying applications compatible with that component product. For example, in an automotive scenario, the adaptation data for an automotive component's adapter item could be the year, brand, model, configuration, and / or engine of a vehicle compatible with that automotive component. Each component product entry can have adaptation data for any number of adapter items. For each component product entry, an adaptation hashing operation 404 is performed on the adaptation data for each adapter item to provide a set of adaptation hash values, which includes the adaptation hash value for each adapter item of that component product entry.

[0073] Clustering operation 406 is performed using these adaptation hash values ​​to cluster the component item entries based at least on adaptation matching. Clustering operation 406 forms clusters of component item entries for interchangeable components. As described herein, adaptation matching characterizes the overlap of adaptation hash values ​​between component item entries. The adaptation matching used in clustering operation 406 can require a perfect match or require an overlap of less than 100% of a configurable adaptation matching threshold.

[0074] In some aspects, for example Figure 4As shown, when clustering component item entries, in addition to fit matching, clustering operation 406 can also use one or more additional constraints. This can include, for example, forming clusters based on additional information (e.g., category identifiers and / or price data for each component item). Although Figure 4 The diagram shows a configuration where clustering operation 406 considers additional constraints beyond fit matching. However, in some configurations, additional data (such as category identifiers, price data, etc.) can be combined with fit data when generating fit hashes, thereby encoding the additional data into the fit hashes.

[0075] Based on the clusters provided by clustering operation 406, the cluster data is stored in cluster data repository 408. Cluster data typically identifies component item entries that have been clustered together as interchangeable parts. Item retrieval operation 410 can use the cluster data in cluster data repository 408 to perform item retrieval for user device 412. For example, in a search scenario, given a search query, relevant clusters are identified, and search results are provided based on component item entries within the identified clusters. In a recommendation scenario, given one or more seed items, relevant clusters are identified, and recommendations are provided based on component item entries within the identified clusters.

[0076] Example methods for enhanced product retrieval based on adaptive matching

[0077] Now refer to Figure 5 The provided flowchart illustrates a method 500 for generating a cluster of component item entries based on adaptation matching and storing the cluster data. Method 500 can be at least partially derived from, for example... Figure 1 The component clustering component 114 shown is executed. Each block of method 500, and any other method described herein, includes a computational process executed using any combination of hardware, firmware, and / or software. For example, various functions can be implemented by a processor executing instructions stored in memory. The method can also be embodied as computer-usable instructions stored on a computer storage medium. The method can be provided by a standalone application, service, or managed service (standalone or in combination with another managed service), or a plug-in to another product, to name a few.

[0078] As shown in block 502, access the adaptation data of the adaptation items for the component product entry on the publishing platform. Each adaptation item for a component product entry is an application (e.g., a car) that is compatible with the component product of that component product entry. The adaptation data of the adaptation item includes information identifying the specific application (e.g., the year / brand / model of the car; or the serial number of the printer). Each component product entry can have adaptation data for any number of adaptation items.

[0079] In block 504, the adaptation data for each adapter item of each component item is hashed. This provides a set of adaptation hashes for each component item. The set of adaptation hashes for each component item includes the adaptation hashes for each adapter item of that component item. In some respects, adaptation hashes may be generated based solely on the adaptation data, while in others, they may be generated using the adaptation data in combination with additional data (e.g., category identifiers, price information, and / or inventory segment identifiers).

[0080] As shown in block 506, component item entries are clustered based on adaptation matching using the adaptation hash values ​​corresponding to those entries. As described herein, adaptation matching includes the degree of overlap between the adaptation hash values ​​of component item entries. In some cases, component item entries are clustered together only if they have a perfect adaptation match (e.g., 100% overlap in adaptation hash values). In other cases, component item entries are clustered together if their adaptation matching meets an adaptation matching threshold (e.g., a certain percentage overlap in adaptation hash values). Various clustering techniques can be employed, such as k-means clustering, DBSCAN (density-based noisy applied spatial clustering), mean-shifted clustering, or agglomerative clustering. In some configurations, in addition to adaptation matching, supplementary data such as category identifiers, price data, and / or inventory segment identifiers can be used to form clusters.

[0081] As shown in block 508, cluster data is stored (e.g., stored in a computer storage medium). This may include assigning a cluster identifier to each cluster and storing that cluster identifier in association with various types of information. For example, the cluster identifier for each cluster may be stored in association with the entry identifier of a component item entry within that cluster.

[0082] Next, refer to Figure 6 The provided flowchart illustrates a method 600 for performing product retrieval using clustered data of component product entries generated based on adaptation matching. Method 600 can be at least partially derived from, for example... Figure 1 The product retrieval component 116 shown is executed. As shown in block 602, it receives input. For example, in a search scenario, the input may include a search query. In some aspects, the search query may identify a part number, such as an MPN. In a recommendation scenario, the input may include one or more seed products.

[0083] As shown in block 604, clusters are identified based on this input. Clusters can be identified based on cluster data, which is generated using adaptation hashes based on adaptation matching according to the techniques described herein (e.g., via method 500). Clusters can be identified in several different ways. For example, in the case of a search query with a part number, clusters with part item entries containing that part number are identified. In some aspects, the initial search results of the search query are identified, and clusters are identified based on the part item entries in the initial search results. In some aspects, this can be done by considering only the first N part item entries in the initial search results. In recommendation scenarios, in some aspects, clusters are identified based on one or more seed items. For example, given a seed item that includes part item entries, the cluster to which that part item belongs is identified.

[0084] As shown in block 606, based on the identified cluster, one or more component item entries are provided in response to the input. For example, in a search scenario, a search results page including component item entries from the identified cluster can be provided. In a recommendation scenario, one or more recommendations can be provided for component item entries from the identified cluster.

[0085] Exemplary operating environment

[0086] Having described embodiments of this disclosure, exemplary operating environments in which embodiments of this technology may be implemented are described below to provide a general context for various aspects of this disclosure. First, specific references are made. Figure 7 The illustration shows an exemplary operating environment for implementing embodiments of the present technology, and is generally designated as computing device 700. However, computing device 700 is an example of a suitable computing environment and is not intended to imply any limitation on the scope or functionality of the technology. Computing device 700 should also not be construed as having any dependencies or requirements associated with any one or combination of the components shown.

[0087] This technology can be described within the general context of computer code or machine-usable instructions, including computer-executable instructions (e.g., program modules) that are executed by a computer or other machine (e.g., a personal data assistant or other handheld device). Typically, program modules, including routines, programs, objects, components, data structures, etc., refer to code that performs a specific task or implements a specific abstract data type. This technology can be practiced in a variety of system configurations, including handheld devices, consumer electronics, general-purpose computers, and more specialized computing devices. It can also be practiced in distributed computing environments, where tasks are performed by remote processing devices linked via a communication network.

[0088] refer to Figure 7The computing device 700 includes a bus 710 that is directly or indirectly coupled to the following devices: a memory 712, one or more processors 714, one or more presentation components 716, an input / output (I / O) port 718, an input / output component 720, and an illustrative power supply 722. The bus 710 can represent one or more buses (e.g., an address bus, a data bus, or a combination thereof). Although lines are shown for clarity... Figure 7 The components are divided into blocks, but in reality, the division of these components is not so clear-cut; figuratively speaking, these lines are more accurately described as gray and blurry. For example, presentation components such as display devices can be considered as I / O components. Furthermore, the processor has memory. The inventors recognized this as the nature of the technology and reiterated... Figure 7 The figures only illustrate exemplary computing devices that can be used in conjunction with one or more embodiments of this technology. Since all categories such as "workstation," "server," "laptop," and "handheld device" are... Figure 7 It is conceived within the scope of "computing devices" and is therefore not distinguished between such categories.

[0089] Computing device 700 typically includes various computer-readable media. Computer-readable media can be any available medium accessible by computing device 700, and includes both volatile and non-volatile media, and removable and non-removable media. By way of example and not limitation, computer-readable media can include 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, used for storing information such as computer-readable instructions, data structures, program modules, or other data.

[0090] Computer storage media includes, but is not limited to: RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, Digital Universal Optical Disc (DVD) or other optical disc storage devices, magnetic tape cassettes, magnetic tape, disk storage devices or other magnetic storage devices, or any other medium that can be used to store desired information and can be accessed by the computing device 700. The terms "computer storage media" and "computer storage medium" do not themselves include signals.

[0091] Communication media typically embody computer-readable instructions, data structures, program modules, or other data as modulated data signals (e.g., carrier waves or other transmission mechanisms), and include any information delivery medium. The term "modulated data signal" refers to a signal whose one or more characteristics are set or altered in such a manner to encode information in the signal. For example, and not as a limitation, communication media include wired media (e.g., wired networks or direct wired connections) and wireless media (e.g., acoustic, RF, infrared, and other wireless media). Any combination of the above should also be included within the scope of computer-readable media.

[0092] Memory 712 includes computer storage media in the form of volatile and / or non-volatile memory. The memory can be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard disk drives, optical disk drives, etc. Computing device 700 includes one or more processors that read data from various entities, such as memory 712 or I / O components 720. Presentation component 716 presents data indications to a user or other device. Exemplary presentation components include display devices, speakers, printing components, vibration components, etc.

[0093] I / O port 718 allows computing device 700 to be logically coupled to other devices, including I / O component 720, some of which may be built-in. Exemplary components include microphones, joysticks, game controllers, satellite antennas, scanners, printers, wireless devices, etc. I / O component 720 can provide a natural user interface (NUI) for processing user-generated air gestures, voice, or other physiological input. In some cases, input can be sent to appropriate network elements for further processing. The NUI can implement any combination of voice recognition, touch and stylus recognition, facial recognition, biometric recognition, gesture recognition both on-screen and near-screen, air gestures, head and eye tracking, and touch recognition associated with a display on computing device 700. Computing device 700 may be equipped with a depth camera (e.g., a stereo camera system, an infrared camera system, an RGB camera system, and combinations thereof) for gesture detection and recognition. Additionally, computing device 700 may be equipped with an accelerometer or gyroscope capable of motion detection.

[0094] The present technology has been described with reference to specific embodiments, which are intended to be illustrative and not limiting in all respects. Alternative embodiments will become apparent to those skilled in the art without departing from the scope of the present technology.

[0095] Having identified the various components utilized herein, it should be understood that any number of components and arrangements can be employed to achieve the desired functionality within the scope of this disclosure. For example, for clarity of concept, components in the embodiments depicted in the accompanying drawings are shown by lines. Other arrangements of these and other components can also be implemented. For example, although some components are depicted as single components, many of the components described herein can be implemented as discrete or distributed components, or as components combined with other components, and can be implemented in any suitable combination and location. Some elements may be omitted entirely. Furthermore, the various functions described herein as being performed by one or more entities can be performed by hardware, firmware, and / or software, as described below. For example, various functions can be performed by a processor executing instructions stored in memory. Therefore, other arrangements and elements besides those shown (e.g., machines, interfaces, functions, sequences, and functional groups) can be used, or other arrangements or elements (e.g., machines, interfaces, functions, sequences, and functional groups) can be used instead of those shown.

[0096] The embodiments described herein can be combined with one or more of the specifically described alternatives. Specifically, the claimed embodiments may include alternative references to several other embodiments. The claimed embodiments may specify further limitations on the claimed subject matter.

[0097] The subject matter of embodiments of the present technology is specifically described herein to satisfy legal requirements. However, the description itself is not intended to limit the scope of this patent. Rather, the inventors have envisioned that the claimed subject matter may be embodied in other ways, in conjunction with other prior or future technologies, to include different steps or combinations of steps similar to those described herein. Furthermore, although the terms “step” and / or “block” may be used herein to denote different elements of the method employed, these terms should not be construed as implying any particular order among or between the steps disclosed herein, unless and except where the order of the steps is explicitly described.

[0098] For the purposes of this disclosure, the word "comprising" has the same broad meaning as the word "including," and the word "access" includes "receiving," "referencing," or "retrieval." Furthermore, the word "transmit" has the same broad meaning as the words "receiving" or "sending" implemented by a software- or hardware-based bus, receiver, or transmitter using the communication medium described herein. Additionally, unless otherwise indicated, words such as "a" and "an" include both plural and singular forms. Thus, for example, the constraint of "feature" is satisfied when one or more features are present. Furthermore, the term "or" includes conjunction, disjunction, and both (therefore, a or b includes a, or b, and a and b).

[0099] For the purposes of the detailed discussion above, embodiments of the present technology are described with reference to distributed computing environments; however, the distributed computing environments depicted herein are merely exemplary. Components may be configured to perform novel embodiments of the embodiments, wherein the term "configured for" may mean "programmed to" perform a particular task or implement a particular abstract data type using code. Furthermore, while embodiments of the present technology may generally refer to the technical environment and illustrations described herein, it is understood that the described technology can be extended to other implementation contexts.

[0100] As can be seen from the foregoing, this technology is highly suitable for achieving all the aforementioned objects and objectives, as well as other obvious and inherent advantages of the system and method. It will be understood that certain features and sub-combinations are useful and can be employed without reference to other features and sub-combinations. This is as contemplated by the claims and is within the scope of the claims.

Claims

1. A computer storage medium storing one or more computer-usable instructions, which, when used by one or more computing devices, cause the one or more computing devices to perform operations, the operations including: Access the product data for each of the multiple component product entries, including the adaptation data for each of the multiple adaptation items. For each component item, an adaptation hash value is generated using the adaptation data for each adaptation item to provide multiple adaptation hash values; Based on the overlap of the adaptation hash values, the multiple component product items are clustered to provide multiple component product item clusters; as well as The system stores cluster data for the plurality of component product item clusters, wherein the cluster data for the first component product item cluster includes a first cluster identifier and a product item identifier for each component product item in the first component product item cluster.

2. The computer storage medium according to claim 1, wherein, The first adaptation data for the first adaptation item of the first component product entry includes data identifying a first vehicle compatible with the first component, wherein the data identifying the first vehicle indicates one or more of the following: year, brand, model, configuration, and engine.

3. The computer storage medium according to claim 1, wherein, The first adaptation hash value for the first adaptation item of the first component item is generated using the first adaptation data for the first adaptation item and additional data for the first component item, the additional data including one or more of the following: category identifier, price data, and inventory segment identifier.

4. The computer storage medium according to claim 1, wherein, Each component item cluster consists of a subset of component item items with threshold overlap and adaptive hash values.

5. The computer storage medium according to claim 4, wherein, The threshold overlap includes complete overlap of the adapted hash values.

6. The computer storage medium according to claim 1, wherein, The plurality of component product entries are also clustered based on additional data for each component product entry. The additional data for each component product entry used to cluster the plurality of component product entries includes one or more of the following: category identifier, price data, and inventory segment identifier.

7. The computer storage medium according to claim 1, wherein, The operation also includes: Receive search queries; Based on the search query, the first component product item cluster is identified from the plurality of component product item clusters; and Based on the cluster data for the first component product item cluster, one or more search results are provided.

8. The computer storage medium according to claim 7, wherein, The search query includes the component number, and the first component product item cluster is identified based on a product item identifier having a component product item that includes the component number.

9. The computer storage medium according to claim 7, wherein, Based on the search query, the first cluster of component product items identified includes: The search query is used to perform a search in the product item data repository to identify a preliminary set of results; and Identifying the first component item cluster based on the set of preliminary results, wherein providing the one or more search results based on cluster data for the first component item cluster includes: generating a set of results, the set of results including one or more component item clusters from the first component item cluster that are not included in the set of preliminary results.

10. The computer storage medium according to claim 1, wherein, The operation also includes: Receive seed goods; Based on the seed product, identify a first component product item cluster from the plurality of component product item clusters; and Based on the cluster data for the first component product item cluster, one or more component product recommendations are provided.

11. A computer-implemented method, comprising: Generate a first set of adaptation hash values ​​for the first component product entry, wherein the first set of adaptation hash values ​​includes an adaptation hash value for each adaptation item of the first component product entry; Generate a second set of adaptation hash values ​​for the second component product entry, wherein the second set of adaptation hash values ​​includes an adaptation hash value for each adaptation item of the second component product entry; Based on the matching between the first set of adaptation hash values ​​and the second set of adaptation hash values, the first component product items and the second component product items are clustered; and The storage cluster data includes a cluster identifier, a first product entry identifier for the first component product entry, and a second product entry identifier for the second component product entry.

12. The computer-implemented method according to claim 11, wherein, The first adaptation hash value for the first adaptation item of the first component product entry is generated using the first adaptation data for the first adaptation item of the first component product entry, wherein the first adaptation data includes data for identifying a first vehicle compatible with the first component of the first component product entry, and the data for identifying the first vehicle indicates that one or more of the following are selected: year, brand, model, configuration and engine.

13. The computer-implemented method according to claim 11, wherein, The first adaptation hash value for the first adaptation item of the first component product entry is generated using the first adaptation data for the first adaptation item and additional data for the first component product entry, the additional data including one or more of the following: category identifier, price data, and inventory segment identifier.

14. The computer-implemented method according to claim 11, wherein, The adaptation match between the first set of adaptation hash values ​​and the second set of adaptation hash values ​​includes complete overlap of the adaptation hash values.

15. The computer-implemented method according to claim 11, wherein, The matching between the first set of adaptation hash values ​​and the second set of adaptation hash values ​​includes threshold overlap of the adaptation hash values.

16. The computer-implemented method according to claim 11, wherein, The first component item and the second component item are also clustered based on additional data for the first component item and additional data for the second component item, the additional data including one or more of the following: category identifier, price data, and inventory segment identifier.

17. The computer-implemented method according to claim 11, wherein, The method further includes: Receive input for product retrieval; Identify the cluster data based on the input; and Provides an indication of one or more component item entries identified by the cluster data as a response to the input.

18. A computer system, comprising: One or more processors; as well as One or more computer storage media storing computer-usable instructions, which, when used by the one or more processors, cause the computer system to perform operations, including: Access the adaptation data for each adapter item in each of the multiple component product entries on the publishing platform; Using the adaptation data for each adaptation item of each component product entry, a set of adaptation hash values ​​is generated for each component product entry, wherein the set of adaptation hash values ​​includes one or more adaptation hash values; Based on the overlap between the adaptation hash values ​​for each component item, the component items are clustered to provide multiple component item clusters; The storage cluster data identifies each component item in the component item cluster; Receive input for product retrieval; Based on the input used for product retrieval, a first component product item cluster is identified from the plurality of component product item clusters; and Provides an indication of one or more component items identified by a first cluster data for the first component item cluster.

19. The computer system according to claim 18, wherein, It also clusters the component items based on additional data.

20. The computer system according to claim 19, wherein, The additional data includes one or more of the following: category identifier, price data, and inventory segment identifier.