Method and apparatus for determining push information

CN117131648BActive Publication Date: 2026-08-18SF TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210556175.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-05-20
Publication Date
2026-08-18
Estimated Expiration
2042-05-20

AI Technical Summary

Technical Problem

[0004]本申请提供一种推送信息的确定方法及装置,旨在解决现有技术中推送信息的确定方法不高的问题

Benefits of technology

[0068] This application provides a method and apparatus for determining push information. The method includes: acquiring multi-dimensional entity features of multiple entities and multiple preset initial models; matching the multiple preset initial models based on the multi-dimensional entity features of the multiple entities to obtain a first target push model that matches the multi-dimensional entity features; updating the feature weights of at least some features in the first target model based on the multi-dimensional entity features of the multiple entities and training the first target push model to obtain a second target push model; and determining push information to be pushed to the multiple entities based on the second target push model. This application pre-sets multiple preset initial models, matches the acquired multi-dimensional entity features of the multiple entities with the multiple preset initial models respectively, uses the preset initial model that matches the multi-dimensional entity features of the multiple entities as the first target push model, and adjusts and updates the feature weights of the first target push model based on the multi-dimensional entity features of the multiple entities to obtain the second target push model. This allows for targeted selection and adjustment of the corresponding model for determining push information based on the characteristics of multiple entities, thereby improving the accuracy of determining push information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117131648B_ABST
    Figure CN117131648B_ABST
Patent Text Reader

Abstract

The application provides a push information determination method and device. The push information determination method comprises the following steps: obtaining multi-dimensional entity features of a plurality of entities and a plurality of preset initial models; matching the plurality of preset initial models based on the multi-dimensional entity features of the plurality of entities to obtain a first target push model matched with the multi-dimensional entity features; updating the feature weight of at least part of features in the first target model based on the multi-dimensional entity features of the plurality of entities and training the first target push model to obtain a second target push model; and determining push information to be pushed to the plurality of entities based on the second target push model. The application can improve the accuracy of determining the push information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application mainly relates to the field of information push technology, specifically to a method and apparatus for determining push information. Background Technology

[0002] Information push, or information delivery, is a new technology that uses specific technical standards or protocols to periodically deliver information needed by users on the internet, thereby reducing information overload. Push technology reduces the time spent searching online by automatically delivering information to users. It searches and filters information based on user interests and pushes it to users periodically, helping them efficiently discover valuable information. With the continuous development of internet technology, users generally experience information overload, and recommendation systems are used to solve this problem. They can recommend news, products, services, and other items to users based on user feature vectors and recommendation algorithms. However, current technologies, which push information to users based on fixed models, often result in inaccurate information delivery.

[0003] In other words, the methods for determining push information in existing technologies are not reliable. Summary of the Invention

[0004] This application provides a method and apparatus for determining push information, aiming to solve the problem that the existing methods for determining push information are not efficient.

[0005] Firstly, this application provides a method for determining push notification information, the method comprising:

[0006] Obtain multidimensional entity features of multiple entities and multiple preset initial models;

[0007] Multiple preset initial models are matched based on the multidimensional entity features of multiple entities to obtain a first target push model that matches the multidimensional entity features;

[0008] The first target push model is obtained by updating the feature weights of at least some features in the first target model based on the multidimensional entity features of multiple entities and training the first target push model.

[0009] The push information to be pushed to the multiple entities is determined based on the second target push model.

[0010] Optionally, the input features supported by each preset initial model are different. The step of matching multiple preset initial models based on the multidimensional entity features of multiple entities to obtain a first target push model that matches the multidimensional entity features includes:

[0011] Obtain the number of features for each dimension of entity features;

[0012] Entity features with a number of features exceeding a first preset number are identified as features to be updated.

[0013] The preset initial model containing each of the supported input features to be updated is determined as the first target push model.

[0014] Optionally, the step of updating the feature weights of at least some features in the first target model based on the multidimensional entity features of multiple entities and training the first target push model to obtain the second target push model includes:

[0015] Obtain the preset influence parameters for each feature to be updated;

[0016] The feature to be updated that meets the preset conditions and the preset influence parameters is determined as the target update feature of the first target push model;

[0017] Update the feature weights of the target update features of the first target push model and train the first target push model to obtain the second target push model.

[0018] Optionally, updating the feature weights of the target update features of the first target push model and training the first target push model to obtain the second target push model includes:

[0019] The feature weights of the target update features of the first target push model are increased by a preset value and trained to obtain the third target push model.

[0020] Based on the preset traffic splitting configuration information and the first target push model, the multiple entities are subjected to A / B traffic splitting to obtain the first A / B traffic splitting experimental effect parameters.

[0021] Based on the preset traffic splitting configuration information and the third target push model, the multiple entities are subjected to A / B traffic splitting to obtain the second A / B traffic splitting experimental effect parameters.

[0022] If the effect parameter of the second AB split experiment is greater than the effect parameter of the first AB split experiment, then the third target push model is determined as the second target push model.

