Data processing methods, apparatus, computer-readable storage media, and computer equipment

By acquiring user behavior data, using latent semantic models to obtain latent semantic vectors of items, and performing clustering processing, the problem of inaccurate user profiles caused by manual classification is solved, thus improving the accuracy of the recommendation system.

CN115618090BActive Publication Date: 2026-05-26TENCENT TECHNOLOGY (SHENZHEN) CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
TENCENT TECHNOLOGY (SHENZHEN) CO LTD
Filing Date
2021-07-12
Publication Date
2026-05-26

AI Technical Summary

Technical Problem

In existing technologies, labeling errors and non-standard granularity caused by manual classification affect the accuracy of user profiles, thereby reducing the accuracy of recommendation system pushes.

Method used

By acquiring user behavior data, using latent semantic models to obtain latent semantic vectors of items, and performing clustering processing, cluster identifiers are determined based on the clustering results, and user latent semantic profiles are constructed to avoid errors in manual classification.

Benefits of technology

This improved the accuracy of user profiles and enhanced the accuracy of recommendation system pushes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115618090B_ABST
    Figure CN115618090B_ABST
Patent Text Reader

Abstract

This application discloses a data processing method, apparatus, computer-readable storage medium, and computer device, relating to the field of Internet technology. It involves acquiring user behavior data and obtaining item latent semantic vectors based on the user behavior data; performing clustering processing on the item latent semantic vectors to obtain a first clustering result; determining the cluster identifier to which each item latent semantic vector belongs based on the first clustering result; and constructing a user latent semantic profile based on the cluster identifier. In this way, by clustering item latent semantic vectors, determining the cluster identifier to which each item latent semantic vector belongs based on the first clustering result, and then using the cluster identifier as a representation dimension of items to construct a user latent semantic profile, the efficiency of data processing is improved, the accuracy of user profiles is increased, and thus the accuracy of recommendation system pushes is enhanced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of Internet technology, specifically to a data processing method, apparatus, computer-readable storage medium, and computer device. Background Technology

[0002] User profiling, also known as user information tagging or customer tagging, is a tagged user model abstracted from information such as a user's social attributes, lifestyle habits, and consumption behavior. User profiling can help businesses provide targeted services to users.

[0003] In news feed products, classification and tagging are common dimensions for representing items and are fundamental features for building user profiles and feature systems. However, manual classification inevitably suffers from labeling errors and granularity issues, affecting the accuracy of item classification and tagging, further reducing the accuracy of user profiles, and resulting in lower accuracy of recommendation systems. Summary of the Invention

[0004] This application provides a data processing method, apparatus, computer-readable storage medium, and computer device, which can improve the accuracy of user profiles and thus enhance the accuracy of recommendation system pushes.

[0005] This application provides a data processing method, including:

[0006] Acquire user behavior data, and obtain item latent semantic vectors based on the user behavior data;

[0007] Clustering is performed on the latent semantic vectors of the items to obtain the first clustering result;

[0008] The cluster identifier to which the latent semantic vector of each item belongs is determined based on the first clustering result;

[0009] A latent semantic profile of the user is constructed based on the clustering identifier.

[0010] Accordingly, embodiments of this application provide a data processing apparatus, including:

[0011] The acquisition unit is used to acquire user behavior data and acquire item latent semantic vectors based on the user behavior data.

[0012] A clustering unit is used to perform clustering processing based on the latent semantic vector of the item to obtain a first clustering result;

[0013] The determining unit is used to determine the cluster identifier to which the latent semantic vector of each item belongs based on the first clustering result;

[0014] The construction unit is used to construct a user latent semantic profile based on the clustering identifier.

[0015] In one embodiment, the clustering unit includes:

[0016] The first determining subunit is used to determine the target cluster center;

[0017] The first calculation subunit is used to calculate the distance from the latent semantic vector of the item to each target cluster center;

[0018] The first partitioning subunit is used to partition each latent semantic vector into the cluster containing the target cluster center with the smallest distance, thus obtaining the data of the partitioned clusters.

[0019] The second calculation subunit is used to redetermine the target cluster center based on the data of the divided clusters when the number of clustering does not meet the preset termination condition, and return to the step of calculating the distance from the latent semantic vector of the item to each target cluster center until the number of clustering meets the preset termination condition, and obtain the first clustering result.

[0020] In one embodiment, the determining unit includes:

[0021] The first update subunit is used to update the target cluster center based on the first clustering result;

[0022] The second determining subunit is used to determine the target cluster identifier for each target cluster center based on the updated target cluster centers;

[0023] The second update subunit is used to update the cluster identifier to which the latent semantic vector of each item belongs based on the target cluster identifier.

[0024] In one embodiment, the acquisition unit includes:

[0025] The first acquisition subunit is used to acquire sample behavior data;

[0026] The input subunit is used to input the sample behavior data into a preset model for training. When the preset model meets the training termination condition, the trained preset model is obtained.

[0027] In one embodiment, the data processing apparatus further includes:

[0028] The training unit is used to acquire user behavior data, input the user behavior data into the trained preset model, and obtain the latent semantic vector of the item corresponding to the user behavior data.

[0029] In one embodiment, the input subunit is used for:

[0030] The sample behavior data is input into a preset model, and the sample behavior data is divided into user sample data and item sample data.

[0031] The user sample data and item sample data are transformed into low-dimensional semantic vectors by using a deep neural network to obtain low-dimensional user vectors and low-dimensional item vectors.

[0032] Determine the similarity between the user's low-dimensional vector and the item's low-dimensional vector;

[0033] The preset model is trained based on the similarity.

[0034] In one embodiment, the first determining subunit is configured to:

[0035] When it is detected that the current clustering process is not the first clustering process, the cluster centers obtained from the previous clustering process are determined as the target cluster centers;

[0036] When it is detected that this clustering process is the first clustering process, determine the number of cluster centers;

[0037] The target cluster center is determined in the latent semantic vector of the item based on the number of cluster centers.

[0038] In one embodiment, the data processing apparatus further includes:

[0039] The first update acquisition unit is used to acquire target user behavior data, wherein the target user behavior data is incremental data obtained by updating the user behavior data;

[0040] The second update acquisition unit is used to acquire the latent semantic vector of the target item based on the target user behavior data;

[0041] The clustering unit is updated to perform clustering processing on the first clustering result based on the latent semantic vector of the target item, so as to obtain the second clustering result;

[0042] The update determination unit is used to determine the latent semantic vector of each target item and the cluster identifier to which the latent semantic vector of each item belongs based on the second clustering result;

[0043] The update unit is used to update the user latent semantic profile based on the latent semantic vector of each target item and the cluster identifier to which the latent semantic vector of each item belongs.

[0044] Furthermore, embodiments of this application also provide a computer-readable storage medium storing a plurality of instructions adapted for loading by a processor to execute steps in any of the data processing methods provided in embodiments of this application.

[0045] Furthermore, this application also provides a computer device, including a processor and a memory, wherein the memory stores an application program, and the processor is used to run the application program in the memory to implement the data processing method provided in this application.

[0046] This application also provides a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the steps in the data processing method provided in this application.

[0047] This application embodiment acquires user behavior data and obtains item latent semantic vectors based on the user behavior data; it then performs clustering processing on the item latent semantic vectors to obtain a first clustering result; it determines the cluster identifier to which each item latent semantic vector belongs based on the first clustering result; and finally, it constructs a user latent semantic profile based on the cluster identifier. In this way, by acquiring item latent semantic vectors from user behavior data, clustering these vectors, determining the cluster identifier to which each item latent semantic vector belongs based on the first clustering result, and then using the cluster identifier as a representation dimension for items to construct a user latent semantic profile, compared to methods that use classification and tags as representation dimensions for items to construct user profiles, this method improves the accuracy of user profiles, enhances data processing efficiency, and ultimately improves the accuracy of recommendation system pushes. Attached Figure Description

[0048] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0049] Figure 1 This is a schematic diagram illustrating an implementation scenario of a data processing method provided in an embodiment of this application;

