Object recognition method, apparatus, device, and storage medium
By extracting features and clustering candidate objects, and selecting representative objects for model training, the problem of low prediction accuracy caused by inaccurate object selection is solved, and higher object recognition accuracy is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- TENCENT TECHNOLOGY (SHENZHEN) CO LTD
- Filing Date
- 2021-09-30
- Publication Date
- 2026-07-24
AI Technical Summary
In existing technologies, inaccurate object selection leads to low prediction accuracy in artificial intelligence models.
By acquiring a set of candidate objects, extracting their features, identifying and clustering object category probabilities, selecting representative objects for model training, and constructing a target object recognition model.
This improves the accuracy of object recognition, ensuring that the model can more accurately identify the target object category.
Smart Images

Figure CN115937556B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of artificial intelligence, and in particular to an object recognition method, apparatus, computer device, and storage medium. Background Technology
[0002] In the era of artificial intelligence, extracting valuable information from massive amounts of data through artificial intelligence to achieve effective information delivery is one of the current research hotspots. For example, artificial intelligence models can predict the category to which a user belongs, and based on the prediction results, content corresponding to that category can be recommended to the user to achieve effective information delivery.
[0003] One of the key aspects of artificial intelligence is the selection of the objects to be explored. If the objects are not selected appropriately, it will affect the accuracy of subsequent predictions. Currently, there are cases where the accuracy of object selection is low. Summary of the Invention
[0004] Therefore, it is necessary to provide an object recognition method, apparatus, computer device, and storage medium to address the aforementioned technical problems.
[0005] An object recognition method includes: acquiring a candidate object set; the candidate object set includes multiple candidate objects; acquiring multiple candidate object information of the candidate objects, extracting candidate object features corresponding to each candidate object information, fusing the candidate object features to obtain object extraction features corresponding to the candidate objects, performing object category probability recognition based on the object extraction features to obtain the recognition probability that the candidate objects belong to a target object category; clustering the object extraction features corresponding to the candidate objects to obtain sub-extraction feature sets corresponding to each cluster category, forming a sub-object set by combining the candidate objects corresponding to the object extraction features in the sub-extraction feature sets; and selecting a representative object from the sub-object set based on the recognition probability corresponding to each candidate object in the sub-object set.
[0006] An object recognition device, the device comprising: a candidate object set acquisition module, configured to acquire a candidate object set, the candidate object set including multiple candidate objects; a probability recognition module, configured to acquire multiple candidate object information of the candidate objects, extract candidate object features corresponding to each candidate object information, fuse the candidate object features to obtain object extraction features corresponding to the candidate objects, and perform object category probability recognition based on the object extraction features to obtain the recognition probability that the candidate objects belong to a target object category; a clustering module, configured to cluster the object extraction features corresponding to the candidate objects to obtain sub-extraction feature sets corresponding to each cluster category, and form a sub-object set by combining the candidate objects corresponding to the object extraction features in the sub-extraction feature sets; and a representative object selection module, configured to select a representative object from the sub-object set based on the recognition probability corresponding to each candidate object in the sub-object set.
[0007] In some embodiments, the object extraction features are obtained by feature extraction through an object screening model; the apparatus further includes: an object screening model construction module, configured to obtain seed objects corresponding to the target object category; obtain seed object information corresponding to the seed objects, use the seed object information as training features in the training samples, use the target object category as a label in the training samples, and form the training samples; and perform model training based on the training samples to obtain the object screening model.
[0008] In some embodiments, the probability identification module is further configured to input multiple candidate object information of the candidate object into the feature extraction layer of the object screening model for feature extraction to obtain candidate object features corresponding to each candidate object information; input each candidate object feature into the classification layer of the object screening model so that the classification layer fuses each candidate object feature to obtain object extraction features; and obtain the identification probability of the candidate object belonging to the target object category output by the classification layer after performing object category probability identification on the object extraction features.
[0009] In some embodiments, the clustering module is further configured to obtain feature distances between object extraction features corresponding to different candidate objects; for each object extraction feature, based on each feature distance, determine the number of object extraction features located within the region where each object extraction feature is located, and based on the number, obtain the regional object density of each object extraction feature; select cluster centers based on the regional object density of each object extraction feature, and cluster the object extraction features based on the cluster centers to obtain a sub-extraction feature set corresponding to each cluster category; the candidate objects corresponding to the object extraction features in the sub-extraction feature set constitute the sub-object set.
[0010] In some embodiments, the clustering module is further configured to: determine the neighboring extracted features of the object extracted features among the features whose region object density is greater than the region object density of the object extracted features; use the feature distance between the object extracted features and the neighboring extracted features as the target distance corresponding to the object extracted features; and select cluster centers based on the region object density of the object extracted features and the target distance corresponding to the object extracted features.
[0011] In some embodiments, the clustering module is further configured to: obtain current object extraction features for which a clustering category to be determined; obtain cluster centers whose region object density is greater than the region object density of the current object extraction features, as candidate cluster centers corresponding to the current object extraction features; form a candidate center set by the candidate cluster centers corresponding to the current object extraction features; select neighboring cluster centers corresponding to the current object extraction features from the candidate center set based on the distance between the current object extraction features and the candidate cluster centers, and add the current object extraction features to the sub-extraction feature set corresponding to the neighboring cluster centers.
[0012] In some embodiments, the representative object selection module is further configured to obtain candidate objects whose identification probability satisfies the probability condition from the sub-object set, as the corresponding representative objects in the sub-object set; the probability condition includes at least one of the identification probability being greater than the probability threshold or the probability being ranked before the first ranking threshold.
[0013] In some embodiments, the apparatus further includes a second set processing module, configured to determine the training gradient influence of each candidate object on the object recognition model based on the recognition probability of the candidate object belonging to the target object category, wherein the training gradient influence is positively correlated with the recognition probability; and to select candidate objects that meet the influence condition from the candidate object set based on the training gradient influence of each candidate object on the object recognition model, and to add the candidate objects that meet the influence condition to the training sample set; wherein the influence condition includes at least one of the following: the training gradient influence is greater than an influence threshold or the influence ranking is before a second ranking threshold.
[0014] In some embodiments, the apparatus further includes a target object recognition model construction module, configured to select similar first training objects and second training objects from the training sample set, and form an object group from the first training objects and the second training objects; input the training object information corresponding to each training object in the object group into the same feature extraction layer to extract the training object features corresponding to each training object; obtain the object similarity between the training objects in the object group based on the training object features; obtain a model loss value based on the object similarity; the model loss value is negatively correlated with the object similarity; and train the object recognition model based on the model loss value to obtain the target object recognition model.
[0015] In some embodiments, the device further includes an object information processing module, configured to: acquire object information categories; acquire a time dimension set and information statistical angle corresponding to the object information category for the training object, wherein the time dimension set includes multiple information statistical time dimensions; acquire object information statistical values corresponding to the training object based on the information statistical angle in each of the information statistical time dimensions; the object information statistical values are the information statistical values corresponding to the object information category; aggregate the object information statistical values corresponding to each of the information statistical time dimensions in the time dimension set, and use the aggregated object information as the training object information corresponding to the training object.
[0016] In some embodiments, the object information processing module is further configured to obtain a comprehensive information statistical value based on the object information statistical values corresponding to each of the information statistical time dimensions in the time dimension set; determine the statistical value difference between each of the object information statistical values and the comprehensive information statistical value; obtain the statistical value dispersion corresponding to the time dimension set based on the statistical value difference; and use the statistical value dispersion as the training object information corresponding to the training object; the statistical value dispersion is positively correlated with the statistical value difference.
[0017] A computer device includes a memory and a processor, the memory storing a computer program and the processor performing the above-described method.
[0018] A computer-readable storage medium having a computer program stored thereon, the computer program being executed by a processor using the methods described above.
[0019] A computer program product includes a computer program that, when executed by a processor, implements the above-described method.
[0020] The aforementioned object recognition method, apparatus, computer equipment, and storage medium acquire a candidate object set; the candidate object set includes multiple candidate objects; acquire multiple candidate object information of the candidate objects, extract candidate object features corresponding to each candidate object information, fuse the candidate object features to obtain object extraction features corresponding to the candidate objects, perform object category probability recognition based on the object extraction features, and obtain the recognition probability that the candidate object belongs to the target object category; cluster the object extraction features corresponding to the candidate objects to obtain sub-extraction feature sets corresponding to each cluster category, and form a sub-object set by combining the candidate objects corresponding to the object extraction features in the sub-extraction feature sets; and select representative objects from the sub-object sets based on the recognition probability corresponding to each candidate object in the sub-object sets. By extracting features from candidate object information, object extraction features are obtained. Since candidate objects are clustered based on their object extraction features, objects belonging to the same category can be grouped into the same sub-object set. Since the probability of a candidate object belonging to the target object category is obtained based on its object extraction features, representative objects selected from each sub-object set based on the probability of the candidate object's recognition can be selected from sub-object sets belonging to the same category, thus improving the accuracy of object recognition. Attached Figure Description
[0021] Figure 1(a) shows the application environment of the object recognition method in some embodiments;
[0022] Figure 1(b) shows the application environment of the object recognition method in some embodiments;
[0023] Figure 2 This is a flowchart illustrating the object recognition method in some embodiments;
[0024] Figure 3 This is a flowchart illustrating the object recognition method in some embodiments;
[0025] Figure 4 This is a processing architecture diagram of the object recognition method in some embodiments;
[0026] Figure 5 This is a schematic diagram of the offline processing flow of the object recognition method in some embodiments;
[0027] Figure 6 This is a schematic diagram of the online processing flow of the object recognition method in some embodiments;
[0028] Figure 7 This is a comparison chart of the model performance of different models for user property status identification in some embodiments;
[0029] Figure 8This is a comparison chart showing the service performance of different models for user property status identification in some embodiments;
[0030] Figure 9 This is a structural block diagram of the object recognition device in some embodiments;
[0031] Figure 10 This is a diagram showing the internal structure of a computer device in some embodiments. Detailed Implementation
[0032] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0033] In this application, the reference to "embodiment" means that a specific feature, structure, or characteristic described in connection with an embodiment may be included in at least some of the embodiments of this application. The appearance of this phrase in various places in the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment that is mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described in this application can be combined with other embodiments.
[0034] 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.
[0035] 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, as well as machine learning, autonomous driving, and intelligent transportation.
[0036] 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.
[0037] Deep learning (DL) is a new research direction in the field of machine learning, bringing it closer to its original goal—artificial intelligence. Deep learning primarily learns the inherent patterns and hierarchical representations of sample data. The information gained during this learning process greatly aids in interpreting data such as text, images, and sound. Its ultimate goal is to enable machines to possess analytical and learning capabilities like humans, capable of recognizing data such as text, images, and sound. Deep learning is a complex machine learning algorithm, and its performance in speech and image recognition far surpasses previous related technologies.
[0038] With the research and advancement of deep learning technology, it has been studied and applied in many fields. One such application is the use of deep learning models to segment and classify users, enabling intelligent marketing. For example, based on the prediction results of a user's property status using a deep learning model, it can intelligently determine whether to push content related to buying a house to the user; another example is the prediction results of a user's car purchase status using a deep learning model, which can intelligently determine whether to push content related to buying a car to the user; yet another example is the prediction results of a user's rental status using a deep learning model, which can intelligently determine whether to push content related to renting to the user.
[0039] Among them, the user's property status refers to whether the user currently owns property, that is, whether the user has bought a house. If the deep learning model outputs a higher prediction probability for the user's property status, the higher the probability that the user owns property. In this case, content related to buying a house can not be pushed to the user. If the deep learning model outputs a lower prediction probability for the user's property status, the lower the probability that the user owns property. In this case, content related to buying a house can be pushed to the user.
[0040] User car purchase status refers to whether the user currently owns a vehicle, i.e., whether the user has purchased a car. If the deep learning model outputs a higher predicted probability of the user's car purchase status, the higher the probability that the user owns a vehicle. In this case, content related to buying a car may not be pushed to the user. If the deep learning model outputs a lower predicted probability of the user's car purchase status, the lower the probability that the user owns a vehicle. In this case, content related to buying a car may be pushed to the user.
[0041] A user's rental status refers to whether the user has already rented a place. If the deep learning model outputs a higher probability prediction of the user's rental status, the probability that the user has already rented a place is higher, and in this case, rental-related content should not be pushed to the user. If the deep learning model outputs a lower probability prediction of the user's rental status, the probability that the user has already rented a place is lower, and rental-related content can be pushed to the user.
[0042] The solutions provided in this application involve deep learning technology in artificial intelligence, which can be applied to scenarios such as cloud technology, cloud security, artificial intelligence, and smart transportation. The user information (including but not limited to user device information, user behavior information, etc.) and data (including but not limited to data used for display, data used for analysis, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Correspondingly, this application also provides a corresponding user authorization entry point for users to choose to authorize or refuse.
[0043] The object identification method provided in this application can be executed by a local computing device / system or by a distributed computing system. A distributed computing system can be, for example, a server cluster consisting of multiple physical servers, or a system consisting of terminal devices and servers. The computing mode used by the distributed computing system can be cloud computing, which distributes computing tasks across a resource pool composed of a large number of computers, enabling various application systems to obtain computing power, storage space, and information services as needed. The network providing these resources is called the "cloud." From the user's perspective, resources in the "cloud" are infinitely scalable, readily available, on-demand, expandable, and pay-as-you-go.
[0044] As a provider of fundamental cloud computing capabilities, a cloud resource pool (referred to as a cloud platform, generally called an IaaS (Infrastructure as a Service) platform) is established. Various types of virtual resources are deployed in the resource pool for external customers to choose from. The cloud resource pool mainly includes: computing devices (virtualized machines containing operating systems), storage devices, and network devices.
[0045] Based on logical function, a PaaS (Platform as a Service) layer can be deployed on top of the IaaS (Infrastructure as a Service) layer, and a SaaS (Software as a Service) layer can be deployed on top of the PaaS layer. Alternatively, SaaS can be deployed directly on top of IaaS. PaaS is a platform for running software, such as databases and web containers. SaaS refers to various types of business software, such as web portals and bulk SMS senders. Generally speaking, SaaS and PaaS are upper layers compared to IaaS.
[0046] The object recognition method provided in this application can be used to predict whether a user is in a state of owning property, owning a vehicle, or renting a house, thereby achieving accurate prediction of a user's property status, vehicle ownership status, and rental status, recommending information of interest to the user, and improving the effectiveness of information delivery.
[0047] As shown in Figure 1(a), the object recognition method provided in this application mainly includes: extracting features from multiple users, such as users A, B, C, D, and E, to obtain object extraction features for each user, such as feature a of user A, feature b of user B, feature c of user C, feature d of user D, and feature e of user E; then, based on the object extraction features of each user, determining the recognition probability of the user belonging to the target object recognition category, such as the recognition probability of user A belonging to the target object recognition category being P. A The probability of user B belonging to the target object category is P. B The probability of user C belonging to the target object category is P. C The probability of user D belonging to the target object category is P. D And the probability of user E belonging to the target object category is P. E Furthermore, users are clustered based on the object extraction features of each user to obtain multiple user sets. For each user set, representative users are selected from each user set according to the probability that the users in the user set belong to the target object category. These representative users are added to the training sample set, and the target object recognition model is constructed using the training sample set. The target object recognition model is then used to predict whether a user belongs to the target object category.
[0048] This application also provides an object recognition method, as shown in Figure 1(b). This method mainly includes: obtaining a small number of seed users based on manual annotation and business logic; constructing an object screening model based on these seed users; iterating the object screening model through multiple rounds of processing on other users to obtain object extraction features and recognition probability for a large number of users; then, clustering the large number of users based on their object extraction features to obtain multiple user sets; selecting representative users from each user set according to their recognition probability; adding these representative users to a training sample set; training the model using the training sample set to obtain a target object recognition model; and using this target object recognition model to predict whether a user belongs to the target object category. The following is a detailed explanation in conjunction with Figure 1 and... Figure 2 This application introduces an object recognition method that can be applied to computer devices such as servers, and mainly includes the following steps:
[0049] Step S202: Obtain the candidate object set.
[0050] In this context, "object" refers to a user belonging to a category. For example, if the category is "whether or not they own property," then the object belongs to either "owning property" or "not owning property." Similarly, if the category is "whether or not they own a vehicle," then the object belongs to either "owning a vehicle" or "not owning a vehicle." Candidate objects are those to be selected for model training. Representative objects are chosen from the candidate object set for model training. For example, users A, B, C, D, and E are shown in Figure 1. Multiple candidate objects form a candidate object set; that is, the candidate object set includes at least two candidate objects.
[0051] In this embodiment of the application, the computer device can obtain a set of candidate objects in response to a sample selection instruction. This set of candidate objects can be carried in the sample selection instruction or can be pre-stored.
[0052] Step S204: Obtain multiple candidate object information for the candidate object, extract the candidate object features corresponding to each candidate object information, fuse the candidate object features to obtain the object extraction features corresponding to the candidate object, and perform object category probability identification based on the object extraction features to obtain the probability of the candidate object belonging to the target object category.
[0053] The object information refers to information related to the object, such as at least one of the following: user gender information, user device information, or information about the network to which the user device is connected. The user device may include a smartwatch, mobile phone, or laptop used by the user. The device information may include at least one of the following: device resolution, or the number of cores in the device's central processing unit (CPU). If the user device has internet access capability, the network to which the user device is connected may include WiFi (Wireless Fidelity) or a mobile network; if the user device is connected to WiFi, the information about the network to which the user device is connected may include at least one of the following: the earliest time of day the user connects to WiFi, or the number of different WiFi networks connected.
[0054] If an object is to be selected for model training, and that object is a candidate object, then the information about that object can be called candidate object information.
[0055] Candidate object features are features obtained by extracting features from candidate object information. Since candidate object information can be divided into multiple types (i.e., multiple dimensions), such as the candidate object's gender information, the candidate object's device information, and the network information connected to the candidate object's device, different candidate object features can be obtained by extracting features from different candidate object information. For example, features obtained by extracting features from the candidate object's gender information, and features obtained by extracting features from the candidate object's device information.
[0056] Object extraction features are features obtained by fusing features from multiple candidate objects. For example, feature extraction of user A's gender information, device information, and network information connected to the device is feature a. x a y and a z Then we can do a x a y and a z By merging, we obtain a r Based on a r Extract features from the object.
[0057] Among them, the method of fusing candidate object features can be to a x a y and a z To sum and take the average, you can also use a... x a y and a z Summation can also be performed on a x a y and a zThe weighted summation is then averaged. Alternatively, these features can be further processed by inputting them into a fully connected layer to obtain a fused feature set.
[0058] The fused candidate object features can be candidate object features of all dimensions; correspondingly, the number of feature values included in the obtained object extraction features is one. For example, if a candidate object has p-dimensional candidate object features (a... 1 a 2 a 3 , ..., a p If so, then the features of these p-dimensional candidate objects can be fused to obtain a. r The feature value used as the feature of an object extraction feature is one feature value.
[0059] The fused candidate object features can also be partial-dimensional candidate object features; correspondingly, the number of feature values included in the obtained object extraction features is greater than one. For example, if a candidate object has q-dimensional candidate object features (a... 1 a 2 a 3 , ..., a q If so, then we can focus only on the candidate object feature a. 1 a 2 and a 3 To perform fusion, the resulting a r The features of the extracted object are concatenated with those of other candidate objects that have not been fused to obtain the feature values of the extracted object features. The extracted object features include at least one feature value.
[0060] In this step, multiple candidate object information can be obtained, and feature extraction can be performed on each candidate object information to obtain the candidate object features corresponding to each candidate object information. These candidate object features are then fused to obtain the object extraction features of the candidate object, as shown in Figure 1: object extraction feature a for user A, object extraction feature b for user B, object extraction feature c for user C, object extraction feature d for user D, and object extraction feature e for user E. Each object extraction feature includes at least one feature value, denoted as [a...]. 1 a 2 a 3 , ..., a n ]、[b 1 b 2 b 3 , ..., b n ]、[c 1 c 2 c 3 c n ]、[d 1 d2 d 3 , ..., d n ]、[e 1 e 2 e 3 , ..., e n ].
[0061] The user's category can be called the object category. If this object category is the category to be predicted, then it can be called the target object category. For example, in the object categories "whether or not one owns property" and "whether or not one owns a vehicle," if the category to be predicted is "whether or not one owns property," then "whether or not one owns property" can be considered the target object category. The target object category is the category that the object recognition model to be trained is to recognize.
[0062] The likelihood of identification is the probability that a user belongs to a target object category. A higher likelihood of identification means a greater chance that the user belongs to that category; conversely, a lower likelihood of identification means a smaller chance that the user belongs to that category.
[0063] For example, given the features a of user A, b of user B, c of user C, d of user D, and e of user E, since each feature describes the corresponding user, analyzing feature a, feature b of user B, feature c of user C, feature d of user D, and feature e of user E respectively, we can determine the likelihood of user A belonging to the target object category as P. A The probability of user B belonging to the target object category is P. B The probability of user C belonging to the target object category is P. C The probability of user D belonging to the target object category is P. D And the probability of user E belonging to the target object category is P. E For example, the extracted features of each candidate object can be input into the classification layer of the object selection model, and the classification layer can output the probability of the candidate object belonging to the target object category.
[0064] Step S206: Cluster the object extraction features corresponding to the candidate objects to obtain the sub-extraction feature sets corresponding to each cluster category, and form a sub-object set by combining the candidate objects corresponding to the object extraction features in the sub-extraction feature sets.
[0065] Clustering the object extraction features corresponding to each candidate object mainly involves grouping similar candidate objects together and separating dissimilar candidate objects. Since candidate objects are described by object extraction features, this clustering is a clustering of the object extraction features of each candidate object. The set of object extraction features corresponding to multiple candidate objects that are grouped together can be regarded as a sub-extraction feature set. Candidate objects corresponding to the object extraction features in the same sub-extraction feature set form a sub-object set. For example, the object extraction features of users A, E, and C are grouped into the same sub-extraction feature set, and users A, E, and C form a sub-object set.
[0066] Furthermore, the similarity between candidate objects belonging to the same sub-object set is greater than the similarity between candidate objects belonging to different sub-object sets. For example, if users A, E, and C belong to the same sub-object set, and users B and D belong to the same sub-object set, then the similarity between users A and E is greater than the similarity between users A and B, and the similarity between users E and C is greater than the similarity between users E and D.
[0067] The above clustering can be achieved using the K-means algorithm or the density peak clustering algorithm (DPC).
[0068] Step S208: Based on the recognition probability of each candidate object in the sub-object set, select a representative object from the sub-object set.
[0069] Among them, the representative object corresponding to the sub-object set is the most representative candidate object among all the candidate objects in the sub-object set, and the representative object can represent the candidate objects in the sub-object set; the number of representative objects selected from a sub-object set can be one or more, and the number of representative objects selected is determined according to the set probability conditions.
[0070] For example, after obtaining a set of sub-objects including users A, C, and E, user A is selected as the representative object based on the recognition probability of each user; similarly, after obtaining a set of sub-objects including users B and D, user D is selected as the representative object based on the recognition probability of each user. Furthermore, after obtaining a set of sub-objects including users A, C, and E, users A and E are selected as the representative objects based on the recognition probability of each user.
[0071] In some embodiments, this step may specifically include the following steps: obtaining candidate objects whose identification probability satisfies the probability condition from the sub-object set, and using them as the corresponding representative objects in the sub-object set. The probability condition includes at least one of the following: identification probability greater than a probability threshold or probability ranking before a first ranking threshold. These two probability conditions are described in detail below:
[0072] (1) The probability condition includes recognizing a probability greater than the probability threshold:
[0073] Under this probability condition, candidate objects in the sub-object set whose recognition probability is greater than the probability threshold can be used as representative objects.
[0074] In this embodiment, the representative object of each sub-object set is determined by using a probability threshold to ensure the normal selection of the representative object and obtain the training sample set used to construct the target category recognition model, thereby ensuring the prediction accuracy of the target category recognition model.
[0075] In some scenarios, the same probability threshold can be used to select corresponding candidate objects from each sub-object set. However, in some scenarios, the probability threshold of all candidate objects included in certain sub-object sets is less than the probability threshold. In this case, the probability threshold cannot be used to select the representative object of the sub-object set, resulting in the sub-object set being missed.
[0076] To avoid the problem of omissions caused by the inability to select representative objects for certain sub-object sets, in some embodiments, multiple levels of probability thresholds can be set, such as high-level probability thresholds, medium-level probability thresholds, and low-level probability thresholds. When a representative object in a sub-object set cannot be selected according to the current level of probability threshold, a lower probability threshold can be used to select a representative object in that sub-object set again.
[0077] For example, if a representative object of the sub-object set including users A, C, and E cannot be selected using a high-level probability threshold, then a representative object of the sub-object set is selected again using a medium-level probability threshold; if a representative object of the sub-object set still cannot be selected using a medium-level probability threshold, then a representative object of the sub-object set is selected using a low-level probability threshold.
[0078] In the above scenario, if it is impossible to select a representative object for the sub-object set including users A, C, and E using the set probability thresholds for each level, then to ensure that the sub-object set is not missed, the candidate object with the highest recognition probability in the sub-object set can be used as the representative object of the sub-object set. Alternatively, the candidate objects with the highest recognition probability (such as the first 3 or the first 5) in the sub-object set can be used as the representative objects in descending order of recognition probability.
[0079] (2) The possibility condition includes the possibility ranking before the first ranking threshold:
[0080] Among them, the probability ranking is the sorting of the probability of identification from large to small; the first ranking threshold can be 3, 5 or other values.
[0081] For example, for a sub-object set including users A, C, and E, sorting the candidate objects by their recognition probability from highest to lowest, we can obtain the recognition probability of user A > recognition probability of user E > recognition probability of user C. If the first sorting threshold is 2, then user A and user E can be used as representative objects of this sub-object set.
[0082] In this embodiment, the representative object of each sub-object set is determined by ranking the likelihood, ensuring the proper selection of the representative object and obtaining the training sample set for constructing the target category recognition model, thus ensuring the prediction accuracy of the target category recognition model.
[0083] In some embodiments, after obtaining the representative object, the representative object can be added to the training sample set; the training sample set is used for model training to train a target object recognition model that identifies the target object category.
[0084] The samples in the training sample set are used for model training. For example, during training, the object information corresponding to the objects in the training samples can be obtained as object features, and the object category corresponding to the objects in the training samples can be obtained as object labels. Supervised training is performed based on the object features and object labels to obtain the target object recognition model.
[0085] Among them, the target object recognition model can include support vector machines (SVM), convolutional neural network (CNN), long short-term memory network (LSTM), or real-time attention based look-alike model (RALM).
[0086] The Real-time Attention based Look-alike Model (RALM) is a look-alike model based on similarity, which includes two parts: "user representation learning" and "look-alike model learning".
[0087] 1) The RALM model employs a dual-tower structure. The input on the left is the seed user's embedding vector, and the input on the right is the target user's embedding vector. Both embeddings are mapped to a lower-dimensional space through a fully connected (FC) layer. Since the target user's embedding vector on the right is learned from user representations, the first FC layer of the dual towers is shared to prevent overfitting. After the FC layer, the left tower obtains the embeddings corresponding to each cluster. These cluster embeddings and the target user's embedding are then input into the Global Attention Unit and Local Attention Unit, respectively, to obtain the Global Embedding and Local Embedding.
[0088] 2) Iterative training phase of the RALM model. During backpropagation, because the value of User Embedding may change, clustering must be re-performed after each iteration to ensure that the seed user cluster's Embedding and User Embedding remain synchronized.
[0089] 3) Compared to other models, RALM has two advantages:
[0090] a) Improved the performance of "user representation learning". For the problem of multi-field user interest representation learning, RALM introduces a deep interest network with an "Attention Merge Layer", which solves the overfitting and noise problems caused by strongly correlated features and weakly correlated features, respectively.
[0091] (b) Improved robustness and adaptability of seed users in representation learning. Global attention units are used to learn the global representation of seed users. These units weight the representation of individual users and penalize noisy users, making it more robust than weighting all users equally. Local attention units are used to learn the local representation of seed users, weighting it based on the relevance between seed users and target users. Local attention units dynamically learn the representation of seed users based on the target users; the learned seed user representation differs for different target users, significantly enhancing the expressive power of the seed user representation.
[0092] 4) Training RALM: The RALM model involves a clustering process, which requires iteration and is relatively time-consuming. The number of cluster centers directly affects the clustering effect. In the scenario of predicting user property status, an online cluster center count of 50-80 is optimal.
[0093] In this step, multiple models can be trained in parallel, and the model with the best classification performance is selected. The parameters of this best-performing model are then fine-tuned. Evaluation metrics for model classification performance can include AUC (Area Under Curve). A higher AUC value indicates a greater likelihood that the model will prioritize positive samples over negative samples, resulting in better classification. Parameter tuning involves performing grid-based optimization on the selected model's hyperparameters to improve the AUC metric.
[0094] In the above object recognition method, feature extraction is performed on candidate object information to obtain object extraction features. Since each candidate object is clustered based on its object extraction features, objects belonging to the same category can be grouped into the same sub-object set. Since the recognition probability of a candidate object belonging to the target object category is obtained based on its object extraction features, representative objects selected from each sub-object set based on the recognition probability of the candidate object can be selected from the sub-object sets belonging to the same category, thus improving the accuracy of object recognition.
[0095] When training the target object recognition model in the future, representative objects can be used as training samples to extract more samples for model training from the massive amount of samples, thereby improving the accuracy of the target object recognition model in classifying users.
[0096] In some embodiments, object extraction features are obtained through feature extraction using an object selection model. The steps for obtaining the object selection model include: obtaining seed objects corresponding to the target object category; obtaining seed object information corresponding to the seed objects, using the seed object information as training features in the training samples, and using the target object category as the label in the training samples to form training samples; and training the model based on the training samples to obtain the object selection model.
[0097] For objects whose categories are not labeled, they can be labeled by manual or automatic labeling. If the accuracy of manual and automatic labeling is high and the labeling results are reliable, the labeled objects can be regarded as objects with high confidence. These objects with high confidence can be called seed objects.
[0098] In some scenarios, negative samples (objects that do not belong to the target object category) are relatively easy to obtain, while positive samples (objects that belong to the target object category) are more difficult to obtain. In this case, the seed object can be an object among the objects with high confidence that is labeled as belonging to the target object category.
[0099] The object information of this seed object can be called seed object information. For a detailed description of the object information, please refer to the description of the object information corresponding to step S204. It will not be repeated here.
[0100] The object selection model is used to predict the probability that an unlabeled object belongs to the target object category. This process can be regarded as the process of labeling unlabeled objects. The object selection model can be a DeepFM model or an FM model.
[0101] In this step, a seed object with high confidence is used to build an object selection model. When the seed object is a positive sample, the seed object information can be used as the feature of the training sample for the object selection model. The category to which the seed object belongs is used as the label in the training sample to form a training sample. The training sample is then used to train the model to obtain the object selection model.
[0102] In this embodiment, a seed object is used to build an object screening model. Since the seed object has a high confidence level in belonging to the target object category, the accuracy of the object screening model in predicting that other objects belong to the target object can be improved.
[0103] In some embodiments, the steps of obtaining multiple candidate object information and extracting candidate object features corresponding to each candidate object information may specifically include: inputting multiple candidate object information into the feature extraction layer of an object screening model for feature extraction to obtain candidate object features corresponding to each candidate object information. The steps of fusing the features of each candidate object to obtain object extraction features corresponding to the candidate object, and performing object category probability identification based on the object extraction features to obtain the probability of a candidate object belonging to the target object category may specifically include: inputting each candidate object feature into the classification layer of an object screening model so that the classification layer fuses the features of each candidate object to obtain object extraction features; and obtaining the probability of a candidate object belonging to the target object category output by the classification layer after performing object category probability identification on the object extraction features.
[0104] The object selection model can include a feature extraction layer and a classification layer. The feature extraction layer mainly extracts deep features to describe the object. The feature extraction layer can be a convolutional layer, and the features extracted by the feature extraction layer can be called object features (if the object information input to the feature extraction layer is candidate object information, then the object feature can be called candidate object feature) or deep features. The classification layer mainly fuses the deep features extracted by the feature extraction layer to obtain object extraction features, and determines the category to which the object belongs based on the object extraction features, and determines the probability of the object belonging to the target object category. Specifically, it can be a fully connected layer.
[0105] For example, a computer device can input user A's gender information, device information, and network information to which the device is connected into the feature extraction layer of an object screening model for feature extraction, thereby obtaining the candidate object features corresponding to each candidate object information; then, the computer device inputs each candidate object feature into the classification layer of the object screening model, so that the classification layer fuses the candidate object features to obtain the object extraction features of user A, and the classification layer performs object category probability identification based on the object extraction features of user A to obtain the probability of user A belonging to the target object category.
[0106] In this embodiment, for candidate objects whose categories are not labeled, an object screening model based on seed objects is used to predict whether these candidate objects belong to the target object category, thereby obtaining more samples needed for training the target object recognition model and improving the prediction accuracy of the target object recognition model.
[0107] In some embodiments, the steps of clustering the object extraction features corresponding to candidate objects to obtain sub-extraction feature sets corresponding to each cluster category, and forming a sub-object set by combining the candidate objects corresponding to the object extraction features in the sub-extraction feature sets, specifically include: obtaining the feature distance between object extraction features corresponding to different candidate objects; for each object extraction feature, determining the number of object extraction features located in the region where each object extraction feature is located based on each feature distance, and obtaining the regional object density of each object extraction feature based on the number; selecting cluster centers based on the regional object density of each object extraction feature, and clustering the object extraction features based on the cluster centers to obtain a sub-extraction feature set corresponding to each cluster category; and forming a sub-object set by combining the candidate objects corresponding to the object extraction features in the sub-extraction feature sets.
[0108] Here, feature distance is the distance between the extracted features of different candidate objects. For example, if we calculate the extracted features of two objects, user A and user B, [a...] 1 a 2 a 3 , ..., a n ] and [b 1 b 2 b 3 , ..., b n The distance between ], then the feature distance can be
[0109] The region containing the object extraction feature is the region surrounding the object extraction feature. The region surrounding the object extraction feature can be a region within a preset radius centered on the object extraction feature.
[0110] This embodiment calculates the regional object density of the object extraction features of each candidate object. Taking the calculation of the regional object density of user A's object extraction features as an example: After obtaining the feature distance between user A's object extraction features and the object extraction features of other users, if it is determined that the feature distance between user C's object extraction features and user A's object extraction features is less than the preset radius, then user C's object extraction features can be considered to be located within the region of the preset radius centered on user A's object extraction features. Following the above method, it can be determined whether the object extraction features of other users are located within the region of the preset radius centered on user A's object extraction features. Then, if it is determined that user C's object extraction features and user D's object extraction features are located within the region of the preset radius centered on user A's object extraction features, then the number of object extraction features located within the region of the preset radius centered on user A's object extraction features is 2, and this number is taken as the regional object density of user A's object extraction features.
[0111] Similarly, the regional object density of the object extraction features of users B, C, D, and E can be determined in the above manner. Before clustering, if the regional object density of the object extraction features of users A and E is relatively large, then the object extraction features of users A and E can be used as cluster centers, and the object extraction features of users B, C, and D can be clustered based on these two cluster centers. If, in the obtained clustering results, the object extraction features of users A, C, and D are grouped together to form corresponding sub-feature sets, and the object extraction features of users B and E are grouped together to form corresponding sub-feature sets, then users A, C, and D can be grouped together to form corresponding sub-object sets, and users B and E can be grouped together to form corresponding sub-object sets.
[0112] In this embodiment, the regional object density of each object's extracted features is determined based on the feature distance between the extracted features of different candidate objects, and cluster centers are selected according to the regional object density, which can improve the accuracy of clustering.
[0113] In some embodiments, the steps of selecting cluster centers based on the regional object density of each object's extracted features, and clustering the object extracted features based on the cluster centers to obtain a set of sub-extracted features corresponding to each cluster category, may specifically include the following steps: among the features where the regional object density is greater than the object extracted feature's density, determining the neighboring extracted features of the object extracted feature; using the feature distance between the object extracted feature and the neighboring extracted features as the target distance corresponding to the object extracted feature; and selecting cluster centers based on the regional object density of the object extracted feature and the target distance corresponding to the object extracted feature.
[0114] Features with a region object density greater than the extracted object feature refer to other extracted object features whose region object density is greater than the extracted feature of the target object. Neighborhood extracted features refer to the extracted object feature with the smallest feature distance from the extracted target object feature among other extracted object features whose region object density is greater than the extracted feature of the target object.
[0115] This application embodiment can select cluster centers by combining the regional object density and target distance of object extraction features. For example, to calculate the target distance of object extraction features for user C: if the regional object density of object extraction features for user A and user E is greater than the regional object density of object extraction features for user C, and the feature distance |AC| between object extraction features of user A and user C is less than the feature distance |EC| between object extraction features of user E and user C, then object extraction features of user A can be considered as neighboring object extraction features of user C, and the feature distance |AC| between object extraction features of user A and user C can be used as the target distance for user C.
[0116] After obtaining the target distance of each user's object extraction features in the manner described above, the object extraction features with larger regional object density and target distance can be used as cluster centers.
[0117] In the above embodiments, the target distance is determined based on the object extraction features that are adjacent to the object extraction features of the candidate object, and the cluster center is selected by combining the target distance and the regional object density, which can improve the accuracy of clustering.
[0118] In some embodiments, the step of clustering object extracted features based on cluster centers to obtain a set of sub-extracted features corresponding to each cluster category may specifically include the following steps: obtaining the current object extracted features of the cluster category to be determined; obtaining the cluster centers of regions with object density greater than that of the current object extracted features as candidate cluster centers corresponding to the current object extracted features; selecting the neighboring cluster centers corresponding to the current object extracted features from the candidate center set based on the distance between the current object extracted features and the candidate cluster centers, and adding the current object extracted features to the set of sub-extracted features corresponding to the neighboring cluster centers.
[0119] In this set, the candidate cluster centers corresponding to the current object extraction features form a candidate center set. For example, the current object extraction feature is the object extraction feature of user F, and the cluster centers include the object extraction features of user G, user I, user K, and user J. Among the object extraction features of each user included in the cluster centers, the regional object density of the object extraction features of user I and user K is greater than that of user F, while the regional object density of the object extraction features of user G and user J is less than that of user F. Therefore, the object extraction features of user I and user K can be used as candidate cluster centers corresponding to the object extraction features of user F, and a candidate center set can be formed.
[0120] The nearest distance center refers to the cluster center with the smallest feature distance to the extracted features of the current object among the candidate center set corresponding to the extracted features of the current object.
[0121] Among the two candidate cluster centers, the object extraction features of user I and the object extraction features of user K, if the feature distance between the object extraction features of user F and the object extraction features of user I is less than the feature distance between the object extraction features of user F and the object extraction features of user K, then the object extraction features of user I can be used as the nearest cluster center of the object extraction features of user F, and the object extraction features of user F can be assigned to the sub-feature set corresponding to user I.
[0122] In this embodiment, for the current object extracting features whose clustering category is to be determined, candidate cluster centers of the current object extracting features are determined based on the regional object density, and neighboring cluster centers are determined based on the distance between the current object extracting features and the candidate cluster centers. Then, the current object extracting features are divided into the corresponding sub-extracting feature sets to improve the accuracy of clustering.
[0123] In some embodiments, the object recognition method provided in this application further includes: determining the influence degree of each candidate object on the training gradient of the object recognition model based on the recognition probability of the candidate object belonging to the target object category; selecting candidate objects that meet the influence degree conditions from the candidate object set based on the influence degree of each candidate object on the training gradient of the object recognition model; and adding the candidate objects that meet the influence degree conditions to the training sample set.
[0124] Among them, the training gradient influence is the degree of gradient change during the training process of the object recognition model. The training gradient influence is positively correlated with the recognition probability. That is, the greater the recognition probability that the candidate object belongs to the target object category, the greater the gradient change when the object recognition model is trained using the candidate object.
[0125] Influence conditions include either the training gradient influence being greater than an influence threshold or the influence ranking being at least one of the following two cases:
[0126] (1) The influence condition includes the training gradient influence being greater than the influence threshold:
[0127] For all candidate objects included in the candidate object set, the influence of each candidate object on the training gradient of the object recognition model is determined based on the recognition probability of each candidate object, and candidate objects whose training gradient influence is greater than the influence threshold are added to the training sample set.
[0128] (2) The influence condition includes the influence ranking before the second ranking threshold:
[0129] For all candidate objects included in the candidate object set, the influence of each candidate object on the training gradient of the object recognition model is determined based on the recognition probability of each candidate object; the candidate objects are sorted in descending order of training gradient influence, and the candidate objects with the highest training gradient influence are added to the training sample set.
[0130] In this embodiment, based on selecting representative objects from each set of sub-objects, the corresponding training gradient influence is determined by combining the recognition probability of each candidate object belonging to the target object category, and candidate objects that meet the influence condition are selected as training samples. This achieves a dual strategy of "most representative" and "most recognizable" in selecting training samples, thereby improving the accuracy of model prediction.
[0131] In some embodiments, the step of obtaining a target object recognition model includes: selecting similar first training objects and second training objects from a training sample set, and forming an object group from the first training objects and the second training objects; inputting the training object information corresponding to each training object in the object group into the same feature extraction layer to extract the training object features corresponding to each training object; obtaining the object similarity between the training objects in the object group based on the training object features; obtaining the model loss value based on the object similarity; the model loss value is negatively correlated with the object similarity; and training the object recognition model based on the model loss value to obtain a target object recognition model.
[0132] The object information of the training objects can be referred to as training object information. For a description of object information, please refer to step S204 above. The model loss value is negatively correlated with object similarity; for example, the larger the model loss value, the greater the object similarity, and vice versa.
[0133] When the target object recognition model is a RALM model, since the RALM model adopts a dual-tower structure, it can select similar first and second training objects from the training sample set to form an object group. Then, the object information of the first and second training objects is input into the same feature extraction layer to complete the mapping from high-dimensional space to low-dimensional space. The features extracted by this feature extraction layer (such as embedding features) are used as training object features. Based on the training object features of the first and second training objects, the object similarity between the first and second training objects is obtained. Based on the object similarity, the loss value of the RALM model, which is negatively correlated with the object similarity, is obtained. The object recognition model is trained based on the model loss value to complete the construction of the RALM model and obtain the target object recognition model.
[0134] In the above embodiments, similar training objects are input into the same feature extraction layer to obtain corresponding training object features, and the model is trained based on the model loss value obtained from the similarity between training objects, so as to ensure the prediction accuracy of the constructed target object recognition model.
[0135] In some embodiments, the step of obtaining training object information corresponding to the training object includes: obtaining object information category; obtaining the time dimension set and information statistics angle corresponding to the training object in the object information category; obtaining the object information statistics value corresponding to the training object based on the information statistics angle in each information statistics time dimension; the object information statistics value is the information statistics value corresponding to the object information category; and aggregating the object information statistics value corresponding to each information statistics time dimension in the time dimension set, and using the aggregated object information as the training object information corresponding to the training object.
[0136] The object information used to describe users has different categories, which can be called object information categories, such as the duration of playing games or browsing products. The information statistics time dimension is the time dimension of the statistical object information, representing the length of time corresponding to the statistical information; the time dimension set includes multiple information statistics time dimensions, such as one day, one week, three months, and six months. The information statistics perspective is the unit of time for statistics, such as using days or weeks as units.
[0137] Among them, the statistical value of the object information corresponding to the training object is obtained based on the statistical angle of each statistical time dimension. For example, if the statistical time dimension is one week and the statistical angle is one day, after obtaining the user's game time within one week, the user's game time per day can be determined, and the user's game time per day can be used as the statistical value of the object information, and the statistical value of the object information corresponds to the object information category of game time.
[0138] Similarly, for other information statistics time dimensions, the object information statistics value can also be determined from that information statistics perspective. For example, under the information statistics time dimension of the user's three months of game time, the user's daily game time can be determined.
[0139] In the above method, after obtaining the time dimension set and information statistics angle corresponding to the training object in the object information category, the statistical value of the object information corresponding to the training object obtained based on the information statistics angle in each information statistics time dimension is determined. The statistical values of the object information category of the same object information under different time dimensions are aggregated. The aggregation method can be at least one of the following: calculating the average, calculating the variance, calculating the standard deviation, or summing. Then, the aggregated object information is used as the training object information corresponding to the training object for model training.
[0140] In this embodiment, since the training object information used for model training is obtained by aggregating the same object information category under different information statistical time dimensions, it can avoid the collinearity caused by stuffing all the values of the same object information under different time dimensions into the model, which leads to poor model performance.
[0141] In some embodiments, the step of aggregating the statistical values of object information corresponding to each statistical time dimension in the time dimension set and using the aggregated object information as the training object information corresponding to the training object may specifically include the following steps: obtaining a comprehensive statistical value based on the statistical values of object information corresponding to each statistical time dimension in the time dimension set; determining the statistical value difference between each object information statistical value and the comprehensive statistical value; obtaining the statistical value dispersion corresponding to the time dimension set based on the statistical value difference, and using the statistical value dispersion as the training object information corresponding to the training object.
[0142] Among them, the comprehensive information statistical value is obtained by statistically analyzing the statistical values of object information, such as the average of multiple object information statistical values. Statistical value difference represents the difference between any object information statistical value and the comprehensive information statistical value; for example, it can be a difference or a ratio. Statistical value dispersion characterizes the degree of dispersion of each object information statistical value and is positively correlated with the statistical value difference. One way to obtain statistical value dispersion based on statistical value difference is to sum the differences of each statistical value and use the sum as the statistical value dispersion. Another way is to sum the squares of each statistical value difference and use the sum as the statistical value dispersion. Yet another way is to sum the squares of each statistical value difference, take the square root of the sum, and use the square root result as the statistical value dispersion.
[0143] For example, suppose there are 3 information statistics time dimensions. Each information statistics time dimension has a corresponding object information statistics value. Then, determine the statistical difference between the object information statistics value of each information statistics time dimension and the comprehensive information statistics value to obtain 3 statistical value differences. Sum the squares of the 3 statistical value differences and take the square root of the result. Use the result of the square root as the statistical value dispersion and use the statistical value dispersion as the training object information corresponding to the training object.
[0144] For example, if the daily game time determined by the statistical time dimension of a user's game time over three months is 3 hours, the daily game time determined by the statistical time dimension of a user's game time over one month is 3.5 hours, and the daily game time determined by the statistical time dimension of a user's game time over one week is 2.5 hours, then the average of 3 hours, 3.5 hours, and 2.5 hours (3 hours) can be used as the comprehensive statistical value. The differences between these game times of 3 hours, 3.5 hours, and 2.5 hours and the comprehensive statistical value (i.e., statistical value differences) can be determined as 0 hours, 0.5 hours, and 0.5 hours, respectively. Based on these differences, the dispersion of 3 hours, 3.5 hours, and 2.5 hours (i.e., statistical value dispersion) can be determined, and the statistical value dispersion can be used as training data for model training.
[0145] In the above embodiments, since the degree of dispersion can represent the magnitude of a user's behavioral changes over a period of time, the model can learn the impact of the magnitude of user behavioral changes on the user category. Therefore, the training object information used for model training is obtained based on the degree of dispersion of the object information statistics, thereby improving the prediction accuracy of the target object recognition model.
[0146] This application also provides an object recognition method that can be applied to scenarios such as cloud technology, cloud security, artificial intelligence, and smart transportation; combined with Figure 3 The steps included in this embodiment are as follows:
[0147] Step S302: Obtain the seed object corresponding to the target object category.
[0148] The user's category can be called the object category. If this object category is the category to be predicted, then it can be called the target object category. For example, in the object categories "whether or not you own property" and "whether or not you own a vehicle," if the category to be predicted is "whether or not you own property," then "whether or not you own property" can be considered the target object category. For objects without category labels, these objects can be labeled manually or automatically. If the accuracy of manual and automatic labeling is high and the labeling results are reliable, then the labeled objects can be considered as objects with high confidence, and these objects with high confidence can be called seed objects.
[0149] Step S304: Obtain the seed object information corresponding to the seed object, use the seed object information as the training feature in the training sample, and use the target object category as the label in the training sample to form a training sample.
[0150] The object information of the seed object can be called seed object information, such as the gender information of the seed object, the device information of the candidate object, and the network information connected to the device of the candidate object. The seed object information is used as the feature describing the seed object to obtain the training features of the training sample. The target object in step S302 above is used as the label of the training sample. The training features and training labels of the training sample are combined to form the training sample.
[0151] Step S306: Train the model based on the training samples to obtain the object selection model.
[0152] This object selection model is primarily used to predict the probability that an unlabeled object belongs to the target object category; in other words, it labels unlabeled objects. This object selection model can be a DeepFM model or an FM model. It can include a feature extraction layer and a classification layer. The feature extraction layer extracts deep-level features to describe the object, while the classification layer fuses these deep-level features to obtain object-extracted features. Based on these object-extracted features, the model determines the category to which the object belongs and thus the probability that the object belongs to the target object category.
[0153] Step S308: Obtain the candidate object set.
[0154] The candidate object set includes unlabeled objects, that is, objects whose category is undetermined; when the computer device responds to the sample selection instruction, it can randomly select a preset number of candidate objects from the multiple unlabeled candidate objects and form a candidate object set.
[0155] Step S310: Input multiple candidate object information into the feature extraction layer of the object screening model for feature extraction to obtain the candidate object features corresponding to each candidate object information.
[0156] Candidate object features are features obtained by extracting features from candidate object information, and can be divided into multiple dimensions. This feature extraction layer can be a convolutional layer, used to extract corresponding features from multiple candidate object information to obtain the candidate object features of each candidate object information.
[0157] Step S312: Input the features of each candidate object into the classification layer of the object screening model so that the classification layer fuses the features of each candidate object to obtain the object extraction features.
[0158] Object extraction features are features obtained by fusing candidate object features in some or all dimensions; the classification layer can be a fully connected layer, used to fuse the features of each candidate object to obtain the object extraction features corresponding to the candidate object.
[0159] Step S314: Obtain the recognition probability of the candidate object belonging to the target object category after the classification layer extracts features from the object and performs object category probability recognition.
[0160] The likelihood of identification is the probability that a user belongs to a target object category. A higher likelihood of identification means a greater chance that the user belongs to that category; conversely, a lower likelihood of identification means a smaller chance that the user belongs to that category.
[0161] After obtaining the object extraction features, the above classification layer performs object category probability identification based on the object extraction features to obtain the probability of the candidate object belonging to the target object category.
[0162] Step S316: Obtain the feature distance between the extracted features of objects corresponding to different candidate objects.
[0163] Feature distance is the distance between the extracted features of different candidate objects. For example, if we calculate the extracted features of two objects, user A and user B, [a...] 1 a 2 a 3 , ..., a n ] and [b 1 b 2 b 3 , ..., b n The distance between ], then the feature distance can be
[0164] For any two candidate objects in the candidate object set, the computer device can determine the feature distance between any two candidate objects according to the above formula.
[0165] Step S318: For each object, extract features, determine the number of object features located within the region where each object's extracted features are located based on the feature distance, and obtain the region object density for each object's extracted features based on the number.
[0166] The region containing the object extraction feature is the region surrounding the object extraction feature. This surrounding region can be a region within a preset radius centered on the object extraction feature. For example, if calculating the regional object density of user A's object extraction feature, after obtaining the feature distances between user A's object extraction feature and the object extraction features of other users, if the computer device determines that the feature distance between user C's object extraction feature and user A's object extraction feature is less than the preset radius, then user C's object extraction feature can be considered to be located within the region within the preset radius centered on user A's object extraction feature. Following this method, it can be determined whether the object extraction features of other users are located within the region within the preset radius centered on user A's object extraction feature. Then, if it is determined that user C's object extraction feature and user D's object extraction feature are located within the region within the preset radius centered on user A's object extraction feature, then the number of object extraction features located within the region within the preset radius centered on user A's object extraction feature is 2, and this number is used as the regional object density of user A's object extraction feature.
[0167] Similarly, the region object density for object extraction features of users B, C, D, and E can be determined in the same way.
[0168] Step S320: Among the features in the region where the object density is greater than the object extraction feature density, determine the neighboring extraction features of the object extraction feature.
[0169] Features whose region object density is greater than the region object density of the extracted object refer to other extracted object features whose region object density is greater than the region object density of the extracted target object feature.
[0170] The nearest neighbor feature is the object extraction feature with the smallest feature distance from other object extraction features in regions with a higher object density than the target object extraction feature.
[0171] For example, if the region object density of the object extraction features of user A and user E is greater than the region object density of the object extraction features of user C, and the feature distance |AC| between the object extraction features of user A and user C is less than the feature distance |EC| between the object extraction features of user E and user C, then the object extraction features of user A can be regarded as the object extraction features that are adjacent to the object extraction features of user C (which can be called the neighboring extraction features).
[0172] Step S322: The feature distance between the extracted features of the object and the extracted features of its neighbors is taken as the target distance corresponding to the extracted features of the object.
[0173] For example, taking the calculation of the target distance of object extraction features of user C as an example: the computer device can also use the feature distance |AC| between the object extraction features of user A and the object extraction features of user C as the target distance of user C.
[0174] Step S324: Select cluster centers based on the regional object density of the extracted object features and the target distance corresponding to the extracted object features.
[0175] After obtaining the target distance of each user's object extraction features in the manner described above, the computer device can use the object extraction features with a large regional object density and target distance as cluster centers.
[0176] Step S326: Obtain the extracted features of the current object whose clustering category is to be determined.
[0177] After selecting a cluster center, the computer device can determine the cluster category to which the object extraction features of other candidate objects in the candidate object set belong, and can select any object extraction feature from the object extraction features of other candidate objects as the current extraction feature.
[0178] Step S328: Obtain the cluster centers of regions where the density of objects in the region is greater than the density of objects extracted from the current object, and use them as candidate cluster centers corresponding to the extracted features of the current object; the candidate cluster centers corresponding to the extracted features of the current object form a candidate center set;
[0179] The candidate cluster centers corresponding to the current object extraction features form a candidate center set. For example, the current object extraction feature is the object extraction feature of user F, and the cluster centers include the object extraction features of user G, user I, user K, and user J. Among the object extraction features of each user included in the cluster centers, the regional object density of the object extraction features of user I and user K is greater than that of user F, while the regional object density of the object extraction features of user G and user J is less than that of user F. Therefore, the object extraction features of user I and user K can be used as candidate cluster centers corresponding to the object extraction features of user F, and a candidate center set can be formed.
[0180] Step S330: Based on the distance between the extracted features of the current object and the candidate cluster centers, select the neighboring cluster centers corresponding to the extracted features of the current object from the candidate center set, and add the extracted features of the current object to the sub-extracted feature set corresponding to the neighboring cluster centers.
[0181] The nearest distance center refers to the cluster center with the smallest feature distance to the extracted features of the current object among the candidate center set corresponding to the extracted features of the current object.
[0182] For example, among the two candidate cluster centers, the object extraction features of user I and the object extraction features of user K, if the feature distance between the object extraction features of user F and the object extraction features of user I is less than the feature distance between the object extraction features of user F and the object extraction features of user K, then the object extraction features of user I can be used as the nearest cluster center of the object extraction features of user F, and the object extraction features of user F can be assigned to the sub-extraction feature set corresponding to user I.
[0183] Step S332: Form a sub-object set by combining the candidate objects corresponding to the object extraction features in the sub-extraction feature set.
[0184] For example, if the object extraction features of users A, E, and C are grouped into the same sub-feature set, the computer device can group users A, E, and C into a sub-object set.
[0185] Step S334: From the sub-object set, obtain the candidate objects whose recognition probability satisfies the probability condition, and use them as the corresponding representative objects in the sub-object set.
[0186] For example, after obtaining a set of sub-objects including users A, C, and E, the computer device selects user A as the representative object based on the identifiability of each user; similarly, after obtaining a set of sub-objects including users B and D, the computer device selects user D as the representative object based on the identifiability of each user.
[0187] Step S336: Add the representative object to the training sample set.
[0188] The samples in the training sample set are used for model training. For example, during training, the object information corresponding to the objects in the training samples can be obtained as object features, and the object category corresponding to the objects in the training samples can be obtained as object labels.
[0189] Step S338: Based on the recognition probability that the candidate object belongs to the target object category, determine the influence of each candidate object on the training gradient of the object recognition model.
[0190] The training gradient influence is the degree of gradient change during the training process of an object recognition model. The training gradient influence is positively correlated with the recognition probability. That is, the greater the recognition probability that a candidate object belongs to the target object category, the greater the gradient change will be when the object recognition model is trained using that candidate object.
[0191] Computer devices can establish a positive correlation between the probability of a candidate object belonging to the target object category and the influence of the training gradient, thus obtaining the influence of each candidate object on the training gradient of the object recognition model.
[0192] Step S340: Based on the influence of each candidate object on the training gradient of the object recognition model, select candidate objects that meet the influence condition from the candidate object set and add the candidate objects that meet the influence condition to the training sample set.
[0193] The influence condition includes either the training gradient influence being greater than an influence threshold or the influence ranking being at least one of the following two cases:
[0194] (1) The influence condition includes the training gradient influence being greater than the influence threshold:
[0195] For all candidate objects included in the candidate object set, the influence of each candidate object on the training gradient of the object recognition model is determined based on the recognition probability of each candidate object, and candidate objects whose training gradient influence is greater than the influence threshold are added to the training sample set.
[0196] (2) The influence condition includes the influence ranking before the second ranking threshold:
[0197] For all candidate objects included in the candidate object set, the influence of each candidate object on the training gradient of the object recognition model is determined based on the recognition probability of each candidate object; the candidate objects are sorted in descending order of training gradient influence, and the candidate objects with the highest training gradient influence are added to the training sample set.
[0198] Step S342: Use the training sample set to train the model and obtain a target object recognition model for identifying target object categories.
[0199] The computer device performs supervised training based on the object features and object labels of each training sample in the training sample set to obtain a target object recognition model. This target object recognition model may include models such as support vector machines (SVM), convolutional neural networks (CNN), long short-term memory networks (LSTM), or real-time attention based look-alike models (RALM).
[0200] In the above embodiments, feature extraction is performed on candidate object information to obtain object extraction features. Since candidate objects are clustered based on their object extraction features, it can be ensured that candidate objects in the same sub-object set are relatively similar. Next, since the probability of a candidate object belonging to the target object category is obtained based on its object extraction features, representative objects selected from each sub-object set based on the probability of the candidate object's recognition can represent other candidate objects in the sub-object set to the greatest extent. Using representative objects as training samples for model training improves the prediction accuracy of the target object recognition model and achieves effective information transmission. Furthermore, an object screening model is constructed using seed objects. Since the confidence level of seed objects belonging to the target object category is high, the accuracy of the object screening model in predicting that other objects belong to the target object can be improved. In addition, the selection of training samples by combining the two strategies of "most representative" and "most recognizable" improves the accuracy of model prediction.
[0201] To better understand the above methods, the following will combine... Figures 4 to 6 A detailed application example of the object identification method of this application is described; Figure 4 The technical architecture diagram shown mainly includes five parts, among which the sample preparation and continuous learning framework can be regarded as offline data preparation. Figure 5 This illustrates the process of building an offline model, mainly corresponding to Figure 4 The model consists of four parts: sample preparation, continuous learning framework, offline feature processing, and offline model training. Figure 6 The online invocation process is shown, mainly corresponding to Figure 4 The online model calls this part. In this application example, the target object category is "whether the user owns property".
[0202] This application example primarily involves: acquiring a seed user group through manual annotation and business logic, generating seed user profile features, including: basic user attributes (such as gender), basic device attributes (such as device model), and network connection attributes (such as the number of times they have connected to home Wi-Fi in the past month). Then, based on these profiles, abnormal users are filtered out, for example, users who have used specific applications for more than 24 hours. Since in most business scenarios, the number of positive and negative samples that can be directly obtained through manual annotation and business experience is very small (generally less than 10,000), it does not meet the minimum sample requirements for training the model. This application example, based on a continuous learning framework, uses a small initial seed user base and iterates multiple times on the DeepFM model, combining a dual-strategy fusion approach of "most representative strategy" and "most recognizable strategy" to obtain more positive and negative samples needed for model training. Next, to capture user profile information at different time windows, different "pooling operations" are selected based on the time dimension to generate convolutional feature vectors. Then, the results of feature engineering are input into multiple machine learning models for baseline training. The best model is initially selected based on the AUC (Average Value Interval) metric, and the optimal parameters are optimized to obtain the final model with the best performance. Finally, the model training process is solidified, with scheduled offline training, validation, alerting, and finalization. Online tasks include: First, periodically pulling the latest user feature set from the online storage engine. Next, the business team sets up specific feature calculation logic, exporting raw data from online real-time logs and performing feature calculations based on the online computing engine. Then, the features are concatenated, input into the model, and the probability that the current user has already purchased a house is output.
[0203] This application example can improve the accuracy of identifying homeowners, especially when the number of seed users is small. The continuous learning framework and deep learning model still ensure high prediction accuracy and performance stability. This application example provides a more precise user segmentation solution for common business scenarios such as product operation and advertising.
[0204] The following provides more specific details:
[0205] 1) Offline data preparation:
[0206] a) Based on manual annotation and business experience, identify positive and negative training samples that are strongly related to the business, have normal data distribution, and reasonable user profiles;
[0207] b) Based on the continuous learning framework, more high-quality positive and negative samples are generated on the basis of a).
[0208] 2) Offline feature processing: Construct portrait features of training samples, and based on the vertical characteristics of the features, combine the time dimension and different feature processing methods to produce high-dimensional feature vectors.
[0209] 3) Offline model training: Based on training samples and feature vectors, find models with good and stable classification performance.
[0210] 4) Online model invocation: Based on offline trained models and online real-time features, predict in real time whether online users have purchased a house.
[0211] More specifically, the aforementioned offline data preparation includes two parts: sample preparation and a continuous learning framework; the sample preparation part mainly includes the following steps:
[0212] Step S502: Obtain seed users obtained through manual labeling.
[0213] Specifically, based on manual annotation and business logic, seed users with label information (indicating whether a user owns property) are identified. A batch of seed users is then coarsely recalled based on rules, filtered manually, and finally verified based on business logic.
[0214] Step S504: Obtain the basic profile of the seed users.
[0215] The basic profile includes some non-privacy behavioral data of users in the application, such as whether they have installed a specific application, whether they have used the harassment blocking function provided by the application, and whether they have used the answering assistant function provided by the application.
[0216] Step S506: Obtain the evaluation index value of abnormal user type under each seed user.
[0217] In real-world business scenarios, there may be instances of fake users or computers controlling mobile phones. To eliminate the impact of non-real users on modeling and analysis, evaluation metrics for abnormal user types will be set based on business experience. These evaluation metrics include, but are not limited to, user traffic usage in the application and the time distribution of traffic generation. Computer devices can obtain the corresponding metric values for each seed user based on their application traffic usage and the time distribution of traffic generation.
[0218] Step S508: Based on the distribution of the abnormality type evaluation index among various sub-users, seed users whose index values are distributed in the normal range are designated as normal seed users, and seed users whose index values are distributed in the abnormal range are designated as abnormal seed users, and abnormal seed users are filtered out.
[0219] One method to identify outlier intervals is the "Raida Criterion". Specifically, assuming a set of test data contains only random errors, the standard deviation is calculated and processed. An interval is determined with a certain probability. Any error exceeding this interval is considered to be gross error rather than random error, and data containing such errors should be removed.
[0220] Step S510: Store normal seed users.
[0221] Specifically, the storage method can be offline storage, and the server used for storage can be HDFS (The Hadoop Distributed File System), which facilitates fast access in subsequent processes.
[0222] The continuous learning framework aims to increase the number of high-quality positive and negative samples. This part mainly includes the following steps:
[0223] Step S512: Use the aforementioned small number of normal seed users to train the model and obtain the object selection model (which can be called M0); the object selection and recognition model can be the DeepFM model.
[0224] Step S514: Input the unlabeled samples into the object screening model to extract features and predict the probability that the samples belong to the target object category, so as to label the samples.
[0225] Step S516: Save the probability of each sample belonging to the target object category and the object extraction features of each sample output by the object screening model.
[0226] Step S518: Select samples with high representativeness and high recognition ability from each sample.
[0227] The selection process for highly representative samples mainly includes: clustering each sample to obtain each sample cluster; for any sample cluster, the sample in that sample cluster with a high probability of belonging to the target object category is taken as a highly representative sample.
[0228] The selection process for samples with high recognition power mainly includes: based on the idea of Expected Gradient Length, among all samples, samples with a higher probability of belonging to the target object category are selected as samples with high recognition power.
[0229] Step S520: If the object selection model still needs to be adjusted, it can be fine-tuned using highly representative samples and samples with high recognition ability until the adjusted object selection model reaches the performance threshold.
[0230] Step S522: Determine the total number of samples with high representativeness and samples with high recognition ability.
[0231] Step S524: Determine whether the total number is greater than or equal to the number threshold; if yes, proceed to step S526; otherwise, return to step S514 and continue iterating to obtain more representative samples and samples with higher recognition power. The number threshold is determined based on the number of training samples required to train the target object recognition model.
[0232] The offline feature processing described above mainly includes the following steps:
[0233] Step S526: Construct user profile features and business vertical type features.
[0234] The basic profile features are mainly built based on users' historical behavior data, including: user basic attributes, device basic attributes, network connection attributes, etc.; user basic attributes include but are not limited to: gender, place of origin, city of residence, etc.; device basic attributes include but are not limited to: phone resolution, API level, number of CPU cores, etc.; network connection attributes include but are not limited to: number of Wi-Fi connections, earliest time of Wi-Fi connection per day, etc.
[0235] Based on business characteristics, we construct vertical type features: these features include click-through rates and conversion rates for specific types of ads. In some scenarios, specific ad types include: real estate ads, rental ads, and home renovation ads.
[0236] Step S528: Aggregate similar profile features or business vertical type features under different time dimensions. The time dimension can be the past six months / the past three months / the past month / the past week; for the same type of feature, feature values under different time dimensions can be aggregated to obtain aggregated feature values; aggregation can be done in various ways such as summation, median, standard deviation, etc.
[0237] Step S530: Normalize or discretize the aggregated features. This process includes normalizing numerical features and discretizing non-numerical features. The normalization method can be Gaussian normalization. The discretization process includes the following methods:
[0238] i. One-Hot Encoding: For example, for features such as user gender.
[0239] ii. Count Encoding: For example, for a user's WiFi POI (point of interest) characteristics, count encoding is used to identify the degree of interest between the user and that POI. For instance, if a user visited the POI "Food - Chinese Food - Cantonese Food" a total of 3 times that week.
[0240] iii. Category Embedding: If many category features have strong sparsity, in order to avoid model overfitting and improve model stability, a neural network is introduced to transform high-dimensional sparse classification variables into low-dimensional dense embedding variables.
[0241] iv. NaN Embedding: For handling missing values of features, methods such as "removal", "mean imputation" and "missing label" can be used. Among these, converting missing values into Embedding representations has the greatest positive impact on the model's performance.
[0242] v. Consolidation Encoding: Multiple values for certain category variables can be summarized into a single piece of information. For example, the system version characteristic of an Android phone may have three values: "4.2", "4.4", and "5.0". Based on experience, these three values can be summarized as "lower version Android system". Consolidation Encoding provides a greater positive benefit than directly one-hot encoding the "Android system version" characteristic.
[0243] The above iii mainly involves inputting Category features into a DNN (Deep Neural Networks) model to train Embedding features. Specifically, this can include the following:
[0244] ①WiFi Trajectory Embedding. Based on the MST-CNN deep learning network, this method embeds user WiFi connection trajectory data to capture user WiFi behavior pattern information.
[0245] ②App Traffic Embedding. Based on the List-Embedding method, embedding is extracted from the traffic usage behavior sequences of users using different types of apps (applications), such as using the traffic embedding of social apps, to obtain low-dimensional and dense user behavior features.
[0246] Step S532 involves merging and storing the normalized numerical features and the discretized non-numerical features. Storage can be done offline in HDFS for easy access in subsequent processes.
[0247] The computer equipment can also embed the feature processing logic of steps S526 to S532 above, perform offline automated calculations on a regular schedule, and upload the features obtained from the offline calculations to the online storage engine for storage.
[0248] In addition, prior to step S528, the computer equipment can also clean, filter, and verify the user profile features and business vertical type features. Since features are generated through multiple policy logic paths, the data quality of the features is difficult to guarantee; therefore, feature data quality monitoring is necessary. The specific steps are as follows:
[0249] a) Based on business experience, develop feature quality standards, and clean, filter, and validate the calculated features. Quality standards include, but are not limited to, daily usage time of a specific app being less than 16 hours;
[0250] b) According to the preset strategy, verify existing features and remove invalid or abnormal features. For example, the duration of a user's use of a certain app cannot exceed 24 hours;
[0251] c) Concatenate features that meet business requirements, mark missing features that do not meet the requirements, and finally concatenate the input vectors. The concatenated vector may be (0.2,0.1,1,…,-1,…,0).
[0252] The offline model training section mentioned above mainly includes the following steps:
[0253] Step S534: Randomly divide the training sample set to obtain the training set and the test set.
[0254] The training set can be divided according to the time window to which the samples belong, with earlier training samples used as the training set (e.g., samples from May) and later training samples used as the validation set (e.g., samples from June). The ratio of the training set to the validation set can be 5:1.
[0255] Step S536: Based on preset parameters, train multiple models in parallel, and select the model with the best prediction performance from the parallel-trained models as the target object recognition model. The models used for parallel training include, but are not limited to: Support Vector Machines (SVM), Convolutional Neural Networks (CNN), Long Short Term Memory Networks (LSTM), Real-time Attention based Look-alike Models (RALM), etc.
[0256] Step S538 involves parameter optimization of the target object recognition model to improve its prediction performance. The best evaluation metric for prediction performance is AUC; parameter optimization refers to performing grid optimization on the hyperparameters of the selected model in the expectation that the evaluation metric AUC will be improved.
[0257] Step S540: Obtain the target object recognition model after parameter optimization, and verify the prediction effect and stability of the target object recognition model after parameter optimization on multiple validation sets. Determine whether the prediction effect of the target object recognition model after parameter optimization meets the standard. If yes, proceed to step S542; otherwise, return to step S538.
[0258] Among them, the evaluation metric for the prediction performance of the target object recognition model can be AUC. AUC has the following advantages: a) The AUC metric itself is unrelated to the absolute value of the model's prediction score, focusing only on the ranking effect, which is closer to the needs of actual business; b) The AUC calculation method considers the learner's ability to classify both positive and negative examples, and can still make a reasonable evaluation of the classifier even in the case of imbalanced samples.
[0259] Step S542: Solidify the target object recognition model after parameter optimization; the solidified target object recognition model can be used for advertising push, such as real estate ads or education ads; solidify the trained model based on the Saver() method of TensorFlow (an end-to-end open source machine learning platform), generating a total of 4 files: a) checkpoint text file, which records the path information list of model files; b) model.ckpt.data, which records network weight information; c) model.ckpt.index.data and .index are binary files that save the variable weight information in the model.
[0260] In addition, the model training process of steps S534 to S542 can be solidified, and offline training, verification, alarm and solidification can be performed on a regular schedule.
[0261] More specifically, the purpose of calling this part of the online model is to use the offline-preserved model to complete real-time online predictions, which mainly includes the following steps:
[0262] Step S602: Obtain the target object recognition model after the above parameter optimization.
[0263] Specifically, this step includes the following parts:
[0264] a) After the target object recognition model is trained offline, the trained model is solidified using the Saver() method in TensorFlow;
[0265] b) Store the model file of the target object recognition model in the cloud;
[0266] c) The client retrieves the latest model files from the cloud by calling the service interface.
[0267] Step S604: Obtain the profile features and business vertical type features of the user to be identified.
[0268] Based on feature stability, profile features and business vertical type features can be divided into real-time features and offline features. Real-time features refer to features with stability below a threshold. These features can change over time and mainly reflect the real-time behavior of users within the application on a given day. The granularity can be at the hour level, such as the total time a user spends using a specific application on a given day. Offline features refer to features with stability above a threshold. These features are less likely to change over time, such as the user's gender or the device used by the user.
[0269] Computer devices can periodically calculate offline features (also known as general features) from the data of the user to be identified, such as basic attribute features like the user's gender, device attribute features like the brand of the user's device, and network attribute features like the number of Wi-Fi networks the device is connected to on that day.
[0270] Computer devices can use Spark and TensorFlow computing engines to perform timed calculations on the data of the user to be identified, based on different feature processing rules. The feature processing rules include: One-Hot Encoding, Count Encoding, Category Embedding, NaN Embedding, Consolidation Encoding, WiFiTrajectory Embedding, and App Traffic Embedding.
[0271] Computer devices can also obtain real-time user data from user real-time logs and calculate the user's real-time data according to preset feature processing rules to obtain real-time user characteristics, such as the total time a user uses a specific application on a given day and the time when the application was first opened on that day.
[0272] Step S606: Combine the user profile features and business vertical type features for reception identification.
[0273] The features obtained after concatenation can be called concatenated features, which are high-dimensional vectors, such as (1,0,2,1.1,41,…,3,1,14).
[0274] Step S608: Input the spliced features into the target object recognition model so that the target object recognition model can predict the probability that the user to be identified belongs to the target object category based on the spliced features;
[0275] Step S610: Obtain the probability that the user to be identified belongs to the target object category, as output by the target object recognition model.
[0276] Step S612: If the probability of the user to be identified belonging to the target object category is greater than or equal to the probability threshold, then the user to be identified is determined to belong to the target object category.
[0277] The target object recognition model in this application example is the RALM model. The offline experiments to evaluate the prediction performance of the RALM model mainly include:
[0278] 1) Evaluation of mathematical indicators:
[0279] a) AUC (Area under Curve): The larger the AUC value, the more likely the current classification algorithm is to rank positive samples before negative samples and obtain better classification results;
[0280] 2) Online experiment evaluation:
[0281] a) Evaluate the model's performance based on online traffic from A / B testing;
[0282] b) The evaluation metrics include: ad click-through rate and user real-name registration rate.
[0283] Figure 7 This is a comparison chart of the performance of different models for predicting user property status. The RALM model is the model used in this application example. As can be seen:
[0284] a) In terms of offline AUC performance, the RALM solution improves by an average of 29.24% compared to solutions based on strong manual rules or non-deep learning solutions.
[0285] b) In terms of online AUC performance, the RALM solution improves by an average of 28.18% compared to solutions based on strong manual rules or non-deep learning solutions.
[0286] Figure 8 This chart compares the performance of different models in predicting user property status. The RALM model is the one used in this application example. As can be seen:
[0287] a) In terms of ad click-through rate, the RALM solution improved by an average of 441.93% compared to solutions based on strong manual rules or non-deep learning solutions;
[0288] b) In terms of user real-name registration rate, the RALM scheme improves by an average of 309.54% compared with schemes based on strong manual rules or non-deep learning schemes.
[0289] This application example has strong reusability: First, change the user category of the positive sample, such as "group identification of user car purchase status", then accumulate the corresponding log data on the server side, and finally use the same feature concatenation, feature processing and model training methods to produce results.
[0290] It should be understood that, although Figure 1 to Figure 6 The steps in the flowchart are shown sequentially as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise explicitly stated herein, there is no strict order in which these steps are executed, and they can be performed in other orders. Furthermore, Figures 1 to... Figure 6 At least some of the steps in the process may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but may be executed at different times. The execution order of these steps or stages is not necessarily sequential, but may be executed in turn or alternately with other steps or at least some of the steps or stages in other steps.
[0291] In some embodiments, such as Figure 9 As shown, an object recognition device is provided, comprising:
[0292] The candidate object set acquisition module 902 is used to acquire a candidate object set; the candidate object set includes multiple candidate objects.
[0293] The probability identification module 904 is used to acquire multiple candidate object information of the candidate object, extract the candidate object features corresponding to each candidate object information, fuse the candidate object features to obtain the object extraction features corresponding to the candidate object, and perform object category probability identification based on the object extraction features to obtain the probability of the candidate object belonging to the target object category.
[0294] Clustering module 906 is used to cluster the object extraction features corresponding to the candidate objects to obtain a sub-extraction feature set corresponding to each cluster category, and to form a sub-object set by combining the candidate objects corresponding to the object extraction features in the sub-extraction feature set.
[0295] The representative object selection module 908 is used to select a representative object from the sub-object set based on the recognition probability corresponding to each candidate object in the sub-object set.
[0296] In some embodiments, the object extraction features are obtained by feature extraction through an object screening model; the apparatus further includes: an object screening model construction module, configured to obtain seed objects corresponding to the target object category; obtain seed object information corresponding to the seed objects, use the seed object information as training features in the training samples, use the target object category as a label in the training samples, and form the training samples; and perform model training based on the training samples to obtain the object screening model.
[0297] In some embodiments, the probability identification module 904 is further configured to input multiple candidate object information of the candidate object into the feature extraction layer of the object screening model for feature extraction to obtain candidate object features corresponding to each candidate object information; input each candidate object feature into the classification layer of the object screening model so that the classification layer fuses each candidate object feature to obtain object extraction features; and obtain the identification probability of the candidate object belonging to the target object category output by the classification layer after performing object category probability identification on the object extraction features.
[0298] In some embodiments, the clustering module 906 is further configured to obtain feature distances between object extraction features corresponding to different candidate objects; for each object extraction feature, based on each feature distance, determine the number of object extraction features located within the region where each object extraction feature is located, and based on the number, obtain the regional object density of each object extraction feature; select cluster centers based on the regional object density of each object extraction feature, and cluster the object extraction features based on the cluster centers to obtain a sub-extraction feature set corresponding to each cluster category; the candidate objects corresponding to the object extraction features in the sub-extraction feature set constitute the sub-object set.
[0299] In some embodiments, the clustering module 906 is further configured to: determine the neighboring extraction features of the object extraction feature among the features whose region object density is greater than the region object density of the object extraction feature; use the feature distance between the object extraction feature and the neighboring extraction features as the target distance corresponding to the object extraction feature; and select cluster centers based on the region object density of the object extraction feature and the target distance corresponding to the object extraction feature.
[0300] In some embodiments, the clustering module 906 is further configured to: obtain current object extraction features of the cluster category to be determined; obtain cluster centers whose region object density is greater than the region object density of the current object extraction features, as candidate cluster centers corresponding to the current object extraction features; form a candidate center set by the candidate cluster centers corresponding to the current object extraction features; select neighboring cluster centers corresponding to the current object extraction features from the candidate center set based on the distance between the current object extraction features and the candidate cluster centers, and add the current object extraction features to the sub-extraction feature set corresponding to the neighboring cluster centers.
[0301] In some embodiments, the representative object selection module 908 is further configured to obtain candidate objects whose identification probability satisfies the probability condition from the sub-object set, as the corresponding representative objects in the sub-object set; the probability condition includes at least one of the identification probability being greater than the probability threshold or the probability being ranked before the first ranking threshold.
[0302] In some embodiments, the apparatus further includes a second set processing module, configured to determine the training gradient influence of each candidate object on the object recognition model based on the recognition probability of the candidate object belonging to the target object category, wherein the training gradient influence is positively correlated with the recognition probability; and to select candidate objects that meet the influence condition from the candidate object set based on the training gradient influence of each candidate object on the object recognition model, and to add the candidate objects that meet the influence condition to the training sample set; wherein the influence condition includes at least one of the following: the training gradient influence is greater than an influence threshold or the influence ranking is before a second ranking threshold.
[0303] In some embodiments, the apparatus further includes a target object recognition model construction module, configured to select similar first training objects and second training objects from the training sample set, and form an object group from the first training objects and the second training objects; input the training object information corresponding to each training object in the object group into the same feature extraction layer to extract the training object features corresponding to each training object; obtain the object similarity between the training objects in the object group based on the training object features; obtain a model loss value based on the object similarity; the model loss value is negatively correlated with the object similarity; and train the object recognition model based on the model loss value to obtain the target object recognition model.
[0304] In some embodiments, the device further includes an object information processing module, configured to: acquire object information categories; acquire a time dimension set and information statistical angle corresponding to the object information category for the training object, wherein the time dimension set includes multiple information statistical time dimensions; acquire object information statistical values corresponding to the training object based on the information statistical angle in each of the information statistical time dimensions; the object information statistical values are the information statistical values corresponding to the object information category; aggregate the object information statistical values corresponding to each of the information statistical time dimensions in the time dimension set, and use the aggregated object information as the training object information corresponding to the training object.
[0305] In some embodiments, the object information processing module is further configured to obtain a comprehensive information statistical value based on the object information statistical values corresponding to each of the information statistical time dimensions in the time dimension set; determine the statistical value difference between each of the object information statistical values and the comprehensive information statistical value; obtain the statistical value dispersion corresponding to the time dimension set based on the statistical value difference; and use the statistical value dispersion as the training object information corresponding to the training object; the statistical value dispersion is positively correlated with the statistical value difference.
[0306] For specific limitations regarding the object recognition device, please refer to the limitations of the object recognition method above, which will not be repeated here. Each module in the aforementioned object recognition device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device in hardware form, or stored in the memory of a computer device in software form, so that the processor can call and execute the operations corresponding to each module.
[0307] In some embodiments, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 10As shown, the computer device includes a processor, memory, and a network interface connected via a system bus. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The database stores object identification data. The network interface communicates with external terminals via a network connection. When executed by the processor, the computer program implements an object identification method.
[0308] Those skilled in the art will understand that Figure 10 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0309] In some embodiments, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the various method embodiments described above.
[0310] In some embodiments, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the steps in the various method embodiments described above.
[0311] In some embodiments, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the various method embodiments described above.
[0312] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, or optical storage, etc. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc.
[0313] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0314] The above embodiments are merely illustrative of several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the invention patent. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this patent application should be determined by the appended claims.
Claims
1. An object recognition method, characterized in that, The method includes: Obtain a candidate object set; the candidate object set includes multiple candidate objects, where each object is a user belonging to a category; The process involves obtaining multiple candidate object information for the candidate object, extracting candidate object features corresponding to each candidate object information, fusing the candidate object features to obtain object extraction features corresponding to the candidate object, and identifying the object category probability based on the object extraction features to obtain the probability that the candidate object belongs to the target object category. The object information is information related to the object. The object extraction features are obtained through feature extraction using an object selection model. The steps for obtaining the object selection model include: obtaining seed objects corresponding to the target object category; obtaining seed object information corresponding to the seed objects, using the seed object information as training features in the training samples, and using the target object category as a label in the training samples to form the training samples; training the model based on the training samples to obtain the object selection model. The object selection model is used to predict the probability that an unlabeled object belongs to the target object category. The target object category includes categories used to characterize the state of items currently owned by the object. The seed object refers to an object whose category is labeled with a confidence level higher than a preset threshold. Cluster the object extraction features corresponding to the candidate objects to obtain a set of sub-extraction features corresponding to each cluster category. The candidate objects corresponding to the object extraction features in the sub-extraction feature sets are grouped into at least two sub-object sets. The similarity between candidate objects belonging to the same sub-object set is greater than the similarity between candidate objects belonging to different sub-object sets. Based on the recognition probability of each candidate object in the sub-object set, at least two representative objects corresponding to each sub-object set are selected from the sub-object set. The representative objects corresponding to different sub-object sets are added to the training sample set. Multiple probability thresholds are set. When a representative object in a sub-object set cannot be selected according to the probability threshold of the current level, a representative object in the sub-object set is selected again using a probability threshold lower than the current level. The training sample set is used for model training to obtain a target object recognition model for identifying target object categories. This includes: selecting similar first and second training objects from the training sample set, forming an object group from the first and second training objects; inputting the training object information corresponding to each training object in the object group into the same feature extraction layer to extract training object features corresponding to each training object; obtaining object similarity between training objects in the object group based on the training object features; obtaining a model loss value based on the object similarity; the model loss value is negatively correlated with the object similarity; and training the object recognition model based on the model loss value to obtain the target object recognition model.
2. The method according to claim 1, characterized in that, The object information includes at least one of the following: user gender information, user device information, and information about the network to which the user device is connected.
3. The method according to claim 1, characterized in that, The step of obtaining multiple candidate object information of the candidate object and extracting the candidate object features corresponding to each candidate object information includes: The information of multiple candidate objects is input into the feature extraction layer of the object screening model for feature extraction, so as to obtain the candidate object features corresponding to each candidate object information. The process involves fusing features from various candidate objects to obtain object extraction features corresponding to the candidate objects, and then performing object category probability identification based on these object extraction features to obtain the probability that the candidate object belongs to the target object category. This includes: The features of each candidate object are input into the classification layer of the object screening model so that the classification layer fuses the features of each candidate object to obtain the object extraction features; The probability of a candidate object belonging to the target object category is obtained by the classification layer after extracting features from the object and performing object category probability identification.
4. The method according to claim 1, characterized in that, The step of clustering the object extraction features corresponding to the candidate objects to obtain a sub-feature set corresponding to each cluster category, and forming a sub-object set by combining the candidate objects corresponding to the object extraction features in the sub-feature set, includes: Obtain the feature distance between the extracted features of objects corresponding to different candidate objects; For each object, extract features, determine the number of object extract features located within the region where each object extract feature is located based on the feature distance, and obtain the region object density of each object extract feature based on the number. Cluster centers are selected based on the regional object density of the extracted features of each object, and the extracted features of the objects are clustered based on the cluster centers to obtain a sub-extracted feature set corresponding to each cluster category; the candidate objects corresponding to the extracted features of the objects in the sub-extracted feature set constitute the sub-object set.
5. The method according to claim 4, characterized in that, The selection of cluster centers based on the region object density extracted from each object includes: Among the features in regions where the object density is greater than the object extraction feature, the neighboring extraction features of the object extraction feature are determined; The feature distance between the extracted features of the object and the extracted features of its neighbors is taken as the target distance corresponding to the extracted features of the object. Cluster centers are selected based on the regional object density of the extracted object features and the target distance corresponding to the extracted object features.
6. The method according to claim 4, characterized in that, The process of clustering objects based on the cluster centers to obtain a set of sub-extracted features corresponding to each cluster category includes: Extract features from the current object whose cluster category is to be determined; Cluster centers of regions with object density greater than the extracted features of the current object are obtained and used as candidate cluster centers corresponding to the extracted features of the current object; the candidate cluster centers corresponding to the extracted features of the current object form a candidate center set; Based on the distance between the extracted features of the current object and the candidate cluster centers, the nearest cluster centers corresponding to the extracted features of the current object are selected from the candidate center set, and the extracted features of the current object are added to the sub-extracted feature set corresponding to the nearest cluster centers.
7. The method according to claim 1, characterized in that, The step of selecting a representative object from the sub-object set based on the recognition probability corresponding to each candidate object in the sub-object set includes: From the set of sub-objects, candidate objects whose identification probability satisfies the probability condition are obtained and used as the corresponding representative objects in the set of sub-objects; The probability condition includes identifying at least one probability that is greater than a probability threshold or a probability that is ranked before a first ranking threshold.
8. The method according to claim 1, characterized in that, The method further includes: Based on the likelihood of a candidate object belonging to the category of the target object, the influence of each candidate object on the training gradient of the object recognition model is determined, and the influence of the training gradient is positively correlated with the likelihood of recognition. Based on the influence of each candidate object on the training gradient of the object recognition model, candidate objects that meet the influence condition are selected from the candidate object set and added to the training sample set. The influence condition includes either the training gradient influence being greater than an influence threshold or the influence ranking being at least one of the following: before a second ranking threshold.
9. The method according to claim 1, characterized in that, The target object recognition model includes a dual-tower structure model.
10. The method according to claim 1, characterized in that, The steps to obtain the training object information corresponding to the training object include: Get object information category; Obtain the time dimension set and information statistics angle of the training object corresponding to the object information category, wherein the time dimension set includes multiple information statistics time dimensions; Obtain the object information statistical values corresponding to the training object based on the information statistical angle in each of the aforementioned information statistical time dimensions; the object information statistical values are the information statistical values corresponding to the object information categories. Information aggregation is performed on the object information statistical values corresponding to each of the information statistical time dimensions in the time dimension set, and the aggregated object information is used as the training object information corresponding to the training object.
11. The method according to claim 10, characterized in that, The step of aggregating the statistical values of object information corresponding to each of the statistical time dimensions in the time dimension set, and using the aggregated object information as the training object information corresponding to the training object, includes: Based on the object information statistical values corresponding to each of the information statistical time dimensions in the aforementioned time dimension set, a comprehensive information statistical value is obtained; Determine the statistical differences between the statistical values of each object information and the statistical values of the comprehensive information; The statistical value dispersion corresponding to the time dimension set is obtained based on the statistical value difference, and the statistical value dispersion is used as the training object information corresponding to the training object; the statistical value dispersion is positively correlated with the statistical value difference.
12. An object recognition device, characterized in that, The device includes: The candidate object set acquisition module is used to acquire a candidate object set; the candidate object set includes multiple candidate objects, and the objects are users belonging to a category; The probability identification module is used to acquire multiple candidate object information of the candidate object, extract the candidate object features corresponding to each candidate object information, fuse the candidate object features to obtain the object extraction features corresponding to the candidate object, and perform object category probability identification based on the object extraction features to obtain the probability of the candidate object belonging to the target object category. The object information is information related to the object. The object extraction features are obtained by feature extraction through an object screening model. The steps to obtain the object screening model include: acquiring seed objects corresponding to the target object category; acquiring seed object information corresponding to the seed objects, using the seed object information as training features in the training samples, and using the target object category as a label in the training samples to form the training samples; training the model based on the training samples to obtain the object screening model. The object screening model is used to predict the probability of an unlabeled object belonging to the target object category. The target object category includes categories used to characterize the state of the items currently owned by the object. The seed object refers to an object whose category has been labeled with a confidence level higher than a preset threshold. The clustering module is used to cluster the object extraction features corresponding to the candidate objects to obtain a set of sub-extracted features corresponding to each cluster category. The candidate objects corresponding to the object extraction features in the sub-extracted feature sets are grouped into at least two sub-object sets. The similarity between candidate objects belonging to the same sub-object set is greater than the similarity between candidate objects belonging to different sub-object sets. A representative object selection module is used to select representative objects from at least two sub-object sets based on the recognition probability of each candidate object in the sub-object set, add the representative objects corresponding to different sub-object sets to the training sample set, set multiple levels of probability thresholds, and when a representative object cannot be selected from the sub-object set according to the probability threshold of the current level, select a representative object from the sub-object set again using a probability threshold lower than the current level; the training sample set is used for model training to train a target object recognition model for recognizing target object categories, including: selecting similar first training objects and second training objects from the training sample set, forming an object group from the first training objects and the second training objects; inputting the training object information corresponding to each training object in the object group into the same feature extraction layer to extract the training object features corresponding to each training object; obtaining the object similarity between the training objects in the object group based on the training object features; obtaining a model loss value based on the object similarity; the model loss value is negatively correlated with the object similarity; and training the object recognition model based on the model loss value to obtain the target object recognition model.
13. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the method of any one of claims 1 to 11.
14. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method of any one of claims 1 to 11.
15. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the method according to any one of claims 1 to 11.