[0023] Optionally, the method for determining the push information includes:

[0024] If the effect parameter of the second AB split experiment is not greater than the effect parameter of the first AB split experiment, then the feature weight of the target update feature of the first target push model is reduced by a preset value and trained to obtain the second target push model.

[0025] Optionally, the step of performing A / B splitting on the multiple entities based on preset splitting configuration information and the first target push model to obtain the first A / B splitting experiment effect parameters includes:

[0026] Calculate the hash value of each entity based on its multidimensional user characteristics;

[0027] Based on the hash values ​​of each entity, multiple entities whose hash values ​​meet the preset hash value conditions are identified as entities to be pushed;

[0028] The first target push model is used to push to multiple entities to be pushed, and feedback information is obtained;

[0029] The parameters for the effect of the first AB diversion experiment are determined based on the feedback information.

[0030] Optionally, before performing A / B splitting on the multiple entities based on preset splitting configuration information and the first target push model to obtain the first A / B splitting experiment effect parameters, the following steps are included:

[0031] Read the preset traffic splitting configuration information stored in the preset file at the preset frequency;

[0032] Determine whether the preset traffic splitting configuration information in the preset file is the same as the preset traffic splitting configuration information in memory;

[0033] If they are different, the preset traffic splitting configuration information in the preset file is loaded into memory to obtain the preset traffic splitting configuration information from the memory.

[0034] Secondly, this application provides a device for determining push information, the device comprising:

[0035] The acquisition unit is used to acquire multidimensional entity features of multiple entities and multiple preset initial models;

[0036] The matching unit is used to match multiple preset initial models based on the multidimensional entity features of multiple entities to obtain a first target push model that matches the multidimensional entity features.

[0037] The training unit is updated to update the feature weights of at least some features in the first target model based on the multidimensional entity features of multiple entities and to train the first target push model to obtain the second target push model.

[0038] The determining unit is used to determine the push information to be pushed to the multiple entities based on the second target push model.

[0039] Optionally, since each preset initial model supports different input features, the matching unit is used for:

[0040] Obtain the number of features for each dimension of entity features;

[0041] Entity features with a number of features exceeding a first preset number are identified as features to be updated.

[0042] The preset initial model containing each of the supported input features to be updated is determined as the first target push model.

[0043] Optionally, the updated training unit is used to:

[0044] Obtain the preset influence parameters for each feature to be updated;

[0045] The feature to be updated that meets the preset conditions and the preset influence parameters is determined as the target update feature of the first target push model;

[0046] Update the feature weights of the target update features of the first target push model and train the first target push model to obtain the second target push model.

[0047] Optionally, the updated training unit is used to:

[0048] The feature weights of the target update features of the first target push model are increased by a preset value and trained to obtain the third target push model.

[0049] Based on the preset traffic splitting configuration information and the first target push model, the multiple entities are subjected to A / B traffic splitting to obtain the first A / B traffic splitting experimental effect parameters.

[0050] Based on the preset traffic splitting configuration information and the third target push model, the multiple entities are subjected to A / B traffic splitting to obtain the second A / B traffic splitting experimental effect parameters.

[0051] If the effect parameter of the second AB split experiment is greater than the effect parameter of the first AB split experiment, then the third target push model is determined as the second target push model.

[0052] Optionally, the updated training unit is used to:

[0053] If the effect parameter of the second AB split experiment is not greater than the effect parameter of the first AB split experiment, then the feature weight of the target update feature of the first target push model is reduced by a preset value and trained to obtain the second target push model.

[0054] Optionally, the updated training unit is used to:

[0055] Calculate the hash value of each entity based on its multidimensional user characteristics;

[0056] Based on the hash values ​​of each entity, multiple entities whose hash values ​​meet the preset hash value conditions are identified as entities to be pushed;

[0057] The first target push model is used to push to multiple entities to be pushed, and feedback information is obtained;

[0058] The parameters for the effect of the first AB diversion experiment are determined based on the feedback information.

[0059] Optionally, the updated training unit is used to:

[0060] Read the preset traffic splitting configuration information stored in the preset file at the preset frequency;

[0061] Determine whether the preset traffic splitting configuration information in the preset file is the same as the preset traffic splitting configuration information in memory;

[0062] If they are different, the preset traffic splitting configuration information in the preset file is loaded into memory to obtain the preset traffic splitting configuration information from the memory.

[0063] Thirdly, this application provides a computer device, the computer device comprising:

[0064] One or more processors;

[0065] Memory; and

[0066] One or more applications, wherein the one or more applications are stored in the memory and configured to be executed by the processor to implement the method for determining push information as described in any of the first aspects.

[0067] Fourthly, this application provides a computer-readable storage medium storing a plurality of instructions adapted for loading by a processor to perform the steps in the method for determining push information as described in any one of the first aspects.

