Index information generation method and system, commodity retrieval method and system, electronic equipment and medium
By generating a spliced index of products and combining it with hierarchical clustering of users and products, the problem of low matching degree between product retrieval and user needs in existing technologies is solved, and higher retrieval accuracy is achieved.
Patent Information
- Application Number
- CN202511923932.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-18
- Publication Date
- 2026-01-23
- Estimated Expiration
- 2045-12-18
AI Technical Summary
In existing technologies, product retrieval generates index information based solely on the inherent characteristics of the products, resulting in a low degree of matching between the retrieved products and user needs, and insufficient retrieval accuracy.
By identifying the target product and the set of users with historical interaction behaviors, hierarchical clustering of users and products is used to generate a combined dynamic and static index. Combining user representations and product representations, product index information is generated.
It improves the accuracy of product retrieval, ensuring that the retrieved products match both the query information and the user's needs, thus enhancing the accuracy of the retrieval.
Smart Images

Figure CN121387900A_ABST
Abstract
Description
Technical Field
[0001] This specification relates to one or more embodiments in the field of computer technology, and in particular to a method and system for generating index information and retrieving goods, electronic devices, and media. Background Technology
[0002] In e-commerce scenarios, the product list presented to users is obtained by sorting product recall results according to a preset strategy. The product recall results include several products retrieved from a product database that match the given query information. Related technologies generate index information for each product and train a generative recall model. When performing product retrieval, the query information is input into the generative recall model, which retrieves index information related to the input query information, and then performs product retrieval based on the retrieved index information. Related technologies can determine index information based on product features. However, the index information generated in the above way is only related to the inherent features of the product. Therefore, when retrieving products based on the above index information, it can only guarantee that the features of the retrieved products match the query information, but cannot guarantee that the retrieved products match the user's needs, resulting in low retrieval accuracy. Summary of the Invention
[0003] In view of the above, one or more embodiments of this specification provide the following technical solutions: According to a first aspect of one or more embodiments of this specification, a method for generating index information is provided, the method comprising: Identify a set of users who have historical interaction behavior with at least one of a plurality of target products; the plurality of target products belong to the same leaf cluster in a product hierarchical clustering tree, which is obtained by hierarchically clustering the product representations of each product in a preset product set; Based on the user representation of each user in the user set, hierarchical clustering is performed on each user in the user set to obtain a user hierarchical clustering tree; Perform the following operations for each of the multiple target products: Obtain the first average user representation of each user who has historical interaction behavior with the target product and the second average user representation of each leaf cluster in the user hierarchical clustering tree. Based on the similarity between the first average user representation and the second average user representation of each leaf cluster in the user hierarchical clustering tree, the target leaf cluster of the target product is determined. The cluster identifiers of each level of clusters along the clustering path to which the target leaf cluster belongs are concatenated to obtain the dynamic index corresponding to the target product. The static index corresponding to the target product is then concatenated with the dynamic index corresponding to the target product to obtain the index information of the target product. The static index is obtained by concatenating the cluster identifiers of each level of clusters to which the target product belongs.
[0004] According to a second aspect of one or more embodiments of this specification, a product retrieval method is provided, the method comprising: Obtain target input information, which includes target query information input by the user, user information, and context information; The target input information is input into a pre-trained generative recall model so that the generative recall model recalls target index information that matches the target input information; wherein, the generative recall model is trained based on sample input information and index information of sample products, the sample products are products that have been interacted with by the user among the products retrieved based on the sample input information, and the target index information and the index information of the sample products are generated based on the method described in the first aspect of one or more embodiments of this specification; Obtain the target product identifier that is pre-associated with the target index information; Product retrieval is performed based on the target product identifier.
[0005] According to a third aspect of one or more embodiments of this specification, an electronic device is provided, comprising: a processor; a memory for storing processor-executable instructions; wherein the processor performs the executable instructions to implement the steps of the method as described in the first or second aspect of one or more embodiments of this specification.
[0006] According to a fourth aspect of one or more embodiments of this specification, a computer-readable storage medium is provided that stores computer instructions thereon, which, when executed by a processor, implement the steps of the method as described in the first or second aspect of one or more embodiments of this specification.
[0007] According to a fifth aspect of one or more embodiments of this specification, a computer program product is provided, comprising a computer program / instructions that, when executed by a processor, implement the steps of the method as described in the first or second aspect of one or more embodiments of this specification.
[0008] According to a sixth aspect of one or more embodiments of this specification, a product retrieval system is provided, comprising: The server is used to store index information of each product, receive product retrieval requests including target input information, and, in response to the product retrieval requests, perform product retrieval based on the method described in the second aspect of one or more embodiments of this specification, and send the product information of the retrieved products to the client; the index information is obtained based on the method described in the first aspect of one or more embodiments of this specification. The client is used to obtain product information sent by the server and display the obtained product information.
[0009] As described in the above embodiments, this specification identifies a set of users who have historical interaction behavior with at least one of multiple target products. Based on user representations, hierarchical clustering is performed. The cluster identifiers of each level of the hierarchical clustering results are concatenated to obtain a dynamic index. This dynamic index is then concatenated with a static index obtained from the hierarchical clustering results based on the products to obtain the product index information. On one hand, the dynamic index is obtained based on the hierarchical clustering results of user representations, which reflect user preferences. On the other hand, the static index is obtained based on the hierarchical clustering results of products, which reflect the inherent characteristics of the products. Therefore, the final index information is related to both user preferences and the inherent characteristics of the products. Thus, when retrieving products based on this index information, the characteristics of the retrieved products match the query information, and the retrieved products match the user's needs, improving retrieval accuracy. Attached Figure Description
[0010] Figure 1 This is a schematic diagram of a system architecture provided in an exemplary embodiment.
[0011] Figure 2 This is a flowchart of an exemplary embodiment of a method for generating index information.
[0012] Figure 3 This is a schematic diagram of a hierarchical clustering process provided in an exemplary embodiment.
[0013] Figure 4 This is a schematic diagram illustrating an index information update process provided in an exemplary embodiment.
[0014] Figure 5 This is a flowchart of a product retrieval method provided in an exemplary embodiment.
[0015] Figure 6 This is a schematic diagram of the structure of a generative recall model provided in an exemplary embodiment.
[0016] Figure 7 This is a schematic diagram of an overall process provided in an exemplary embodiment.
[0017] Figure 8 This is a schematic diagram of the structure of a device provided in an exemplary embodiment.
[0018] Figure 9 This is a block diagram of an index information generation apparatus provided in an exemplary embodiment.
[0019] Figure 10 This is a block diagram of a product retrieval device provided in an exemplary embodiment. Detailed Implementation
[0020] To enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this specification, and not all embodiments. Based on the embodiments in this specification, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of this specification.
[0021] The user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this manual are all information and data authorized by the user or fully authorized by all parties. The collection, use and processing of related data shall comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation portals shall be provided for users to choose to authorize or refuse.
[0022] Figure 1 This is a schematic diagram of the architecture of a product retrieval system provided in an exemplary embodiment. For example... Figure 1 As shown, the system may include a server 11, a network 12, and several electronic devices, such as a personal computer (PC) 13, a mobile phone 14, etc.
[0023] Server 11 can be a physical server containing an independent host, or it can be a virtual server hosted in a host cluster. During operation, server 11 can run server-side programs for a certain application to implement the relevant functions of that application. For example, when server 11 runs a product retrieval service program, it can act as a service platform for the corresponding product retrieval service.
[0024] Personal computers 13 and mobile phones 14 are just some of the types of electronic devices that users can use. In reality, users can obviously also use electronic devices such as tablets, laptops, PDAs (Personal Digital Assistants), wearable devices (such as smart glasses, smartwatches, etc.), etc., and one or more embodiments in this specification do not limit this. During operation, the electronic device can run a client-side program of an application to realize the relevant functions of that application. For example, when the electronic device runs a product search service program, it can act as a client for that product search service. The aforementioned product search service client application can be launched and run on the electronic device. This client-side program can be a native application installed on the electronic device, or it can be a mini-program, quick app, or other similar form. Of course, when using web technologies such as HTML5 or similar, the relevant functions can be realized through a page displayed by a browser. This browser can be a standalone browser application or a browser module embedded in some applications.
[0025] As for the network 12 that enables interaction between electronic devices such as personal computers 13 and mobile phones 14 and the server 11, the communication can be implemented using either wired or wireless networks based on the communication methods supported by the respective electronic devices. This specification does not impose any restrictions on this. For example, personal computer 13 can support both wired and wireless communication, so it can use either wired or wireless networks as needed. Mobile phone 14 typically only supports wireless communication, so it can use a wireless network for communication.
[0026] Based on the above system architecture, this specification proposes a method for generating index information. (See attached document for details.) Figure 2 The method for generating this index information includes the following steps: Step S12: Determine the set of users who have historical interaction behavior with at least one of the multiple target products; the multiple target products belong to the same leaf cluster in the product hierarchical clustering tree, which is obtained by hierarchically clustering the product representations of each product in the preset product set; Step S14: Based on the user representation of each user in the user set, perform hierarchical clustering on each user in the user set to obtain a user hierarchical clustering tree; Step S16: Perform the following operations for each target product among the multiple target products: Step S162: Obtain the first average user representation of each user who has historical interaction behavior with the target product and the second average user representation of each leaf cluster in the user hierarchical clustering tree. Step S164: Based on the similarity between the first average user representation and the second average user representation of each leaf cluster in the user hierarchical clustering tree, determine the target leaf cluster of the target product; Step S166: Concatenate the cluster identifiers of each level of clusters on the clustering path where the target leaf cluster is located to obtain the dynamic index corresponding to the target product, and concatenate the static index corresponding to the target product with the dynamic index corresponding to the target product to obtain the index information of the target product; wherein, the static index is obtained by concatenating the cluster identifiers of each level of clusters to which the target product belongs.
[0027] In step S12, a preset product set can be determined first. This preset product set may include some or all of the products from the e-commerce platform. In some embodiments, each product in the preset product set belongs to the same product category (such as a leaf category in the product category classification system of the e-commerce platform). The product category classification system can be represented by a tree structure (hereinafter referred to as a product category tree), where a leaf category is the product category represented by a leaf node in the product category tree. For example, if the root node of a product category tree represents the "digital products" category, and the child node1 of the root node represents the "computer" category, and the child node2 of node1 is a leaf node representing the "laptop" category, then "laptop" is a leaf category.
[0028] After determining the preset product set, hierarchical clustering can be performed on the product representations of each product in the preset product set to obtain a tree structure, namely the product hierarchical clustering tree. Product representations can include multimodal representations, such as text representations, image representations, and efficiency representations. Text representations can be obtained by encoding the product title and / or product description text, such as product details. Image representations can be obtained by encoding the product header image (i.e., the first image in the main product image), detail images, and other images. Efficiency representations can be obtained by encoding product interaction information such as click-through rate, conversion rate, and / or purchase volume over a specified time period.
[0029] When performing hierarchical clustering, the number of clustering operations can be specified. For example, with a clustering operation of 4 operations, a hierarchical clustering algorithm (such as K-means hierarchical clustering) can be called 4 times to obtain a hierarchical clustering tree for the products. The hierarchical clustering tree includes multiple levels, each level containing one or more nodes, and each node representing a cluster. Specifically, the level corresponding to the product set is preset as the first level, the node of the first level is the root node, and the cluster corresponding to the root node is the first-level cluster (also called the top-level cluster). The level obtained by performing the first hierarchical clustering on the first-level cluster is the second level, the nodes of the second level are children of the root node, and the cluster corresponding to the nodes of the second level is the second-level cluster. The level obtained by performing the second hierarchical clustering on the second-level cluster is the third level, and so on. The clusters corresponding to leaf nodes are called leaf clusters. In the hierarchical clustering tree, except for the root node, the cluster represented by any node is a subset of the clusters represented by its parent node. A hierarchical clustering tree includes multiple clustering paths, which are paths connecting the root node to the leaf node. The level of each node in the hierarchical clustering tree decreases sequentially from the root node to the leaf node; that is, the root node corresponds to the highest level, and the leaf node corresponds to the lowest level.
[0030] The process of hierarchical clustering of products in a predefined product set is a process of classifying these products level by level, with the classification granularity gradually becoming more refined. It can be understood that the predefined product set represents the largest granular category of these products. The clusters obtained after one hierarchical clustering step represent the classification results obtained after a first-level refinement of these products. The clusters obtained after a second hierarchical clustering step represent the classification results obtained after further refinement of the classification results obtained after the first-level refinement. This hierarchical clustering is performed sequentially, classifying multiple products level by level. In each hierarchical clustering process, a product is assigned to a cluster at that level. Thus, after N (N is a positive integer) clustering steps, each product will be assigned to at most N hierarchical clusters.
[0031] like Figure 3 As shown, the products in layer 210 are from a predefined product set. After one hierarchical clustering, the products in the predefined product set are divided into different clusters, such as clusters labeled 000, 001, and 002 in layer 220. During the second hierarchical clustering process, the products in clusters labeled 000, 001, and 002 in layer 220 are further clustered and assigned to different clusters in layer 230. For example, products within cluster 000 in layer 220 are assigned to clusters labeled 0000 and 0001 in layer 230. After a specified number of hierarchical clustering operations, each product is assigned to a cluster in each clustering process.
[0032] The hierarchical clustering results obtained based on the above process not only include the hierarchical structure of the product hierarchical clustering tree, but also the clustering information obtained from each hierarchical clustering. Specifically, the clustering information includes: the number of clusters obtained in this clustering, the cluster identifier of each cluster, and the item ID of each product within each cluster.
[0033] After obtaining the product hierarchical clustering tree, the same leaf clusters belonging to the product hierarchical clustering tree (e.g., Figure 3 Multiple products in the cluster marked 0000 are identified as target products. After identifying multiple target products, a set of users with historical interaction behavior with at least one of the target products can be further identified. Historical interaction behavior refers to interactions that occurred within a historical time period (e.g., the last 7 days), including but not limited to browsing, adding to cart, favorites, and / or purchasing. Historical interaction behavior can reflect users' interests, potential purchasing intentions, and deeper personalized needs. For example, assuming the identified target products include product A, product B, and product C, and user U1 browsed product A, user U2 favorited product B and purchased product C, and users U3 and U4 purchased product B, then the user set includes users U1, U2, U3, and U4.
[0034] In step S14, hierarchical clustering can be performed on the user representations of each user in the user set to obtain a tree structure, namely, a user hierarchical clustering tree. User representations can include static user representations and dynamic user representations. Static user representations refer to long-term stable and unchanging features, including but not limited to the user's age, gender, region, occupation, and / or income level. Dynamic user representations refer to short-term, real-time, and constantly evolving features, including but not limited to the user's behavioral sequences. Static features provide a stable basic profile of the user, while dynamic features reflect the user's constantly changing real-time preferences and needs. Combining the two allows for a more accurate and comprehensive modeling of the user.
[0035] When performing hierarchical clustering on user representations, the number of clustering operations can be specified. For example, with four clustering operations, a hierarchical clustering algorithm (such as K-means hierarchical clustering) can be called four times to obtain a user hierarchical clustering tree. The number of clustering operations used when performing hierarchical clustering on user representations can be the same as or different from the number used when performing hierarchical clustering on product representations. Specifically, the user set can be used as the top-level cluster (i.e., the cluster corresponding to the root node) of the user hierarchical clustering tree, and the clusters obtained from performing a single hierarchical clustering operation on the user set can be used as sub-clusters under the top-level cluster. During the second hierarchical clustering operation, each cluster obtained from the first hierarchical clustering operation is further clustered. Subsequent hierarchical clustering processes follow the same pattern. After the specified number of hierarchical clustering operations, each user in the user set is assigned to a cluster in each clustering process.
[0036] In step S16, the target leaf clusters of each target product in the user-level clustering tree can be determined, and then the index information of the target product can be determined based on the target leaf clusters. This process is described in detail below.
[0037] In step S162, a first average user representation of each user who has historically interacted with the target product can be obtained. Specifically, the user representations of each user who has historically interacted with the target product can be obtained, and a weighted average of these user representations can be calculated to obtain the first average user representation of each user who has historically interacted with the target product. For example, assuming the target product is product A, and users U1, U2, and U3 have all historically interacted with product A, a weighted average of the user representations of user U1, user U2, and user U3 can be calculated to obtain the first average user representation of each user who has historically interacted with product A. Furthermore, a weighted average of each user representation can be calculated based on the weights corresponding to each user. The weight of a user is positively correlated with the number of times that user interacted with the target product, and / or inversely correlated with the time that user representation belongs to the user who interacted with the target product. The more times a user interacts with a target product (e.g., repeatedly browsing, multiple purchases), the stronger and clearer their interest in the product. Giving this user a higher weight allows the final weighted average representation to better reflect the stable characteristics of their core audience, reducing noise interference. Furthermore, user interests and product popularity change over time (a phenomenon known as interest drift). By assigning higher weight to recent interactions, this "interest drift" phenomenon can be dynamically captured, making the final weighted average representation more reflective of the user's latest interests.
[0038] It is also possible to obtain the second average user representation of each leaf cluster in the user hierarchical clustering tree. Assuming the user hierarchical clustering tree includes three leaf clusters C1, C2, and C3, taking leaf cluster C1 as an example, and assuming leaf cluster C1 contains M users, the user representations of these M users can be obtained separately. Then, a weighted average is calculated on these M user representations (the weighted averaging process can be referred to the aforementioned embodiment) to obtain the second average user representation of leaf cluster C1. The method for obtaining the second average user representation of other leaf clusters is similar and will not be elaborated here.
[0039] In the above process, the first average user representation of each user who has historical interaction with the target product is an aggregation and abstraction of the characteristics of the "user group interested in the target product," and the second average user representation of a certain leaf cluster is an aggregation and abstraction of the characteristics of user groups with similar user representations. The higher the similarity between the first average user representation and the second average user representation of a certain leaf cluster, the higher the overlap in overall preferences and characteristics between the "user group interested in the target product" and the "segmented user group with specific similar characteristics" represented by that leaf cluster, and the higher the probability that users in that leaf cluster are interested in the target product. Therefore, in step S164, the similarity between the second average user representation and the first average user representation of each leaf cluster can be determined, and the leaf cluster to which the second average user representation with the highest similarity to the first average user representation belongs is determined as the target leaf cluster of the target product. Continuing with the previous example, we can determine the similarity S1 between the second average user representation and the first average user representation of leaf cluster C1, the similarity S2 between the second average user representation and the first average user representation of leaf cluster C2, and the similarity S3 between the second average user representation and the first average user representation of leaf cluster C3. Assuming that S1 is the largest among S1, S2, and S3, then leaf cluster C1 can be identified as the target leaf cluster of the target product.
[0040] In step S166, the cluster identifiers of each level of clusters along the clustering path where the target leaf cluster is located can be concatenated to obtain the dynamic index corresponding to the target product. Each level of clusters along the clustering path where the target leaf cluster is located includes the target leaf cluster and the direct parent clusters at each level traversed from the root node of the user-level clustering tree through multiple hierarchical clustering steps to finally reach the target leaf cluster. For example, suppose the cluster identifier corresponding to the root node of the user hierarchical clustering tree is 110. The first hierarchical clustering divides the cluster with identifier 110 into a cluster with identifier 111 and a cluster with identifier 112. The second hierarchical clustering divides the cluster with identifier 111 into a cluster with identifier 1111 and a cluster with identifier 1112. The third hierarchical clustering divides the cluster with identifier 1111 into a cluster with identifier 11111 and a cluster with identifier 11112. The cluster with identifier 11111 is the target leaf cluster. Therefore, the cluster identifiers of each level of clusters along the clustering path of the target leaf cluster are 110, 111, 1111, and 11111, respectively. These cluster identifiers can be concatenated to obtain the dynamic index corresponding to the target product.
[0041] In some embodiments, the dynamic index is obtained by concatenating multiple dynamic index subsequences. The j-th dynamic index subsequence is determined based on the cluster identifier of the j-th level cluster on the clustering path of the target leaf cluster. Assuming the cluster identifier of the j-th level cluster is directly used as the j-th dynamic index subsequence, then, continuing the previous example, the dynamic index subsequences are 110, 111, 1111, and 11111, which can be concatenated to obtain the following dynamic index: "110 111 1111 11111".
[0042] After obtaining the dynamic index corresponding to the target product, the dynamic index can be concatenated with the static index corresponding to the target product to obtain the index information of the target product.
[0043] In some embodiments, the static index of a target product is obtained by concatenating multiple static index subsequences. The first static index subsequence is determined based on the class identifier of the leaf category to which the target product belongs in the product category tree, and the (i+1)th static index subsequence is determined based on the cluster identifier of the i-th level cluster to which the target product belongs. For example, assuming the class identifier of the leaf category to which product A belongs in the product category tree is "100000075", and after four levels of hierarchical clustering, the cluster identifiers of the target product's clusters from the first to the fourth level of hierarchical clustering are 00, 000, 0000, and 0001 respectively, then the static index of product A can be represented as "100000075 00 000 0000 0001". The final concatenated index information is as follows: "110 111 1111 11111100000075 00 000 0000 0001".
[0044] The aforementioned method for generating index information first determines a dynamic index based on hierarchical clustering results of user representations, and then concatenates the dynamic index with a static index obtained from hierarchical clustering results of products to obtain the product index information. The static index, obtained based on product representations, reflects the semantic information of the products. When user-input query information is obtained, the static index can retrieve products semantically related to the query information. The dynamic index, obtained based on user representations, reflects user preference information. The dynamic index can retrieve products matching user preferences, solving the problem in related technologies where it is impossible to guarantee that the retrieved products match user needs, thus improving retrieval accuracy.
[0045] In some embodiments, the index information generated for different products through the hierarchical clustering method described above may be the same. A correlation can be established between the index information and product identifiers, where the product identifier can be a hash code, and each product has a unique identifier. During retrieval, a generative recall model can recall index information based on the user's input query information, recall product identifiers based on the correlation between the index information and product identifiers, and then perform product retrieval based on the product identifiers. By introducing index information during product retrieval, high-dimensional product semantic features can be mapped to a low-dimensional codebook space, significantly reducing storage overhead while ensuring retrieval efficiency, making it particularly suitable for the real-time retrieval needs of massive amounts of products in e-commerce scenarios.
[0046] In some embodiments, since user representations change over time, update conditions can be set, and when these conditions are met, the set of users with historical interaction behaviors with at least one of the multiple target products can be updated. By continuously updating the set of users with historical interaction behaviors with target products, the latest sequence of user interaction behaviors with products can be obtained, thereby ensuring that the obtained user representations remain synchronized with the dynamically evolving interests and preferences of users. Because the set of users with historical interaction behaviors with target products changes, the target leaf clusters subsequently determined for the target products may also change, thus changing the dynamic index corresponding to the target products and consequently altering the index information of the target products. In other words, the index information generated for each product using the schemes in the embodiments of this specification is not fixed.
[0047] like Figure 4 As shown, assuming two hierarchical clustering operations are performed based on product representation, the resulting product hierarchical clustering tree includes four leaf clusters, labeled D1, D2, D3, and D4. For cluster D2, assuming two hierarchical clustering operations are performed on users with historical interaction behavior with products in this cluster, the resulting user hierarchical clustering tree includes two leaf clusters, labeled C1 and C2. Similarly, for cluster D3, assuming two hierarchical clustering operations are performed on users with historical interaction behavior with products in this cluster, the resulting user hierarchical clustering tree includes two leaf clusters, labeled C3 and C4. In one execution of the method of this embodiment, the target leaf cluster corresponding to products V1, V2, and V3 is determined to be the cluster labeled C1. In another execution of the method of this embodiment, because the users with historical interaction behavior with product V2 have changed, the target leaf cluster determined for product V2 is changed to the cluster labeled C2.
[0048] The dynamic index obtained through the above methods can accurately reflect the current distribution of user interests, thereby ensuring that the index information generated for the target product always remains consistent with the real user preferences, improving the product retrieval system's ability to respond to users' immediate intentions and interest shifts, and returning more timely and relevant personalized results.
[0049] See Figure 5 This specification also provides a product retrieval method, the method comprising: Step S22: Obtain target input information, which includes the target query information entered by the user, the user's user information, and context information; Step S24: Input the target input information into the pre-trained generative recall model so that the generative recall model recalls the target index information that matches the target input information; wherein; the generative recall model is trained based on the sample input information and the index information of the sample products, the sample products are the products that have been interacted with by the user among the products retrieved based on the sample input information, and the target index information and the index information of the sample products are generated based on the method described in any of the foregoing embodiments; Step S26: Obtain the target product identifier that is pre-associated with the target index information; Step S28: Perform product retrieval based on the target product identifier.
[0050] The generative recall model in this embodiment can directly recall the index information of products based on the target input information. Since the index information can reflect both the semantic information of the products and the user preference information, the products retrieved based on the index information can match both the semantics of the target information and the user's needs, thus improving the retrieval accuracy.
[0051] In step S22, the target input information includes the following three: The user-inputted query information can include several search keywords. For example, when a user wants to search for "dress," their query might be: "new lightweight chiffon dress." The query information can be text or other modalities, such as voice or images. When the query information is not text, it can be parsed to obtain several search keywords.
[0052] User information can include static user information and dynamic user information, as defined in the aforementioned embodiments.
[0053] Contextual information includes, but is not limited to, information about the user's device, network environment, time and weather, geographic location, trending online searches, the user's social network and / or demographic information, such as the user's purchasing power, price preferences, user tags, and other features that show significant group trends.
[0054] In step S24, the acquired target input information can be input into the generative recall model. The generative recall model can recall target index information based on the target input information. This target index information is obtained by concatenating static and dynamic indexes, and its specific generation method is detailed in the aforementioned embodiments.
[0055] In some embodiments, the index information of multiple products may be the same. To facilitate the differentiation of different products, the product index information can be pre-associated with the product identifier (item ID). The product identifier can be a meaningless hash code, and the product identifiers of any two products are different. During retrieval, the target index information can first be retrieved using a generative recall model. Then, based on the association between the index information and the product identifier, the target product identifier associated with the target index information can be retrieved, and the product retrieval can be performed based on the target product identifier.
[0056] In some embodiments, see Figure 6 The generative recall model includes an encoder 302 and a decoder 304. The encoder 302 encodes the target input information to obtain a semantic feature vector and encodes user information and context information to obtain a user feature vector. The decoder 304 includes a first decoding module 3042 and a second decoding module 3044. The first decoding module 3042 decodes the semantic feature vector to obtain a target static index and outputs a latent vector to the second decoding module 3044. This latent vector is an intermediate vector generated during the generation of the target static index by the first decoding module 3042. The second decoding module 3044 decodes the user feature vector based on the latent vector to obtain a target dynamic index. The target index information is obtained by concatenating the target static index and the target dynamic index. The latent vector is an intermediate vector obtained by decoding the semantic feature vector, which contains the semantic information corresponding to the query information. The first decoding module 3042 can pass the semantic information to the second decoding module 3044 by outputting the latent vector to the second decoding module, so that the second decoding module 3044 can use the semantic information as the background information of the current retrieval process, so that the decoded target dynamic index matches the semantics of the query information.
[0057] Furthermore, the target static index includes multiple static index subsequences. Specifically, the first static index subsequence in the target static index is determined based on the category identifier of the leaf category to which the product belongs in the product category tree, and the (i+1)th static index subsequence in the target static index is determined based on the cluster identifier of the i-th level cluster to which the product belongs. Similarly, the target dynamic index includes multiple dynamic index subsequences. Specifically, the j-th dynamic index subsequence in the target dynamic index is determined based on the cluster identifier of the j-th level cluster to which the user currently performing the product search belongs in the user hierarchical clustering tree. Based on this, the decoder 304 can sequentially output each static index subsequence in the target static index and each dynamic index subsequence in the target dynamic index. Taking the target static index as an example, the decoder 304 can first output the first static index subsequence in the target static index, then the second static index subsequence, then the third static index subsequence, and so on. The decoder 304 outputs the target dynamic index in a similar way, which will not be described in detail here.
[0058] In some embodiments, see continue to see Figure 6 The decoder 304 further includes a first attention module 3046 and a second attention module 3048. The first attention module 3046 determines the key (K) and value (V) based on the semantic feature vector, and determines the query (Q) based on the static index subsequence previously output by the decoder 304. Attention processing is performed on the key, value, and query determined by the first attention module 3046 to obtain a first output vector, which is then output to the first decoding module 3042. The first decoding module 3042 decodes the first output vector to obtain the current static index subsequence. For example, assuming the static index subsequence previously output by the decoder is the i-th static index subsequence, the first attention module 3046 can determine Q based on the i-th static index subsequence, use the semantic feature vector as K and V, determine the attention weights based on the correlation between Q and K, and weight V based on the determined attention weights to obtain the first output vector. The first decoding module 3042 decodes the first output vector to obtain the current static index subsequence, i.e., the (i+1)-th static index subsequence. Through the above processing, long-distance, non-local complex dependencies in semantic feature vectors can be effectively captured, key information and their mutual influence can be identified, and more accurate and coherent contextual information can be provided for subsequent decoding. In addition, the first attention module 3046 can also output the latent vectors obtained in the process of generating the first output vector to the second decoding module 3044.
[0059] The second attention module 3048 determines the key (K) and value (V) based on the user feature vector and determines the query (Q) based on the dynamic index subsequence previously output by the decoder 304. It then performs attention processing on the key, value, and query determined by the second attention module 3048 to obtain a second output vector. This second output vector is then output to the second decoding module 3044, which decodes the second output vector based on the latent vector to obtain the current dynamic index subsequence. For example, assuming the dynamic index subsequence previously output by the decoder is the i-th dynamic index subsequence, the second attention module 3048 can determine Q based on the i-th dynamic index subsequence, use the user feature vector as K and V, determine the attention weights based on the correlation between Q and K, and weight V based on the determined attention weights to obtain the second output vector. The second decoding module 3044 decodes the second output vector based on the latent vector to obtain the current dynamic index subsequence, i.e., the (i+1)-th dynamic index subsequence. Through the above processing, we can effectively capture the long-distance, non-local complex dependencies in user feature vectors, identify key information and their mutual influence, and provide more accurate and coherent contextual information for subsequent decoding.
[0060] In some embodiments, multiple sample data sets can be obtained, each containing sample input information and index information of the sample product. The sample input information includes query information, user information, and context information (user information and context information can be uniformly denoted as "user"). A single sample data set can be denoted as (user, query, index). Multiple sample data sets can be input into the generative recall model, allowing the model to output index information based on the sample input information. The loss corresponding to each sample data set is determined based on the index information output by the generative recall model and the index information in the sample data. The losses corresponding to the multiple sample data sets are weighted according to their respective weights to obtain the loss of the generative recall model. The generative recall model is then trained based on this loss.
[0061] Product interaction data exhibits dynamic accumulation, with significant differences in the richness of interactions across different products. For popular products with abundant interaction data, their average user representation is relatively stable and reliable, resulting in highly accurate dynamic indexes. However, for long-tail products with sparse interactions, the calculated average user representation often exhibits significant uncertainty and volatility due to the limited number of interacting users. This can lead to inaccurate dynamic indexes, resulting in products being incorrectly assigned to them and consequently, incorrect sample data. Directly using such incorrect sample data for model training introduces a large amount of noise, negatively impacting the model's learning performance. To effectively address this issue, this specification proposes a training strategy based on sample reliability weighting from the perspective of loss function design. The core idea is that the weight corresponding to the sample data is positively correlated with the number of interactions of the sample product to which the index information in the sample data belongs. Products with more interactions tend to have more stable average user representations, and their corresponding clustering is more reliable. Therefore, they are given higher weight in the loss function (i.e., sample reliability weighted loss). Conversely, while the clustering of sparsely interacted products is uncertain, these samples are not completely discarded. Instead, their contribution to the loss function is reduced to mitigate noise while preserving their potentially useful information. Specifically, the reliability weight of each sample is defined as follows:
[0062] in, A threshold representing the number of interactions between a product and a user. This indicates the number of interactions between the product and the user. Then it is considered that the product has obtained a stable user representation, and the corresponding sample data weight is 1; This indicates that the product does not meet a certain number of interactions, and the weight of the corresponding sample data is set to... ( This means that the weight of this sample data is smaller than that of other sample products.
[0063] Figure 7 The diagram illustrates the process from index information generation to generative recall model training. The overall flow includes four steps: data processing, index information generation, generative recall model training, and product recall. The specific implementation process of each step is as follows: 1. Data Processing. Specifically, pre-trained language models can be used to process product information (such as titles, brands, categories, etc.) to produce product representations that represent the semantic information of the products; collaborative filtering models, such as Deep Structured Semantic Models (DSSM), can be used to process the interaction data between products and users to produce user representations that represent user attributes.
[0064] 2. The K-means hierarchical clustering algorithm is used to generate index information. Specifically, the generation of index information includes three stages. First, based on product representation, a category-guided hierarchical clustering algorithm is used to generate a static index. Then, based on the leaf clusters in the generated product clusters, all users who have had historical interaction with the products in those leaf clusters are identified. Based on the user representations of these users, a hierarchical clustering algorithm is also used to generate collaborative clusters. Finally, the products in each product cluster are dynamically attached according to their distance from the final user clusters. The specific process includes the following: Product information can be understood from two dimensions: static semantic dimension and dynamic collaborative dimension. For any product, its inherent semantic information (such as product category, attributes, description, etc.) remains relatively stable over a considerable period of time, making it suitable for representation using static indexing. However, the collaborative information of a product (i.e., the characteristics and preference patterns of the user group that has historically interacted with the product) evolves dynamically with the continuous accumulation of user behavior data. Based on this observation, the embodiments in this specification propose splitting the traditional single index into two components: a static index and a dynamic index, forming a composite index structure to better capture the multidimensional feature representation of products.
[0065] The construction of a static index is relatively straightforward: First, semantic information of the products (such as product category, attributes, description, etc.) is extracted and encoded into dense semantic feature vector representations (i.e., product representations) using a pre-trained large language model. Then, a category-guided hierarchical clustering algorithm is used to cluster the semantic feature vector representations of all products. Finally, a hierarchical product clustering tree is constructed, where each leaf node represents a set of semantically similar products.
[0066] The process of building a dynamic index includes the following core steps: (1) User group identification: For each product cluster after semantic clustering, collect the set of users who have interacted with all products in the cluster and establish a mapping set from product semantic category to relevant user group.
[0067] (2) User clustering: Hierarchical clustering is performed on the identified user groups to form a user hierarchical clustering tree. The centroid vector (i.e., the second average user representation) of each leaf cluster in the user hierarchical clustering tree is calculated as a representative representation of the user group.
[0068] (3) Product Assignment: For each product, calculate the average user representation vector (i.e., the first average user representation) based on its historical interactive users. When the number of interactive users is large, a weighted average or time decay strategy is adopted to obtain a stable representation. Then, calculate the similarity distance between the first average user representation and each second average user representation, and assign the product to the most similar user cluster.
[0069] 3. Using the generated index information, a generative recall model is trained using a weighted loss function based on sample reliability. During model training, two additional attention modules are added to the decoding side to enhance the generated results when decoding static and dynamic indices, respectively.
[0070] Since the generated index information contains both semantic and collaborative dimensions, the generative recall model should also be able to understand and generate these two types of information separately. Therefore, the embodiments in this specification have made targeted optimizations and adjustments to the generative recall model based on the encoder-decoder architecture, making it better suited to the two-layer indexing system of "static index + dynamic index". Specifically, as follows: In the encoder design, the embodiments in this specification generate two different types of vector representations: semantic feature vectors and user feature vectors. Specifically, the semantic feature vectors are mainly obtained from the query information and are specifically used to capture the semantic content, intent understanding, and content relevance information of the query information; while the user feature vectors are obtained by fusing user information and contextual information, focusing on modeling the user's personalized preferences, group affiliation, and interaction behavior patterns.
[0071] In the process of the decoder generating index information, the embodiments of this specification implement a two-layer index information generation mechanism, which corresponds to the hierarchical structure of the index construction described above.
[0072] When generating the static index, an additional attention mechanism is introduced, using the semantic feature vectors generated by the encoder as K and V. This allows the decoding process to focus on and strengthen semantically relevant information, ensuring that the generated static index accurately reflects the content requirements of user queries. When generating the collaboration layer identifier, the same attention mechanism is used, but this time the user feature vectors are used as K and V. This guides the model to focus on the user's personalized preferences and group characteristics, thereby generating a dynamic index that better matches the user's collaborative behavior patterns.
[0073] 4. When user-product interaction data is updated, the product clusters are fixed, and the collaborative clusters (i.e., clusters in the user-hierarchical clustering tree) are re-clustered to obtain dynamically updated index information. Finally, using the trained generative recall model, the beam search algorithm is used to generate target index information online, and the 2,000 products with the highest L2P (Label to Position) scores under the secondary index corresponding to the target index information are used as the recall results; at the same time, the product index is converted into actual product identifiers as the trigger for online i2i recall, and the i2i recall results of this trigger are also used as the recall results of generative recall.
[0074] Compared to related technologies that directly generate index information based on product features (such as performing hierarchical clustering based on product information to obtain a product hierarchical clustering tree, and then concatenating the cluster identifiers of the clusters to which the product belongs in each hierarchical clustering to form index information), the solution of the embodiments in this specification has the following advantages: Composite index structure design: The traditional single index is split into a composite structure of static index and dynamic index. The dynamic index is constructed by clustering based on user representation, and cluster-level identifiers are used to replace single product identifiers. This can capture the multi-dimensional feature representation of products and ensure training stability in a dynamic update environment. It is suitable for the problem of frequent product listing and delisting in e-commerce scenarios.
[0075] Two-stage hierarchical decoding mechanism: A two-stage decoding architecture corresponding to the two-layer index structure is designed. The encoder generates semantic feature vectors and user feature vectors respectively, and the decoder uses a hierarchical attention mechanism to generate static indexes and dynamic indexes respectively, thereby enhancing semantic understanding ability and user personalized preference understanding ability.
[0076] Sample reliability weighted training strategy: Based on the richness of product interaction data, a loss function is designed to weight samples based on their reliability. Products with rich interactions are given higher weights, while long-tail products with sparse interactions are weighted lower. This effectively solves the negative impact of the uncertainty of identifier allocation in dynamic indexing on model training.
[0077] Figure 8 This is a schematic structural diagram of a device provided in an exemplary embodiment. For example... Figure 8As shown, device 400 mainly consists of a communication interface 402, a user interface 404, a processor 406, and a data storage 408. These components are interconnected and communicate with each other via a system bus, network, or other connection mechanism 410. The communication interface 402 enables device 400 to communicate with other devices, access networks, and transmission networks via analog or digital modulation. For example, the communication interface 402 may include a chipset and antenna for wireless communication with a radio access network or access point. Furthermore, the communication interface 402 can be a wired interface such as Ethernet, Token Ring, or a USB port, or a wireless interface such as Wi-Fi, Bluetooth, Global Positioning System (GPS), or a wide-area wireless interface (e.g., WiMAX or LTE). Of course, the communication interface 402 can also support other forms of physical layer interfaces and standard or proprietary communication protocols. The communication interface 402 may also include multiple physical communication interfaces, such as Wi-Fi, Bluetooth, and wide-area wireless interfaces.
[0078] User interface 404 includes receiving user input and providing output to the user. Therefore, user interface 404 may include input components such as a keypad, keyboard, touch-sensitive or presence-sensitive panel, computer mouse, trackball, joystick, microphone, still camera, and video camera, and output components such as a display screen (which may be combined with a touch-sensitive panel), CRT, LCD, LED, display using DLP technology, printer, and other similar devices known or developed in the future. User interface 404 may also generate auditory output via speakers, speaker jacks, audio output ports, audio output devices, headphones, and other similar devices known or developed in the future. In some embodiments, user interface 404 may include software, circuitry, or other forms of logic capable of transmitting and receiving data from external user input / output devices. Additionally or alternatively, device 400 may support remote access from other devices via communication interface 402 or another physical interface (not shown). User interface 404 may be configured to receive user input, the position and movement of which may be indicated by an indicator or cursor described herein. User interface 404 may also be configured as a display device for rendering or displaying text fragments.
[0079] Processor 406 may contain one or more general-purpose processors and / or special-purpose processors.
[0080] Data storage 408 may include one or more volatile and / or non-volatile storage components and may be integrated wholly or partially with processor 406. Data storage 408 may include removable and non-removable components.
[0081] Processor 406 is capable of executing program instructions 418 (e.g., compiled or uncompiled program logic and / or machine code) stored in data storage 408 to perform the various functions described herein. Data storage 408 may comprise a non-transitory computer-readable medium on which program instructions are stored, which, when executed by device 400, enable device 400 to perform any methods, processes, or functions disclosed in this specification and / or the accompanying drawings. Processor 406 executing program instructions 418 may result in processor 406 using data 412.
[0082] For example, program instructions 418 may include an operating system 422 (e.g., an operating system kernel, device drivers, and / or other modules) installed on device 400 and one or more applications 420 (e.g., a browser, social application, or game application). Similarly, data 412 may include operating system data 416 and application data 414. Operating system data 416 is primarily accessible to the operating system 422, while application data 414 is primarily accessible to one or more applications 420. Application data 414 may reside in a file system visible or hidden from the user of device 400.
[0083] Application 420 can communicate with operating system 422 through one or more application programming interfaces (APIs). These APIs help application 420 read and / or write application data 414, transmit or receive information via communication interface 402, receive or display information on user interface 404, etc.
[0084] In some terminology, application 420 may be simply referred to as "app". Furthermore, application 420 can be downloaded to device 400 through one or more online app stores or app markets. However, applications can also be installed on device 400 in other ways, such as through a web browser or a physical interface on device 400 (e.g., a USB port).
[0085] Please refer to Figure 9 The index information generation device can be applied to, for example... Figure 8 The device shown is used to implement the technical solution of this specification. The apparatus for generating the index information may include: The determination module 502 is used to determine a set of users who have historical interaction behavior with at least one of a plurality of target products; the plurality of target products belong to the same leaf cluster in a product hierarchical clustering tree, which is obtained by hierarchically clustering the product representations of each product in a preset product set; Clustering module 504 is used to perform hierarchical clustering on each user in the user set based on the user representation of each user in the user set, so as to obtain a user hierarchical clustering tree; The index generation module 506 is used to perform the following operations for each of the plurality of target products: Obtain the first average user representation of each user who has historical interaction behavior with the target product and the second average user representation of each leaf cluster in the user hierarchical clustering tree. The leaf cluster to which the second average user representation, which has the highest similarity to the first average user representation, belongs is determined as the target leaf cluster of the target product. The cluster identifiers of each level of clusters along the clustering path to which the target leaf cluster belongs are concatenated to obtain the dynamic index corresponding to the target product. The static index corresponding to the target product is then concatenated with the dynamic index corresponding to the target product to obtain the index information of the target product. The static index is obtained by concatenating the cluster identifiers of each level of clusters to which the target product belongs.
[0086] Please refer to Figure 10 Product retrieval devices can be applied to, for example... Figure 8 The device shown implements the technical solution described in this specification. The product retrieval device may include: Information acquisition module 602 is used to acquire target input information, which includes target query information input by the user, user information of the user, and context information; The index recall module 604 is used to input the target input information into a pre-trained generative recall model, so that the generative recall model recalls target index information that matches the target input information; wherein, the generative recall model is trained based on sample input information and index information of sample products, the sample products are products that have been interacted with by the user among the products retrieved based on the sample input information, and the target index information and the index information of the sample products are generated based on the index information generation device described in any of the foregoing embodiments; The product identifier acquisition module 606 is used to acquire the target product identifier that is pre-associated with the target index information; The retrieval module 608 is used to retrieve products based on the target product identifier.
[0087] For ease of description, the above devices are described by dividing them into various modules or units based on their functions. Of course, when implementing one or more of these specifications, the functions of each module or unit can be implemented in the same or different software and / or hardware, or a module that performs the same function can be implemented by a combination of multiple sub-modules or sub-units, etc. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division; in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed.
[0088] Based on the same concept as the methods described above, this specification also provides an electronic device, including: a processor; a memory for storing processor-executable instructions; wherein the processor performs the steps of the method as described in any of the above embodiments by executing the executable instructions.
[0089] Based on the same concept as the methods described above, this specification also provides a computer-readable storage medium having computer instructions stored thereon that, when executed by a processor, implement the steps of the methods as described in any of the above embodiments.
[0090] Based on the same concept as the methods described above, this specification also provides a computer program product, including a computer program / instructions that, when executed by a processor, implement the steps of the methods as described in any of the above embodiments.
[0091] Based on the same concept as the above method, this specification also provides a product retrieval system, including a server and a client. The server stores index information for each product, receives product retrieval requests including target input information, responds to the product retrieval requests, performs product retrieval based on the product retrieval method described in any of the foregoing embodiments, and sends the retrieved product information to the client; the index information is obtained based on the index information generation method described in any of the foregoing embodiments. The client is used to obtain the product information sent by the server and display the obtained product information. In this embodiment, the server can be deployed on... Figure 1 In the server 11 shown, the client in this embodiment can be deployed on Figure 1 Among the personal computer 13 and mobile phone 14 shown in the electronic devices.
[0092] What those skilled in the art will understand is: In this specification, the terms "comprising," "including," or any other variations thereof are intended to cover a non-exclusive inclusion, such that a process, method, product, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, product, or apparatus. Without further limitation, the presence of additional identical or equivalent elements in a process, method, product, or apparatus that includes said elements is not excluded.
[0093] In this specification, “a,” “an,” and “the” do not specifically refer to the singular, but may also include the plural.
[0094] In this specification, ordinal numbers such as "first," "second," etc., do not necessarily indicate order; they are often used to distinguish between objects. For example, "first server" and "second server" usually refer to two servers. To differentiate between these two servers, they are described as "first server" and "second server." Of course, sometimes these two servers may be the same server.
[0095] In this specification, unless explicitly stated otherwise, "receiving and sending data" does not necessarily mean direct receiving and sending; it can also mean indirect receiving and sending. For example, A receiving data sent by B can be understood as A directly receiving the data sent by B, or it can be understood as A indirectly receiving the data sent by B through other entities such as C. Similarly, B sending data to A can be understood as B sending the data directly to A, or it can be understood as B indirectly sending the data to A through other entities such as C. Here, C can be one entity, or it can be two or more entities.
[0096] In this specification, unless explicitly stated otherwise, the relationships between structures can be direct or indirect. For example, when describing "A is connected to B," unless it is explicitly stated that A and B are directly connected, it should be understood that A can be directly connected to B or indirectly connected to B. Similarly, when describing "A is on top of B," unless it is explicitly stated that A is directly above B (AB is adjacent and A is above B), it should be understood that A can be directly above B or indirectly above B (AB is separated by other elements, and A is above B). And so on.
[0097] This specification uses specific terms to describe embodiments thereof. Terms such as "an embodiment," "one embodiment," and / or "some embodiments" refer to a particular feature, structure, or characteristic associated with at least one embodiment of this specification. Therefore, it should be emphasized and noted that references to "an embodiment," "one embodiment," or "an alternative embodiment" in different locations throughout this specification do not necessarily refer to the same embodiment. Furthermore, those skilled in the art can combine and integrate the different embodiments or examples described herein, as well as the features of those different embodiments or examples, without contradiction.
[0098] Although one or more embodiments of this specification provide method steps as described in the embodiments or flowcharts, it is understood that the order of steps listed in the embodiments or flowcharts is only one of many possible execution orders and does not represent the only execution order. Therefore, when the claims involve method steps, any changes or adjustments to the order of such steps, or the parallelism between steps, are also within the scope of protection of the claims.
Claims
1. A method for generating index information, the method comprising: Identify the set of users who have historical interaction behavior with at least one of the multiple target products; The multiple target products belong to the same leaf cluster in the product hierarchical clustering tree, which is obtained by hierarchically clustering the product representations of each product in the preset product set. Based on the user representation of each user in the user set, hierarchical clustering is performed on each user in the user set to obtain a user hierarchical clustering tree; Perform the following operations for each of the multiple target products: Obtain the first average user representation of each user who has historical interaction behavior with the target product and the second average user representation of each leaf cluster in the user hierarchical clustering tree. Based on the similarity between the first average user representation and the second average user representation of each leaf cluster in the user hierarchical clustering tree, the target leaf cluster of the target product is determined. The cluster identifiers of each level of clusters along the clustering path to which the target leaf cluster belongs are concatenated to obtain the dynamic index corresponding to the target product. The static index corresponding to the target product is then concatenated with the dynamic index corresponding to the target product to obtain the index information of the target product. The static index is obtained by concatenating the cluster identifiers of each level of clusters to which the target product belongs.
2. The method according to claim 1, further comprising: Retrieve the product category tree; Determine the leaf categories in the product category tree; The set of products belonging to the leaf category is determined as the preset set of products.
3. The method according to claim 2, wherein the static index is obtained by concatenating multiple static index subsequences; wherein, The first static index subsequence among the plurality of static index subsequences is determined based on the class target identification of the leaf category to which the target product belongs in the product category tree; The (i+1)th static index subsequence among the plurality of static index subsequences is determined based on the cluster identifier of the i-th level cluster to which the target product belongs, where i is a positive integer.
4. The method according to claim 1, wherein the dynamic index is obtained by concatenating multiple dynamic index subsequences; wherein, The j-th dynamic index subsequence among the plurality of dynamic index subsequences is determined based on the cluster identifier of the j-th level cluster on the clustering path where the target leaf cluster is located, where j is a positive integer.
5. The method according to claim 1, wherein the second average user representation of the k-th leaf cluster in the user hierarchical clustering tree is determined based on the following: Obtain the user representation of each user belonging to the k-th leaf cluster; k is a positive integer; The user representations of each user belonging to the kth leaf cluster are weighted and averaged to obtain the second average user representation of the kth leaf cluster.
6. A product retrieval method, the method comprising: Obtain target input information, which includes target query information input by the user, user information, and context information; The target input information is input into a pre-trained generative recall model so that the generative recall model recalls target index information that matches the target input information; wherein, the generative recall model is trained based on sample input information and index information of sample products, the sample products are products that have been interacted with by the user among the products retrieved based on the sample input information, and the target index information and the index information of the sample products are generated based on the method described in any one of claims 1 to 5; Obtain the target product identifier that is pre-associated with the target index information; Product retrieval is performed based on the target product identifier.
7. The method according to claim 6, wherein the generative recall model comprises: An encoder is used to encode the target input information to obtain a semantic feature vector, and to encode the user information and the context information to obtain a user feature vector; as well as The decoder includes a first decoding module and a second decoding module; The first decoding module is used to decode the semantic feature vector to obtain the target static index, and output a latent vector to the second decoding module. The latent vector is an intermediate vector generated by the first decoding module in the process of generating the target static index. The second decoding module is used to decode the user feature vector based on the latent vector to obtain the target dynamic index; The target index information is obtained by concatenating the target static index and the target dynamic index.
8. The method according to claim 7, wherein the target static index includes a plurality of static index subsequences, the target dynamic index includes a plurality of dynamic index subsequences, and the decoder sequentially outputs each static index subsequence and each dynamic index subsequence in the plurality of static index subsequences; the decoder further includes: The first attention module is used to determine the key and value based on the semantic feature vector, and to determine the query based on the static index subsequence output by the decoder in the previous step. The first attention module performs attention processing on the key, value and query determined by the first attention module to obtain a first output vector, and outputs the first output vector to the first decoding module so that the first decoding module can decode the first output vector to obtain the current static index subsequence. And, for outputting the hidden vector obtained during the generation of the first output vector to the second decoding module; The second attention module is used to determine the key and value based on the user feature vector, and to determine the query based on the dynamic index subsequence output by the decoder in the previous step. It performs attention processing on the key, value and query determined by the second attention module to obtain a second output vector, and outputs the second output vector to the second decoding module so that the second decoding module decodes the second output vector based on the latent vector to obtain the current dynamic index subsequence.
9. The method according to claim 6, further comprising: Obtain multiple sample data points, each of which includes sample input information and index information of the sample product; Multiple sets of sample data are input into the generative recall model, so that the generative recall model outputs index information based on the sample input information in the sample data; The loss corresponding to the sample data is determined based on the index information output by the generative recall model and the index information in the sample data. Based on the weights corresponding to multiple sample data points, the losses corresponding to the multiple sample data points are weighted to obtain the loss of the generative recall model; wherein, the weights corresponding to sample data points are positively correlated with the number of interactions with the sample products to which the index information in the sample data belongs; The generative recall model is trained based on the loss of the generative recall model.
10. An electronic device, comprising: processor; A memory for storing processor-executable instructions; wherein the processor implements the steps of the method as described in any one of claims 1-9 by executing the executable instructions.
11. A computer-readable storage medium, characterized in that, It stores computer instructions that, when executed by a processor, implement the steps of the method as described in any one of claims 1-9.
12. A computer program product comprising a computer program / instructions that, when executed by a processor, implement the steps of the method as claimed in any one of claims 1-9.
13. A product retrieval system, comprising: The server is used to store index information of each product, receive product retrieval requests including target input information, and, in response to the product retrieval requests, perform product retrieval based on the method described in any one of claims 6 to 9, and send the product information of the retrieved products to the client; the index information is obtained based on the method described in any one of claims 1 to 5. The client is used to obtain product information sent by the server and display the obtained product information.
Citation Information
Patent Citations
Goods clustering method based on goods network connection graph
CN105427125A
Internet-of-things user query request-oriented TOP-k position point-of-interest recommendation method
CN105808698A
Method and system for querying customer group list of customer in real time in digital marketing
CN117009453A
Search dynamic semantic recall method and system
CN117390260A
Object index establishment method, prediction model training method and search method
CN118170952A