Methods, apparatuses, devices, and media for determining objects to recommend to a user

CN122964342APending Publication Date: 2026-10-23BEIJING ZITIAO NETWORK TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510473286.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-15
Publication Date
2026-10-23

AI Technical Summary

Technical Problem

然而,条件式扩散模型在推荐任务中的性能并不令人满意

Benefits of technology

[0008]应当理解,本内容部分中所描述的内容并非旨在限定本公开的实现方式的关键特征或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的描述而变得容易理解。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122964342A_ABST
    Figure CN122964342A_ABST
Patent Text Reader

Abstract

Methods, apparatuses, devices, and media for determining an object recommended to a user are provided. In one method, a source sequence is obtained, the source sequence including at least one source object associated with the user, the at least one source object being included in a set of objects. A source feature corresponding to the source sequence is determined using an encoder model. A target feature corresponding to the source feature is generated using an unconditional diffusion model, the unconditional diffusion model being implemented using a Brownian bridge architecture and describing an association between a reference feature of a reference source sequence and a feature of a reference target object recommended. A target object matching the target feature is selected from a plurality of objects in the set of objects. With implementations of the present disclosure, the unconditional diffusion model can focus more on describing a transformation relationship between a target object distribution and a historical object distribution, thereby more effectively utilizing historical information, and thereby determining a target object in a more accurate and effective manner.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The implementation of this disclosure generally relates to object recommendation, and in particular to methods, apparatus, devices, and computer-readable storage media for determining objects to recommend to users based on an unconditional diffusion model. Background Technology

[0002] Diffusion models have been widely used to perform various generative tasks. However, existing techniques utilize conditional diffusion models for recommendation processes. In this approach, interaction history is used as a condition for the diffusion model to determine recommended objects. However, the performance of conditional diffusion models in recommendation tasks is unsatisfactory. Therefore, there is a need for more accurate and effective machine learning models that can determine recommended objects more efficiently. Summary of the Invention

[0003] In a first aspect of this disclosure, a method is provided for determining objects to recommend to a user. In this method, a source sequence is obtained, comprising at least one source object associated with the user, the at least one source object being included in an object set. Source features corresponding to the source sequence are determined using an encoder model. Target features corresponding to the source features are generated using an unconditional diffusion model implemented using a Brownian bridge architecture, which describes the association between reference features of the reference source sequence and features of the recommended reference target object. Target objects matching the target features are selected from multiple objects in the object set.

[0004] In a second aspect of this disclosure, an apparatus is provided for determining objects to recommend to a user. The apparatus includes: an acquisition module configured to acquire a source sequence including at least one source object associated with a user, the at least one source object being included in an object set; a determination module configured to determine source features corresponding to the source sequence using an encoder model; a generation module configured to generate target features corresponding to the source features using an unconditional diffusion model implemented using a Brownian bridge architecture, the unconditional diffusion model describing the association between reference features of a reference source sequence and features of the recommended reference target object; and a selection module configured to select a target object matching the target features from a plurality of objects in the object set.

[0005] In a third aspect of this disclosure, an electronic device is provided. The electronic device includes: at least one processor; and at least one memory coupled to the at least one processor and storing instructions for execution by the at least one processor, the instructions causing the electronic device to perform the method according to a first aspect of this disclosure when executed by the at least one processor.

[0006] In a fourth aspect of this disclosure, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, causes the processor to implement the method according to a first aspect of this disclosure.

[0007] In a fifth aspect of this disclosure, a computer program product is provided, comprising a computer program that, when executed by a processor, implements the method according to a first aspect of this disclosure.

[0008] It should be understood that the content described in this content section is not intended to limit the key or essential features of the implementation of this disclosure, nor is it intended to restrict the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0009] In the following detailed description, the above and other features, advantages, and aspects of the various implementations of this disclosure will become more apparent, taken in conjunction with the accompanying drawings. In the accompanying drawings, the same or similar reference numerals denote the same or similar elements, wherein:

[0010] Figure 1 A block diagram illustrating the use of a diffusion model to recommend objects according to one implementation of this disclosure is shown;

[0011] Figure 2 A block diagram outlining an unconditional diffusion model according to some implementations of this disclosure is shown;

[0012] Figure 3 A block diagram is shown illustrating some implementations of this disclosure for using an unconditional diffusion model to determine objects to recommend to a user;

[0013] Figure 4 A block diagram of an unconditional diffusion process based on a Brownian bridge implementation according to some of the implementations of this disclosure is shown;

[0014] Figure 5 A block diagram illustrating an unconditional diffusion process according to some implementations of this disclosure is shown;

[0015] Figure 6 A block diagram of the algorithm in the forward and reverse phases of an unconditional diffusion process according to some implementations of this disclosure is shown;

[0016] Figure 7 A flowchart is shown illustrating a method for determining objects to recommend to a user according to some implementations of this disclosure;

[0017] Figure 8 A block diagram of an apparatus for determining objects to recommend to a user, according to some implementations of this disclosure, is shown; and

[0018] Figure 9 A block diagram of a device capable of implementing various implementations of the present disclosure is shown. Detailed Implementation

[0019] Implementations of this disclosure will now be described in more detail with reference to the accompanying drawings. While some implementations of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the implementations set forth herein. Rather, these implementations are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and implementations of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.

[0020] In the description of the implementation methods disclosed herein, the term "comprising" and similar terms should be understood as open inclusion, i.e., "including but not limited to". The term "based on" should be understood as "at least partially based on". The term "one implementation" or "the implementation" should be understood as "at least one implementation". The term "some implementations" should be understood as "at least some implementations". Other explicit and implicit definitions may also be included below. As used herein, the term "model" can represent the relationships between various data. For example, the aforementioned relationships can be obtained based on various currently known and / or future-developed technical solutions.

[0021] It is understood that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) shall comply with the requirements of relevant laws, regulations and related provisions.