[0068] This application provides a method and apparatus for determining push information. The method includes: acquiring multi-dimensional entity features of multiple entities and multiple preset initial models; matching the multiple preset initial models based on the multi-dimensional entity features of the multiple entities to obtain a first target push model that matches the multi-dimensional entity features; updating the feature weights of at least some features in the first target model based on the multi-dimensional entity features of the multiple entities and training the first target push model to obtain a second target push model; and determining push information to be pushed to the multiple entities based on the second target push model. This application pre-sets multiple preset initial models, matches the acquired multi-dimensional entity features of the multiple entities with the multiple preset initial models respectively, uses the preset initial model that matches the multi-dimensional entity features of the multiple entities as the first target push model, and adjusts and updates the feature weights of the first target push model based on the multi-dimensional entity features of the multiple entities to obtain the second target push model. This allows for targeted selection and adjustment of the corresponding model for determining push information based on the characteristics of multiple entities, thereby improving the accuracy of determining push information. Attached Figure Description

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

[0070] Figure 1 This is a schematic diagram of a scenario for the push information determination system provided in the embodiments of this application;

[0071] Figure 2 This is a flowchart illustrating an embodiment of the method for determining push information provided in this application.

[0072] Figure 3 This is a flowchart illustrating the process of updating the feature weights of the target update features of the first target push model and training the first target push model to obtain the second target push model in one embodiment of the method for determining push information provided in this application.

[0073] Figure 4 This is a schematic diagram of an embodiment of the push information determination device provided in this application.

[0074] Figure 5 This is a schematic diagram of an embodiment of the computer device provided in this application. Detailed Implementation

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

[0076] In the description of this application, it should be understood that the terms "center," "longitudinal," "lateral," "length," "width," "thickness," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "top," "bottom," "inner," and "outer," etc., indicating orientation or positional relationships based on the orientation or positional relationships shown in the accompanying drawings, are used only for the convenience of describing this application and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation, and therefore should not be construed as a limitation of this application. Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Thus, features defined with "first" and "second" may explicitly or implicitly include one or more features. In the description of this application, "a plurality of" means two or more, unless otherwise explicitly specified.

[0077] In this application, the term "exemplary" is used to mean "used as an example, illustration, or description." Any embodiment described as "exemplary" in this application is not necessarily to be construed as being more preferred or advantageous than other embodiments. The following description is provided to enable any person skilled in the art to make and use this application. Details are set forth in the following description for purposes of explanation. It should be understood that those skilled in the art will recognize that this application can be made without using these specific details. In other instances, well-known structures and processes are not described in detail to avoid obscuring the description of this application with unnecessary detail. Therefore, this application is not intended to be limited to the embodiments shown, but is consistent with the broadest scope of the principles and features disclosed in this application.

[0078] This application provides a method and apparatus for determining push information, which will be described in detail below.

[0079] Please see Figure 1 , Figure 1 This is a schematic diagram of a push information determination system provided in an embodiment of this application. The push information determination system may include a computer device 100, which integrates a push information determination device.

[0080] In this embodiment, the computer device 100 can be a standalone server, a server network, or a server cluster. For example, the computer device 100 described in this embodiment includes, but is not limited to, a computer, a network host, a single network server, a set of multiple network servers, or a cloud server composed of multiple servers. The cloud server is composed of a large number of computers or network servers based on cloud computing.

[0081] In this embodiment, the computer device 100 described above can be a general-purpose computer device or a special-purpose computer device. In specific implementations, the computer device 100 can be a desktop computer, a portable computer, a network server, a handheld computer (Personal Digital Assistant, PDA), a mobile phone, a tablet computer, a wireless terminal device, a communication device, an embedded device, etc. This embodiment does not limit the type of computer device 100.

[0082] Those skilled in the art will understand that Figure 1 The application environment shown is merely one application scenario of the solution in this application and does not constitute a limitation on the application scenario of the solution in this application. Other application environments may include more than one application scenario. Figure 1 The number of computer devices shown is more or less, for example Figure 1 Only one computer device is shown in the image. It is understood that the system for determining the push information may also include one or more other computer devices capable of processing data, which are not specifically limited here.

[0083] In addition, such as Figure 1 As shown, the system for determining push information may also include a memory 200 for storing data.

[0084] It should be noted that, Figure 1 The schematic diagram of the push information determination system shown is merely an example. The push information determination system and scenario described in this application embodiment are for the purpose of more clearly illustrating the technical solutions of this application embodiment and do not constitute a limitation on the technical solutions provided in this application embodiment. As those skilled in the art will know, with the evolution of the push information determination system and the emergence of new business scenarios, the technical solutions provided in this application embodiment are also applicable to similar technical problems.

[0085] First, this application provides a method for determining push information, which includes: acquiring multi-dimensional entity features of multiple entities and multiple preset initial models; matching the multiple preset initial models based on the multi-dimensional entity features of multiple entities to obtain a first target push model that matches the multi-dimensional entity features; updating the feature weights of at least some features in the first target model based on the multi-dimensional entity features of multiple entities and training the first target push model to obtain a second target push model; and determining push information to be pushed to multiple entities based on the second target push model.