[0050] Figure 2 This is a flowchart illustrating a data processing method provided in an embodiment of this application;

[0051] Figure 3 This is a user profile diagram of a data processing method provided in an embodiment of this application;

[0052] Figure 4 This is a schematic flowchart of a data processing method provided in an embodiment of this application;

[0053] Figure 5 This is another schematic flowchart of a data processing method provided in an embodiment of this application;

[0054] Figure 6 This is a schematic diagram of the structure of the data processing apparatus provided in the embodiments of this application;

[0055] Figure 7 This is a schematic diagram of the structure of the computer device provided in the embodiments of this application. Detailed Implementation

[0056] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0057] This application provides a data processing method, apparatus, computer-readable storage medium, and computer device. The data processing apparatus can be integrated into the computer device, which may be a server or a terminal, etc.

[0058] For better illustration of the embodiments of this application, please refer to the following terms:

[0059] Artificial intelligence (AI) is the theory, methods, technology, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results. In other words, AI is a comprehensive technology within computer science that attempts to understand the essence of intelligence and produce a new kind of intelligent machine that can react in a way similar to human intelligence. AI studies the design principles and implementation methods of various intelligent machines, enabling them to possess the functions of perception, reasoning, and decision-making.

[0060] Artificial intelligence (AI) is a comprehensive discipline encompassing a wide range of fields, including both hardware and software technologies. Fundamental AI technologies generally include sensors, dedicated AI chips, cloud computing, distributed storage, big data processing, operating / interactive systems, and mechatronics. AI software technologies primarily include computer vision, speech processing, natural language processing, and machine learning / deep learning.

[0061] Natural Language Processing (NLP) is an important area within computer science and artificial intelligence. It studies the theories and methods for enabling effective communication between humans and computers using natural language. NLP is a science that integrates linguistics, computer science, and mathematics. Therefore, research in this field involves natural language—the language people use in daily life—and thus it has a close connection with linguistic research. NLP technologies typically include text processing, semantic understanding, machine translation, question answering, and knowledge graphs.

[0062] Machine Learning (ML) is a multidisciplinary field involving probability theory, statistics, approximation theory, convex analysis, and algorithm complexity theory. It specifically studies how computers can simulate or implement human learning behavior to acquire new knowledge or skills and reorganize existing knowledge structures to continuously improve their performance. Machine learning is the core of artificial intelligence and the fundamental way to endow computers with intelligence; its applications span all areas of artificial intelligence. Machine learning and deep learning typically include techniques such as artificial neural networks, belief networks, reinforcement learning, transfer learning, inductive learning, and instruction-based learning.

[0063] A user profile is a tagged user model abstracted from information / data such as a user's social attributes, lifestyle habits, and consumption behavior. The core work of building a user profile is "labeling" users, using data to describe a person's behavior and characteristics. Highly refined feature identifiers (labels) derived from user information analysis express a person from different dimensions; it is a mathematical model of users in the real world and the cornerstone of data strategies. Recommendation systems can recommend relevant content to users based on their preferences and characteristics, i.e., user profiles.

[0064] Incremental update: This refers to updating only the parts that need to be changed during the update operation. Parts that do not need to be updated or have already been updated will not be updated again. Incremental update is the opposite of full update.

[0065] Please see Figure 1 Taking the integration of data processing devices into computer equipment as an example, Figure 1This is a schematic diagram illustrating an implementation scenario of the data processing method provided in this application, including server A and terminal B. Server A can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, Content Delivery Network (CDN), and big data and artificial intelligence platforms. As disclosed in the data processing method or apparatus of this application, multiple servers can form a blockchain, and the servers are nodes on the blockchain.

[0066] Server A can acquire user behavior data and obtain item latent semantic vectors based on the user behavior data; perform clustering processing on the item latent semantic vectors to obtain the first clustering result; determine the cluster identifier to which each item latent semantic vector belongs based on the first clustering result; and construct a user latent semantic profile based on the cluster identifier.

[0067] Terminal B can be any network-connected computer device such as a smartphone, tablet, laptop, or desktop computer, but is not limited to these. Terminal B and server A can be connected directly or indirectly via wired or wireless communication. Server A can obtain data uploaded by terminal B to perform corresponding data processing operations; this application does not impose any restrictions on this.

[0068] It should be noted that, Figure 1 The illustrated implementation environment scenario of the data processing method is merely an example. The implementation environment scenario of the data processing method described in this application embodiment is for the purpose of more clearly illustrating the technical solution of this application embodiment and does not constitute a limitation on the technical solution provided in this application embodiment. Those skilled in the art will understand that with the evolution of data processing and the emergence of new business scenarios, the technical solution provided in this application is also applicable to similar technical problems.

[0069] The solutions provided in this application relate to technologies such as machine learning and natural language processing in artificial intelligence, and are specifically illustrated through the following embodiments. It should be noted that the order of description of the following embodiments is not intended to limit the preferred order of the embodiments.

[0070] This embodiment will be described from the perspective of a data processing device, which can be integrated into a computer device, which can be a server, and this application does not limit it.

[0071] Please see Figure 2 , Figure 2This is a flowchart illustrating the data processing method provided in an embodiment of this application. The data processing method includes:

[0072] In step 101, user behavior data is obtained, and the latent semantic vector of the item is obtained based on the user behavior data.

[0073] In the era of big data, user information permeates the internet. To provide targeted services to users, improve the matching accuracy of recommendation systems, and continuously enhance product services, the concept of "user profiling" has emerged. The core work of user profiling mainly involves analyzing and mining massive amounts of data stored on servers and in databases to assign "tags" to users. These "tags" are identifiers that represent a user's characteristics in a certain dimension, primarily used for business operations and data analysis.