[0022] It is understood that before using the technical solutions disclosed in the various embodiments of this disclosure, users should be informed of the types, scope of use, and usage scenarios of the personal information involved in this disclosure through appropriate means in accordance with relevant laws and regulations, and user authorization should be obtained.

[0023] For example, upon receiving a user's active request, a prompt message is sent to the user to explicitly inform them that the requested operation will require the acquisition and use of the user's personal information. This allows the user to independently choose whether to provide personal information to the software or hardware, such as the electronic device, application, server, or storage medium performing the operations of this disclosed technical solution, based on the prompt message.

[0024] As an optional but non-restrictive implementation, in response to a user's active request, a prompt message can be sent to the user, for example, via a pop-up window, where the prompt message can be presented in text format. Furthermore, the pop-up window can also include a selection control allowing the user to choose whether to "agree" or "disagree" to provide personal information to the electronic device.

[0025] It is understood that the above notification and user authorization process are merely illustrative and do not constitute a limitation on the implementation of this disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of this disclosure.

[0026] The term "in response to" as used herein refers to a state in which a corresponding event occurs or a condition is satisfied. It will be understood that the timing of subsequent actions performed in response to such event or condition is not necessarily strongly correlated with the time when the event occurs or the condition is met. For example, in some cases, subsequent actions may be performed immediately upon the occurrence of the event or the fulfillment of the condition; while in others, they may be performed some time after the occurrence of the event or the fulfillment of the condition.

[0027] Example Environment

[0028] Diffusion models have been widely used to perform various generative tasks, and recommendation algorithms based on diffusion models have become an important research direction in machine learning. Existing technical solutions utilize conditional diffusion models to perform the recommendation process. For ease of description, the following will only use recommending videos to users in a video playback application as an example to describe the video recommendation process. Users can play videos in a video playback application, and new videos can be recommended to users based on their playback history (e.g., sequences of videos they have previously played).

[0029] See Figure 1 Describe an overview of the recommendation process. Figure 1 A block diagram 100 illustrating an implementation of this disclosure using a diffusion model to recommend objects is shown. Figure 1 The recommendation task can be performed using a conditional diffusion model 120. The conditional diffusion model 120 involves a forward process and a backward process. In the forward process, noise is gradually added to the features of object 110 through multiple noise-adding steps, generating noisy data 112. In the backward process, noise is gradually removed from the noisy data 112 (e.g., Gaussian noise) through multiple denoising processes, thereby recovering the original features of object 110.

[0030] At this point, the state x0 of the conditional diffusion model 120 can correspond to the feature e of the target object to be recommended. y And state x T This can correspond to noise data ∈. In the reverse process, x can be input into the conditional diffusion model 120. T And in condition e S Under the constraint of (representing a historical video sequence), determine the prediction of state x0. This allows for the identification of target objects to be recommended. In other words, the conditional diffusion model 120 can be used in e S Under the given constraints, recover the features of the target object from noisy data.

[0031] However, the performance of conditional diffusion models in recommendation tasks is unsatisfactory. Originating from text-guided image generation tasks, conditional diffusion models cannot fully adapt to the unique characteristics of recommendation systems, resulting in poor performance. From the perspective of utilizing historical information, conditional diffusion models pay additional attention to the relationship between the distribution of target objects and the distribution of Gaussian noise, which may weaken the key relationship between user history interactions and target objects, thus affecting the effectiveness of personalized recommendations.

[0032] Furthermore, the primary motivation for conditional design in text-to-image generation is to compensate for modal differences between text and images. However, in recommendation systems, for example, where modal differences do not exist, conditional mechanisms become redundant and may introduce unnecessary learning complexity. In recommendation tasks, the sequence of historical objects and the target object are naturally aligned in the feature space. Therefore, it is desirable to provide a more accurate and efficient diffusion model, and to determine the recommended object with greater efficiency.

[0033] Summary of object recommendations

[0034] Diffusion models model the degradation (diffusion) process of data and reconstruct the original data using a reverse process. The aim is to apply diffusion models to object recommendation, that is, recommending objects based on the user's historical interactions with them. Conditional diffusion frameworks have been proposed where, in the forward process, a noise-adding process gradually adds features from the user's history to the noisy data; in the reverse process, a noise-removing process relies not only on the noisy data but also on conditions (i.e., sequence history) to generate features for the target object. This conditional diffusion framework allows the model to utilize historical information to generate features for the recommended object, ensuring the model focuses on the recommendation task. While conditional diffusion frameworks can determine recommended objects from noise under the constraint of historical information, they do not consider the specific requirements of recommendation systems. From the perspective of user history usage, conditional diffusion frameworks focus on modeling the relationship between user history and target objects to understand the user's personalized needs. Since objects and Gaussian noise belong to different modalities, their feature spaces differ. This disclosure aims to describe the two endpoints of the diffusion model in the same modality, thereby enabling the use of unconditional diffusion models to describe the recommendation process.

[0035] To at least partially address the shortcomings of the prior art, according to one implementation of this disclosure, a method for determining objects to recommend to a user is proposed, specifically, using an unconditional diffusion process to model the recommendation process. See also Figure 2 A summary of one implementation according to this disclosure is described. Figure 2 A block diagram 200 illustrates a summary of an unconditional diffusion model according to some implementations of this disclosure. For example... Figure 2 As shown, the unconditional diffusion model 230 can establish a relationship between "object-historical object sequence". In the context of this disclosure, the historical object sequence may also be referred to as user history, history, historical sequence, or sequence.

[0036] To model the relationship between "object-historical object sequences," the key lies in designing a noisy process that follows a constrained trajectory, gradually approaching a specific endpoint. In contrast, the original diffusion process relies on random noisy addition, resulting in scattered trajectories that fail to meet this objective. To address this challenge, this disclosure proposes a novel framework: Brownian Bridge Diffusion Recommendation (BBDRec). The core idea of ​​this disclosure is to utilize the Brownian bridge process to ensure the desired constrained trajectory. Unlike approaches that rely solely on random noisy addition, this disclosure employs a structured noisy process that guides noise to gradually shift towards the historical representation through time-varying interpolation between the target object and its historical representation. Empirical evaluation results on multiple public datasets demonstrate that this disclosure exhibits superior performance in sequence recommendation tasks.