[0086] like Figure 2 As shown, Figure 2 This is a flowchart illustrating an embodiment of the method for determining push information provided in this application. The method for determining push information includes the following steps S201 to S204:

[0087] S201. Obtain multi-dimensional entity features of multiple entities and multiple preset initial models.

[0088] In this embodiment, each user entity contains feature data with different dimensions, such as multidimensional entity features like age, gender, occupation, and historical purchase volume. Furthermore, entity features can also include sub-features. For example, the occupation feature can include sub-features such as occupational income, occupational busyness, and occupational risk.

[0089] The preset initial models can be LGB models, pmml models, and TensorFlow models. These preset initial models are used to output push information about the input entity based on its multi-dimensional entity features, allowing users to select the appropriate information. Different preset initial models support different input features. For example, LGB models often support numerical features such as historical purchase volume. The number of preset initial models is determined based on specific circumstances.

[0090] S202. Match multiple preset initial models based on the multidimensional entity features of multiple entities to obtain the first target push model that matches the multidimensional entity features.

[0091] In one specific embodiment, matching multiple preset initial models based on the multidimensional entity features of multiple entities to obtain a first target push model that matches the multidimensional entity features may include:

[0092] (1) Obtain the number of features of each entity.

[0093] Count the number of features for each entity feature. For example, if there are 100 entities with the historical purchase volume feature, then the historical purchase volume feature has a feature count of 100.

[0094] (2) Entity features with a number of features higher than the first preset number are identified as features to be updated.

[0095] The first preset quantity can be a preset percentage of the number of entities, for example, a preset percentage of 80%. The first preset quantity is set according to specific circumstances. When the number of features of an entity is higher than the first preset quantity, it indicates that the entity feature is more important and needs to be updated.

[0096] (3) The preset initial model containing each feature to be updated in the supported input features is determined as the first target push model.

[0097] Each preset initial model is matched with each feature to be updated. When all features to be updated belong to the preset initial model, the preset initial model whose supported input features include each feature to be updated is determined as the first target push model.

[0098] Furthermore, if there is no preset initial model that contains all the features to be updated, then the number of identical features between each preset initial model and all the features to be updated is obtained, and the preset initial model with the largest number of identical features is determined as the first target push model.

[0099] In other embodiments, a preset proportion of entity features can be randomly extracted from each dimension of entity features as multiple features to be updated. This can be set according to specific circumstances.

[0100] S203. Update the feature weights of at least some features in the first target model based on the multidimensional entity features of multiple entities and train the first target push model to obtain the second target push model.

[0101] In one specific embodiment, a preset proportion of entity features are randomly extracted from the entity features of each dimension as multiple features to be updated. Based on the multidimensional entity features of multiple entities, the feature weights of at least some features in the first target model are updated and the first target push model is trained to obtain the second target push model.

[0102] In another specific embodiment, updating the feature weights of at least some features in the first target model based on the multidimensional entity features of multiple entities and training the first target push model to obtain the second target push model may include:

[0103] (1) Obtain the preset influence parameters of each feature to be updated.

[0104] The preset influence parameter is the label included in each entity feature, such as "feature-type=income". The preset influence parameter of the feature to be updated represents the importance of the feature, and the preset influence parameter of the feature to be updated is 0.5. The preset influence parameter of each entity feature can be set manually based on experience.

[0105] (2) The features to be updated that meet the preset conditions of the preset influence parameters are determined as the target update features of the first target push model.

[0106] In one specific embodiment, the preset condition can be a second preset number of features to be updated, sorted from largest to smallest according to preset influence parameters. That is, the second preset number of features to be updated, sorted from largest to smallest according to preset influence parameters, are determined as the target update features of the first target push model, and the second preset number is not greater than the first preset number.

[0107] In another specific embodiment, the multidimensional entity features of multiple entities are divided into multiple feature sets according to feature type. For example, feature types include age, gender, occupation, and historical purchase volume, each corresponding to multiple feature sets. For instance, the feature set corresponding to occupation includes sub-features such as occupational income, occupational busyness, and occupational risk. The feature set to which each feature to be updated belongs is obtained. Within each feature set to which the feature to be updated belongs, multiple candidate features that meet preset conditions are obtained. The candidate features obtained from each feature set are combined as the target update feature. The preset condition is that the third preset number of features to be updated within the feature set, ranked by preset influence parameters, is less than the number of features in the corresponding feature set.

[0108] (3) Update the feature weights of the target update features of the first target push model and train the first target push model to obtain the second target push model.

[0109] S204. Based on the second target push model, determine the push information to be pushed to multiple entities.

[0110] Specifically, the multi-dimensional entity features of the entity are input into the second target push model, which then determines the push information to be pushed to multiple entities.

[0111] Furthermore, to update feature weights more effectively and improve the accuracy of the second target push model, in a specific embodiment, the feature weights of the target update features of the first target push model are updated and the first target push model is trained to obtain the second target push model, including:

[0112] S301. Increase the feature weights of the target update features of the first target push model by a preset value and train it to obtain the third target push model.