[0074] In existing technologies, user profile modeling methods based on user interests are based on users' long-term and short-term historical click sequences, combined with attributes such as manual classification and tag text of the items clicked by users, to construct the user's preference for each category and tag through data statistics, thereby creating a user profile. Among these, categories and tags are commonly used dimensions to represent items and are the basic features for constructing user profiles and feature systems. However, manual classification inevitably suffers from labeling errors and inconsistent granularity. For example, there is overlap between categories such as portraits, landscapes, and lifestyle, leading to potential biases in manual classification. While these categories can be further subdivided into finer-grained categories, the subdivision criteria are still determined manually. For instance, portraits can be subdivided by the number of people (single-person and group images), by the shooting method (selfie and other people's photos, close-up and long-distance shots), by age (different age groups), or by gender (male and female portraits), etc. This lack of consistency in classification criteria often results in significant biases or inconsistent classification boundaries in practical applications, affecting the accuracy of item classification and tagging. This further reduces the accuracy of user profiles, making it impossible for recommendation systems to capture user interests with fine granularity, ultimately leading to lower accuracy in recommendation pushes.

[0075] To address the issue of low accuracy in user profiles due to labeling errors or inconsistent granularity caused by manual classification, resulting in low recommendation system accuracy, this application provides a data processing method. This method improves user profile accuracy by determining more accurate item representation dimensions, thereby enhancing the recommendation system's push accuracy. The image processing method provided in this application is described in detail below.

[0076] First, user behavior data is acquired, and then latent semantic vectors for items are obtained based on this data. This user behavior data can be user behavior logs, also known as user behavior trajectories or traffic logs. Simply put, it's the behavioral data generated each time a user visits the website (access, browsing, searching, clicking, etc.). Through this user behavior data, the user's preference for items can be determined. The recommendation system can then personalize item recommendations based on these preferences, improving recommendation accuracy and enhancing the user experience.

[0077] The latent semantic vector of an item can be a vector on the item side obtained based on a latent semantic model. The latent semantic model (LFM) is an algorithm that connects user interests and items through latent features. It establishes the relationship between users and latent classes, and the relationship between items and latent classes through matrix factorization, and finally obtains the user's preference relationship for items.

[0078] Specifically, sample behavior data can be obtained and input into a preset model for training. This sample behavior data can be a whole consisting of user behavior logs of a large number of users. When the preset model meets the training termination condition, the trained preset model can be obtained, thereby obtaining user behavior data. This user behavior data can be input into the trained preset model to obtain the latent semantic vector of the item corresponding to the user behavior data.

[0079] Specifically, the step of inputting the sample behavior data into the preset model for training can be described as follows: inputting the sample behavior data into the preset model and determining the loss function of the preset model; to enhance the training effect, the loss function can be minimized by maximum likelihood estimation, and the preset model can be iteratively trained based on the minimized loss function; when the loss function meets the minimization termination condition, the residual will also propagate back through the DNN (Deep Neural Networks) of the representation layer of the preset model, and then the loss function can be converged by an adaptive moment estimation optimizer, which can be the Adam optimizer; when the loss function converges, the trained preset model can be obtained based on the converged loss function.

[0080] In one embodiment, the preset model can be a dual-tower model (Deep Structured Semantic Model, or DSSM for short). The dual-tower model primarily encodes two text segments into fixed-length vectors, and then calculates the relationship between the two text segments by calculating the similarity between the two vectors. Therefore, in this embodiment, the dual-tower model can be used to calculate the relationship between users and items, and thus obtain the latent semantic vectors of items based on user behavior data. The sample behavior data can be input into a pre-defined model, which then divides it into user sample data and item sample data. The user sample data can be input into the user side of the dual-tower model, and the item sample data into the item side. The user sample data can include various basic user characteristics (such as gender, age, and region) and user profile features (which may include user preferences, interests, authors, and tags). The item sample data can include the item's author, creation time, author level, tags, and topic. Compared to the item's identifier (id), which uniquely identifies an item, the item-side feature input layer uses various side information such as the item's author, creation time, author level, tags, and topic. This allows the latent semantic vectors of the items obtained through the trained pre-defined model to have good generalization and coverage.

[0081] Then, a deep neural network (DNN) can be used to transform the user-side user sample data and the item-side item sample data into word embedding vectors. Specifically, the DNN can map high-dimensional sparse features to a low-dimensional semantic space, obtaining low-dimensional user vectors and low-dimensional item vectors. The distance between the two semantic vectors is calculated using cosine similarity, and the similarity between them is determined based on this distance. A loss function is then used to train a pre-defined model using this loss function. This cosine similarity, also known as cosine similarity, is calculated by taking the cosine of the angle between two vectors. For example, the similarity can be calculated using a formula that can be used to calculate the similarity.

[0082]

[0083] Where Q represents user sample data on the user side, D represents item sample data on the item side, and y Q y represents the low-dimensional vector of the user corresponding to the user sample data. D This represents the low-dimensional vector of the item corresponding to the item sample data.

[0084] Furthermore, in order to train the preset model using the loss function, the posterior probability corresponding to each user's low-dimensional vector can be determined according to the similarity calculation formula. Here, the posterior probability refers to the probability of re-adjusting after obtaining the "result" information; it is the "effect" in the "cause-and-effect" problem. Specifically, the posterior probability can be calculated using the normalized exponential function (Softmax function), which can be expressed as:

[0085]

[0086] Here, the posterior formula represents that for a given Q, D + The posterior probability, γ represents the smoothing factor of the Softmax function, exp is the exponential function with base e in advanced mathematics, and D + Positive samples in the user sample data can be samples clicked by the user (DD) + ) represents a negative sample randomly selected from the user side, which can be a sample clicked by the user, and D represents the entire sample space under the user side.

[0087] Furthermore, the loss function of the preset model can be determined based on this posterior probability. Specifically, during the training phase of the preset model, the loss function can be minimized through maximum likelihood estimation, so that the loss function can be expressed as...

[0088]

[0089] Where Λ represents the solution space of the loss function, is the parameter set of the network, log represents the logarithm symbol, and Π represents the multiplication operation.

[0090] In one embodiment, the implicit semantic vector of an item can be obtained from user behavior data using a graph computation method, which can be a computation method such as node2vec or the graphsage algorithm.

[0091] In step 102, clustering is performed based on the latent semantic vectors of the items to obtain the first clustering result.

[0092] Clustering refers to the process of dividing a collection of physical or abstract objects into multiple classes composed of similar objects. Each cluster has a cluster center, which is a special sample in the cluster analysis used to represent a certain class. The distance between other samples and the cluster center sample is calculated to determine whether they belong to that class.

[0093] As user behavior accumulates, the semantic space of the model undergoes a certain degree of migration. When using fixed cluster centers for clustering, clustering will occur after a period of time, leading to problems similar to those encountered in manual classification. To prevent clustering and the drift of item latent semantic vectors into different clusters, an incremental update approach can be used for clustering. This involves performing clustering based on the data from the previous clustering process. Specifically, after updating the item latent semantic vectors with the pre-trained model, the clusters of the updated item latent semantic vectors can be periodically updated. In other words, each time clustering is performed, the clustering data saved from the previous round of clustering is loaded for cluster initialization, improving the efficiency of clustering. Specifically, the target cluster centers can be determined, and then the distance from the item latent semantic vectors to each target cluster center can be calculated. Each latent semantic vector is then assigned to the cluster containing the target cluster center with the smallest distance, resulting in clustered data. If the number of clustering iterations does not meet the preset termination condition, the target cluster centers can be re-determined based on the clustered data, and the distance from the item latent semantic vectors to each target cluster center can be recalculated until the number of clustering iterations meets the preset termination condition, yielding the first clustering result. The target cluster center for each cluster can be obtained by calculating the centroid of all item latent semantic vectors in each of the partitioned clusters.

[0094] To prevent overfitting in the clustering process, when the number of clustering iterations does not meet the preset termination condition, the target cluster centers can be re-determined based on the data from the divided clusters. The process then returns to calculating the distance from the latent semantic vector of the item to each target cluster center, until the number of clustering iterations meets the preset termination condition. This preset termination condition can be a termination condition for the clustering process itself. When the number of clustering iterations meets this condition, the clustering process can be stopped, and the first clustering result can be obtained. For example, assuming the preset termination condition is 100 iterations, when the number of clustering iterations reaches 100, the clustering process can be stopped, and the first clustering result can be obtained.

[0095] In one embodiment, the distance between the target cluster center and the cluster center obtained in the previous clustering process can be calculated. Whether to terminate the clustering process is determined based on whether the distance meets a first preset threshold. The first preset threshold can be a critical value greater than 0. When the distance between the recalculated target cluster center and the cluster center obtained in the previous clustering process is less than this critical value, it indicates that the position of the recalculated target cluster center and the cluster center obtained in the previous clustering process has not changed much and tends to be stable. The clustering process has achieved the desired result, and the operation of continuing the clustering process can be stopped.

[0096] Specifically, when the distance between the calculated target cluster center and the cluster center obtained from the previous clustering process is less than a first preset threshold, it indicates that the position of the target cluster center and the cluster center obtained from the previous clustering process has not changed much and is approaching stability, or in other words, convergence is satisfied. At this point, the clustering process can be considered to have achieved the desired result, and the clustering process can be stopped. When the distance between the target cluster center and the cluster center obtained from the previous clustering process is not less than the first preset threshold, it indicates that the distance between the target cluster center and the cluster center obtained from the previous clustering process has changed significantly and has not yet stabilized. It is necessary to re-iterate the distance between the latent semantic vector of each item in the dataset and each target cluster center, and classify the latent semantic vector of the item into the cluster to which the corresponding target cluster center belongs based on the distance. When the distance between the recalculated target cluster center and the cluster center obtained from the previous clustering process is less than the first preset threshold, the clustering process can be stopped, and the first clustering result can be obtained.

[0097] In one embodiment, before performing clustering, it can be detected whether the current clustering process is the first clustering process. If it is detected that the current clustering process is not the first clustering process, the cluster centers obtained from the previous clustering process can be determined as the target cluster centers. If it is detected that the current clustering process is the first clustering process, the number of cluster centers can be determined. The determination of the number of cluster centers can be made by the developers according to the actual situation, and the specific determination method is not limited here. Then, the target cluster centers can be determined in the latent semantic vector of the items based on the number of cluster centers. Specifically, the target cluster centers can be randomly determined in the latent semantic vector of the items based on the number of cluster centers. For example, assuming that the number of cluster centers is 8, 8 latent semantic vectors of the items can be randomly determined as target cluster centers. Alternatively, the target cluster centers can be determined based on other clustering algorithms, which is not limited here. At the same time, the data of each cluster obtained in this clustering process can be saved as the initial data for the next clustering process.