[0037] To address this, this disclosure proposes an unconditional diffusion process for sequence recommendation. User history is not used as a condition, but rather its latent representation is directly used as the endpoint of the forward diffusion process and the starting point of the backward diffusion process. In this framework, the forward process represents the degradation of the target object, guided by the sequence of historical objects; while the backward process decodes the specific object from this fuzzy state. The proposed technique can focus entirely on the transformation between the target object and the historical representation, thus achieving more efficient utilization of historical information, and requires no input conditions in the backward process. Within the context of this disclosure, the noise addition process can be combined with constraints toward a specific endpoint, rather than a purely random noise addition process. Experiments on multiple public datasets consistently demonstrate that the proposed technique exhibits superior performance in sequence recommendation tasks.

[0038] In summary, the key points of the proposed technical solution are as follows: An unconditional diffusion process is established for generative sequence recommendation, directly modeling the "object-to-history" transformation while eliminating the need for conditional design. Furthermore, the Brownian bridge technique is used to apply the unconditional diffusion process to recommendation. Here, the object sequence is not a conditional factor, but rather its features are directly used as the endpoint of the forward diffusion process and the starting point of the reverse process. In this framework, the forward process represents the degradation of a specific object into a "noisy or fuzzy" state (represented by the sequence history) of user interest, while the reverse process decodes the specific object from this fuzzy state. This architecture allows for a focus on modeling the transformation relationship between the distribution of target objects and the distribution of historical objects, thus more effectively utilizing historical information while eliminating the need to learn explicit conditional mechanisms.

[0039] Further, see Figure 3 Describe the specific process of identifying the target object. Figure 3 A block diagram 300 is shown illustrating some implementations of this disclosure for determining objects to recommend to a user using an unconditional diffusion model. The object set may include multiple objects, and the user 350 may interact with at least one object (e.g., the user plays a video). A source sequence 310 (e.g., representing the interaction history between the user and objects) may be obtained, which may include at least one source object associated with the user 350. An encoder model 320 may be used to determine source features corresponding to the source sequence 310. Here, the source features are represented, for example, in a feature (embedding) manner, and the source sequence 310 is described in a feature space.

[0040] According to some implementations of this disclosure, an unconditional diffusion model 330 can be constructed. This unconditional diffusion model 330 is implemented using a Brownian bridge architecture and describes the association between reference features of a reference source sequence and features of a recommended reference target object. In other words, the unconditional diffusion model 330 can use a Brownian bridge to directly establish an association between reference features of a reference source sequence and features of a recommended reference target object. Subsequently, the unconditional diffusion model 330 can be used to map source features to target features. That is, in the reverse reasoning stage, the model does not need to use the source sequence 310 as a condition to recover the target object from noise, but can directly determine the features of the target object from the features of the source sequence 310. Furthermore, a target object 312 matching the target features can be selected from multiple objects in the object set, and the target object 312 can be recommended to the user 350.

[0041] Detailed process of object recommendation

[0042] For ease of description, the meanings of the terms used in this disclosure are first provided. Assumptions This represents the collected user and object interaction data. It can be... The samples in the sample are represented as Where s represents the sequence history of objects the user interacts with within a specific time period (e.g., hours, day, week, etc.), and y represents the next object the user interacts with (i.e., the target object to be recommended). The goal of this disclosure is to utilize... We train a recommender based on an unconditional diffusion model, which generatively recommends target objects for the next time step to the user from the entire object set. First, we outline the current conditional diffusion recommendation framework, which comprises two key processes: a forward process (object to noise) and a backward process (noise to object | history). The backward process represents determining objects from noise under the constraint of the interaction history.

[0043] The forward process involves progressively perturbing the object for each sample. For y in (s, y), this can be achieved, for example, by progressively introducing Gaussian noise over multiple time steps. Specifically, for each sample (s, y), the embedding of the target object y is perturbed. Let x0 denote the starting point of this process, i.e., x0 = e y Then, x0 is gradually perturbed at multiple time steps in the forward process, with noise added at a predetermined level [α1, ..., α]. T To increase. Here, T represents the maximum diffusion step. Formally, the transformation process of each step can be expressed as the following formula (1).

[0044]

[0045] In the above formula, x t Indicates the noise level α t Noise representation in [0, 1]. By defining... x t It can be obtained through a multi-step conversion:

[0046]

[0047] Note that when T is large enough, the endpoint x T It can be approximated as pure Gaussian noise. No model parameter optimization is required during the forward pass.

[0048] In the reverse process, given a user history s, it is possible to obtain data from a given random noise (x). T =∈) to gradually reconstruct a clear target object embedding. Given step t (that is, x t The characteristics and history s of ) in step t-1 (that is, x t-1 The features of ) can be obtained through the following denoising process.

[0049]

[0050] In the above formula, and ∑ θ (x t , t, s) are Gaussian parameters generated by a machine learning model with learnable parameters θ. In the inverse process, the parameters θ need to be learned. This is done by maximizing the lower bound of evidence (ELBO), which approximates the following KL divergence:

[0051] In the above formula, q(x) t-1 |x t Let x(x0) represent the posterior distribution, and the following relationship exists:

[0052]