[0113] In a specific implementation, feature weights belong to the range [0-1], and the feature weights represent the feature importance of that feature. This can be represented as `feature_importances` for the decision tree model. Decision tree models are a type of white-box model, and their predictions can be interpreted by humans. We call this characteristic of machine learning models interpretability, but not all machine learning models are interpretable. As part of the interpretability attribute, feature importance is a metric that measures the contribution of each input feature to the model's prediction result; that is, how a small change in a feature alters the prediction result.

[0114] The preset value can be set according to the situation, for example, the preset value is 0.1.

[0115] S302. Based on the preset traffic splitting configuration information and the first target push model, perform AB traffic splitting on multiple entities to obtain the experimental effect parameters of the first AB traffic splitting.

[0116] The preset traffic splitting configuration information may include hash-key configuration information, timeliness configuration information, hash algorithm configuration information, traffic splitting rule information, cascading configuration information, effect configuration information, and trigger event configuration information.

[0117] Specifically, the hash-key configuration information includes: the hash-key parameter combination method (such as splitting by a delimiter, custom combination). The configuration mainly includes hashkey and hashkeyscript: hashkey represents the configuration method of splitting by a delimiter, and hashkeyscript represents the script configuration form of custom combination.

[0118] The time-limit configuration information includes: hash result caching time, the value or calculation method of the caching time-limit, and the priority relationship between various time-limits. The configuration mainly includes key, value, priority, and value_script: key is the combination of multiple time-limit keys; value is the duration in seconds; priority represents the priority of the time-limit configuration, with higher priority values ​​having higher priority when there are multiple time-limit configurations; value_script is the script configuration method for the duration, which can be selected for dynamic durations.

[0119] Hash algorithm configuration information includes: specifying a certain type of hash algorithm (such as CRC32, MD5, murmur, etc.) and a custom hash algorithm script. The configuration mainly includes `hashmethod` and `hashmethodscript`: `hashmethod` represents the selected hash algorithm, and `hashmethodscript` is the configuration method for a custom hash algorithm script. This allows users to define their own hash algorithm via script when the built-in `hashmethod` does not meet their requirements.

[0120] The traffic splitting rule information includes: the definition of the traffic splitting rule (such as specifying different splits for numbers in different ranges of hash results, specifying different splits for letters in different ranges of hash results, etc.), and the script for custom traffic splitting rules. The configuration mainly includes `name`, `ab.div.hashinfo`, and `ab.div.custominfo`: `name` is the result after splitting; `ab.div.hashinfo` internally defines the conditions corresponding to this result, such as specifying the condition when the hash value is 0-3; more complex conditions can also be defined through custom scripts; `ab.div.custominfo` is the custom condition script, which specifies that users on the whitelist will always be split into splits A, users with hash values ​​between 1-90 will be split into splits A, and others will be split into splits B. `GLOBAL` is the identifier for a global variable, which can be referenced in different locations in the configuration.

[0121] Cascading configuration information includes: the DAG relationship between multiple A / B splitting schemes, and the data interaction protocol between them. The configuration mainly includes `relations` and `solution.metadata`: `relations` defines the DAG dependency relationship between multiple A / B splitting configurations, and `solution.metadata` defines the input and output field names between multiple A / B splitting schemes.

[0122] The performance configuration information includes: obtaining A / B performance data and configuring the evaluation rules for A / B performance. The general format for obtaining A / B performance data is: {user_id}-{action}-{goods_id}-{timestamp}. Where: user_id uniquely identifies a user, action is the user's behavior after A / B splitting, such as clicking a product or viewing news, goods_id represents the item ID, and timestamp is the timestamp corresponding to this behavior. The configuration mainly includes action, method, and method_script: action represents the user's behavior, such as view representing the user viewing a product; method defines the statistical method for calculating the month-on-month increase in value for that product; and method_script supports defining more complex statistical scripts.

[0123] The trigger event configuration information includes: trigger events that allow users to configure the A / B splitting effect, such as automatically triggering an event to adjust the A / B splitting ratio when the A / B experiment reaches a certain threshold, so that the final experimental effect develops in the direction of optimization. Trigger event types include modifying the splitting algorithm, modifying the splitting ratio, etc. The triggering conditions can be customized through scripts. The execution logic after triggering can be automatically modifying the A / B splitting configuration or calling an external webhook. The configuration mainly includes type, condition, and ab.evaluate.trigger.action: type represents the trigger type, such as modifying the splitting ratio, modifying the splitting timeliness, etc. condition represents the trigger condition, such as triggering when the number of times a user views an item decreases compared to the previous period, etc. ab.evaluate.trigger.action is the execution method after triggering, such as modifying the splitting configuration, calling a webhook (such as issuing an alert, updating page colors), etc.