[0098] In one embodiment, the latent semantic vectors of items can be clustered using clustering algorithms such as the K-means clustering algorithm.

[0099] In step 103, the cluster identifier to which the latent semantic vector of each item belongs is determined based on the first clustering result.

[0100] The cluster identifier is the identifier corresponding to each cluster, and a cluster can be identified by the cluster identifier.

[0101] To address the issue of low accuracy in user profiles resulting from the use of manually defined categories and labels as dimensions to represent items in existing technologies, this application's embodiments determine the cluster identifier to which each item's latent semantic vector belongs based on the first clustering result. This cluster identifier can then be used as a dimension to represent items, avoiding labeling errors or inconsistent granularity caused by manual classification. Specifically, when the number of clustering iterations meets a preset termination condition, the target cluster centers can be updated based on the first clustering result. The target cluster identifier for each target cluster center is then determined based on the updated target cluster centers. This target cluster identifier can be the identifier generated by the system for each target cluster center, uniquely identifying a cluster. Furthermore, the cluster identifier to which each item's latent semantic vector belongs can be updated based on this target cluster identifier.

[0102] For example, suppose that the latent semantic vector d of an item is an item latent semantic vector in a cluster with cluster label c. After the clustering process is updated, the cluster to which the latent semantic vector d belongs is re-determined to be the cluster with cluster label e. Then, the cluster label to which the latent semantic vector d belongs can be updated to e.

[0103] In step 104, a latent semantic profile of the user is constructed based on the clustering identifier.

[0104] The latent semantic profile of a user is a user profile obtained based on latent semantic vectors.

[0105] Specifically, after determining the latent semantic vector of an item based on user behavior data and determining the cluster identifier to which the latent semantic vector of an item belongs based on the first clustering result, the exposure and click volume of each item can be statistically analyzed based on user behavior data to obtain the exposure and click volume of each cluster identifier. Based on the exposure and click volume, the click-through rate of users for the items corresponding to each cluster identifier can be calculated. Then, based on the correspondence between items and cluster identifiers, the click-through rate corresponding to each cluster identifier can be obtained. Thus, user profiles can be constructed based on cluster identifiers and the click-through rates corresponding to each cluster identifier, and user profiles can be updated based on the constructed user profiles.

[0106] The click-through rate of items corresponding to each cluster identifier can be used to measure the user's preference for items belonging to that cluster identifier, or to determine the user's interest in items belonging to that cluster identifier. The recommendation system can predict whether the user is interested in the items corresponding to that cluster identifier by the click-through rate of the cluster identifier, and thus push items that the user may be interested in to the user, thereby improving the push effect.

[0107] For example, suppose user behavior data of user F is obtained. This user behavior data may include the exposure of items g1, g2 and g3 and the number of clicks of user on items g1, g2 and g3 over a period of time. For example, suppose the exposure of items g1, g2 and g3 is 2 times, 3 times and 5 times respectively, and the number of clicks of user on items g1, g2 and g3 is 1 time, 2 times and 2 times respectively. Simultaneously, by obtaining the latent semantic vectors (LSVs) corresponding to each item g1, g2, and g3 as G1, G2, and G3, and performing clustering processing on G1, G2, and G3, the cluster identifier to which each item's LSV belongs can be determined. G1, G2, and G3 belong to clusters with cluster identifiers H1, H2, and H3, respectively. Thus, the cluster identifiers corresponding to each item g1, g2, and g3 are H1, H2, and H3, respectively. Based on the exposure and click-through rates of each item, the click-through rates for each item g1, g2, and g3 are calculated to be 50%, 67%, and 40%, respectively. Therefore, the click-through rates for each cluster identifier H1, H2, and H3 are 50%, 67%, and 40%, respectively. Based on the cluster identifier and click-through rate corresponding to user F, a user profile for user F can be constructed [H1 (50%), H2 (67%), H3 (40%)]. The user profile for user F can be referenced... Figure 3 , Figure 3 This is a schematic diagram of a user profile for data processing provided in an embodiment of this application. The original user profile of user F can be updated based on the constructed user profile.

[0108] In one embodiment, in order to improve the accuracy of user profiles, the constructed user latent semantic profile can be used as a feature input into a preset model to further improve the fit between the latent semantic vector of the item and the user.

[0109] In one embodiment, as user behavior data continuously increases, the semantic space of the dual-tower model will experience some drift, and the latent semantic vectors of items obtained from the user behavior data will also drift. To effectively mitigate the impact of vector drift on the accuracy of user profiles, an incremental clustering process can be used to incrementally update the clustering labels. Specifically, target user behavior data can be obtained, which is incremental data obtained by updating user behavior data. For example, assuming user behavior data s1, s2, s3, after a period of time, the user behavior data is updated to s1, s2, s3, s4, s5, then the target user behavior data can be obtained as s4, s5. The latent semantic vectors of target items can be obtained based on the target user behavior data. The first clustering result is clustered based on the latent semantic vectors of target items to obtain the second clustering result. The latent semantic vectors of each target item and the clustering label to which each latent semantic vector belongs are determined based on the second clustering result. The latent semantic profile of the user is updated based on the latent semantic vectors of each target item and the clustering label to which each latent semantic vector belongs. In this way, by continuously updating user behavior data, the target user behavior data can be obtained and clustered through incremental update clustering algorithms. Then, the cluster identifier to which each item's latent semantic vector belongs can be updated, and the user's latent semantic profile can be updated based on the updated cluster identifier. This effectively mitigates the impact of vector drift on the accuracy of the profile and improves the accuracy of the user profile.

[0110] For example, suppose the cluster set obtained from the first clustering result is [b1(a2), b2(a1, a3)], where b1 and b2 are two cluster centers obtained from clustering user behavior data, a2 is the latent semantic vector of the item assigned to the cluster containing b1 after clustering, and a1 and a3 are the latent semantic vectors of the item assigned to the cluster containing b2 after clustering. Simultaneously, suppose updated target user behavior data is obtained, and updated target item latent semantic vectors a4 and a5 are obtained based on the target user behavior data. Based on the first clustering result, the updated target items are further processed... Latent semantic vectors are clustered to obtain distances of 1.5 from a4 to b1, 1 from a4 to b2, 2 from a5 to b1, and 2.5 from a5 to b2. Therefore, a4 can be assigned to the cluster containing b2, and a5 to the cluster containing b1, resulting in a second clustering result [b1(a2, a5), b2(a1, a3, a4)]. Based on this second clustering result, the cluster identifiers of the latent semantic vectors a4 and a5 of each target item are determined. The user's latent semantic profile is then updated based on these cluster identifiers.

[0111] In one embodiment, target user behavior data can be acquired periodically by setting a fixed time interval, or by detecting the amount of change in user behavior data. When the amount of change is greater than a preset threshold, target user behavior data can be acquired. The preset threshold is a critical value greater than 0. When the amount of change in user behavior data is greater than this critical value, the user implicit semantic profile can be updated based on the increased target user behavior data.

[0112] As described above, this embodiment of the application obtains user behavior data and acquires item latent semantic vectors based on the user behavior data; it then performs clustering processing on the item latent semantic vectors to obtain a first clustering result; it determines the cluster identifier to which each item latent semantic vector belongs based on the first clustering result; and finally, it constructs a user latent semantic profile based on the cluster identifier. In this way, by acquiring user behavior data to obtain item latent semantic vectors, and then performing clustering processing on these latent semantic vectors, determining the cluster identifier to which each item latent semantic vector belongs based on the first clustering result, and finally using the cluster identifier as a representation dimension of the item to construct a user latent semantic profile, the accuracy of the user profile is improved, thereby enhancing the push accuracy of the recommendation system.

