Methods for object pushing and same-style cluster recognition, medium, device, and program product
By identifying and adjusting high-performing objects in the object push sequence of the service platform, the problem of reduced user experience and traffic caused by homogenization was solved, and more efficient user traffic and experience improvement were achieved.
Patent Information
- Application Number
- PCT/CN2025/100279
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-05
- Filing Date
- 2025-06-10
- Publication Date
- 2026-01-08
AI Technical Summary
In existing technologies, service platforms are prone to homogenization when pushing objects, resulting in a reduced user experience and decreased user traffic, and an inability to push the desired objects in a timely manner.
By identifying target objects with superior performance parameters within clusters in the initial push sequence and adjusting their positions in the push sequence so that they are pushed before other objects within the cluster, multimodal feature extraction and clustering techniques are used to identify clusters of the same type and prioritize pushing objects with superior performance.
It improved user experience, increased user traffic, reduced instances of delayed push notifications, optimized traffic structure, and reduced homogenization.
Smart Images

Figure CN2025100279_08012026_PF_FP_ABST
Abstract
Description
Object pushing and same-model cluster identification method, medium, device and program product
[0001] The present disclosure claims priority to Chinese Patent Application No. 202410906732.0, filed on July 5, 2024, with the Chinese Patent Office, entitled "Object pushing and same-model cluster identification method, medium, device and program product", the entire contents of which are incorporated herein by reference. TECHNICAL FIELD
[0002] The present disclosure relates to the technical field of Internet, and in particular, to an object pushing and same-model cluster identification method, medium, device and program product. BACKGROUND
[0003] In some application scenarios, a service platform needs to push objects to users. The quality of the objects pushed by the service platform to the users will affect the user experience, and thus affect the user traffic of the service platform. In order to improve the user experience, it is desirable to avoid the homogenization of the pushed objects. To achieve this purpose, in related technologies, similar objects in the same push sequence are dispersed into multiple different push sequences. However, this approach may result in objects that are expected to be pushed in the same push sequence being unable to be pushed in time, thereby reducing the user traffic of the service platform. SUMMARY
[0004] In a first aspect, an object pushing method is provided. The method includes determining an initial push sequence, the initial push sequence including at least one class cluster including a plurality of objects to be pushed; determining a target object included in each of the at least one class cluster, the target object in the class cluster having a performance parameter in at least one dimension that is better than a performance parameter of other objects in the class cluster in a corresponding dimension; adjusting the target push object of each class cluster in the initial push sequence to before the other objects in the corresponding class cluster, to obtain a target push sequence; and pushing the target push sequence.
[0005] In a second aspect, a same-model cluster identification method is provided. The method includes obtaining product information of a plurality of products of an e-commerce platform; performing feature extraction on the product information of the plurality of products, respectively, to obtain features of the plurality of products; clustering the features of the plurality of products to obtain at least one same-model cluster to which the plurality of products belong; the products in a same same-model cluster are a collection of products of the same model or style; wherein the product information of the plurality of products is used to be pushed to a client, and a target product in a same same-model cluster is preferentially pushed compared to other products in the same same-model cluster, and a product attribute of the target product in the same same-model cluster in at least one dimension is better than a product attribute of other products in the same same-model cluster in a corresponding dimension.
[0006] In a third aspect, the embodiments of the present disclosure provide a computer readable storage medium, which stores a computer program. The computer program is executed by a processor to implement the method according to any of the embodiments of the present disclosure.
[0007] In a fourth aspect, the embodiments of the present disclosure provide a computer device, which comprises a memory, a processor and a computer program stored in the memory and executable on the processor. The processor implements the method according to any of the embodiments of the present disclosure when executing the program.
[0008] In a fifth aspect, the embodiments of the present disclosure provide a computer program product, which comprises a computer program. The computer program is executed by a processor to implement the method according to any of the embodiments of the present disclosure.
[0009] In the embodiments of the present disclosure, the initial push sequence is first acquired, the initial push sequence comprising at least one to-be-pushed object included in each cluster, then the target object with better performance parameters in each cluster is determined respectively, the push order of each to-be-pushed object in the initial push sequence is adjusted to obtain a target push sequence, and the target push sequence is pushed to the user. In the target push sequence, the target object with better performance parameters under each cluster is pushed before other objects in the corresponding cluster. On the one hand, since each to-be-pushed object in the initial push sequence is still pushed in the same target push sequence, it is not necessary to scatter each to-be-pushed object in the initial push sequence into different push sequences, thus reducing the situation that the objects originally expected to be pushed in the same push sequence cannot be timely pushed. On the other hand, the object with better performance parameters is preferentially pushed, so that the user can preferentially obtain high-quality objects, thereby improving the user experience and further improving the user traffic of the service platform.
[0010] It should be understood that the foregoing general description and the following detailed description are only exemplary and explanatory, rather than limiting the present disclosure. BRIEF DESCRIPTION OF DRAWINGS
[0011] The accompanying drawings, which are incorporated into and form a part of the specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the technical solutions of the present disclosure.
[0012] FIG. 1 is a schematic diagram of an application scenario according to an embodiment of the present disclosure.
[0013] FIG. 2 is a flowchart of an object push method according to an embodiment of the present disclosure.
[0014] FIG. 3 is a structural schematic diagram of a feature extraction model according to an embodiment of the present disclosure.
[0015] FIG. 4 is a schematic diagram of a push order adjustment process according to an embodiment of the present disclosure.
[0016] FIG. 5 is a general flowchart of the embodiment of the present disclosure.
[0017] FIG. 6 is a presentation effect diagram of a push result of the embodiment of the present disclosure.
[0018] FIG. 7 is a flowchart of a same-model cluster identification method of the embodiment of the present disclosure.
[0019] FIG. 8 is a schematic diagram of a computer device of the embodiment of the present disclosure. DETAILED DESCRIPTION
[0020] The exemplary embodiments will be described in detail herein below with reference to the drawings. In the following description, the same numbers in different drawings represent the same or similar elements unless otherwise represented. The embodiments described in the following exemplary embodiments do not represent all the embodiments consistent with the present disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of the present disclosure as detailed in the appended claims.
[0021] The terms used in the present disclosure are merely for the purpose of describing particular embodiments and are not intended to limit the present disclosure. As used in the present disclosure and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the term "and / or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. In addition, the term "at least one of' as used herein indicates any one of or any combination of at least two of the plurality.
[0022] It should be understood that although the terms first, second, third, etc. can be employed in this disclosure to describe various information, such information should not be limited to these terms. These terms are only used to differentiate one piece of information from another piece of information of the same type. For example, a first information can also be referred to as a second information without departing from the scope of the present disclosure, and similarly, a second information can also be referred to as a first information. Depending on the context, the word "if' as used herein can be interpreted as meaning "when" or "upon determination" or "in response to determining".
[0023] In order to enable persons skilled in the art to better understand the technical solutions in the embodiments of the present disclosure and make the above-mentioned purposes, features and advantages of the embodiments of the present disclosure more apparent and understandable, the technical solutions in the embodiments of the present disclosure will be further described in detail below with reference to the drawings.
[0024] FIG. 1 schematically illustrates an application scenario of the present disclosure, which includes a service platform 12 and a client 14. The service platform 12 can push a push sequence including at least one object to the client 14 for display. Optionally, the service platform 12 can be an e-commerce platform; accordingly, the pushed object can be a commodity on the e-commerce platform. In some embodiments, a user can input search information on the client 14, as shown in FIG. 1, the search information being “dresses”. The client 14 can send a browsing request carrying the search information to the service platform 12. The service platform 12 can obtain a push sequence in response to the browsing request and push the push sequence to the client 14. In other embodiments, the service platform 12 can also obtain and push the push sequence according to the historical behavior sequence (e.g., browsing, liking, collecting, purchasing, adding to shopping cart, forwarding, commenting, etc.) of the user.
[0025] It can be understood that the e-commerce scenario in FIG. 1 is only illustrative and is not intended to limit the present disclosure. In other examples, the service platform 12 and the pushed object can also be of other types. For example, the service platform 12 is a video playing platform, and the pushed object is a video file; or the service platform 12 is a news platform, and the pushed object is news; or the service platform 12 is a music playing platform, and the pushed object is an audio file; or the service platform 12 is an e-book platform, and the pushed object is an e-book; and the like. For ease of description, the following will be described by way of example with the service platform 12 being an e-commerce platform and the pushed object being a commodity of the e-commerce platform.
[0026] In order to improve user experience, it is desirable to avoid the pushed objects being too homogeneous. Homogeneity refers to the multiple objects pushed being highly similar in performance, appearance, function, price, etc., and lacking significant differentiating features. The homogeneity of the pushed objects can cause the objects browsed by the user to appear “same as one another”, and it is difficult to attract the special attention or interest of the user. In order to reduce the homogeneity of the pushed objects, in the related art, similar objects in the same push sequence are dispersed into multiple different push sequences. However, this approach can cause objects that are originally expected to be pushed in the same push sequence to be unable to be pushed in time. In some cases, the initial push sequence is generated according to user demand, and if an object is in a preceding push sequence, it can indicate that the object has a high degree of matching with the user demand, and if the object is moved to a subsequent push sequence, it can cause objects satisfying the user demand to be unable to be pushed in time, thereby reducing the user traffic of the service platform.
[0027] Based on this, the present embodiment provides an object pushing method, as shown in FIG. 2, the method comprising:
[0028] Step S12: determining an initial push sequence, the initial push sequence including at least one class cluster respectively including multiple to-be-pushed objects.
[0029] Step S14: determining target objects respectively included in at least one cluster, the performance parameters of the target objects in the cluster on at least one dimension being superior to the performance parameters of other objects in the cluster on the corresponding dimensions;
[0030] Step S16: adjusting the target push objects of each cluster in the initial push sequence to be in front of other objects of the corresponding cluster, to obtain a target push sequence;
[0031] Step S18: pushing the target push sequence.
[0032] The embodiments of the present disclosure optimize the traffic of the to-be-pushed objects in the same cluster. Compared with other objects in the cluster, the target objects in the cluster that are superior will obtain traffic and thus be pushed preferentially, so that the user can obtain high-quality objects preferentially, thereby improving the user experience and further improving the user traffic. In addition, since the user's attention to the objects at the front of the sequence is usually higher, preferentially pushing the target objects will make the target objects obtain more attention. In this way, the provider of the to-be-pushed objects can be guided to optimize the objects provided by the provider, and the situation of imitation and duplication can be reduced. Furthermore, since each to-be-pushed object in the same initial push sequence is still in a target push sequence without being scattered into different push sequences, the situation that the objects pushed in the same push sequence cannot be pushed in time is reduced. The specific schemes of the embodiments of the present disclosure are illustrated below.
[0033] The method of the embodiments of the present disclosure can be executed by the service platform 12 shown in FIG. 1.
[0034] In step S12, each candidate object in the object set on the service platform 12 can be pre-clustered. In some embodiments, a pre-trained feature extraction model can be used to extract features of a plurality of candidate objects on the service platform 12, to obtain the features of the plurality of candidate objects, and then the plurality of candidate objects can be clustered based on the features of the plurality of candidate objects, to determine the cluster to which each candidate object belongs. The features include but are not limited to at least one of the following: object name, color, material, model, purpose, size, applicable scenario, and applicable population.
[0035] In some embodiments, the similarity between the candidate objects in the same cluster can be greater than a preset similarity threshold. For example, in the case where the features of the objects include color, a certain red dress and other pictures and titles of dresses that are very similar to the "red dress" belong to the same cluster.
[0036] In some embodiments, the feature extraction model can obtain input data of at least one modality of the candidate object, such as image data and / or text data, and perform feature extraction on the input data of the at least one modality to obtain features of the at least one modality. In the e-commerce scenario, the image data can be a product image uploaded by a merchant on an e-commerce platform, and the text data can include a title of the product and other product information uploaded by a user to the e-commerce platform.
[0037] In the case where the features input to the feature extraction model include input data of multiple modalities, the feature extraction model can be a multi-modal model, for example, a Bootstrapped Language Image Pretraining (BLIP) model. FIG. 3 shows a structural diagram of a BLIP model in some embodiments, which includes an image encoder, a text encoder, and two image-based text encoders. The image encoder is configured to encode an input image to obtain image features; the text encoder is configured to encode an input text to obtain text features; one of the image-based text encoders (hereinafter referred to as the first image text encoder) is configured to perform a matching task between images and texts; and the other image-based text encoder (hereinafter referred to as the second image text encoder) is configured to perform a language modeling task. The image encoder can employ a self-attention mechanism, the text encoder and the first image text encoder can employ a bidirectional self-attention mechanism and a cross-attention mechanism, and the second image text encoder can employ a causal self-attention mechanism and a cross-attention mechanism. The above BLIP model can be trained based on an Image-Text Contrastive Loss (ITC) function.
[0038] When object pushing is needed, at least one class cluster can be determined from the pre-divided class clusters, and a plurality of objects to be pushed can be obtained from the determined at least one class cluster, respectively. The objects to be pushed in any class cluster can include all candidate objects in the class cluster, or include part of the candidate objects in the class cluster. Since the search information input by the user on the client 14 in real time can reflect the user's immediate intention, and the historical behavior sequence of the user on the client 14 can reflect the user's preferences and focus to some extent, at least one class cluster can be determined from the pre-divided class clusters based on the search information input by the user on the client 14 in real time or the historical behavior sequence of the user on the client 14.
[0039] After determining the class cluster to which each candidate object belongs, the first label information can be associated with each candidate object. The first label information corresponds to the class cluster one-to-one and is used to identify the class cluster.
[0040] When object pushing needs to be performed, first label information of multiple candidate objects in the object set can be acquired respectively, and based on the first label information of the multiple candidate objects, at least one class cluster respectively including multiple to-be-pushed objects is determined from the multiple candidate objects.
[0041] After the at least one class cluster is determined and the multiple to-be-pushed objects are respectively acquired from the at least one class cluster, an initial pushing sequence including the acquired to-be-pushed objects can be generated according to a certain strategy. Alternatively, the acquired to-be-pushed sequences can be randomly shuffled to obtain the initial pushing sequence. Alternatively, the acquired to-be-pushed sequences can be input into a pre-trained ranking model, the acquired to-be-pushed objects are ranked by the ranking model, and the initial pushing sequence is generated according to a pushing score of each to-be-pushed object output by the ranking model. The higher the pushing score of a to-be-pushed object output by the ranking model, the higher the pushing order of the to-be-pushed object in the initial pushing sequence. The ranking model can be pre-trained based on features of sample objects and label information of the sample objects. The label information of the sample objects can represent whether a user has performed a specific operation (for example, purchase, click, collect, forward, etc.) on the sample object. If the user has performed a specific operation on a sample object, it usually indicates that the user is interested in the sample object. Therefore, the pushing score output by the ranking model trained in the above manner can reflect the probability that the user is interested in each to-be-pushed object, and thus the to-be-pushed object with a higher user interest probability can be arranged in a relatively higher position in the initial pushing sequence.
[0042] In some embodiments, the class clusters to which the consecutive v (v is a positive integer) to-be-pushed objects in the initial pushing sequence respectively belong can be different. The value of v can be pre-set, for example, it can be set to 3, indicating that the consecutive 3 to-be-pushed objects in the initial pushing sequence belong to different class clusters. In this way, the homogenization of the to-be-pushed objects in the initial pushing sequence can be reduced, and the user experience can be enriched.
[0043] In step S14, target objects included in at least one class cluster included in the initial pushing sequence can be determined. The performance parameters of the target objects in the class cluster in at least one dimension are better than the performance parameters of other objects in the class cluster in the corresponding dimension. The at least one dimension includes but is not limited to at least one of the following:
[0044] (1) a first dimension for representing the popularity of a candidate object;
[0045] In general, the popularity of a candidate object with better performance and higher quality is also higher, and thus the popularity of a candidate object can reflect the performance and quality of the candidate object to some extent. The performance parameter in the first dimension can include the delivery quantity of the candidate object. In some application scenarios (such as an e-commerce scenario), the delivery quantity of the candidate object can be the sales volume of the candidate object within a period of time. In other application scenarios, the delivery quantity of the candidate object can also be the reservation quantity, the shipment quantity, and the like of the candidate object.
[0046] (2) a second dimension for representing the price of the candidate object;
[0047] The price of a candidate object can reflect the difficulty of being accepted by the public to some extent, for example, in the case where the quality of two candidate objects is close, the one with a lower price is more likely to be accepted by the public than the one with a higher price. The performance parameter in the second dimension can include the price parameter of the candidate object. In some application scenarios (such as an e-commerce scenario), the price parameter of the candidate object can be the sales price or reservation price of the candidate object. In other scenarios, the price parameter of the candidate object can also be the rental price or auction price of the candidate object, and the like.
[0048] (3) a third dimension for representing the service quality of the candidate object.
[0049] The service quality of a candidate object can affect the satisfaction of a user. The performance parameter in the third dimension can include the delivery time length of the candidate object. In some application scenarios (such as an e-commerce scenario), the delivery time length of the candidate object can be the logistics time length, the order production or manufacturing time length, the order reservation waiting time length, and the like.
[0050] It can be understood that the above is only an exemplary description and is not intended to limit the present disclosure. In other examples, the target object in each cluster can also be determined based on the performance parameter in other dimensions, and the performance parameter in each dimension is not limited to the cases listed in the above embodiments.
[0051] For any one cluster, one or more target objects of the cluster can be determined based on the performance parameters of each dimension, for example, the objects in the cluster with the top K performance parameters in a certain dimension can be determined as the target objects corresponding to the dimension in the cluster, where K is a positive integer. The target objects corresponding to different dimensions in the same cluster can be the same or different. Taking the i th cluster as an example, the target object corresponding to the first dimension (hereinafter referred to as the first target object), the target object corresponding to the second dimension (hereinafter referred to as the second target object), and the target object corresponding to the third dimension (hereinafter referred to as the third target object) in the i th cluster can be determined, and the target objects in the i th cluster include the first target object, the second target object, and the third target object. Wherein the performance parameter of the first target object in the first dimension is better than that of other objects in the i th cluster except the first target object, the performance parameter of the second target object in the second dimension is better than that of other objects in the i th cluster except the second target object, the performance parameter of the third target object in the third dimension is better than that of other objects in the i th cluster except the third target object, and any two of the first target object, the second target object, and the third target object can be the same or different.
[0052] In some embodiments, the second label information for indicating the target objects in the corresponding cluster can be generated in advance for each cluster. In order to reduce resource consumption, the second label information can be a binary number, but is not limited thereto. For example, the second label information can be generated for each candidate object in the cluster, if a candidate object is not a target object in the cluster to which it belongs, the second label information "0" can be generated for the candidate object; if a candidate object is a target object in the cluster to which it belongs, the second label information "1" can be generated for the candidate object. Alternatively, the second label information can be generated only for the target objects in the cluster, if an object does not include the second label information, the object is not a target object in the corresponding cluster; if an object includes the second label information, the object is a target object in the corresponding cluster.
[0053] In the example where the second label information is generated in advance, the second label information of the plurality of objects to be pushed respectively included in the at least one cluster can be obtained, and the target objects respectively included in the at least one cluster are determined from the plurality of objects to be pushed respectively included in the at least one cluster based on the second label information of the plurality of objects to be pushed respectively included in the at least one cluster.
[0054] In some embodiments, the target object corresponding to any one dimension (e.g., the jth dimension) in any one cluster (e.g., the ith cluster) can be determined based on the following manner: obtaining performance scores of a plurality of candidate objects in the ith cluster corresponding to the jth dimension, the plurality of candidate objects in the cluster including a plurality of to-be-pushed objects of the cluster; determining the target object corresponding to the jth dimension in the ith cluster from the plurality of candidate objects in the ith cluster based on the performance scores of the plurality of candidate objects in the ith cluster corresponding to the jth dimension. Wherein, the higher the performance score of a candidate object in the ith cluster corresponding to the jth dimension, the better the performance of the candidate object in the ith cluster on the jth dimension, and thus the candidate object in the ith cluster with a performance score ranking TOP K (K is a positive integer) on the jth dimension can be determined as the target object corresponding to the jth dimension in the ith cluster.
[0055] In some cases, the performance scores of the plurality of candidate objects in the ith cluster corresponding to the jth dimension can be relatively close, and at this time, the difference between the performance perceptions of the plurality of candidate objects by the user can be small, and only the performance score can not accurately determine the better target object, and thus the performance score and other factors (e.g., conversion rate score of the candidate object) can be considered together to determine the target object in the ith cluster.
[0056] Specifically, if the difference between the performance scores of the plurality of candidate objects in the ith cluster corresponding to the jth dimension is greater than a preset difference value, the target object corresponding to the jth dimension in the ith cluster can be determined from the plurality of candidate objects in the ith cluster based on the performance scores of the plurality of candidate objects in the ith cluster corresponding to the jth dimension alone. If the difference between the performance scores of the plurality of candidate objects in the ith cluster corresponding to the jth dimension is less than or equal to the preset difference value, the target object corresponding to the jth dimension in the ith cluster can be determined from the plurality of candidate objects in the ith cluster based on the performance scores of the plurality of candidate objects in the ith cluster corresponding to the jth dimension and the conversion rate scores of the plurality of candidate objects in the ith cluster. Wherein, the conversion rate score of the candidate object can be obtained by a pre-trained conversion rate estimation model.
[0057] For example, the performance score of the candidate object in the i-th cluster corresponding to the j-th dimension and the conversion rate score of the candidate object in the i-th cluster can be weighted to obtain a weighted score of the candidate object in the i-th cluster on the j-th dimension, and the target object in the i-th cluster corresponding to the j-th dimension is determined from the candidate objects in the i-th cluster based on the weighted score of the candidate objects in the i-th cluster on the j-th dimension. The weighted score f(x) of any candidate object in the i-th cluster on the j-th dimension can be denoted as: f(x) = score1*β1 + score2*β2
[0058] wherein score1 is the performance score of the candidate object corresponding to the performance parameter on the j-th dimension; score2 is the conversion rate score of the candidate object; and β1 and β2 are weights. Optionally, the value of β1 can be greater than the value of β2, so that the value of f(x) is mainly determined by score1.
[0059] In the embodiment in which the at least one dimension includes a first dimension for representing the popularity of the candidate object, and the performance parameter on the first dimension includes the number of deliveries, the performance score of any candidate object corresponding to the first dimension can be determined based on the following manner: based on the number of deliveries of the candidate object in a plurality of statistical periods, obtaining the performance score of the candidate object corresponding to the first dimension in the plurality of statistical periods respectively, weighting the performance score of the candidate object corresponding to the first dimension in the plurality of statistical periods respectively to obtain the performance score of the candidate object corresponding to the first dimension. Wherein the lengths of the plurality of statistical periods can be different from each other, for example, the plurality of statistical periods include at least two of the last 7 days, the last 14 days and the last 30 days. Alternatively, the plurality of statistical periods can also be different statistical periods with equal lengths, for example, the length of the statistical period is 7 days, and the plurality of statistical periods can include at least two of the last 7 days, the last 7-14 days and the last 14-21 days. Taking the former case as an example, the performance score of the candidate object corresponding to the first dimension can be denoted as: score1 = order 7d *α1 + order 14d *α2 + order 30d *α3
[0060] wherein order xdis a performance score of the candidate object corresponding to the first dimension in a statistical period including x (x is a positive integer) statistical time units (for example, days, hours, or minutes), and the performance score can be a normalized score. The performance score of the candidate object corresponding to the first dimension in any statistical period can be positively correlated with the delivery quantity of the candidate object in the statistical period. a1, a2, and a3 are weights, and can be optimized offline by a grid search. Among them, the optimal a1, a2, and a3 can be the parameters that maximize the area under the curve (AUC) of f(x) searched.
[0061] In the embodiment in which the at least one dimension includes a second dimension for representing the price of the candidate object, and the performance parameter on the second dimension includes the price parameter, the performance score of the candidate object corresponding to the second dimension can be determined based on the following manner: obtaining the price parameter of the candidate object, normalizing the price parameter of the candidate object based on the maximum price parameter and the minimum price parameter of the plurality of candidate objects in the i-th cluster, to obtain the normalized price parameter of the candidate object, and determining the normalized price parameter of the candidate object as the performance score of the candidate object corresponding to the second dimension.
[0062] Among them, the manner of normalizing any candidate object in the i-th cluster can be: obtaining a first difference value between the maximum price parameter of the plurality of candidate objects in the i-th cluster and the price parameter of the candidate object, and obtaining a second difference value between the maximum price parameter of the plurality of candidate objects in the i-th cluster and the minimum price parameter of the plurality of candidate objects in the i-th cluster, and determining the ratio between the first difference value and the second difference value as the normalized price parameter of the candidate object. The normalized price parameter of the candidate object can be denoted as:
[0063] Among them, price max and price min are the maximum price parameter of the plurality of candidate objects in the i-th cluster and the minimum price parameter of the plurality of candidate objects in the i-th cluster, respectively, and price x is the price parameter of the candidate object to be normalized. In the e-commerce scenario, the candidate object is a commodity, and the price parameter of the commodity can be based on the sum of the sales unit price of the commodity and the transportation cost of the commodity. In other application scenarios, the price parameter of the candidate object can also be determined based on other factors (for example, storage cost, packaging cost, marketing cost, etc.). In addition, in some cases, the price parameter of the same candidate object in different regions can be different, and the price parameter in the above embodiment can be the price parameter of the candidate object in a specified region.
[0064] In the embodiment in which the at least one dimension comprises a third dimension for representing quality of service of the candidate objects, and the performance parameter on the third dimension comprises the delivery time length, the performance score of the candidate objects corresponding to the third dimension can be determined in the following manner: obtaining the delivery time length of the candidate objects, and determining the performance score of the candidate objects corresponding to the delivery time length based on the delivery time length of the candidate objects. Wherein, the performance score of the candidate objects corresponding to the delivery time length is inversely related to the delivery time length of the candidate objects. For example, assuming that the delivery time length of the candidate objects is denoted as d logistics , then the performance score of the candidate objects corresponding to the third dimension can be denoted as: score1 = 1 / d logistics
[0065] In some embodiments, the delivery time length of the same candidate object in different regions can be different, and the delivery time length in the above embodiment can be the delivery time length of the candidate object in a specified region.
[0066] In step S16, the target push sequence is obtained by adjusting the push order of each to-be-pushed object in the initial push sequence, in which the push order of any target object is located before the push order of other objects in the cluster to which the target object belongs, so as to ensure that the target objects in the same cluster are preferentially pushed compared with other objects in the cluster.
[0067] The push order of each to-be-pushed object in the initial push sequence can be adjusted in the following manner: for any cluster in the at least one cluster, if other objects of the cluster in the initial push sequence are located before the target object of the cluster in the initial sequence, the target object of the cluster and the other objects of the cluster are exchanged. If the number of objects to be exchanged is greater than 1, for example, at least two target objects in the same cluster are located after other objects in the cluster, and for example, target objects in at least two clusters are located after other objects in the corresponding cluster, the serial exchange or parallel exchange manner can be used to exchange multiple objects.
[0068] In the example of serial exchange, the first target object in the initial push sequence can be obtained first, and if the target object is located after other objects in the cluster to which the target object belongs in the initial push sequence, the target object and the first other object of the cluster to which the target object belongs in the initial push sequence can be exchanged. Then, the exchanged sequence is updated as the initial sequence, and the above step is returned until the target objects of each cluster in the initial push sequence are located before other objects in the cluster.
[0069] As shown in FIG. 4, assuming that the initial push sequence is as shown in the leftmost column in the figure, the objects 1, 2, … in the figure represent the respective objects to be pushed in the initial push sequence, the clusters X1, X2, … in the brackets represent the respective class clusters to which the corresponding objects belong, and the flags in the brackets represent whether the corresponding objects are target objects in the respective class clusters. If the flag = 1, it means that the corresponding object is a target object in the respective class cluster. If the flag = 0, it means that the corresponding object is not a target object in the respective class cluster. Taking the first row in the initial push sequence as an example, the object 1 (cluster X1, flag = 0) in the first row indicates that the class cluster to which the object 1 belongs is the class cluster X1, and the object 1 is not a target object in the class cluster X1.
[0070] When the exchange is performed, each object to be pushed in the initial push sequence can be scanned from top to bottom. In the first stage, the first target object (i.e., the object 4) in the class cluster X1 is scanned, and the object 4 is exchanged with the object 1 in the initial push sequence to obtain an intermediate sequence 1. In the second stage, on the basis of the first stage, the second target object (i.e., the object Y) in the class cluster X1 is scanned, and the object Y is exchanged with the object 1 in the intermediate sequence 1 to obtain an intermediate sequence 2. In the third stage, on the basis of the first two stages, the third target object (i.e., the object Z) in the class cluster X1 is scanned, and the object Z is exchanged with the object 6 in the intermediate sequence 2 to obtain the target push sequence.
[0071] In the example of parallel exchange, for any one class cluster (taking the i-th class cluster as an example), the multiple target objects of the i-th class cluster in the initial push sequence can be obtained first, and the multiple other objects in the initial push sequence that belong to the i-th class cluster and are located before the multiple target objects of the i-th class cluster are obtained, and the multiple target objects of the i-th class cluster are exchanged with the obtained multiple other objects of the i-th class cluster. The exchange of the target objects and the other objects of the other class clusters is similar, and is not described herein again. If the target objects in multiple class clusters all need to be exchanged, the exchange processes of the target objects of different class clusters can be performed simultaneously or sequentially.
[0072] In step S18, the target push sequence can be pushed to the client 14, so that the client 14 sequentially displays each object to be pushed in the target push sequence. In some embodiments, the following information can also be marked in the pushed target push sequence: the target objects included in each of the at least one class cluster; and / or the performance parameters of the target objects included in each of the at least one class cluster that are superior to those of the other objects in the respective class cluster.
[0073] By marking the target object, the user can determine which objects displayed on the client 14 are objects with better performance parameters; by displaying the performance parameters of the target object that are better than those of other objects, the user can determine which aspects of the performance parameters of the objects displayed on the client 14 are better, thereby facilitating users with various needs to screen and identify the objects displayed on the client 14, and reducing the time cost of the user to screen high-quality objects.
[0074] As shown in FIG. 5, taking an e-commerce scenario as an example, the target pushing sequence can include multiple to-be-pushed goods, and the information of each good can be displayed on the client 14. In addition to the basic information of the goods (for example, the name and price of the goods), the performance parameters of the goods due to other goods can also be displayed. For example, the performance parameter of the first good in FIG. 5 that is better than that of other goods is the sales volume, and information similar to "No. 1 in sales volume" can be displayed in the information of the first good. The performance parameter of the second good in FIG. 5 that is better than that of other goods is shorts, and information similar to "lowest price in the same kind" can be displayed in the information of the second good.
[0075] The overall flow of the embodiments of the present disclosure is shown in FIG. 6. The above overall flow includes two processing stages of offline processing and online processing. Taking an e-commerce scenario as an example, in the offline processing stage, each candidate good (i.e., the candidate object in the foregoing embodiment) on the e-commerce platform can be clustered to obtain the class cluster to which each good belongs. The class cluster to which each candidate good belongs can be determined based on the multi-modal features of the goods generated by the BLIP model and clustering the features. Then, the target goods (i.e., the target object in the foregoing embodiment) in each class cluster can be determined. Specifically, the performance scores of each good in the same class cluster in three dimensions of sales volume, price, and service quality can be obtained. Since the goods with optimal performance scores in different dimensions can be the same goods, 1 to 3 target goods can be selected from each class cluster.
[0076] In the online processing stage, the same kind object optimization can be performed, that is, each target good in the initial pushing sequence can be exchanged with other to-be-pushed goods (i.e., the to-be-pushed object in the foregoing embodiment) in the corresponding class cluster, so that the pushing order of the target goods in each class cluster is arranged before that of the other goods in the corresponding class cluster. Then, the optimization display can be performed on the foreground client 14. For example, on the search page or the good recommendation page, the goods are displayed on the good card with the mark of being the best in sales volume / price / service quality in the class cluster, explicitly telling the user that the goods are a better choice than other goods in the same class cluster in terms of sales volume / price / service quality, providing more reference information for the user to select appropriate goods, and helping the user to make decisions.
[0077] The embodiments of the present disclosure have the following advantages:
[0078] (1) The multi-modal features output by the BLIP model are clustered to obtain the class cluster to which the candidate object belongs, thereby improving the recognition accuracy of the class cluster.
[0079] (2) A plurality of performance parameters are designed, and the performance scores of the to-be-pushed objects in multiple dimensions and the conversion rate of the to-be-pushed objects are fused together through offline parameter optimization. The target objects in different dimensions are calculated, and the target objects of each class cluster in the initial push sequence are replaced to the front position in the sequence through the optimization replacement logic in the sorting link. Through the selection and replacement of the target objects, the traffic structure is optimized, and the loss of online efficiency is greatly reduced.
[0080] (3) The optimal target object in a certain dimension is marked and displayed in the foreground, which provides more information for the user to refer to, reduces the user's decision cost, significantly improves the user's efficiency, and improves the user's conversion rate.
[0081] Referring to FIG. 7, the embodiment of the disclosure further provides a same-model cluster identification method, and the method comprises:
[0082] Step S22: Obtain the product information of a plurality of products of an e-commerce platform;
[0083] Step S24: Extract features from the product information of the plurality of products respectively to obtain the features of the plurality of products;
[0084] Step S26: Cluster the features of the plurality of products to obtain at least one same-model cluster to which the plurality of products belong; the products in the same same-model cluster are a set of products of the same model or style; wherein the information of the plurality of products is used to push to a client, and a target product in the same same-model cluster is preferentially pushed compared to other products in the same same-model cluster, and the product attribute of the target product in the same same-model cluster is better than the product attribute of other products in the same same-model cluster in at least one dimension.
[0085] In step S22, the plurality of products of the e-commerce platform can include but are not limited to clothing, food, office supplies, plants, digital products, furniture, etc., and the product information of the products can include but is not limited to title information, picture information and / or text description information of the products, etc.
[0086] In step S24, the features of the plurality of products of the e-commerce platform can be extracted by a pre-trained feature extraction model to obtain the features of the plurality of products. The features include but are not limited to at least one of the following: product name, color, material, model, purpose, size, application scenario, and target population.
[0087] In step S26, the plurality of commodities can be clustered based on the features of the plurality of commodities, so as to determine the same-model cluster to which each commodity belongs. The commodities in the same same-model cluster are a set of commodities of the same model or style. For example, in the case where the style of a commodity is represented by color, a certain red dress and other dresses with pictures and titles very similar to "red dress" belong to the same same-model cluster.
[0088] The information of the plurality of commodities can be pushed to the client for display. For example, an initial push sequence including the information of the plurality of commodities can be obtained first, and then the initial push sequence is adjusted so that the push order of a target commodity in the same same-model cluster is before the push order of other commodities in the same same-model cluster (i.e., the target commodity in the same same-model cluster is pushed first compared with the other commodities in the same same-model cluster). In this embodiment, the e-commerce platform corresponds to the service platform in the foregoing embodiment, and the plurality of commodities of the e-commerce platform correspond to the plurality of to-be-pushed objects in the foregoing embodiment. The specific manner of pushing the information of the plurality of commodities is detailed in the foregoing embodiment, which will not be described here.
[0089] The embodiments of the present disclosure further provide a computer device, which at least includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the method of any of the foregoing embodiments when executing the program.
[0090] FIG. 8 shows a more specific computer device hardware structure schematic diagram provided by the embodiments of the present disclosure. The device can include a processor 202, a memory 204, an input / output interface 206, a communication interface 208, and a bus 210. The processor 202, the memory 204, the input / output interface 206, and the communication interface 208 are connected to each other through the bus 210 for communication within the device.
[0091] The processor 202 can be implemented in the form of a general-purpose central processing unit (CPU), a microprocessor, an application specific integrated circuit (ASIC), or one or more integrated circuits, etc., for executing related programs to implement the technical solutions provided by the embodiments of the present disclosure. The processor 202 can also include a graphics card, which can be an Nvidia titan X graphics card or a 1080Ti graphics card, etc.
[0092] The memory 204 can be implemented in the form of a read only memory (ROM), a random access memory (RAM), a static storage device, a dynamic storage device, etc. The memory 204 can store an operating system and other application programs. When the technical solutions provided by the embodiments of the present disclosure are implemented by software or firmware, the related program codes are stored in the memory 204 and are invoked and executed by the processor 202.
[0093] The input / output interface 206 is configured to connect an input / output module to realize information input and output. The input / output module can be configured in the device (not shown in the figure) or externally connected to the device to provide corresponding functions. The input device can include a keyboard, a mouse, a touch screen, a microphone, various sensors, etc., and the output device can include a display, a speaker, a vibrator, an indicator light, etc.
[0094] The communication interface 208 is configured to connect a communication module (not shown in the figure) to realize communication interaction between the device and other devices. The communication module can realize communication through a wired manner (such as a USB, a network cable, etc.) or a wireless manner (such as a mobile network, WIFI, Bluetooth, etc.).
[0095] The bus 210 includes a channel to transmit information between various components (such as the processor 202, the memory 204, the input / output interface 206, and the communication interface 208) of the device.
[0096] It should be noted that although the above device only shows the processor 202, the memory 204, the input / output interface 206, the communication interface 208, and the bus 210, in the specific implementation process, the device can also include other components necessary for normal operation. In addition, those skilled in the art can understand that the above device can also only include the components necessary for implementing the solutions of the embodiments of the present disclosure, and does not have to include all the components shown in the figure.
[0097] The embodiments of the present disclosure provide a computer program product, including a computer program, which is executed by a processor to implement the method described in any of the embodiments of the present disclosure.
[0098] The embodiments of the present disclosure also provide a computer readable storage medium, which stores a computer program, and the program is executed by a processor to implement the method described in any of the preceding embodiments.
[0099] Computer-readable media includes permanent and non-permanent, movable and non-movable media, which can be implemented by any method or technology to store information. The information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information accessible by a computer device. According to the definition herein, computer-readable media does not include transitory media such as modulated data signals and carriers.
[0100] The various embodiments in the present disclosure are described in a progressive manner, and the same or similar parts between the various embodiments can be referred to each other. Each embodiment focuses on the difference from other embodiments. In particular, for the device embodiments, since they are basically similar to the method embodiments, they are described more simply, and the relevant parts can be referred to the part of the method embodiments. The device embodiments described above are only schematic, and the modules described as separate components can or can not be physically separated, and the functions of each module can be implemented in the same or multiple software and / or hardware in the implementation of the embodiments of the present disclosure. Part or all of the modules can be selected to achieve the purpose of the embodiments of the present disclosure according to actual needs. Those skilled in the art can understand and implement without creative labor.
[0101] The above is only a specific implementation of the embodiments of the present disclosure, and it should be noted that those skilled in the art can make several improvements and refinements without departing from the principles of the embodiments of the present disclosure, and these improvements and refinements should also be considered as the protection scope of the embodiments of the present disclosure.
Claims
1. A method for object pushing, the method comprising: determining an initial pushing sequence, the initial pushing sequence comprising a plurality of objects to be pushed respectively included in at least one cluster; determining target objects respectively included in the at least one cluster, the target objects in a cluster having performance parameters in at least one dimension superior to performance parameters of other objects in the cluster in corresponding dimensions; adjusting the target pushing objects of each cluster in the initial pushing sequence to precede other objects of the corresponding cluster to obtain a target pushing sequence; and pushing the target pushing sequence.
2. The method of claim 1, wherein any object to be pushed in the initial pushing sequence comprises first label information, the first label information of an object to be pushed indicating a cluster to which the object to be pushed belongs; and the method further comprises: respectively obtaining first label information of a plurality of candidate objects in an object set; and determining the plurality of objects to be pushed respectively included in the at least one cluster based on the first label information of the plurality of candidate objects.
3. The method of claim 2, wherein the respectively obtaining first label information of a plurality of candidate objects in an object set comprises: performing feature extraction on the plurality of candidate objects in the object set by a pre-trained feature extraction model to obtain features of the plurality of candidate objects; performing cluster division on the plurality of candidate objects based on the features of the plurality of candidate objects to obtain clusters to which the plurality of candidate objects belong; and determining the first label information of the plurality of candidate objects based on the clusters to which the plurality of candidate objects belong.
4. The method of any one of claims 1 to 3, wherein each of the objects to be pushed in the initial push sequence comprises second tag information, the second tag information of the object to be pushed being used to indicate whether the object to be pushed is the target object in the cluster to which the object to be pushed belongs. The determining target objects respectively included in the at least one cluster comprises: obtaining second label information of the plurality of objects to be pushed respectively included in the at least one cluster; and determining the target objects respectively included in the at least one cluster based on the second label information of the plurality of objects to be pushed respectively included in the at least one cluster.
5. The method of any one of claims 1 to 4, wherein the target objects in a cluster comprise target objects respectively corresponding to the at least one dimension in the cluster; and the method further comprises: determining the target objects corresponding to any one dimension in any one cluster based on the following manner: obtaining performance scores corresponding to the dimension of a plurality of candidate objects in the cluster; the plurality of candidate objects in the cluster comprising the plurality of objects to be pushed of the cluster; and determining the target objects corresponding to the dimension in the cluster based on the performance scores corresponding to the dimension of the plurality of candidate objects in the cluster.
6. The method of claim 5, wherein the determining the target objects corresponding to the dimension in the cluster based on the performance scores corresponding to the dimension of the plurality of candidate objects in the cluster comprises: If the difference between the performance scores of the candidate objects in the cluster corresponding to the dimension is greater than a preset difference value, determining the target object corresponding to the dimension from the candidate objects in the cluster based on the performance scores of the candidate objects in the cluster corresponding to the dimension. Otherwise, determining the target object corresponding to the dimension from the candidate objects in the cluster based on the performance scores of the candidate objects in the cluster corresponding to the dimension and the conversion rate scores of the candidate objects in the cluster.
7. The method of claim 6, wherein the determining the target object corresponding to the dimension from the candidate objects in the cluster based on the performance scores of the candidate objects in the cluster corresponding to the dimension and the conversion rate scores of the candidate objects in the cluster comprises: weighting the performance scores of the candidate objects in the cluster corresponding to the dimension and the conversion rate scores of the candidate objects in the cluster to obtain weighted scores of the candidate objects in the cluster on the dimension; determining the target object corresponding to the dimension from the candidate objects in the cluster based on the weighted scores of the candidate objects in the cluster on the dimension.
8. The method of any one of claims 5 to 7, the at least one dimension comprising a first dimension for representing a popularity of a candidate object, the performance parameter on the first dimension comprising a number of deliveries. The obtaining the performance scores of the candidate objects in the cluster corresponding to the dimension comprises: determining the performance score of any one of the candidate objects in the cluster corresponding to the first dimension in the following manner: obtaining the performance scores of the candidate object corresponding to the first dimension in a plurality of statistical periods based on the delivery quantity of the candidate object in the plurality of statistical periods; weighting the performance scores of the candidate object corresponding to the first dimension in the plurality of statistical periods to obtain the performance score of the candidate object corresponding to the first dimension.
9. The method of any one of claims 5 to 7, wherein the at least one dimension comprises a second dimension for representing the price of a candidate object, and the performance parameter on the second dimension comprises a price parameter; and the obtaining the performance scores of the candidate objects in the cluster corresponding to the dimension comprises: determining the performance score of any one of the candidate objects in the cluster corresponding to the second dimension in the following manner: obtaining the price parameter of the candidate object; normalizing the price parameter of the candidate object based on the maximum price parameter and the minimum price parameter of the candidate objects in the cluster to obtain a normalized price parameter of the candidate object; determining the normalized price parameter of the candidate object as the performance score of the candidate object corresponding to the second dimension.
10. The method of any one of claims 5 to 7, the at least one dimension including a third dimension for representing quality of service of the candidate object, the performance parameter on the third dimension including a delivery duration. The obtaining the performance scores of the candidate objects in the cluster corresponding to the dimension comprises: determining the performance score of any one of the candidate objects in the cluster corresponding to the third dimension in the following manner: obtaining the delivery duration of the candidate object; determine a performance score of the candidate object corresponding to the third dimension based on the delivery time length of the candidate object; wherein the performance score of the candidate object corresponding to the third dimension is inversely related to the delivery time length of the candidate object. 11.The method of any one of claims 1 to 10, wherein the adjusting the pushing sequence of each to-be-pushed object in the initial pushing sequence comprises: for any one of the at least one cluster, if other objects of the cluster in the initial pushing sequence are located before the target object of the cluster in the initial sequence, exchanging the target object of the cluster with the other objects of the cluster. 12.The method of any one of claims 1 to 11, further comprising: marking the following information in the target pushing sequence of pushing: the target objects respectively included in the at least one cluster; and / or the performance parameters of the target objects respectively included in the at least one cluster which are superior to other objects in the cluster. 13.The method of any one of claims 1 to 12, wherein the similarity of the features of the plurality of to-be-pushed objects in the same cluster is greater than a preset similarity threshold. 14.A method for identifying same-model clusters, the method comprising: obtaining product information of a plurality of products of an e-commerce platform; performing feature extraction on the product information of the plurality of products respectively to obtain features of the plurality of products; clustering the features of the plurality of products to obtain at least one same-model cluster to which the plurality of products belong; the products in the same same-model cluster are a collection of products of the same model or style; wherein the information of the plurality of products is used for pushing to a client, and a target product in the same same-model cluster is preferentially pushed compared to other products in the same same-model cluster, and the target product in the same same-model cluster has a product attribute in at least one dimension which is superior to a product attribute of other products in the same same-model cluster in the corresponding dimension. 15.A computer-readable storage medium having a computer program stored thereon, the program being executed by a processor to implement the method of any one of claims 1 to 14. 16.A computer device comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, wherein the processor implements the method of any one of claims 1 to 14 when executing the program. 17.A computer program product comprising a computer program, the computer program being executed by a processor to implement the method of any one of claims 1 to 14.
Citation Information
Patent Citations
Object feature clustering method and device
CN111709473A
Method and device for displaying target object sequence to target user
CN112015788A
Commodity recommendation list updating method and device, equipment, medium, and product
CN113627995A
Same-type commodity aggregation method and device, equipment, medium and product
CN113962773A
Commodity aggregation method and device, equipment and medium
CN117035933A