[0124] A / B testing is a type of randomized controlled trial, typically with two variants (Group A and Group B). Using the controlled variable method to maintain a single variable, the data from Group A and Group B are compared to draw conclusions. This experimental method is widely used in internet products for optimization. Modern internet products, with their massive user bases, cannot quickly determine the correctness and optimal solution for a particular feature. Therefore, a fast and effective A / B testing plan plays a crucial role in the overall product iteration and optimization. From large-scale content distribution algorithms to small changes like button colors and text affecting user experience, A / B testing can be used to validate user data. Generally, two plans are developed for the same optimization goal. One group of users is assigned to plan A, while another group is assigned to plan B. Click-through rates, conversion rates, and other data metrics are statistically compared between the two plans. Based on the data performance of the different plans, and after confirming that the data performance passes hypothesis testing, the final plan is selected.

[0125] In a specific embodiment, A / B splitting is performed on multiple entities based on preset splitting configuration information and a first target push model to obtain first A / B splitting experimental effect parameters, which may include:

[0126] (1) Calculate the hash value of each entity based on the multidimensional user characteristics of each entity.

[0127] Hash algorithms such as RC32, MD5, and murmur can be used to calculate the hash value of each entity based on its multidimensional user characteristics.

[0128] (2) Based on the hash value of each entity, multiple entities whose hash values ​​meet the preset hash value conditions are identified as entities to be pushed.

[0129] Preset hash value conditions are stored in the traffic splitting rule information. For example, entities with hash values ​​between 1 and 90 will be split into traffic split A, and the rest will be split into traffic split B. For example, entities with hash values ​​between 1 and 90 are identified as entities to be pushed.

[0130] (3) Use the first target push model to push multiple entities to be pushed and obtain feedback information.

[0131] Feedback information can include metrics such as click-through rate, purchase rate, and online time.

[0132] That is, the first target push model is used to push to multiple entities to be pushed, and the actions of the entities based on the push information are obtained. Based on the actions of the push information feedback, the click-through rate, purchase rate and online time metrics are statistically analyzed.

[0133] (4) Determine the parameters of the first AB split experiment based on the feedback of click-through rate, purchase rate and online time.

[0134] Specifically, determining the effectiveness parameters of the first AB splitting experiment based on feedback metrics such as click-through rate (CTR), purchase rate (PTR), and online time can include: obtaining the weights of the CTR, PTR, and online time metrics; and weighting the CTR, PTR, and online time metrics according to their weights to obtain the effectiveness parameters of the first AB splitting experiment. These effectiveness parameters indicate the quality of the AB splitting experiment.

[0135] In one specific embodiment, to update the preset traffic splitting configuration information in real time, A / B splitting is performed on multiple entities based on the preset traffic splitting configuration information and the first target push model to obtain the first A / B splitting experimental effect parameters, which includes:

[0136] (1) Read the preset flow configuration information stored in the preset file at the preset frequency.

[0137] This invention stores various configuration items from the preset traffic splitting configuration information into a preset file. For example, the preset file is a directory with a special structure: / ab-config / {solution-id} / {ab-id} / {config-type}.

[0138] The system reads preset traffic distribution configuration information stored in a preset file at a preset frequency. When the preset traffic distribution configuration information in the preset file changes, it indicates that a certain configuration item has changed. When a configuration item changes, the system immediately captures the update event in the preset file / ab-config / {solution-id} / {ab-id}.

[0139] (2) Determine whether the preset flow configuration information in the preset file is the same as the preset flow configuration information in memory.

[0140] When a configuration item changes, it checks whether the preset traffic splitting configuration information in the preset file is the same as the preset traffic splitting configuration information in memory. That is, it compares all the configurations in the preset file with the values ​​in memory, and when a difference is found, it updates the memory, thereby achieving the purpose of updating the ab traffic splitting configuration in real time.

[0141] Here, {solution-id} represents a specific A / B solution ID, which can contain multiple A / B traffic splitting configurations. {ab-id} uniquely corresponds to a specific traffic splitting configuration. config-type includes the following types: hash-key configuration information, timeliness configuration information, hash algorithm configuration information, traffic splitting rule information, cascading configuration information, effect configuration information, and trigger event configuration information.

[0142] (3) If they are different, the preset traffic splitting configuration information in the preset file will be loaded into memory to obtain the preset traffic splitting configuration information from memory.

[0143] If they are different, the preset traffic splitting configuration information in the preset file is loaded into memory, the preset traffic splitting configuration information in memory is updated, and the preset traffic splitting configuration information is obtained from memory to perform AB traffic splitting.

[0144] S303. Based on the preset traffic splitting configuration information and the third target push model, perform AB traffic splitting on multiple entities to obtain the experimental effect parameters of the second AB traffic splitting.

[0145] S304. If the effect parameter of the second AB diversion experiment is greater than the effect parameter of the first AB diversion experiment, then the third target push model is determined as the second target push model.

[0146] If the performance parameters of the second AB split experiment are greater than those of the first AB split experiment, it indicates that the AB split experiment performance is better after increasing the feature weights of the target update features. In this case, the third target push model is determined as the second target push model. If the performance parameters of the second AB split experiment are not greater than those of the first AB split experiment, the feature weights of the target update features of the first target push model are reduced by a preset value and then trained to obtain the second target push model.