[0113] Based on the method described in the above embodiments, the following examples will provide further detailed explanations.

[0114] In this embodiment, the data processing device will be specifically integrated into a computer device as an example for explanation. The data processing method uses a server as the execution entity, and a dual-tower model is used as an example for detailed description. For specific details, please refer to... Figure 4 , Figure 4 This is a schematic diagram illustrating the specific process of a data processing method provided in an embodiment of this application.

[0115] For a better description of the embodiments of this application, please refer to the following: Figure 4 and Figure 5 .like Figure 5 As shown, Figure 5 Another flowchart illustrating the data processing method provided in this application embodiment. The specific process is as follows:

[0116] In step 201, the server acquires sample behavior data, inputs the sample behavior data into a preset model, divides the sample behavior data into user sample data and item sample data, and performs low-dimensional semantic vector transformation on the user sample data and item sample data through a deep neural network to obtain user low-dimensional vectors and item low-dimensional vectors.

[0117] The server can acquire sample behavior data and input it into a preset model for training. This sample behavior data can be a whole composed of user behavior logs of a large number of users. When the dual-tower model meets the convergence condition, the trained dual-tower model is acquired, thereby acquiring user behavior data. This user behavior data is then input into the trained dual-tower model to obtain the latent semantic vector of the item corresponding to the user behavior data.

[0118] Specifically, the server can input the sample behavior data into the dual-tower model, which divides the sample behavior data into user sample data and item sample data. The user sample data can be input into the user side of the dual-tower model, and the item sample data can be input into the item side of the dual-tower model. The user sample data can include various basic characteristics of the user (such as gender, age, region, etc.) and user profile features (which can include information such as user's preferred interest categories, authors, and tags). The item sample data can include the author of the item, creation time, author level, tags, topic, etc. The feature input layer on the item side uses various side information, which can make it have good generalization and coverage.

[0119] Furthermore, the server can use a deep neural network to transform the user sample data on the user side and the item sample data on the item side into word embedding vectors. Specifically, the server can use a deep neural network to map high-dimensional sparse features to a low-dimensional semantic space to obtain low-dimensional vectors for users and items.

[0120] In step 202, the server determines the similarity between the user's low-dimensional vector and the item's low-dimensional vector, trains the preset model based on the similarity, and obtains the trained preset model when the preset model meets the training termination condition.

[0121] The server can use a dual-tower model to calculate the distance between two semantic vectors based on cosine similarity. Cosine similarity, also known as cosine similarity, is calculated by taking the cosine of the angle between two vectors to assess their similarity. Therefore, the formula for calculating the similarity between the user's low-dimensional vector and the item's low-dimensional vector can be determined as follows:

[0122]

[0123] Where Q represents user sample data on the user side, D represents item sample data on the item side, and y Q y represents the low-dimensional vector of the user corresponding to the user sample data. D This represents the low-dimensional vector of the item corresponding to the item sample data.

[0124] Furthermore, in order to train the preset model using the loss function, the posterior probability corresponding to each user's low-dimensional vector can be determined according to the similarity calculation formula. Here, the posterior probability refers to the probability of re-adjusting after obtaining the "result" information; it is the "effect" in the "cause-and-effect" problem. Specifically, the posterior probability can be calculated using the normalized exponential function (Softmax function), which can be expressed as:

[0125]

[0126] Here, the posterior formula represents that for a given Q, D + The posterior probability, γ represents the smoothing factor of Softmax, D + For positive samples in the user sample data, (DD) + ) represents a negative sample randomly selected from the user side, and D represents the entire sample space on the user side.

[0127] Furthermore, the loss function of the preset model can be determined based on this posterior probability. Specifically, during the training phase of the preset model, the loss function can be minimized through maximum likelihood estimation, and the preset model can be iteratively trained based on the minimized loss function. This loss function can be expressed as...

[0128]

[0129] To enhance training performance, the loss function can be minimized using maximum likelihood estimation, and the dual-tower model can be iteratively trained based on the minimized loss function. When the loss function satisfies the minimization termination condition, the residuals will propagate back through the DNN in the representation layer of the dual-tower model, and then the loss function can be converged using an adaptive moment estimator (Adam optimizer). When the loss function converges, the trained dual-tower model can be obtained based on the converged loss function.

[0130] In step 203, the server acquires user behavior data and inputs the user behavior data into the trained preset model to obtain the latent semantic vector of the item corresponding to the user behavior data.

[0131] The server can acquire user behavior data, which may include user behavior logs. By inputting this user behavior data into the trained dual-tower model, the latent semantic vector of the item corresponding to the user behavior data can be obtained.

[0132] In step 204, the server determines the target cluster center, calculates the distance from the latent semantic vector of the item to each target cluster center, and assigns each latent semantic vector to the cluster containing the target cluster center with the smallest distance, thus obtaining the cluster data after division.

[0133] As user behavior accumulates, the semantic space of the model undergoes certain shifts. When using fixed cluster centers for clustering, clustering will occur after a period of time, leading to problems similar to those encountered in manual classification. To prevent clustering and the drift of item latent semantic vectors into different clusters, an incremental update approach can be used for clustering. This involves performing clustering based on the data from the previous clustering process. Specifically, after updating the item latent semantic vectors with the pre-trained model, the server periodically updates the clusters of the updated latent semantic vectors. Each time clustering is performed, the data from the previous round of clustering is loaded for cluster initialization, improving the efficiency of clustering. Specifically, the server can determine the target cluster centers, calculate the distance from each item latent semantic vector to each target cluster center, and assign each latent semantic vector to the cluster containing the target cluster center with the smallest distance, resulting in the partitioned cluster data.

[0134] In step 205, when the number of clustering attempts does not meet the preset termination condition, the server redetermines the target cluster centers based on the data of the divided clusters, and returns to the step of calculating the distance from the latent semantic vector of the item to each target cluster center, until the number of clustering attempts meets the preset termination condition, and obtains the first clustering result.

[0135] When the number of clustering attempts does not meet the preset termination condition, the server can redetermine the target cluster center based on the data of the divided clusters. That is, the target cluster center of each cluster can be obtained by calculating the centroid of the latent semantic vectors of all items in each divided cluster, and the step of calculating the distance from the latent semantic vector of the item to each target cluster center is returned until the number of clustering attempts meets the preset termination condition, and the first clustering result is obtained.

[0136] To prevent overfitting in the clustering process, when the number of clustering iterations does not meet the preset termination condition, the target cluster centers can be re-determined based on the data from the divided clusters. The process then returns to calculating the distance from the latent semantic vector of the item to each target cluster center, until the number of clustering iterations meets the preset termination condition. This preset termination condition can be a termination condition for the clustering process itself. When the number of clustering iterations meets this condition, the clustering process can be stopped, and the first clustering result can be obtained. For example, assuming the preset termination condition is 100 iterations, when the number of clustering iterations reaches 100, the clustering process can be stopped, and the first clustering result can be obtained.

[0137] In one embodiment, the server can calculate the distance between the target cluster center and the cluster center obtained in the previous clustering process, and determine whether to terminate the clustering process based on whether the distance meets a first preset threshold. The first preset threshold can be a critical value greater than 0. When the distance between the recalculated target cluster center and the cluster center obtained in the previous clustering process is less than this critical value, it indicates that the position of the recalculated target cluster center and the cluster center obtained in the previous clustering process has not changed much and tends to be stable. The clustering process has achieved the expected result, and the operation of continuing the clustering process can be stopped.

[0138] Specifically, when the distance between the calculated target cluster center and the cluster center obtained from the previous clustering process is less than a first preset threshold, it indicates that the position of the target cluster center and the cluster center obtained from the previous clustering process has not changed much and is approaching stability, or in other words, convergence is satisfied. At this point, the clustering process can be considered to have achieved the desired result, and the clustering process can be stopped. When the distance between the target cluster center and the cluster center obtained from the previous clustering process is not less than the first preset threshold, it indicates that the distance between the target cluster center and the cluster center obtained from the previous clustering process has changed significantly and has not yet stabilized. The server needs to re-iterate the distance between the latent semantic vector of each item in the dataset and each target cluster center, and classify the latent semantic vector of the item into the cluster to which the corresponding target cluster center belongs based on the distance. When the distance between the recalculated target cluster center and the cluster center obtained from the previous clustering process is less than the first preset threshold, the clustering process can be stopped, and the first clustering result can be obtained.