[0053] To ensure training stability and reduce computational complexity, ∑ in formula (3) θ (x t ,t,s) are set to This simplifies the KL divergence in the optimization process to align it. At this point, μ exists. t (x t (x0). Following the definition of μ in the formula. t (x t ,x0), in formula (3) This can be determined by using a reparameterization process as follows.

[0054]

[0055] In the above formula, f θ (·) denotes the denoising model in the conditional diffusion model, used to predict x0 (x0 = e) based on the state in each diffusion step. y Ultimately, this can be achieved by simply taking x0 and the model output f. θ (x t The optimization is performed by minimizing the MSE loss between t and s.

[0056]

[0057] Based on some implementations of this disclosure, an unconditional diffusion model can be implemented using a Brownian bridge, based on the principle of conditional diffusion. An unconditional diffusion process is proposed to address the problem of insufficient utilization of historical information in conditional diffusion. In the unconditional diffusion process, the endpoint of the forward process and the starting point of the reverse process are Gaussian noise. Based on this, the representation of the user's history can be directly used as the endpoint of the forward process and the starting point of the reverse process. In this case, the forward process is used to model the transformation from object to history, and the reverse process is used to model the transformation from history to object.

[0058] According to some implementations of this disclosure, the unconditional diffusion process naturally and more effectively focuses on utilizing historical information without introducing additional complexity, thereby enhancing the effectiveness of using historical information without introducing additional complexity. To achieve the unconditional process, a structured noise addition mechanism is provided that converges to a specific point (user history) rather than pure noise. For example... Figure 4 As shown, unconditional diffusion can be achieved using Brownian bridges.

[0059] See Figure 4 Describe more details, Figure 4 A block diagram 400 illustrates an unconditional diffusion process based on a Brownian bridge implementation according to some implementations of this disclosure. For example... Figure 4 As shown, the Brown bridge 420 can be applied to object 422 (represented by feature e of the target object). y ) and history (represented as a sequence of historical objects, e) s A mapping relationship is established between ( ) and ( ). The Brown Bridge 420 can provide noise addition and denoising mechanisms to achieve an unconditional diffusion process. Specifically, the Brown Bridge 420 can combine a structured noise addition process and ensure that the endpoint of the forward process reaches a specific point, i.e., the characteristics of the user's history (i.e., x). T =e s At each step t, instead of simply injecting noise as in equation (1), the transformation function is made dependent on x. T This allows for the actual control transition to the desired endpoint. Simultaneously, the reverse process is adjusted to depend only on x. T =e s In order to restore the characteristics of the target object e y This eliminates the need to align the noise addition process with the user's history.

[0060] Regarding the Brownian bridge architecture, this architecture aims to directly model the relationship from object to history based on the Brownian bridge process. This is to transform x0 to a specific endpoint x. T Instead of random noise, the core process of the Brownian bridge is to make the intermediate state of each step t gradually influenced by the endpoint x. T Further impacts can be expressed as:

[0061]

[0062] When t=0, And when t=T, This indicates that the process converges to a specific endpoint. As t increases from 0 to T, the variance gradually increases and then decreases, reaching a maximum value m at t = T / 2, which signifies the state with the highest noise. Therefore, the variance metric can be adjusted using the hyperparameter m.

[0063] See Figure 5 To describe more details, the Figure 5 A block diagram 500 illustrates an unconditional diffusion process according to some implementations of this disclosure. For example... Figure 5 As shown, the diffusion process 510 may involve an encoding stage 520 and a diffusion stage 530. The encoder model 320 can determine the feature e. s Using x as the starting point of the reverse process t Furthermore, the denoiser model 540 in the backdiffusion model can progressively denoise in multiple steps and generate features e corresponding to the target object. y .

[0064] Based on the formula in formula (7), the unconditional diffusion process can be achieved by modifying the transformation function of the forward process. For example, x0 = e y (target object) and x T =e s (User History). In the forward process (object to history), the forward transition probability of noise addition is affected by the previous state x. t-1 and endpoint state x T =e s The impact of this. The forward transition probability in each step can be expressed as:

[0065]

[0066] The goal of reverse engineering (history to object) is to extract information from x through multiple steps. T =e s Reconstruct x0 = e y According to Brown's bridge, based on x t and endpoint x T To construct each x t-1 :

[0067]

[0068] In the above formula, and ∑ θ (x t ,t,xT The Gaussian parameters are generated by a machine learning model with learnable parameters θ. Given x t x T Furthermore, in step t, ELBO can be maximized according to the formula above, thereby achieving the goal of optimizing θ. According to some implementations of this disclosure, this can be achieved by minimizing the KL divergence D. KL (q(x t-1 |x t ,x0,x T )||p θ (x t-1 |x t x T To approximate the optimization objective, the a posteriori probability q(x) is used. t-1 |x t ,x0,x T This can be represented as:

[0069]

[0070] The variance is matched to the variance (∑) in this case by setting the variance in formula (9). θ (x t ,t,x T )=δ t I), based on the definition, in q(x) t-1 |x t ,x0,x T ) and p θ (x t-1 |x t x T The potential difference between them increases from the mean. Therefore, the optimization objective becomes to... With μ t (x t ,x0,x T Alignment to maximize ELBO. Based on the definition of μ t (x t ,x0,x T And by utilizing reparameterization techniques, It can be represented as:

[0071]

[0072] According to some implementations of this disclosure, in determining the unconditional diffusion model, reference samples can be obtained from multiple reference samples in a reference sample set. These reference samples include a reference source sequence and a reference target object. Furthermore, the diffusion loss can be determined based on the reference source sequence and reference target object in the reference samples; and the diffusion loss can be used to update the unconditional diffusion model. Specifically, the diffusion model can be updated based on the difference between the predicted value and the true value. In this way, the diffusion model can be updated in a direction that reduces the difference between the predicted value and the true value, thereby improving the accuracy of the prediction.

[0073] According to some implementations of this disclosure, in determining the diffusion loss, an unconditional diffusion model can be used to determine the prediction of the target reference object based on the reference source sequence; and the diffusion loss can be determined based on the difference between the target reference object and its prediction. In the above formula, g θ (·) indicates that the denoising model is used to predict x0, typically implemented using a multilayer perceptron (MLP). Finally, With μ t (x t ,x0,x T The optimization objective of alignment can be transformed into aligning g θ (x t Align ,t) with x0. This can be achieved by directly g θ (x t This is achieved by minimizing the MSE loss between x(t) and x0. It can be defined as:

[0074]

[0075] It should be understood that, unlike the denoising model f used in conditional diffusion, θ (·), the noise reduction model g disclosed herein θ (·) Historical information does not need to be used as data.

[0076] According to some implementations of this disclosure, the encoder model and the unconditional diffusion model can be updated based on a joint training method. Specifically, the encoding weights of the encoding loss and the diffusion weights of the diffusion loss can be obtained; and the encoder model and the unconditional diffusion model can be jointly updated based on the encoding loss, encoding weights, diffusion loss, and diffusion weights.

[0077] For the entire prediction process, in addition to introducing a denoising model during diffusion, an encoder is needed to process user history and target objects to generate e. s and e y A sequence encoder model h can be used. φ (·)(e.g., SASRec) is used as the encoder. See also... Figure 5 The encoder model 320 can receive a source sequence, which may include at least one historical object. In this case, the encoder model 320 can map the features of the source sequence to the feature space of the regular object. That is, alignment with e is required. s and e y At this time, we can take advantage of Used to optimize the encoding loss of the encoder.

[0078] According to some implementations of this disclosure, in the process of determining the encoder model, reference samples are obtained from multiple reference samples in a reference sample set, including a reference source sequence and a reference destination object; the coding loss is determined based on the reference source sequence and the reference destination object; and the encoder model is updated using the coding loss. Specifically, e can be determined. s and e y The similarity between them is calculated, and the encoder model is updated in the direction that maximizes the similarity. In this way, e can be reduced. s and e y The differences between them are used to improve the accuracy of recommendations.

[0079] According to some implementations of this disclosure, in the process of determining the encoding loss based on a reference source sequence and a reference target object, the similarity between the reference source sequence and the reference target object can be determined; the overall similarity between the reference source sequence and multiple reference target objects of multiple reference samples can be determined; and the encoding loss can be determined based on the similarity and the overall similarity. Using some implementations of this disclosure, the encoding loss can be minimized. The definitions are as follows, where... Represents the entire collection of objects.

[0080]

[0081] In the above formula, the numerator represents e. s With e y The similarity between them, the denominator represents e s The summation of similarities between the object and all objects y′ in the entire object set. In this way, e can be minimized more accurately. s With e y The differences between them are analyzed to improve recommendation accuracy.

[0082] According to some implementations of this disclosure, the encoding weights of the encoding loss and the diffusion weights of the diffusion loss can be obtained; and the encoder model and the unconditional diffusion model can be jointly updated based on the encoding loss, encoding weights, the diffusion loss, and the diffusion weights. Specifically, during training, in order to learn a high-quality sequence representation e... sBy decoupling the learning diffusion process from the task, a multi-task learning strategy can be used. Consequently, the entire learning process can be executed in a multi-task manner, yielding the following objective function:

[0083]

[0084] In the above formula, λ1 and λ2 are coefficients used to balance the two parts of the loss. It is the diffusion loss defined in formula (12), and This is the loss used to optimize the encoder in formula (13). Since the denoising process begins with the user's historical representation x... T =e s This loss is generated by a specific sequence encoder model and subsequently used in the optimization of the reconstruction loss and the diffusion model denoising model. This design leads to training challenges and suboptimal performance. To address this issue, a multi-task learning strategy can be employed, which performs optimization by simultaneously using the diffusion loss and the encoding loss.

[0085] According to some implementations of this disclosure, in the process of jointly updating the encoder model and the unconditional diffusion model, the overall loss can be determined based on the encoding loss, encoding weights, diffusion loss, and diffusion weights; and the encoder and the unconditional diffusion model can be updated using the overall loss. Using some implementations of this disclosure, the update gradients of each model can be determined separately in a correlated manner, thereby obtaining the updated model.

[0086] See Figure 6 To describe more details about training the model, the Figure 6 A block diagram 600 illustrates the algorithms in the forward and reverse phases of an unconditional diffusion process according to some implementations of this disclosure. It should be understood that... Figure 6 The algorithm is described in pseudocode format, and can be implemented using different programming languages. For example... Figure 6 As shown, training process 610 illustrates the algorithm employed during training. In line 1, a predetermined convergence condition can be specified, and steps in lines 2 through 8 are continuously executed if the predetermined convergence condition is not reached. According to some implementations of this disclosure, the training process involves iteratively updating batches of data. In each iteration, user history and target items are sampled from the training set, and their representations are generated using the encoder model (lines 2-3). In line 2, data can be sampled from the training set, i.e., a reference sample is determined. In line 3, corresponding features can be determined based on the reference sample, and the two endpoints of the unconditional diffusion model are specified respectively.

[0087] Noise is then introduced through a forward diffusion process based on Equation (7), resulting in a noisy representation at a randomly selected diffusion step (lines 4-6). Specifically, in line 4, the manner followed by the diffusion step can be specified. In line 5, Gaussian noise can be sampled. In line 6, the forward process can be performed. The diffusion loss and recommendation loss can be calculated using Equations (12) and (14) respectively, using the obtained intermediate states, and then combined in Equation (13) (line 7, implicitly performing the backward process). Finally, the gradients are backpropagated to update the parameters of the two models (line 8). Specifically, in line 7, the loss function for joint training can be determined according to the formula provided above. In line 8, the direction of the update gradients for the encoder model and the denoiser model can be determined based on the loss function, and then the encoder model and the denoiser model can be updated according to the corresponding update gradients.

[0088] The inference process 620 illustrates several steps of the inference algorithm during the inference phase. In line 1, data can be sampled from the test set, i.e., the user's historical object sequence s can be obtained. During inference, the model first processes the given user history; for example, its representation can be generated using an encoder model (line 2). Specifically, the encoder model can be used to determine the features e corresponding to the historical object sequence s. s This serves as the starting point for the reverse process.

[0089] Then, the representation can be back-diffusioned based on Equations (9) and (11) to gradually remove noise in multiple steps to reconstruct the predicted representation of the target item. In each step, the denoising model refines the current state based on the learned dynamics (lines 3-6). According to some implementations of this disclosure, multiple back-diffusion steps can be used to map source features to target features. Specifically, in the first back-diffusion step of the multiple back-diffusion steps of the unconditional diffusion model, the source features are mapped to a first intermediate feature; and in response to determining that the second back-diffusion step after the first back-diffusion step has not reached the endpoint of the multiple back-diffusion steps, the first intermediate feature is mapped to a second intermediate feature; and the second intermediate feature replaces the first intermediate feature. Using some implementations of this disclosure, the number of steps can be set based on the specific application environment.

[0090] In this way, features that better match the target object can be determined iteratively. Specifically, in line 3, the number of times the reverse step is executed, T, can be specified, and the denoising process can be performed iteratively in each reverse step. In line 4, Gaussian noise can be sampled. In lines 5 and 6, the reverse denoising process can be performed until the predetermined number of executions, T, is reached in line 7.

[0091] According to some implementations of this disclosure, in response to determining that the second reverse step has reached the endpoint among multiple reverse steps, the first intermediate feature is taken as the target feature. In other words, the iterative denoising process can end when a predetermined convergence condition is reached. At this time, the determined target feature can correspond to one of the multiple candidate recommendation objects. Specifically, at line 8, if the number of executions of the reverse step reaches a predetermined number T, the iteration stops. At this time, the target feature of the target object for the next object recommendation can be returned.

[0092] After generating the embedding prediction, the next step is to obtain a recommendation list tailored to a specific user. According to some implementations of this disclosure, selecting a target object matching a target feature from multiple objects in a set can include: determining the target object based on the distances between multiple features of multiple objects and the target feature. Specifically, the K objects closest to the prediction are retrieved from the candidate set, and an inner product metric is used to form the recommendation list. For example, the K objects can be sorted in order of distance from closest to furthest, and a recommendation list including the K recommended objects can be provided to the user. In this way, multiple recommended objects can be provided in an order that better matches the user's interests.

[0093] It should be understood that although the above description uses video as an example to illustrate the process of recommending videos to users, in the context of this disclosure, objects can be of various types, including but not limited to videos, short videos, audio, images, text, games, and applications. In this case, an application can include an application for providing multiple types of objects, and the source sequence can include one or more objects that have interacted with the user over a predetermined period of time. Alternatively and / or additionally, objects in the source sequence can include other users. Interactions can include various methods, such as playing, liking, following, forwarding, downloading, etc. Using some implementations of this disclosure, different types of objects recommended to users can be determined in a unified manner, thereby improving recommendation efficiency.

[0094] According to some implementations of this disclosure, the methods described above can be executed on different public datasets. Experiments show that, compared with existing technical solutions, the proposed unconditional diffusion model exhibits superior generative capabilities. Using the implementations of this disclosure, the unconditional diffusion model can focus more on describing the transformation relationship between the distribution of target objects and the distribution of historical objects, thereby more effectively utilizing historical information and determining the target object in a more accurate and effective manner.

[0095] Regarding hyperparameter analysis, the proposed unconditional diffusion model involves two hyperparameters: m and T. Specifically, in formula (7), m controls the variance magnitude of the diffusion process, and T defines the maximum diffusion step. Experimental analysis shows that the value of m can be set in the range {1, 1e-1, 1e-2, 1e-4, 1e-8}, and the range of T can be set in the range {5, 10, 20, 50, 100, 200, 500, 1000, 2000}.

[0096] Regarding robustness analysis, the proposed approach demonstrates a significantly greater relative performance improvement compared to traditional methods when handling popular items and short sequences. This finding underscores the general applicability of generative diffusion frameworks in handling these challenging scenarios. Compared to existing approaches, the proposed method shows a more pronounced performance improvement in distinguishing between popular and long-tail objects, indicating that it effectively utilizes user history and contextual information to capture popular objects that users are more interested in.

[0097] Regarding efficiency analysis, the main difference between the unconditional diffusion model and the conditional diffusion model lies in the multi-step iterative process during inference. Tests on a large number of publicly available datasets demonstrate that the proposed unconditional diffusion model has a higher inference speed because there is no additional computational cost involving conditional constraints.

[0098] Example process

[0099] Figure 7 A flowchart of a method 700 for determining objects to recommend to a user, according to some implementations of this disclosure, is shown. At block 710, a source sequence is obtained, comprising at least one source object associated with the user, and the at least one source object is included in an object set. At block 720, source features corresponding to the source sequence are determined using an encoder model. At block 730, target features corresponding to the source features are generated using an unconditional diffusion model implemented using a Brownian bridge architecture, which describes the association between reference features of the reference source sequence and features of the recommended reference target object. At block 740, a target object matching the target features is selected from multiple objects in the object set.

[0100] According to some implementations of this disclosure, generating a target feature corresponding to a source feature includes: mapping the source feature to a first intermediate feature in a first reverse step of a plurality of reverse steps in an unconditional diffusion model; and mapping the first intermediate feature to a second intermediate feature in response to determining that a second reverse step after the first reverse step has not reached the endpoint of the plurality of reverse steps; and replacing the first intermediate feature with the second intermediate feature.

[0101] According to some implementations of this disclosure, the method 700 further includes: in response to determining that the second reverse step has reached the endpoint among a plurality of reverse steps, using the first intermediate feature as the target feature.

[0102] According to some implementations of this disclosure, the encoder model is determined by: obtaining reference samples from multiple reference samples in a reference sample set, the reference samples including a reference source sequence and a reference destination object; determining the encoding loss based on the reference source sequence and the reference destination object; and updating the encoder model using the encoding loss.

[0103] According to some implementations of this disclosure, determining the encoding loss based on a reference source sequence and a reference target object includes: determining the similarity between the reference source sequence and the reference target object; determining the overall similarity between the reference source sequence and multiple reference target objects of multiple reference samples; and determining the encoding loss based on the similarity and the overall similarity.

[0104] According to some implementations of this disclosure, the unconditional diffusion model is determined by: determining the diffusion loss based on the reference source sequence and the reference destination object; and using the diffusion loss to update the unconditional diffusion model.

[0105] According to some implementations of this disclosure, determining the diffusion loss includes: using an unconditional diffusion model to determine the prediction of the target reference object based on the reference source sequence; and determining the diffusion loss based on the difference between the target reference object and the prediction of the target reference object.

[0106] According to some implementations of this disclosure, the encoder model and the unconditional diffusion model are determined by: obtaining the encoding weight of the encoding loss and the diffusion weight of the diffusion loss; and jointly updating the encoder model and the unconditional diffusion model based on the encoding loss, encoding weight, diffusion loss, and diffusion weight.

[0107] According to some implementations of this disclosure, jointly updating the encoder model and the unconditional diffusion model includes: determining the overall loss based on the encoding loss, encoding weight, diffusion loss, and diffusion weight; and updating the encoder and the unconditional diffusion model using the overall loss.

[0108] According to some implementations of this disclosure, selecting a target object that matches a target feature from multiple objects in an object set includes: determining the target object based on the distance between multiple features of multiple objects and the target feature.

[0109] Example devices and equipment

[0110] Figure 8A block diagram of an apparatus 800 for determining objects to recommend to a user, according to some implementations of the present disclosure, is shown. The apparatus 800 includes: an acquisition module 810 configured to acquire a source sequence including at least one source object associated with a user, the at least one source object being included in an object set; a determination module 820 configured to determine source features corresponding to the source sequence using an encoder model; a generation module 830 configured to generate target features corresponding to the source features using an unconditional diffusion model implemented using a Brownian bridge architecture, the unconditional diffusion model describing the association between reference features of a reference source sequence and features of the recommended reference target object; and a selection module 840 configured to select a target object matching the target features from a plurality of objects in the object set.

[0111] According to some implementations of this disclosure, the generation module 830 is further configured to: map a source feature to a first intermediate feature in a first reverse step of a plurality of reverse steps of an unconditional diffusion model; and map the first intermediate feature to a second intermediate feature in response to determining that a second reverse step after the first reverse step has not reached the endpoint of the plurality of reverse steps; and replace the first intermediate feature with the second intermediate feature.

[0112] According to some implementations of this disclosure, the generation module is further configured to: in response to determining that the second reverse step has reached the endpoint of a plurality of reverse steps, use the first intermediate feature as the target feature.

[0113] According to some implementations of this disclosure, the apparatus 800 further includes: a processing module configured to acquire reference samples from a plurality of reference samples in a reference sample set, the reference samples including a reference source sequence and a reference destination object; determine a coding loss based on the reference source sequence and the reference destination object; and update the encoder model using the coding loss.

[0114] According to some implementations of this disclosure, the processing module is further configured to: determine the similarity between a reference source sequence and a reference target object; determine the overall similarity between the reference source sequence and multiple reference target objects of multiple reference samples; and determine the encoding loss based on the similarity and the overall similarity.

[0115] According to some implementations of this disclosure, the processing module is further configured to: determine the diffusion loss based on the reference source sequence and the reference destination object; and use the diffusion loss to update the unconditional diffusion model.

[0116] According to some implementations of this disclosure, the processing module is further configured to: determine the prediction of the target reference object based on the reference source sequence using an unconditional diffusion model; and determine the diffusion loss based on the difference between the target reference object and the prediction of the target reference object.

[0117] According to some implementations of this disclosure, the processing module is further configured to: obtain the encoding weights of the encoding loss and the diffusion weights of the diffusion loss; and jointly update the encoder model and the unconditional diffusion model based on the encoding loss, encoding weights, diffusion loss, and diffusion weights.

[0118] According to some implementations of this disclosure, the processing module is further configured to: determine the overall loss based on the encoding loss, encoding weight, diffusion loss, and diffusion weight; and update the encoder and the unconditional diffusion model using the overall loss.

[0119] According to some implementations of this disclosure, the selection module is further configured to: determine the target object based on the distance between multiple features of multiple objects and the target feature.

[0120] Figure 9 A block diagram of a device 900 capable of implementing various implementations of the present disclosure is shown. It should be understood that... Figure 9 The computing device 900 shown is merely exemplary and should not be construed as limiting the functionality and scope of the implementation described herein. Figure 9 The computing device 900 shown can be used to implement the method described above.

[0121] like Figure 9 As shown, computing device 900 is in the form of a general-purpose computing device. Components of computing device 900 may include, but are not limited to, one or more processors 910, memory 920, storage devices 930, one or more communication units 940, one or more input devices 950, and one or more output devices 960. Processor 910 may be a physical or virtual processor and is capable of performing various processes based on programs stored in memory 920. In a multiprocessor system, multiple processors execute computer-executable instructions in parallel to improve the parallel processing capability of computing device 900.

[0122] Computing device 900 typically includes multiple computer storage media. Such media can be any available media accessible to computing device 900, including but not limited to volatile and non-volatile media, removable and non-removable media. Memory 920 can be volatile memory (e.g., registers, cache, random access memory (RAM)), non-volatile memory (e.g., read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory), or some combination thereof. Storage device 930 can be removable or non-removable media and can include machine-readable media, such as flash drives, disks, or any other media capable of storing information and / or data (e.g., training data for training) and accessible within computing device 900.

[0123] The computing device 900 may further include additional removable / non-removable, volatile / non-volatile storage media. Although not explicitly stated... Figure 9 As shown, disk drives for reading from or writing to removable, non-volatile disks (e.g., "floppy disks") and optical disk drives for reading from or writing to removable, non-volatile optical disks can be provided. In these cases, each drive can be connected to a bus (not shown) via one or more data media interfaces. Memory 920 may include computer program product 925 having one or more program modules configured to perform various methods or actions of various implementations of this disclosure.

[0124] The communication unit 940 enables communication with other computing devices via a communication medium. Additionally, the components of the computing device 900 can function as a single computing cluster or multiple computing machines capable of communicating via communication connections. Therefore, the computing device 900 can operate in a networked environment using logical connections to one or more other servers, network personal computers (PCs), or another network node.

[0125] Input device 950 can be one or more input devices, such as a mouse, keyboard, trackball, etc. Output device 960 can be one or more output devices, such as a monitor, speaker, printer, etc. Computing device 900 can also communicate as needed with one or more external devices (not shown) via communication unit 940. These external devices, such as storage devices, display devices, etc., can communicate with one or more devices that enable user interaction with computing device 900, or with any device (e.g., network card, modem, etc.) that enables computing device 900 to communicate with one or more other computing devices. Such communication can be performed via input / output (I / O) interfaces (not shown).

[0126] According to an implementation of this disclosure, a computer-readable storage medium is provided, on which computer-executable instructions are stored, wherein the computer-executable instructions are executed by a processor to implement the method described above. According to an implementation of this disclosure, a computer program product is also provided, which is tangibly stored on a non-transitory computer-readable medium and includes computer-executable instructions, which are executed by a processor to implement the method described above. According to an implementation of this disclosure, a computer program product is provided, on which a computer program is stored, which, when executed by a processor, implements the method described above.

[0127] Various aspects of this disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatuses, devices, and computer program products implemented according to this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0128] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processor of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner; thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.

[0129] Computer-readable program instructions can be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions that execute on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.

[0130] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction, which contains one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.

[0131] Various implementations of this disclosure have been described above. These descriptions are exemplary and not exhaustive, nor are they limited to the disclosed implementations. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described implementations. The terminology used herein is chosen to best explain the principles, practical applications, or improvements to technology in the market, or to enable others skilled in the art to understand the various implementations disclosed herein.

Claims

1. A method for determining objects to recommend to a user, comprising: Obtain a source sequence, the source sequence including at least one source object associated with the user, the at least one source object being included in an object set; Using the encoder model, the source features corresponding to the source sequence are determined; Using an unconditional diffusion model, target features corresponding to the source features are generated. The unconditional diffusion model is implemented using a Brownian bridge architecture and describes the relationship between the reference features of the reference source sequence and the features of the recommended reference target object. as well as From the multiple objects in the object set, select the target object that matches the target feature.

2. The method according to claim 1, wherein generating the target feature corresponding to the source feature comprises: In the first reverse step of the multiple reverse steps of the unconditional diffusion model, the source feature is mapped to the first intermediate feature; as well as In response to the determination that the second reverse step following the first reverse step has not reached the endpoint of the plurality of reverse steps, Map the first intermediate feature to the second intermediate feature; and The first intermediate feature is replaced with the second intermediate feature.

3. The method according to claim 2, further comprising: In response to determining that the second reverse step has reached the endpoint among the plurality of reverse steps, the first intermediate feature is taken as the target feature.

4. The method of claim 1, wherein the encoder model is determined using the following: A reference sample is obtained from multiple reference samples in a reference sample set, wherein the reference sample includes a reference source sequence and a reference target object; Based on the reference source sequence and the reference destination object, determine the encoding loss; and The encoder model is updated using the encoding loss.

5. The method of claim 4, wherein determining the coding loss based on the reference source sequence and the reference destination object comprises: Determine the similarity between the reference source sequence and the reference target object; Determine the overall similarity between the reference source sequence and multiple reference target objects of the multiple reference samples; as well as The encoding loss is determined based on the similarity and the overall similarity.

6. The method of claim 4, wherein the unconditional diffusion model is determined using the following: Based on the reference source sequence and the reference target object, determine the diffusion loss; and The diffusion loss is used to update the unconditional diffusion model.

7. The method of claim 6, wherein determining the diffusion loss comprises: Using the unconditional diffusion model, the prediction of the target reference object is determined based on the reference source sequence; as well as The diffusion loss is determined based on the difference between the target reference object and the prediction of the target reference object.

8. The method of claim 6, wherein the encoder model and the unconditional diffusion model are determined using the following: Obtain the encoding weights of the encoding loss and the diffusion weights of the diffusion loss; and The encoder model and the unconditional diffusion model are jointly updated based on the encoding loss, encoding weight, diffusion loss, and diffusion weight.

9. The method of claim 8, wherein jointly updating the encoder model and the unconditional diffusion model comprises: The overall loss is determined based on the encoding loss, encoding weight, diffusion loss, and diffusion weight. as well as The encoder and the unconditional diffusion model are updated using the overall loss.

10. The method of claim 1, wherein selecting the target object matching the target feature from the plurality of objects in the object set comprises: The target object is determined based on the distances between multiple features of the multiple objects and the target feature.

11. An apparatus for determining objects to recommend to a user, comprising: An acquisition module is configured to acquire a source sequence, the source sequence including at least one source object associated with the user, the at least one source object being included in an object set; The determination module is configured to use the encoder model to determine source features corresponding to the source sequence; The generation module is configured to generate target features corresponding to the source features using an unconditional diffusion model, which is implemented using a Brownian bridge architecture and describes the association between reference features of the reference source sequence and features of the recommended reference target object. as well as The selection module is configured to select a target object that matches the target feature from a plurality of objects in the object set.

12. An electronic device, comprising: At least one processor; as well as At least one memory, coupled to the at least one processor and storing instructions for execution by the at least one processor, which, when executed by the at least one processor, cause the electronic device to perform the method according to any one of claims 1 to 10.

13. A computer-readable storage medium having stored thereon computer instructions that, when executed by a processor, cause the processor to perform the method according to any one of claims 1 to 10.

14. A computer instruction product comprising computer instructions, wherein the computer instructions, when executed by a processor, implement the method according to any one of claims 1 to 10.