[0147] To better implement the method for determining push information in the embodiments of this application, based on the method for determining push information, the embodiments of this application also provide a device for determining push information, such as... Figure 4 As shown, the push notification determination device 400 includes:

[0148] Acquisition unit 401 is used to acquire multidimensional entity features of multiple entities and multiple preset initial models;

[0149] Matching unit 402 is used to match multiple preset initial models based on the multidimensional entity features of multiple entities to obtain a first target push model that matches the multidimensional entity features;

[0150] The training unit 403 is updated to update the feature weights of at least some features in the first target model based on the multidimensional entity features of multiple entities and train the first target push model to obtain the second target push model.

[0151] The determining unit 404 is used to determine the push information to be pushed to the multiple entities based on the second target push model.

[0152] Optionally, the input features supported by each preset initial model are different, and the matching unit 402 is used for:

[0153] Obtain the number of features for each dimension of entity features;

[0154] Entity features with a number of features exceeding a first preset number are identified as features to be updated.

[0155] The preset initial model containing each of the supported input features to be updated is determined as the first target push model.

[0156] Optionally, the updated training unit 403 is used to:

[0157] Obtain the preset influence parameters for each feature to be updated;

[0158] The feature to be updated that meets the preset conditions and the preset influence parameters is determined as the target update feature of the first target push model;

[0159] Update the feature weights of the target update features of the first target push model and train the first target push model to obtain the second target push model.

[0160] Optionally, the updated training unit 403 is used to:

[0161] The feature weights of the target update features of the first target push model are increased by a preset value and trained to obtain the third target push model.

[0162] Based on the preset traffic splitting configuration information and the first target push model, the multiple entities are subjected to A / B traffic splitting to obtain the first A / B traffic splitting experimental effect parameters.

[0163] Based on the preset traffic splitting configuration information and the third target push model, the multiple entities are subjected to A / B traffic splitting to obtain the second A / B traffic splitting experimental effect parameters.

[0164] If the effect parameter of the second AB split experiment is greater than the effect parameter of the first AB split experiment, then the third target push model is determined as the second target push model.

[0165] Optionally, the updated training unit 403 is used to:

[0166] If the effect parameter of the second AB split experiment is not greater than the effect parameter of the first AB split experiment, then the feature weight of the target update feature of the first target push model is reduced by a preset value and trained to obtain the second target push model.

[0167] Optionally, the updated training unit 403 is used to:

[0168] Calculate the hash value of each entity based on its multidimensional user characteristics;

[0169] Based on the hash values ​​of each entity, multiple entities whose hash values ​​meet the preset hash value conditions are identified as entities to be pushed;

[0170] The first target push model is used to push to multiple entities to be pushed, and feedback information is obtained;

[0171] The parameters for the effect of the first AB diversion experiment are determined based on the feedback information.

[0172] Optionally, the updated training unit 403 is used to:

[0173] Read the preset traffic splitting configuration information stored in the preset file at the preset frequency;

[0174] Determine whether the preset traffic splitting configuration information in the preset file is the same as the preset traffic splitting configuration information in memory;

[0175] If they are different, the preset traffic splitting configuration information in the preset file is loaded into memory to obtain the preset traffic splitting configuration information from the memory.

[0176] This application also provides a computer device that integrates any of the push information determination devices provided in this application. The computer device includes:

[0177] One or more processors;

[0178] Memory; and

[0179] One or more applications, wherein the applications are stored in memory and configured to be executed by a processor as steps of the push information determination method in any of the embodiments described above.

[0180] like Figure 5 As shown, it illustrates a structural schematic diagram of the computer device involved in the embodiments of this application, specifically:

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

[0182] Processor 601 is the control center of the computer device. It connects various parts of the computer device via various interfaces and lines. By running or executing software programs and / or modules stored in memory 602, and by calling data stored in memory 602, it performs various functions of the computer device and processes data, thereby providing overall monitoring of the computer device. Optionally, processor 601 may include one or more processing cores. Processor 601 may be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor. Preferably, processor 601 may integrate an application processor and a modem processor. The application processor mainly handles the operating system, physical interface, and application programs, while the modem processor mainly handles wireless communication. It is understood that the aforementioned modem processor may not be integrated into processor 601.

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

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

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

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

[0187] The process involves: acquiring multidimensional entity features of multiple entities and multiple preset initial models; matching the multiple preset initial models based on the multidimensional entity features of multiple entities to obtain a first target push model that matches the multidimensional entity features; updating the feature weights of at least some features in the first target model based on the multidimensional entity features of multiple entities and training the first target push model to obtain a second target push model; and determining push information to be pushed to multiple entities based on the second target push model.

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

[0189] Therefore, embodiments of this application provide a computer-readable storage medium, which may include: read-only memory (ROM), random access memory (RAM), a magnetic disk, or an optical disk, etc. A computer program is stored thereon, and the computer program is loaded by a processor to execute the steps in any of the push information determination methods provided in embodiments of this application. For example, the computer program loaded by the processor can execute the following steps:

[0190] The process involves: acquiring multidimensional entity features of multiple entities and multiple preset initial models; matching the multiple preset initial models based on the multidimensional entity features of multiple entities to obtain a first target push model that matches the multidimensional entity features; updating the feature weights of at least some features in the first target model based on the multidimensional entity features of multiple entities and training the first target push model to obtain a second target push model; and determining push information to be pushed to multiple entities based on the second target push model.

[0191] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the detailed descriptions of other embodiments above, which will not be repeated here.

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

[0193] For details on the implementation of each of the above operations, please refer to the previous examples, which will not be repeated here.

[0194] The above provides a detailed description of a method and apparatus for determining push information provided in the embodiments of this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The description of the above embodiments is only for the purpose of helping to understand the method and core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.

Claims

1. A method for determining push information, characterized in that, The method for determining the push information includes: Obtain multidimensional entity features of multiple entities and multiple preset initial models; Multiple preset initial models are matched based on the multidimensional entity features of multiple entities to obtain a first target push model that matches the multidimensional entity features; Obtain preset influence parameters for each feature to be updated; determine the feature to be updated that satisfies the preset influence parameters as the target update feature of the first target push model; update the feature weights of the target update feature of the first target push model and train the first target push model to obtain the second target push model. The push information to be pushed to the multiple entities is determined based on the second target push model.

2. The method for determining push information according to claim 1, characterized in that, Each preset initial model supports different input features. The process of matching multiple preset initial models based on multi-dimensional entity features of multiple entities to obtain a first target push model that matches the multi-dimensional entity features includes: Obtain the number of features for each dimension of entity features; Entity features with a number of features exceeding a first preset number are identified as features to be updated. The preset initial model containing each of the supported input features to be updated is determined as the first target push model.

3. The method for determining push information according to claim 1, characterized in that, The process of updating the feature weights of the target update features of the first target push model and training the first target push model to obtain the second target push model includes: The feature weights of the target update features of the first target push model are increased by a preset value and trained to obtain the third target push model. Based on the preset traffic splitting configuration information and the first target push model, the multiple entities are subjected to A / B traffic splitting to obtain the first A / B traffic splitting experimental effect parameters. Based on the preset traffic splitting configuration information and the third target push model, the multiple entities are subjected to A / B traffic splitting to obtain the second A / B traffic splitting experimental effect parameters. If the effect parameter of the second AB split experiment is greater than the effect parameter of the first AB split experiment, then the third target push model is determined as the second target push model.

4. The method for determining push information according to claim 3, characterized in that, The method for determining the push information includes: If the effect parameter of the second AB split experiment is not greater than the effect parameter of the first AB split experiment, then the feature weight of the target update feature of the first target push model is reduced by a preset value and trained to obtain the second target push model.

5. The method for determining push information according to claim 3, characterized in that, The step of performing A / B splitting on the multiple entities based on preset splitting configuration information and the first target push model to obtain the first A / B splitting experiment effect parameters includes: Calculate the hash value of each entity based on its multidimensional user characteristics; Based on the hash values ​​of each entity, multiple entities whose hash values ​​meet the preset hash value conditions are identified as entities to be pushed; The first target push model is used to push to multiple entities to be pushed, and feedback information is obtained; The parameters for the effect of the first AB diversion experiment are determined based on the feedback information.

6. The method for determining push information according to claim 3, characterized in that, The step of performing A / B splitting on the multiple entities based on preset splitting configuration information and the first target push model to obtain the first A / B splitting experimental effect parameters includes: Read the preset traffic splitting configuration information stored in the preset file at the preset frequency; Determine whether the preset traffic splitting configuration information in the preset file is the same as the preset traffic splitting configuration information in memory; If they are different, the preset traffic splitting configuration information in the preset file is loaded into memory to obtain the preset traffic splitting configuration information from the memory.

7. A device for determining push information, characterized in that, The device for determining the push information includes: The acquisition unit is used to acquire multidimensional entity features of multiple entities and multiple preset initial models; The matching unit is used to match multiple preset initial models based on the multidimensional entity features of multiple entities to obtain a first target push model that matches the multidimensional entity features. The training unit is updated to obtain the preset influence parameters of each feature to be updated; the feature to be updated that meets the preset influence parameters is determined as the target update feature of the first target push model; the feature weights of the target update feature of the first target push model are updated and the first target push model is trained to obtain the second target push model. The determining unit is used to determine the push information to be pushed to the multiple entities based on the second target push model.

8. A computer device, characterized in that, The computer device includes: One or more processors; Memory; and One or more applications, wherein the one or more applications are stored in the memory and configured to be executed by the processor to implement the method for determining push information according to any one of claims 1 to 6.

9. A computer-readable storage medium, characterized in that, It stores a computer program, which is loaded by a processor to execute the steps of the method for determining push information according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Content recommendation method and device, equipment, medium and computer program product

    CN114297470A

  • Systems and methods for generating behavior profiles for new entities

    EP3652654A1