[0139] In one embodiment, before performing clustering, the server can detect whether the current clustering process is the first clustering process. If it is detected that the current clustering process is not the first, the cluster centers obtained from the previous clustering process can be determined as the target cluster centers. If it is detected that the current clustering process is the first, the number of cluster centers can be determined. The determination of the number of cluster centers can be made by the developers according to the actual situation, and the specific determination method is not limited here. Then, the target cluster centers can be determined from the item latent semantic vectors based on the number of cluster centers. Specifically, the target cluster centers can be randomly determined from the item latent semantic vectors based on the number of cluster centers. For example, assuming the number of cluster centers is 8, 8 item latent semantic vectors can be randomly determined as target cluster centers. Alternatively, other clustering algorithms can be used to determine the target cluster centers, which is not limited here. At the same time, the data of each cluster obtained from the current clustering process can be saved as the initial data for the next clustering process.

[0140] In step 206, the server updates the target cluster centers based on the first clustering result and determines the target cluster identifier for each target cluster center based on the updated target cluster centers.

[0141] To address the issue of low accuracy in user profiles resulting from the use of manually defined classifications and labels as dimensions to represent items in existing technologies, this application's embodiments determine the cluster identifier to which each item's latent semantic vector belongs based on the first clustering result. This cluster identifier can then be used as a dimension to represent items, avoiding labeling errors or inconsistent granularity caused by manual classification. Specifically, when the number of clustering iterations meets a preset termination condition, the server can determine target cluster centers based on the first clustering result, and then determine a target cluster identifier for each target cluster center. This target cluster identifier can be an identifier generated by the system for each target cluster center, and can be used to uniquely identify a cluster.

[0142] In step 207, the server updates the cluster identifier to which each item's latent semantic vector belongs based on the target cluster identifier, and constructs a user latent semantic profile based on the cluster identifier.

[0143] After determining the target cluster identifier for each target cluster center, the server can update the cluster identifier to which each item's latent semantic vector belongs based on the target cluster identifier, and construct a user latent semantic profile based on the cluster identifier.

[0144] The steps of constructing a user latent semantic profile based on the cluster identifier may include: the server calculating the click-through rate of the item corresponding to the latent semantic vector of each item based on the user behavior data; obtaining the click-through rate of each cluster identifier based on the cluster identifier to which the latent semantic vector of each item belongs; and constructing a user latent semantic profile based on each cluster identifier and the corresponding click-through rate.

[0145] Specifically, the server can obtain the exposure and click volume of each cluster identifier by statistically analyzing the exposure and click volume of each item based on user behavior data. It then calculates the click-through rate (CTR) of users for the items corresponding to each cluster identifier based on these CTRs. Furthermore, based on the correspondence between items and cluster identifiers, the CTR for each cluster identifier is obtained. Finally, user profiles are constructed based on the cluster identifiers and their corresponding CTRs, and these profiles are updated accordingly. The CTR of items corresponding to each cluster identifier can be used to measure a user's preference for items belonging to that cluster identifier, i.e., it can determine the user's level of interest in items belonging to that cluster identifier. The recommendation system can predict a user's interest in items corresponding to a cluster identifier by using the CTR of that cluster identifier, thereby pushing potentially interesting items to the user and improving the effectiveness of the recommendation.

[0146] For example, suppose that the latent semantic vector d of an item is an item latent semantic vector in a cluster with cluster label c. After the clustering process is updated, the cluster to which the latent semantic vector d belongs is re-determined to be the cluster with cluster label e. Then, the cluster label to which the latent semantic vector d belongs can be updated to e.

[0147] In step 208, the server obtains target user behavior data, obtains target item latent semantic vectors based on the target user behavior data, and performs clustering processing on the first clustering result based on the target item latent semantic vectors to obtain a second clustering result.

[0148] As user behavior data continuously increases, the semantic space of the dual-tower model will experience some drift, and the latent semantic vectors of items obtained from user behavior data will also drift. To effectively mitigate the impact of vector drift on the accuracy of user profiles, an incremental clustering method can be used to incrementally update the cluster labels. Specifically, the server can obtain target user behavior data, which is incremental data obtained by updating the user behavior data. For example, assuming user behavior data s1, s2, s3, after a period of time, the user behavior data is updated to s1, s2, s3, s4, s5, then the target user behavior data can be obtained as s4, s5. Based on this target user behavior data, the latent semantic vectors of the target items corresponding to the target user behavior data can be obtained through the trained dual-tower model. Based on these latent semantic vectors of the target items, the first clustering result is clustered to obtain the second clustering result.

[0149] In step 209, the server determines the latent semantic vector of each target item and the cluster identifier to which each latent semantic vector belongs based on the second clustering result, and updates the user's latent semantic profile based on the latent semantic vector of each target item and the cluster identifier to which each latent semantic vector belongs.

[0150] The server can determine the latent semantic vector of each target item and the cluster identifier to which each latent semantic vector belongs based on the second clustering result. The user latent semantic profile is then updated based on these cluster identifiers. This allows for continuous updating of user behavior data. Furthermore, an incremental clustering algorithm can be used to obtain and cluster target user behavior data, thereby updating the latent semantic vector of each item and the cluster identifier to which each latent semantic vector belongs. The updated cluster identifiers are then used to update the user latent semantic profile, effectively mitigating the impact of vector drift on profile accuracy and improving the accuracy of the user profile.

[0151] For example, we can assume that the cluster set obtained from the first clustering result is [b1(a2), b2(a1, a3)], where b1 and b2 are two cluster centers obtained from clustering user behavior data, a2 is the item latent semantic vector assigned to the cluster containing b1 after clustering, and a1 and a3 are the item latent semantic vectors assigned to the cluster containing b2 after clustering. Simultaneously, we assume that the server obtains updated target user behavior data and, based on this data, obtains updated target item latent semantic vectors a4 and a5. Based on the first clustering result, we continue to update the target... The latent semantic vectors of items are clustered to obtain the following distances: a4 to b1 is 1.5, a4 to b2 is 1, a5 to b1 is 2, and a5 to b2 is 2.5. Therefore, a4 can be assigned to the cluster containing b2, and a5 to the cluster containing b1, resulting in the second clustering result [b1(a2, a5), b2(a1, a3, a4)]. Based on this second clustering result, the cluster identifiers of each target item's latent semantic vectors a4 and a5 are determined. The user's latent semantic profile is then updated based on these cluster identifiers.

[0152] In one embodiment, the server can periodically acquire target user behavior data by setting a fixed time interval, or it can acquire target user behavior data by detecting the amount of change in user behavior data. When the amount of change is greater than a preset threshold, the server can acquire target user behavior data. The preset threshold is a critical value greater than 0. When the amount of change in user behavior data is greater than this critical value, the server can update the user implicit semantic profile based on the increased target user behavior data.

