An embedding vector acquisition method, apparatus, electronic device, and storage medium
By performing semantic clustering and multi-round training on the object's embedding vectors, the problem of insufficient embedding vector training is solved, improving accuracy and training efficiency while reducing costs.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- BEIJING QIYI CENTURY SCI & TECH CO LTD
- Filing Date
- 2026-01-27
- Publication Date
- 2026-05-26
AI Technical Summary
In existing technologies, the number of training samples for object embedding vectors is small, resulting in insufficient training of embedding vectors, low accuracy, and high cost of large-scale sparse feature modeling.
By semantically clustering the objects to be embedded into vectors, vector clusters are formed, and the initial embedding vectors are trained multiple times using the training samples of the vector clusters to obtain more accurate embedding vectors.
It improves the accuracy and training efficiency of embedding vectors, reduces the cost of model training and inference, and enhances the generalization of business models.
Smart Images

Figure CN122087696A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of machine learning technology, and in particular to an embedding vector acquisition method, apparatus, electronic device, and storage medium. Background Technology
[0002] In the field of machine learning, embeddings can be used to represent the features of an object. Models process these embeddings to obtain the desired results. For example, a CTR (Click-Through Rate) prediction model can include registered users on a video platform and videos already uploaded to the platform. The CTR prediction model processes the concatenation of a user's embedding and a video's embedding to output the probability that the user will click on that video. Subsequently, the video platform can recommend videos to the user based on the probability of that user clicking on various videos.
[0003] When obtaining the embedding vectors of objects using existing technology, a fixed-length vector is randomly generated based on the user identifier of each user, serving as the initial embedding vector for that user; a fixed-length vector is randomly generated based on the video identifier of each video, serving as the initial embedding vector for that video. The embedding vectors of the users and videos form an embedding table, which serves as the model parameters for the CTR prediction model. Based on a user's click operation on a video, the initial CTR prediction model can be trained to adjust the initial embedding vectors for that user and video. After model training is complete, the embedding table includes the trained embedding vectors for each user and each video.
[0004] It is evident that when obtaining object embedding vectors using existing technologies, the number of training samples for an object (such as the user's click action in the example above) is positively correlated with the number of times the object's embedding vector is trained. If an object has fewer training samples, its embedding vector will also be trained fewer times, meaning its embedding vector training is insufficient and its accuracy is low. Summary of the Invention
[0005] The purpose of this invention is to provide an embedding vector acquisition method, apparatus, electronic device, and storage medium to improve the accuracy of the obtained embedding vector. The specific technical solution is as follows:
[0006] In a first aspect of this invention, an embedding vector acquisition method is provided, the method comprising:
[0007] For each object whose corresponding embedding vector is to be generated, obtain the first training vector obtained by training the embedding vector based on the training samples of that object; wherein, the training samples of an object include the attribute information of that object;
[0008] Perform semantic clustering on the obtained first training vectors to obtain at least one vector cluster;
[0009] For each vector cluster, a preset vector is obtained as the initial embedding vector for that vector cluster;
[0010] Using the training samples of the objects corresponding to each first training vector in the vector cluster, the initial embedding vector of the vector cluster is used to train the embedding vector, and the second training vector of the vector cluster is obtained.
[0011] For each object, the embedding vector of the object is obtained based on the second training vector of the vector cluster to which the object's first training vector belongs.
[0012] Optionally, for any object, the computational cost of training the first training vector based on the training samples of that object is less than the computational cost of training the initial embedding vector of the vector cluster to which the first training vector belongs based on the training samples of that object.
[0013] Optionally, obtaining the embedding vector of an object based on the second training vector of the vector cluster to which the object's first training vector belongs includes: for each object, using the second training vector of the vector cluster to which the object's first training vector belongs as the object's embedding vector; or, for each object, fusing the object's first training vector and the second training vector of the vector cluster to which the object's first training vector belongs to obtain the object's embedding vector.
[0014] Optionally, the step of using the training samples of the objects corresponding to each first training vector in the vector cluster to perform embedding vector training on the initial embedding vector of the vector cluster to obtain the second training vector of the vector cluster includes:
[0015] For each training sample of the object corresponding to each first training vector in the vector cluster, the initial structure business model is used to process the training sample to obtain the first predicted probability of the object to which the attribute information included in the training sample belongs to the occurrence of the preset event; wherein, the model parameters of the initial structure business model include the initial embedding vector of each vector cluster.
[0016] Based on the difference between the first actual result of whether the object corresponding to the training sample has experienced the preset event and the first predicted probability, the initial embedding vector of the vector cluster corresponding to the training sample is adjusted to obtain the second training vector of the vector cluster corresponding to the training sample.
[0017] Optionally, after obtaining the embedding vector of each object based on the second training vector of the vector cluster to which the object's first training vector belongs, the method further includes:
[0018] Obtain the second predicted probability of each object experiencing a preset event based on the trained business model, and the second actual result of whether the object experiences the preset event;
[0019] Based on the difference between the second predicted probability and the second actual result, the model parameters of the business model are adjusted to update the embedding vector of the object.
[0020] In a second aspect of the invention, an embedding vector acquisition device is also provided, the device comprising:
[0021] The first acquisition module is used to acquire, for each object whose corresponding embedding vector is to be generated, the first training vector obtained by training the embedding vector based on the training sample of the object; wherein, the training sample of an object includes the attribute information of the object;
[0022] The clustering module is used to perform semantic clustering on the obtained first training vectors to obtain at least one vector cluster;
[0023] The second acquisition module is used to acquire a preset vector for each vector cluster as the initial embedding vector of that vector cluster.
[0024] The training module is used to train the embedding vectors of the vector cluster by using the training samples of the objects corresponding to each first training vector in the vector cluster, so as to obtain the second training vectors of the vector cluster.
[0025] The third acquisition module is used to acquire the embedding vector of each object based on the second training vector of the vector cluster to which the object's first training vector belongs.
[0026] Optionally, for any object, the computational cost of training the first training vector based on the training samples of that object is less than the computational cost of training the initial embedding vector of the vector cluster to which the first training vector belongs based on the training samples of that object.
[0027] Optionally, the third acquisition module is specifically used to: for each object, take the second training vector of the vector cluster to which the object's first training vector belongs as the object's embedding vector; or, for each object, fuse the object's first training vector and the second training vector of the vector cluster to which the object's first training vector belongs to obtain the object's embedding vector.
[0028] Optionally, the training module is specifically configured to: for each training sample of the object corresponding to each first training vector in the vector cluster, process the training sample using the business model of the initial structure to obtain a first predicted probability that the object to which the attribute information included in the training sample belongs has experienced a preset event; wherein, the model parameters of the business model of the initial structure include the initial embedding vector of each vector cluster; and adjust the initial embedding vector of the vector cluster corresponding to the training sample based on the difference between the first actual result of whether the object corresponding to the training sample has experienced the preset event and the first predicted probability, to obtain a second training vector of the vector cluster corresponding to the training sample.
[0029] Optionally, the device further includes:
[0030] The update module is used to, after the third acquisition module performs the following steps for each object, obtains the embedding vector of the object based on the second training vector of the vector cluster to which the object's first training vector belongs, and then performs the following steps to obtain the second predicted probability of each object occurring a preset event based on the trained business model, and the second actual result of whether the object has occurred the preset event; and adjusts the model parameters of the business model based on the difference between the second predicted probability and the second actual result to update the embedding vector of the object.
[0031] In a third aspect of the present invention, an electronic device is provided, including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus; the memory is used to store computer programs; and the processor is used to implement the embedding vector acquisition method described in any of the first aspects when executing the program stored in the memory.
[0032] In another aspect of the present invention, a computer-readable storage medium is also provided, wherein a computer program is stored therein, and when the computer program is executed by a processor, it implements any of the above-described embedding vector acquisition methods.
[0033] In another aspect of the present invention, a computer program product containing instructions is also provided, which, when run on a computer, causes the computer to execute any of the above-described embedding vector acquisition methods.
[0034] Based on the embedding vector acquisition method provided by this invention, the first training vector for each object whose corresponding embedding vector is to be generated is obtained by training embedding vectors using training samples that include the object's attribute information. Thus, the first training vector corresponds one-to-one with the object whose corresponding embedding vector is to be generated, and the first training vector of that object semantically represents the object's attribute information. Semantic clustering of the first training vectors can group semantically similar first training vectors into a vector cluster, and each vector cluster necessarily includes at least one first training vector. Since the first training vector corresponds one-to-one with the object, each vector cluster corresponds to at least one object. Accordingly, after obtaining the initial embedding vector of each vector cluster, the initial embedding vector of that vector cluster is trained using the training samples of the object corresponding to that vector cluster, i.e., more training samples are used to train an initial embedding vector. By performing more rounds and more thorough training on each initial embedding vector, the accuracy of the obtained second training vector is improved. Furthermore, for each object, the embedding vector of that object is obtained based on the second training vector, which has higher accuracy and belongs to the vector cluster to which the object's first training vector belongs, thus improving the accuracy of the obtained embedding vector for each object. Attached Figure Description
[0035] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the accompanying drawings used in the description of the embodiments or the prior art will be briefly introduced below.
[0036] Figure 1 A flowchart of an embedding vector acquisition method provided in an embodiment of the present invention;
[0037] Figure 2 A structural diagram of an embedding vector acquisition device provided in an embodiment of the present invention;
[0038] Figure 3 This is a structural diagram of an electronic device provided in an embodiment of the present invention. Detailed Implementation
[0039] The technical solutions of the present invention will now be described with reference to the accompanying drawings in the embodiments of the present invention.
[0040] In the field of machine learning, embedding vectors can be used to represent the features of objects. For example, a business platform that can interact with users (such as a video platform) can recommend online resources (such as videos) to users. The embedding vectors of users and videos can form an embedding vector table, which serves as the model parameters for a CTR prediction model. Users can click on videos recommended to them by the video platform; correspondingly, the video platform can train the CTR prediction model based on the user's click on the video to adjust the aforementioned embedding vector table. After the CTR prediction model is trained, the embedding vector table includes the trained embedding vectors for each user and each video. Subsequently, the video platform can recommend videos to users based on the trained CTR prediction model. In practical scenarios, the aforementioned business platform can also be a novel platform, a music platform, a shopping platform, etc.; the business platform can also recommend online resources to users based on RTB (Real-Time Bidding) or search recommendation recall. Furthermore, in large-scale machine learning scenarios that model the ultra-large-scale sparse features of users and online resources, the embedding vectors of users and online resources can also be obtained through training.
[0041] In real-world scenarios, obtaining object embedding vectors using the above method involves a large amount of data. To balance accuracy and generalization, an embedding vector typically has 64 dimensions. With hundreds of millions of registered users on a business platform and tens of billions of network resources that the platform can recommend, the size of the embedding vector table could reach tens or even hundreds of gigabytes. This leads to high costs for model training and inference, i.e., high costs for obtaining trained embedding vectors. Furthermore, for each required embedding vector, the training iterations are relatively few, resulting in insufficient training and low accuracy of the trained embedding vectors.
[0042] To improve the accuracy of the trained embedding vectors, this invention provides an embedding vector acquisition method. This method is applied to electronic devices, such as servers of the aforementioned business platform. The server can generate highly accurate embedding vectors for objects using the embedding vector acquisition method provided by this invention.
[0043] See Figure 1 , Figure 1 A flowchart of an embedding vector acquisition method provided in an embodiment of the present invention is shown. The method may include the following steps:
[0044] S101: For each object whose corresponding embedding vector is to be generated, obtain the first training vector obtained by training the embedding vector based on the training samples of that object.
[0045] The training samples for an object include the object's attribute information.
[0046] S102: Perform semantic clustering on the obtained first training vectors to obtain at least one vector cluster.
[0047] S103: For each vector cluster, obtain a preset vector as the initial embedding vector for that vector cluster.
[0048] S104: Using the training samples of the objects corresponding to each first training vector in the vector cluster, perform embedding vector training on the initial embedding vector of the vector cluster to obtain the second training vector of the vector cluster.
[0049] S105: For each object, obtain the embedding vector of the object based on the second training vector of the vector cluster to which the object's first training vector belongs.
[0050] Based on the embedding vector acquisition method provided in this embodiment of the invention, the first training vector of each object to which the corresponding embedding vector is to be generated is obtained by training the embedding vector based on training samples including the attribute information of the object. Thus, the first training vector corresponds one-to-one with the object to which the corresponding embedding vector is to be generated, and the first training vector of the object semantically represents the attribute information of the object. Semantic clustering of the first training vectors can group semantically similar first training vectors into a vector cluster, and each vector cluster necessarily includes at least one first training vector. Since the first training vector corresponds one-to-one with the object, the vector cluster corresponds to at least one object. Accordingly, after obtaining the initial embedding vector of each vector cluster, the initial embedding vector of the vector cluster is trained using the training samples of the object corresponding to the vector cluster, i.e., more training samples are used to train an initial embedding vector. By performing more rounds and more thorough training on each initial embedding vector, the accuracy of the obtained second training vector is improved. Furthermore, for each object, the embedding vector of the object is obtained based on the second training vector, which has higher accuracy and belongs to the vector cluster to which the object's first training vector belongs, thus improving the accuracy of the obtained embedding vector of each object.
[0051] Regarding step S101, the specific type of the object to which the corresponding embedding vector is to be generated can be determined according to the needs of the actual scenario. For example, in the scenario where the aforementioned video platform recommends videos to users, the object can include the aforementioned user and video. The user's attribute information can be a user profile, such as the user's basic information (e.g., age, gender, location, etc.) and the user's operation information (e.g., the resource identifier and click time of the video clicked by the user; the resource identifier and like time of the video liked by the user, etc.). The video's attribute information can be video resource information, such as the video's basic information (e.g., video duration, publication time, publisher information, etc.) and the user's operation information on the video (e.g., like rate, forwarding rate, collection rate, etc.). If the object can be an image, the image's attribute information can be image resource information, such as the image's basic information (e.g., display position, publication time, publisher information, etc.) and the user's operation information on the image (e.g., the ratio of the number of users who clicked the image to the number of times the image was displayed). In actual scenarios, the specific type of the aforementioned object and the specific type of the object's attribute information are not limited to these, and this invention does not impose any limitations on them. For ease of description, in the following embodiments of the present invention, the scenario in which a business platform recommends network resources to users is used as an example, where the objects include users and network resources.
[0052] When the object is a user, the object for which the corresponding embedding vector is to be generated can be all users registered on the business platform, or users registered on the business platform within a certain period of time. When the object is a network resource, the object for which the corresponding embedding vector is to be generated can be all network resources already online on the business platform, or network resources newly online on the business platform within a certain period of time. In practical scenarios, electronic devices can also update the generated embedding vectors, which requires updating the object of the corresponding embedding vector, i.e., the object for which the corresponding embedding vector is to be generated.
[0053] For each of the aforementioned objects, the electronic device can obtain the first training vector of that object; the first training vector of an object is obtained by embedding vector training based on the training samples of that object. For example, the training device can generate the first training vector of each object and then send the generated first training vectors to the electronic device; or, the electronic device can also perform embedding vector training on its own based on the training samples of each object to generate the first training vector of that object. In this application, the following description will use the example of the electronic device generating the first training vector of each object on its own.
[0054] Each object corresponds to at least one training sample. A training sample for an object is data used to represent the operation corresponding to that object, including the object's attribute information. Semantically, it can be understood as "which object performed what kind of operation." For example, in the scenario where a video platform recommends videos to a user, if user A clicks on video 1 recommended by the video platform, then by extracting features from the operation data representing user A's click operation, the electronic device can obtain a training sample containing user A's features (i.e., the aforementioned user profile) and video 1's features (i.e., the aforementioned video resource information). Semantically, this training sample can represent that: a user with "user profile of user A" clicked on a video with "video resource information of video 1."
[0055] For each object, the electronic device can first generate an initial embedding vector (which can be called the first initial vector) for the object based on its data identifier. The first initial vector has a first dimension, and the values of each element in the first initial vector can be preset values, or random values within a preset range. When the object is a user, the data identifier is a user identifier, such as a user ID; when the object is a network resource, the data identifier is a resource identifier, such as a resource ID. The preset values can be 0, 1, etc.; the preset range can be set based on the needs of the actual scenario, such as [0, 256], [0, 512], etc. This invention does not limit this.
[0056] In one approach, the first dimension can be equal to the dimension of the embedding vector trained based on existing technology (hereinafter referred to as the reference dimension). For example, if the reference dimension is 64-dimensional, then the first dimension can also be 64-dimensional.
[0057] In another approach, since the present invention subsequently performs semantic clustering based on the first training vector of the object, rather than directly using the first training vector itself as the desired embedding vector, the first dimension can be a lower dimension to reduce the computational load of subsequent processing and improve the efficiency of embedding vector acquisition. For example, if the reference dimension is 64 dimensions, the first dimension can be 32 dimensions, or 16 dimensions, etc.
[0058] After acquiring the initial vectors of each object, the electronic device can determine the business model to use based on the business requirements of the actual scenario. Each initial vector is used as a model parameter of the initial structure business model; for example, the embedding vector table composed of the initial initial vectors can be used as the parameters of the embedding layer of the business model. When training the initial structure business model using training samples including object attribute information, the model parameters of the business model can be adjusted, i.e., the initial vector of the object can be adjusted. After the business model converges, the adjusted initial vectors of each object become the first training vectors for each object. This process can be called embedding vector training.
[0059] For example, if the business requirement is to estimate the probability of a user clicking on each network resource, the business model can be the aforementioned CTR prediction model. In practical scenarios, CTR prediction models can specifically include: DeepFM (Deep Factorization Machine), Wide & Deep model, DIN (Deep Interest Network), etc.
[0060] For example, when the business requirement is to estimate the conversion rate of network resources, the business model can be a CVR (Conversion Rate) estimation model.
[0061] For example, when the business requirement is to recommend network resources to users based on RTB, the business model can be a bidding model.
[0062] For example, if the business requirement is to recommend network resources to users based on search recommendation recall, the business model can be a recall model.
[0063] In real-world scenarios, the specific types of business models that can be used are not limited to this, and this invention does not impose any restrictions on them. For ease of description, this invention will subsequently use a CTR prediction model as an example for illustration.
[0064] For each object, since the first training vector of the object is obtained by training based on training samples including the attribute information of the object, the first training vector can semantically represent the attribute information of the corresponding object, that is, it can represent the personalized information of the corresponding object (which can be called fine-grained features, or personalized features).
[0065] In some embodiments, for each object, after acquiring the training samples of that object, the electronic device can first preprocess the acquired training samples, such as through data cleaning or data integration. Then, the preprocessed training samples are used to adjust the object's first initial vector.
[0066] Regarding step S102, after the electronic device obtains each first training vector, it can perform semantic clustering on each first training vector based on a clustering algorithm to group first training vectors with similar semantics into one class, obtaining at least one vector cluster. The clustering algorithm can be K-Means algorithm, Mini-Batch algorithm, hierarchical clustering algorithm, etc., and this invention does not limit it to these methods.
[0067] In real-world scenarios, electronic devices can acquire the first training vector for each type of object and then cluster the first training vectors for each type of object. For example, if the aforementioned objects include users and network resources, the first training vector for users (which can be referred to as user vectors) and the first training vector for network resources (which can be referred to as resource vectors) are acquired separately. During clustering, the user vectors and resource vectors are clustered separately to group user vectors with similar semantics into one class and resource vectors with similar semantics into another class.
[0068] For each vector cluster obtained from clustering, this vector cluster can be called a semantic center (ClusterCenter). In practical scenarios, the aforementioned user ID and resource ID can be collectively referred to as the original ID, that is, one original ID corresponds to one object; for each semantic center obtained from clustering, the electronic device can assign a semantic ID to that semantic center, that is, one semantic center corresponds to one semantic ID. Therefore, determining the vector cluster to which the first training vector of an object belongs can be called mapping the original ID to the nearest semantic ID.
[0069] For steps S103 and S104, for each vector cluster obtained by clustering, the electronic device can acquire a preset vector as the initial embedding vector (which can be called the second initial vector) for that vector cluster. For example, the electronic device can generate a preset vector based on the identifier of the vector cluster (such as the aforementioned semantic ID) as the second initial vector for that vector cluster. The second initial vector has a second dimension, and the values of each element in the second initial vector can all be preset values, or they can be random values within a preset range. For example, the preset values can be 0, 1, etc.; the preset range can be set based on the needs of the actual scenario, such as [0, 256], [0, 512], etc. This invention does not limit this. Alternatively, the electronic device can also pre-generate a vector with a second dimension as the preset vector; when it is necessary to acquire the second initial vector of that vector cluster, it can directly use the pre-generated preset vector as the second initial vector of that vector cluster.
[0070] In one approach, the second dimension can be equal to the aforementioned reference dimension. For example, if the reference dimension is 64 dimensions, then the second dimension can also be 64 dimensions.
[0071] In another approach, since the embedding vector of the object is subsequently obtained based on the second training vector of the vector cluster, the second dimension can be a higher dimension to further improve the accuracy of the obtained embedding vector. For example, if the reference dimension is 64 dimensions, the second dimension can be 128 dimensions or 256 dimensions.
[0072] After the electronic device obtains the second initial vectors of each vector cluster, it can determine the business model to be used based on the business requirements of the actual scenario. Each second initial vector is used as a model parameter of the business model with an initial structure, such as using the embedding vector table composed of the second initial vectors as the parameters of the embedding layer of the business model. When training the business model with the initial structure using training samples including object attribute information, the model parameters of the business model can be adjusted. Since a training sample of an object includes the object's attribute information, and the first training vector of an object is obtained by training based on the object's training sample, a training sample of an object corresponds to the object's first training vector. Therefore, adjusting the model parameters of the business model means adjusting the second initial vector of the vector cluster to which the first training vector corresponding to the training sample belongs. After the business model converges, the adjusted second initial vector of each vector cluster is the second training vector of each vector cluster, which is also the second training vector of the first training vector included in each vector cluster. For the specific method of determining the business model to be used based on the business requirements of the actual scenario, please refer to the relevant description in the foregoing embodiments, which will not be repeated here. The business model used when training the embedding vector of the second initial vector can be the same model as the business model used when training the embedding vector of each first initial vector, or it can be a different model. This invention does not limit this.
[0073] For each vector cluster, the second training vector of that vector cluster is obtained by training on the training samples corresponding to each of the first training vectors in that vector cluster. Semantically, the second training vector of that vector cluster can represent the common semantic information shared by all the objects corresponding to the first training vectors, that is, it can represent the common information of all the corresponding objects (which can be called common semantics, or shared semantic features). All objects corresponding to a vector cluster correspond to the same second training vector (i.e., the second training vector of that vector cluster).
[0074] When training vectors are represented in the form of an embedding vector table, each first training vector in the embedding vector table formed by the first training vectors corresponds to an original ID; each second training vector in the embedding vector table formed by the second training vectors corresponds to a semantic ID; and each semantic ID corresponds to at least one original ID.
[0075] Regarding step S105, after obtaining the second training vector for each vector cluster, the electronic device can, for each object, obtain the embedding vector of the object based on the second training vector of the vector cluster to which the object's first training vector belongs. For a detailed description of the acquisition method in subsequent embodiments, it will not be repeated here.
[0076] In some embodiments, for any object, the computational cost of training a first training vector based on the training samples of that object is less than the computational cost of training an embedding vector for the initial embedding vector of the vector cluster to which the first training vector belongs, based on the training samples of that object.
[0077] In this embodiment of the invention, for any object, a first training vector is trained based on the object's training samples, i.e., embedding vector training is performed based on the dimension of the first initial vector (i.e., the aforementioned first dimension) to obtain the object's first training vector; based on the object's training samples, embedding vector training is performed on the initial embedding vectors of the vector cluster to which the first training vector belongs, i.e., embedding vector training is performed based on the dimension of the second initial vector (i.e., the aforementioned second dimension). The computational cost of training the first training vector based on the object's training samples is less than the computational cost of training the embedding vectors of the vector cluster to which the first training vector belongs, i.e., the aforementioned first dimension is less than the aforementioned second dimension.
[0078] Since the first training vector is used for semantic clustering and represents the unique characteristics of the corresponding object, and the unique characteristics of an object can be represented by a vector with fewer dimensions, the first dimension of the first training vector can be reduced accordingly in practical scenarios to reduce the computational cost of obtaining the embedding vector.
[0079] Since the second training vector is used to obtain the embedding vectors of objects, and all objects corresponding to a vector cluster share the same second training vector, meaning that the second training vector represents the common features of the corresponding group of objects, if the dimension of the second training vector is low, it may not accurately represent the common features of the corresponding group of objects. Therefore, in practical scenarios, to improve the accuracy of the obtained embedding vectors, the second dimension of the second training vector can be increased accordingly, that is, using the initial vector of a vector cluster with a higher dimension to obtain a second training vector with a higher dimension.
[0080] The number of first training vectors is greater than the number of second training vectors, but the dimensionality is lower. Accordingly, each of the first training vectors is a large-scale and low-dimensional vector, and the embedding vector table composed of the first training vectors can be called a low-dimensional large table; the number of second training vectors is a small-scale and high-dimensional vector, and the embedding vector table composed of the second training vectors can be called a high-dimensional small table.
[0081] Based on the above processing, by setting a smaller first dimension, the computational cost of the embedding vector acquisition method is reduced; by setting a larger second dimension, the accuracy of the obtained embedding vector is improved. In this way, the efficiency of embedding vector acquisition can be improved without reducing the accuracy of the embedding vector.
[0082] In some embodiments, when the first dimension is smaller than the aforementioned reference dimension, the embedding vector acquisition method provided by the present invention can also improve the training efficiency of the business model, compress the model parameters of the business model, and enhance the generalization of the business model.
[0083] For example, if the number of objects is 100 million, the reference dimension is 64 dimensions, the first dimension is 32 dimensions, and the second dimension is 128 dimensions; assuming that clustering the first training vector yields 1 million vector clusters. Without considering other model parameters included in the business model, training the business model using existing technology requires training 100 million × 64 model parameters. However, training the business model using the embedding vector acquisition method provided by this invention only requires training 100 million × 32 + 1 million × 128 model parameters. Fewer model parameters need to be trained, improving the training efficiency for the business model; furthermore, since the model parameters of the business model include the second training vector of the vector clusters—meaning the business model is jointly trained on training samples from each object—and the training process of the second training vector is more thorough, the accuracy and generalization of the business model trained in this way are also higher.
[0084] In some embodiments, the aforementioned step S104 may include the following steps:
[0085] Step A1: For each training sample of the object corresponding to each first training vector in the vector cluster, process the training sample using the business model of the initial structure to obtain the first predicted probability of the object to which the attribute information included in the training sample belongs to the preset event.
[0086] The model parameters of the business model in the initial structure include the initial embedding vector for each vector cluster.
[0087] Step A2: Based on the difference between the first actual result and the first predicted probability of whether the object corresponding to the training sample has experienced a preset event, adjust the initial embedding vector of the vector cluster corresponding to the training sample to obtain the second training vector of the vector cluster corresponding to the training sample.
[0088] In this embodiment of the invention, the preset event is set based on the business processing to be performed by the business model, that is, based on the business services that the business platform needs to provide to the user. For example, if the business model is the aforementioned CTR prediction model, the business processing is to predict the click probability of a user for each network resource; then the preset event for an object corresponding to a training sample can be: the user to whom the user profile included in the training sample belongs, and the network resource to which the resource information included in the training sample belongs. If the business model is the aforementioned recall model, the business processing is to filter out a batch of network resources that the user may be interested in from all network resources that the business platform can recommend to the user; then the preset event for an object corresponding to a training sample can be: the user issues an operation indicating that the user is interested in a network resource, such as the user liking or collecting the network resource. Correspondingly, the electronic device can also obtain a first actual result of whether the object corresponding to each training sample has experienced a preset event; the first actual result can also be represented by a probability, such as when the first actual result indicates that the object has experienced a preset event, the corresponding probability can be recorded as 1; otherwise, the corresponding probability can be recorded as 0.
[0089] The model parameters of the business model can include the parameters of each network layer, and the parameters of the embedding layer of the business model can include the embedding vectors of each object. For example, an electronic device can combine the second initial vectors of each vector cluster into an embedding vector table, and then use the embedding vector table as the parameters of the embedding layer of the business model. For each training sample, the electronic device inputs the training sample into the business model, obtains the first predicted probability of the object to which the attribute information included in the training sample belongs to the preset event output by the business model, and can calculate a loss value representing the difference between the first actual result corresponding to the training sample and the first predicted probability corresponding to the training sample. Then, the calculated loss value is used to adjust the model parameters of the business model, that is, to adjust the second initial vector of the vector cluster to which the first training vector corresponding to the training sample belongs. After the business model converges, the trained second initial vectors of each vector cluster recorded in the embedding vector table are the second training vectors of that vector cluster.
[0090] Thus, for each vector cluster, the second initial vector of the vector cluster is trained using the training samples of the objects corresponding to each first training vector in the vector cluster. That is, more training samples are used to train the second initial vector of the vector cluster more fully, thereby improving the accuracy of the second training vector of the vector cluster.
[0091] In some embodiments, after the aforementioned step S105, the method may further include the following steps:
[0092] Step B1: Obtain the second predicted probability of each object experiencing a preset event based on the trained business model, and the second actual result of whether the object experiences the preset event.
[0093] Step B2: Based on the difference between the second predicted probability and the second actual result, adjust the model parameters of the business model to update the embedding vector of the object.
[0094] In this embodiment of the invention, after training the business model according to the aforementioned steps A1-A2, a trained business model can be obtained. The electronic device can send the trained business model to the business platform, which can then use the received business model to perform corresponding business processing to provide corresponding business services to the user. During the process of the business platform providing business services to the user using the business model, it can obtain a second predicted probability of an object experiencing a preset event based on the business model, and a second actual result of whether the object experiences the preset event (hereinafter collectively referred to as business data). The second actual result can also be represented using probabilities; for example, if the second actual result indicates that the object has experienced the preset event, the corresponding probability can be recorded as 1; otherwise, the corresponding probability can be recorded as 0.
[0095] Based on the example above, the business platform uses a CTR prediction model to estimate the user's click probability for each network resource, and then recommends the network resource with the highest click probability to the user (which can be called the target resource). The second predicted probability of this event occurring, i.e., the probability that "the user clicks the target resource," is the click probability estimated by the business platform based on the CTR prediction model. If the user does not actually click the target resource, the second actual result represents that the user did not click the target resource, which can be recorded as 0.
[0096] To further improve the accuracy of the embedding vectors for each object, the electronic device can acquire the aforementioned business data to retrain the business model.
[0097] In one approach, the electronic device can periodically acquire business data from the previous period for the business model. Based on the acquired business data, the business model is retrained to update it. Then, the updated business model is sent to the business platform. This means the business model is periodically updated through offline training. In this way, the embedding vectors of each object, which serves as the model parameters of the business model, can be periodically updated.
[0098] In another approach, the business platform can retrain the business model based on business data using the methods described above to update the business model. This involves updating the semantic center in real time through online incremental clustering, reducing the impact on actual business processing.
[0099] Based on the above processing, the business model can be periodically updated based on the accuracy of the prediction results in the actual scenario. That is, the embedding vector of the object can be periodically updated, which can improve the accuracy of the obtained embedding vector.
[0100] In some embodiments, the aforementioned step S105 may include the following steps: for each object, using the second training vector of the vector cluster to which the object's first training vector belongs as the object's embedding vector; or, for each object, fusing the object's first training vector and the second training vector of the vector cluster to which the object's first training vector belongs to obtain the object's embedding vector.
[0101] In this embodiment of the invention, to improve the efficiency of embedding vector acquisition, for each object, the electronic device can directly use the second training vector of the vector cluster to which the object's first training vector belongs as the object's embedding vector. In this case, the embedding vectors of all objects corresponding to a vector cluster are the second training vectors of that vector cluster.
[0102] To improve the accuracy of the obtained embedding vectors, for each object, the electronic device can fuse the object's first training vector and the second training vector of the vector cluster to which the object's first training vector belongs (which can be called the object's vector cluster) according to a preset fusion method, and use the fusion result as the object's embedding vector. At this time, there is a one-to-one correspondence between the object and the obtained embedding vector. The preset fusion method can be concatenation, or it can be linear fusion; this invention does not limit this.
[0103] Based on the above processing, the final embedding vector is obtained by combining the aforementioned low-dimensional large table and high-dimensional small table. That is, the embedding vector structure is further extended into a hierarchical form. One layer includes the individual features of each object retained by the low-dimensional large table, and the other layer includes the common semantics of each vector cluster retained by the high-dimensional small table. The final embedding vector obtained based on the above hierarchical form can simultaneously retain fine-grained features and shared semantic features, so that the final business model takes into account both personalization and generalization capabilities.
[0104] In some embodiments, the above-described embedding vector acquisition method can be executed based on an embedding vector acquisition system. The embedding vector acquisition system may specifically include: a data collection and preprocessing module, a first-round embedding training module, a clustering module, a semantic ID mapping module, a second-round embedding training module, a hierarchical embedding construction module, and a model inference and deployment module.
[0105] The data collection and preprocessing module is used to acquire training samples for each of the aforementioned objects and to perform the aforementioned preprocessing on the acquired training samples. Then, the data collection and preprocessing module passes the preprocessed training samples of each object to the first-round embedding training module.
[0106] The first-round embedding training module executes the aforementioned step S101 to obtain the first training vector for each object. These first training vectors can then form an embedding vector table. The first-round embedding training module then passes the embedding vector table to the clustering module. This process performed by the first-round embedding training module can be referred to as lightweight initial training.
[0107] The clustering module performs the aforementioned step S102 to determine the vector cluster to which each first training vector belongs. Based on the previous example, where an object corresponds to one original ID and a semantic center corresponds to one semantic ID, determining the vector cluster to which the first training vector of an object belongs is called mapping the original ID to the nearest semantic ID. The clustering module can output the obtained semantic IDs and the mapping relationship between the original IDs and semantic IDs. The semantic ID mapping module can construct a mapping relationship table between original IDs and semantic IDs, and then replace the original IDs involved in the business model training process, as well as the original IDs involved in the subsequent model inference and deployment process, with the corresponding semantic IDs. This allows similar original IDs corresponding to the same semantic ID to share the same embedding vector, and a single embedding vector can be obtained through joint training based on similar original IDs, thereby compressing model parameters and improving the model's generalization ability.
[0108] Then, the second-round embedding training module executes the aforementioned steps S103 and S104 to obtain the second training vectors for each vector cluster. The hierarchical embedding construction module obtains the second training vectors for each vector cluster output by the second-round embedding training module, and the first training vectors for each object output by the first-round embedding training module. For each object, it fuses the first training vector of the object with the second training vector of the vector cluster to which the object belongs, such as concatenating the first training vector of the object with the second training vector of the vector cluster to which the object belongs, to obtain the optimized embedding vector, thus obtaining the trained business model. Then, the model inference and deployment module performs model inference on the trained business model and uses the business model to execute actual business processing, thereby reducing the GPU memory and memory usage during the inference phase of the business model and reducing the online service cost of the business model.
[0109] Based on the above processing, the first training vector for each object whose corresponding embedding vector is to be generated is obtained by training the embedding vector using training samples that include the object's attribute information. Therefore, the first training vector corresponds one-to-one with the object whose corresponding embedding vector is to be generated, and the first training vector of that object semantically represents the object's attribute information. Semantic clustering of the first training vectors can group semantically similar first training vectors into a vector cluster, and each vector cluster must include at least one first training vector. Since the first training vector corresponds one-to-one with the object, each vector cluster corresponds to at least one object. Accordingly, after obtaining the initial embedding vector for each vector cluster, the initial embedding vector of that vector cluster is trained using the training samples of the object corresponding to that vector cluster, i.e., more training samples are used to train an initial embedding vector. By performing more rounds and more thorough training on each initial embedding vector, the accuracy of the obtained second training vector is improved. Furthermore, for each object, the embedding vector of that object is obtained based on the second training vector, which has higher accuracy and belongs to the vector cluster to which the object's first training vector belongs, thus improving the accuracy of the obtained embedding vector for each object.
[0110] This involves a two-round embedding vector training system: lightweight initial training, clustering, and secondary training. This system fully embeds the semantic information of the original IDs, allowing for more comprehensive training based on the original IDs and improving the overall representational power of the resulting embedding vectors. By clustering the first training vectors and assigning semantic IDs to the original IDs, similar original IDs can share the same embedding vector, reducing redundant parameters and improving the generalization ability of the business model. A hierarchical embedding construction module extends the embedding vector structure into a hierarchical form. This hierarchical embedding structure, including the aforementioned low-dimensional large table and high-dimensional small table, reduces storage and computation costs, enabling the business model to learn richer high-dimensional semantic features.
[0111] Furthermore, when the first dimension is smaller than the reference dimension, the size of the embedding vector table can be significantly reduced, decreasing the computational load during the training process of the business model and improving model training efficiency. For long-tail data (which can be called low-frequency IDs), training samples from the long-tail data, along with training samples from objects belonging to the same vector cluster as the long-tail data, can be used to jointly train the second training vector of that vector cluster. This means using more data to train the second training vector of the vector cluster to which the long-tail data belongs, improving the business model's learning effect on low-frequency IDs, reducing the probability of overfitting, improving the stability and robustness of the business model, and allowing long-tail data (such as low-exposure network resources, newly launched network resources, etc.) to be better integrated into the network resource recommendation process.
[0112] Furthermore, the embedding vector acquisition method provided by this invention does not rely on introducing additional modal information (such as image information, text information of other dimensions, etc.), and can significantly improve the training effect of the business model based on the object's attribute information itself. That is, by improving the quality of the obtained embedding vectors through structural methods, the computational amount of the embedding vector acquisition process can be further reduced, the engineering complexity can be reduced, the difficulty of interfacing with other business systems (such as network resource recommendation systems) is low, and it is convenient to iteratively combine with other models.
[0113] In some embodiments, the electronic device may also acquire graph structure information of the objects, and / or the aforementioned additional modal information (hereinafter collectively referred to as additional information), and train a first training vector for each object based on the acquired additional information. This is to further improve the accuracy of the obtained first training vectors, thereby improving the stability of the vector clusters determined by clustering.
[0114] In some embodiments, the aforementioned lightweight initial training can also be performed based on a large language model that has learned world knowledge to obtain the first training vectors for each object, thereby improving the accuracy of the vector clusters obtained by clustering.
[0115] Based on the same inventive concept as the above-described embedding vector acquisition method, this embodiment of the invention also provides an embedding vector acquisition device. See also Figure 2 , Figure 2 A structural diagram of an embedding vector acquisition device provided in an embodiment of the present invention. The device includes:
[0116] The first acquisition module 201 is used to acquire, for each object to which the corresponding embedding vector is to be generated, a first training vector obtained by training the embedding vector based on the training samples of the object; wherein, the training samples of an object include the attribute information of the object;
[0117] Clustering module 202 is used to perform semantic clustering on the obtained first training vectors to obtain at least one vector cluster;
[0118] The second acquisition module 203 is used to acquire a preset vector for each vector cluster as the initial embedding vector of that vector cluster.
[0119] The training module 204 is used to train the embedding vector of the vector cluster by using the training samples of the objects corresponding to each first training vector in the vector cluster, so as to obtain the second training vector of the vector cluster.
[0120] The third acquisition module 205 is used to acquire the embedding vector of each object based on the second training vector of the vector cluster to which the object's first training vector belongs.
[0121] Optionally, for any object, the computational cost of training the first training vector based on the training samples of that object is less than the computational cost of training the initial embedding vector of the vector cluster to which the first training vector belongs based on the training samples of that object.
[0122] Optionally, the third acquisition module 205 is specifically used to: for each object, take the second training vector of the vector cluster to which the object's first training vector belongs as the object's embedding vector; or, for each object, fuse the object's first training vector and the second training vector of the vector cluster to which the object's first training vector belongs to obtain the object's embedding vector.
[0123] Optionally, the training module 204 is specifically configured to: for each training sample of the object corresponding to each first training vector in the vector cluster, process the training sample using the business model of the initial structure to obtain a first predicted probability that the object to which the attribute information included in the training sample belongs has experienced a preset event; wherein, the model parameters of the business model of the initial structure include the initial embedding vector of each vector cluster; and adjust the initial embedding vector of the vector cluster corresponding to the training sample based on the difference between the first actual result of whether the object corresponding to the training sample has experienced the preset event and the first predicted probability, to obtain a second training vector of the vector cluster corresponding to the training sample.
[0124] Optionally, the apparatus further includes: an update module, configured to, after the third acquisition module 205 performs the following steps for each object: obtaining the embedding vector of the object based on the second training vector of the vector cluster to which the object's first training vector belongs, and then performing the following steps: obtaining the second predicted probability of each object occurring a preset event based on the trained business model, and the second actual result of whether the object has occurred the preset event; and adjusting the model parameters of the business model based on the difference between the second predicted probability and the second actual result to update the embedding vector of the object.
[0125] Based on the embedding vector acquisition device provided by this invention, the first training vector for each object whose corresponding embedding vector is to be generated is obtained by training embedding vectors using training samples that include the attribute information of the object. Thus, the first training vector corresponds one-to-one with the object whose corresponding embedding vector is to be generated, and the first training vector of the object semantically represents the attribute information of the object. Semantic clustering of the first training vectors can group semantically similar first training vectors into a vector cluster, and each vector cluster necessarily includes at least one first training vector. Since the first training vector corresponds one-to-one with the object, the vector cluster corresponds to at least one object. Accordingly, after obtaining the initial embedding vector of each vector cluster, the initial embedding vector of the vector cluster is trained using the training samples of the object corresponding to the vector cluster, i.e., more training samples are used to train an initial embedding vector. By performing more rounds and more thorough training on each initial embedding vector, the accuracy of the obtained second training vector is improved. Furthermore, for each object, the embedding vector of the object is obtained based on the second training vector, which has higher accuracy and belongs to the vector cluster to which the object's first training vector belongs, thus improving the accuracy of the obtained embedding vector for each object.
[0126] This invention also provides an electronic device, such as... Figure 3 As shown, it includes a processor 301, a communication interface 302, a memory 303, and a communication bus 304. The processor 301, the communication interface 302, and the memory 303 communicate with each other through the communication bus 304. The memory 303 is used to store computer programs. When the processor 301 executes the program stored in the memory 303, it implements the steps of any of the embedding vector acquisition methods described in the foregoing embodiments.
[0127] The communication bus mentioned in the above electronic devices can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This communication bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used to represent it in the diagram, but this does not indicate that there is only one bus or one type of bus.
[0128] The communication interface is used for communication between the aforementioned electronic devices and other devices.
[0129] The memory may include random access memory (RAM) or non-volatile memory, such as at least one disk storage device. Optionally, the memory may also be at least one storage device located remotely from the aforementioned processor.
[0130] The processors mentioned above can be general-purpose processors, including central processing units (CPUs), network processors (NPs), etc.; they can also be digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0131] In another embodiment of the present invention, a computer-readable storage medium is also provided, wherein a computer program is stored therein, and when the computer program is executed by a processor, it implements any of the embedding vector acquisition methods described in the above embodiments.
[0132] In another embodiment of the present invention, a computer program product containing instructions is also provided, which, when run on a computer, causes the computer to execute any of the embedding vector acquisition methods described in the above embodiments.
[0133] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present invention are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state disk (SSD)).
[0134] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0135] The various embodiments in this specification are described in a related manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the embodiments of apparatus, electronic devices, computer-readable storage media, and computer program products are basically similar to the method embodiments, and therefore the descriptions are relatively simple; relevant parts can be referred to the descriptions of the method embodiments.
[0136] The above description is merely a preferred embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention are included within the scope of protection of the present invention.
Claims
1. A method for obtaining embedded vectors, characterized in that, The method includes: For each object whose corresponding embedding vector is to be generated, obtain the first training vector obtained by training the embedding vector based on the training samples of that object; wherein, the training samples of an object include the attribute information of that object; Perform semantic clustering on the obtained first training vectors to obtain at least one vector cluster; For each vector cluster, a preset vector is obtained as the initial embedding vector for that vector cluster; Using the training samples of the objects corresponding to each first training vector in the vector cluster, the initial embedding vector of the vector cluster is used to train the embedding vector, and the second training vector of the vector cluster is obtained. For each object, the embedding vector of the object is obtained based on the second training vector of the vector cluster to which the object's first training vector belongs.
2. The method according to claim 1, characterized in that, For any object, the computational cost of training the first training vector based on the training samples of that object is less than the computational cost of training the initial embedding vector of the vector cluster to which the first training vector belongs based on the training samples of that object.
3. The method according to claim 1, characterized in that, For each object, obtaining the embedding vector of the object based on the second training vector of the vector cluster to which the object's first training vector belongs includes: For each object, the second training vector of the vector cluster to which the object's first training vector belongs is used as the object's embedding vector; or, For each object, the first training vector of the object and the second training vector of the vector cluster to which the first training vector of the object belong are fused to obtain the embedding vector of the object.
4. The method according to claim 1, characterized in that, The step of using the training samples of the objects corresponding to each first training vector in the vector cluster to perform embedding vector training on the initial embedding vector of the vector cluster, thereby obtaining the second training vector of the vector cluster, includes: For each training sample of the object corresponding to each first training vector in the vector cluster, the initial structure business model is used to process the training sample to obtain the first predicted probability of the object to which the attribute information included in the training sample belongs to the occurrence of the preset event; wherein, the model parameters of the initial structure business model include the initial embedding vector of each vector cluster. Based on the difference between the first actual result of whether the object corresponding to the training sample has experienced the preset event and the first predicted probability, the initial embedding vector of the vector cluster corresponding to the training sample is adjusted to obtain the second training vector of the vector cluster corresponding to the training sample.
5. The method according to claim 4, characterized in that, After obtaining the embedding vector of each object based on the second training vector of the vector cluster to which the object's first training vector belongs, the method further includes: Obtain the second predicted probability of each object experiencing a preset event based on the trained business model, and the second actual result of whether the object experiences the preset event; Based on the difference between the second predicted probability and the second actual result, the model parameters of the business model are adjusted to update the embedding vector of the object.
6. An embedded vector acquisition device, characterized in that, The device includes: The first acquisition module is used to acquire, for each object whose corresponding embedding vector is to be generated, the first training vector obtained by training the embedding vector based on the training sample of the object; wherein, the training sample of an object includes the attribute information of the object; The clustering module is used to perform semantic clustering on the obtained first training vectors to obtain at least one vector cluster; The second acquisition module is used to acquire a preset vector for each vector cluster as the initial embedding vector of that vector cluster. The training module is used to train the embedding vectors of the vector cluster by using the training samples of the objects corresponding to each first training vector in the vector cluster, so as to obtain the second training vectors of the vector cluster. The third acquisition module is used to acquire the embedding vector of each object based on the second training vector of the vector cluster to which the object's first training vector belongs.
7. An electronic device, characterized in that, It includes a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus; Memory, used to store computer programs; A processor, when executing a program stored in memory, implements the method described in any one of claims 1-5.
8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the method described in any one of claims 1-5.