[0153] As described above, this embodiment of the application obtains sample behavior data through a server, inputs the sample behavior data into a preset model, divides the sample behavior data into user sample data and item sample data, and performs low-dimensional semantic vector transformation on the user sample data and item sample data through a deep neural network to obtain user low-dimensional vectors and item low-dimensional vectors; the server determines the similarity between the user low-dimensional vector and the item low-dimensional vector, and trains the preset model based on the similarity; when the preset model meets the training termination condition, the trained preset model is obtained; the server obtains user behavior data, inputs the user behavior data into the trained preset model, and obtains the item latent semantic vector corresponding to the user behavior data; the server determines the target cluster center, calculates the distance from the item latent semantic vector to each target cluster center, and assigns each latent semantic vector to the cluster containing the target cluster center with the smallest distance, obtaining the data of the divided clusters; when the number of clusterings does not meet the preset termination condition, the server, according to the data of the divided clusters... The server re-determines the target cluster centers based on the data of each class and returns to the step of calculating the distance from the latent semantic vector of the item to each target cluster center until the number of clustering attempts meets the preset termination condition, thus obtaining the first clustering result. When the number of clustering attempts meets the preset termination condition, the server updates the target cluster centers based on the first clustering result and determines the target cluster identifier for each target cluster center based on the updated target cluster centers. The server updates the cluster identifier to which each latent semantic vector of the item belongs based on the target cluster identifier and constructs a user latent semantic profile based on the cluster identifier. The server obtains target user behavior data, obtains target item latent semantic vectors based on the target user behavior data, and performs clustering processing on the first clustering result based on the target item latent semantic vectors to obtain the second clustering result. The server determines each target item latent semantic vector and the cluster identifier to which each item latent semantic vector belongs based on the second clustering result and updates the user latent semantic profile based on each target item latent semantic vector and the cluster identifier to which each item latent semantic vector belongs. Therefore, by acquiring user behavior data, latent semantic vectors of items are obtained, and these latent semantic vectors are clustered. Based on the first clustering result, the cluster identifier of each latent semantic vector is determined. Then, the cluster identifier is used as the representation dimension of the item to construct a latent semantic profile of the user. Subsequently, target user behavior data is acquired, and the target latent semantic vectors corresponding to the target user behavior data are clustered to obtain a second clustering result. Based on the second clustering result, the cluster identifier of each latent semantic vector of the target item and the cluster identifier of the target item latent semantic vector are determined. Thus, the latent semantic profile of the user can be updated by each target item latent semantic vector and the cluster identifier of each latent semantic vector, thereby improving the accuracy of the user profile and thus improving the push accuracy of the recommendation system.

[0154] To better implement the above methods, embodiments of the present invention also provide a data processing apparatus that can be integrated into a computer device, which can be a server.

[0155] For example, such as Figure 6 The diagram shown is a structural schematic of a data processing device provided in an embodiment of this application. The data processing device may include an acquisition unit 301, a clustering unit 302, a determination unit 303, and a construction unit 304, as follows:

[0156] The acquisition unit 301 is used to acquire user behavior data and acquire the latent semantic vector of the item based on the user behavior data.

[0157] Clustering unit 302 is used to perform clustering processing based on the latent semantic vector of the item to obtain the first clustering result;

[0158] The determining unit 303 is used to determine the cluster identifier to which the latent semantic vector of each item belongs based on the first clustering result;

[0159] Construction unit 304 is used to construct a user latent semantic profile based on the clustering identifier.

[0160] In one embodiment, the clustering unit 302 includes:

[0161] The first determining subunit is used to determine the target cluster center;

[0162] The first computational subunit is used to calculate the distance from the latent semantic vector of the item to each target cluster center;

[0163] The first partitioning subunit is used to partition each latent semantic vector into the cluster containing the target cluster center with the smallest distance, thus obtaining the data of the partitioned clusters.

[0164] The second calculation subunit is used to redetermine the target cluster center based on the data of the divided clusters when the number of clustering does not meet the preset termination condition, and return to the step of calculating the distance from the latent semantic vector of the item to each target cluster center until the number of clustering meets the preset termination condition, and obtain the first clustering result.

[0165] In one embodiment, the determining unit 303 includes:

[0166] The first update subunit is used to update the target cluster center based on the first clustering result;

[0167] The second determining subunit is used to determine the target cluster identifier for each target cluster center based on the updated target cluster centers;

[0168] The second update subunit is used to update the cluster identifier to which the latent semantic vector of each item belongs based on the target cluster identifier.

[0169] In one embodiment, the acquisition unit 301 includes:

[0170] The first acquisition subunit is used to acquire sample behavior data;

[0171] The input sub-unit is used to input the sample behavior data into the preset model for training. When the preset model meets the training termination condition, the trained preset model is obtained.

[0172] In one embodiment, the data processing apparatus further includes:

[0173] The training unit is used to acquire user behavior data, input the user behavior data into the pre-trained model, and obtain the latent semantic vector of the item corresponding to the user behavior data.

[0174] In one embodiment, the input subunit is used for:

[0175] Input the sample behavior data into the preset model and divide the sample behavior data into user sample data and item sample data;

[0176] The user sample data and item sample data are transformed into low-dimensional semantic vectors by using a deep neural network to obtain low-dimensional user vectors and low-dimensional item vectors.

[0177] Determine the similarity between the user's low-dimensional vector and the item's low-dimensional vector;

[0178] The preset model is trained based on this similarity.

[0179] In one embodiment, the first determining subunit is configured to:

[0180] When it is detected that the current clustering process is not the first clustering process, the cluster centers obtained from the previous clustering process are determined as the target cluster centers;

[0181] When it is detected that this clustering process is the first clustering process, determine the number of cluster centers;

[0182] The target cluster center is determined in the latent semantic vector of the item based on the number of cluster centers.

[0183] In one embodiment, the data processing apparatus further includes:

[0184] The first update acquisition unit is used to acquire target user behavior data, which is incremental data obtained by updating the user behavior data.

[0185] The second update acquisition unit is used to acquire the latent semantic vector of the target item based on the target user behavior data;

[0186] Update the clustering unit to perform clustering processing on the first clustering result based on the latent semantic vector of the target item, and obtain the second clustering result;

[0187] The update determination unit is used to determine the latent semantic vector of each target item and the cluster identifier to which the latent semantic vector of each item belongs based on the second clustering result;

[0188] The update unit is used to update the user's latent semantic profile based on the latent semantic vector of each target item and the cluster identifier to which the latent semantic vector of each item belongs.

[0189] In practice, each of the above units can be implemented as an independent entity or can be arbitrarily combined to be implemented as the same or several entities. For the specific implementation of each of the above units, please refer to the previous method embodiments, which will not be repeated here.

[0190] As described above, this embodiment of the application acquires user behavior data through the acquisition unit 301 and acquires item latent semantic vectors based on the user behavior data; the clustering unit 302 performs clustering processing based on the item latent semantic vectors to obtain a first clustering result; the determination unit 303 determines the cluster identifier to which each item latent semantic vector belongs based on the first clustering result; and the construction unit 304 constructs a user latent semantic profile based on the cluster identifier. In this way, by acquiring user behavior data to obtain item latent semantic vectors, and performing clustering processing on the item latent semantic vectors, the cluster identifier to which each item latent semantic vector belongs is determined based on the first clustering result. Furthermore, the cluster identifier is used as a representation dimension of the item to construct a user latent semantic profile, improving the accuracy of the user profile and thus enhancing the push accuracy of the recommendation system.

[0191] This application also provides a computer device, such as... Figure 7 As shown, it illustrates a structural diagram of a computer device involved in an embodiment of this application. This computer device may be a server, specifically:

[0192] The computer device may include components such as a processor 401 with one or more processing cores, a memory 402 with one or more computer-readable storage media, a power supply 403, and an input unit 404. Those skilled in the art will understand that... Figure 7 The computer device structure shown does not constitute a limitation on the computer device and may include more or fewer components than shown, or combine certain components, or have different component arrangements. Wherein:

[0193] The processor 401 is the control center of the computer device. It connects various parts of the computer device via various interfaces and lines, and performs various functions and processes data by running or executing software programs and / or modules stored in the memory 402, and by calling data stored in the memory 402, thereby providing overall monitoring of the computer device. Optionally, the processor 401 may include one or more processing cores; preferably, the processor 401 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user interface, and applications, and the modem processor mainly handles wireless communication. It is understood that the modem processor may not be integrated into the processor 401.

[0194] The memory 402 can be used to store software programs and modules. The processor 401 executes various functional applications and data processing by running the software programs and modules stored in the memory 402. The memory 402 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, application programs required for at least one function (such as sound playback function, image playback function, etc.), etc.; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 402 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device. Accordingly, the memory 402 may also include a memory controller to provide the processor 401 with access to the memory 402.

[0195] The computer device also includes a power supply 403 that supplies power to the various components. Preferably, the power supply 403 can be logically connected to the processor 401 through a power management system, thereby enabling functions such as charging, discharging, and power consumption management through the power management system. The power supply 403 may also include one or more DC or AC power supplies, recharging systems, power fault detection circuits, power converters or inverters, power status indicators, and other arbitrary components.

[0196] The computer device may also include an input unit 404, which can be used to receive input digital or character information and generate keyboard, mouse, joystick, optical or trackball signal inputs related to user settings and function control.

[0197] Although not shown, the computer device may also include a display unit, etc., which will not be described in detail here. Specifically, in this embodiment, the processor 401 in the computer device loads the executable files corresponding to the processes of one or more applications into the memory 402 according to the following instructions, and the processor 401 runs the applications stored in the memory 402 to realize various functions, as follows:

[0198] Acquire user behavior data and obtain item latent semantic vectors based on the user behavior data; perform clustering processing on the item latent semantic vectors to obtain the first clustering result; determine the cluster identifier to which each item latent semantic vector belongs based on the first clustering result; construct a user latent semantic profile based on the cluster identifier.

[0199] The specific implementation of each of the above operations can be found in the preceding embodiments, and will not be repeated here. It should be noted that the computer device provided in this application embodiment and the data processing method in the above embodiments belong to the same concept, and its specific implementation process can be found in the above method embodiments, and will not be repeated here.

[0200] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be performed by instructions, or by instructions controlling related hardware. These instructions can be stored in a computer-readable storage medium and loaded and executed by a processor.

[0201] Therefore, embodiments of this application provide a computer-readable storage medium storing a plurality of instructions that can be loaded by a processor to execute steps in any of the data processing methods provided in embodiments of this application. For example, the instructions can execute the following steps:

[0202] Acquire user behavior data and obtain item latent semantic vectors based on the user behavior data; perform clustering processing on the item latent semantic vectors to obtain the first clustering result; determine the cluster identifier to which each item latent semantic vector belongs based on the first clustering result; construct a user latent semantic profile based on the cluster identifier.

[0203] The computer-readable storage medium may include: read-only memory (ROM), random access memory (RAM), disk or optical disk, etc.

[0204] Since the instructions stored in the computer-readable storage medium can execute the steps of any of the data processing methods provided in the embodiments of this application, the beneficial effects that any of the data processing methods provided in the embodiments of this application can achieve can be realized, as detailed in the preceding embodiments, and will not be repeated here.

[0205] According to one aspect of this application, a computer program product or computer program is provided, comprising computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the methods provided in the various optional implementations of the above embodiments.

[0206] The data processing method, apparatus, computer-readable storage medium, and computer device provided in the embodiments of this application have been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of this application. The description of the above embodiments is only for the purpose of helping to understand the method and core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.

Claims

1. A data processing method, characterized by, include: Acquire user behavior data, and obtain item latent semantic vectors based on the user behavior data. The item latent semantic vectors refer to the user's preference relationship for items obtained by establishing the relationship between users and latent classes, and the relationship between items and latent classes through matrix decomposition. Clustering is performed on the latent semantic vectors of the items to obtain the first clustering result; Based on the first clustering result, determine the cluster identifier to which the latent semantic vector of each item belongs; A latent semantic profile of the user is constructed based on the cluster identifier and the click rate of the item corresponding to each cluster identifier; Specifically, obtaining the latent semantic vector of an item based on the user behavior data includes: Acquire sample behavior data and divide the sample behavior data into user sample data and item sample data; The user sample data and item sample data are transformed into low-dimensional semantic vectors using a deep neural network to obtain low-dimensional user vectors and low-dimensional item vectors. The item sample data includes the item's side information, which specifically includes the item's author, creation time, author level, tags, and topic. Determine the similarity between the user's low-dimensional vector and the item's low-dimensional vector; The preset model is trained based on the similarity. When the preset model meets the training termination condition, the trained preset model is obtained. The user behavior data is input into the trained preset model to obtain the latent semantic vector of the item; The method further includes: Obtain target user behavior data, wherein the target user behavior data is incremental data obtained by updating the user behavior data; Obtain the latent semantic vector of the target item based on the target user behavior data; The first clustering result is clustered based on the latent semantic vector of the target item to obtain the second clustering result; Based on the second clustering result, determine the latent semantic vector of each target item and the cluster identifier to which the latent semantic vector of each item belongs; The user latent semantic profile is updated based on the latent semantic vector of each target item and the cluster identifier to which the latent semantic vector of each item belongs.

2. The data processing method of claim 1, wherein, The step of clustering based on the latent semantic vector of the item to obtain the first clustering result includes: Identify target cluster centers; Calculate the distance from the latent semantic vector of the item to each target cluster center; Each latent semantic vector is assigned to the cluster containing the target cluster center with the smallest distance, resulting in the clustered data after partitioning. When the number of clustering attempts does not meet the preset termination condition, the target cluster center is re-determined based on the data of the divided clusters, and the step of calculating the distance from the latent semantic vector of the item to each target cluster center is returned until the number of clustering attempts meets the preset termination condition, and the first clustering result is obtained.

3. The data processing method of claim 2, wherein, The step of determining the cluster identifier to which the latent semantic vector of each item belongs based on the first clustering result includes: Update the target cluster centers based on the first clustering result; The target cluster identifier for each target cluster center is determined based on the updated target cluster centers; Update the cluster identifier to which the latent semantic vector of each item belongs based on the target cluster identifier.

4. The data processing method of claim 2, wherein, The determination of the target cluster center includes: When it is detected that the current clustering process is not the first clustering process, the cluster centers obtained from the previous clustering process are determined as the target cluster centers; When it is detected that this clustering process is the first clustering process, determine the number of cluster centers; The target cluster center is determined in the latent semantic vector of the item based on the number of cluster centers.

5. A data processing apparatus, characterized in that, include: The acquisition unit is used to acquire user behavior data and acquire item latent semantic vectors based on the user behavior data. The item latent semantic vectors refer to the user's preference relationship for items obtained by establishing the relationship between users and latent classes, and the relationship between items and latent classes through matrix decomposition. A clustering unit is used to perform clustering processing based on the latent semantic vector of the item to obtain a first clustering result; The determining unit is used to determine the cluster identifier to which the latent semantic vector of each item belongs based on the first clustering result; The construction unit is used to construct a user latent semantic profile based on the cluster identifier and the click rate of the item corresponding to each cluster identifier. Specifically, obtaining the latent semantic vector of an item based on the user behavior data includes: Acquire sample behavior data and divide the sample behavior data into user sample data and item sample data; The user sample data and item sample data are transformed into low-dimensional semantic vectors using a deep neural network to obtain low-dimensional user vectors and low-dimensional item vectors. The item sample data includes the item's side information, which specifically includes the item's author, creation time, author level, tags, and topic. Determine the similarity between the user's low-dimensional vector and the item's low-dimensional vector; The preset model is trained based on the similarity. When the preset model meets the training termination condition, the trained preset model is obtained. The user behavior data is input into the trained preset model to obtain the latent semantic vector of the item; The data processing device further includes: The first update acquisition unit is used to acquire target user behavior data, wherein the target user behavior data is incremental data obtained by updating the user behavior data; The second update acquisition unit is used to acquire the latent semantic vector of the target item based on the target user behavior data; The clustering unit is updated to perform clustering processing on the first clustering result based on the latent semantic vector of the target item, so as to obtain the second clustering result; The update determination unit is used to determine the latent semantic vector of each target item and the cluster identifier to which the latent semantic vector of each item belongs based on the second clustering result; The update unit is used to update the user latent semantic profile based on the latent semantic vector of each target item and the cluster identifier to which the latent semantic vector of each item belongs.

6. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a plurality of instructions adapted for loading by a processor to perform the steps of the data processing method according to any one of claims 1 to 4.

7. A computer device, characterized in that, It includes a memory and a processor; the memory stores an application program, and the processor is used to run the application program within the memory to perform the steps of the data processing method according to any one of claims 1 to 4.