Gray release method and device, electronic equipment and storage medium
By determining the target function similarity to the pre-release function in grayscale release and selecting the target user based on user characteristics, the problem of unrepresentative sample users in the prior art is solved, and a more efficient grayscale release test is achieved.
Patent Information
- Application Number
- CN202411397595.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-08
- Publication Date
- 2025-02-14
AI Technical Summary
In the process of grayscale release, the feedback cannot objectively and comprehensively reflect the current grayscale version problem, which affects the release strategy and testing efficiency.
By determining the target function similar to the pre-release function from the functions of the recently released grayscale version software, and selecting target users based on user characteristics, publishing grayscale version software with multiple functions to these users to improve feedback representativeness and accuracy.
The selected target users are more accurate and representative, and the feedback information is more objective and comprehensive, which helps to repair and optimize functions more accurately and quickly, thereby improving the testing efficiency of grayscale release.
Smart Images

Figure CN119440985A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a grayscale publishing method, device, electronic device and storage medium. Background Art
[0002] Grayscale release refers to a release method that can achieve a smooth transition. It is an important means of gradually introducing new features or versions in software delivery. Grayscale release is to release to a small number of users before releasing to all users. Problems can be discovered and adjusted in time before the official release to reduce risks and maximize user experience.
[0003] However, in the process of grayscale release, the existing technology usually randomly selects sample users, releases the grayscale version to the sample users, adjusts the grayscale version according to the feedback of the sample users, and then releases it again until the expected feedback results are achieved, and then officially releases it online. However, since the sample users selected in this grayscale release method are not representative, the feedback from the sample users cannot objectively and comprehensively reflect the problems of the current grayscale version, which affects the next release strategy and reduces the test efficiency of grayscale release. Summary of the invention
[0004] Embodiments of the present application provide a grayscale release method, device, electronic device, and storage medium to improve the testing efficiency of grayscale release.
[0005] In a first aspect, an embodiment of the present application provides a grayscale release method, including:
[0006] Determine, from the first functions of the most recently released first grayscale version software, a target first function corresponding to the pre-released second function; wherein the target first function is determined according to the similarity between the first functions and the second function;
[0007] Based on the correspondence between the first function and the user feature, determining the target user feature corresponding to the target first function; wherein the correspondence between the first function and the user feature is obtained based on user data of sample users who use the first gray version software;
[0008] Based on the target user characteristics, selecting a target user from the sample users;
[0009] A second grayscale version software including the first functions and the second function is released to the target user.
[0010] In some embodiments, determining the target first function corresponding to the pre-released second function from the first functions of the most recently released first grayscale version software includes:
[0011] Using a preset algorithm, select a plurality of first functions from the first functions;
[0012] A target first function corresponding to the pre-released second function is determined according to the distances between the plurality of first functions and the second function.
[0013] In some embodiments, determining, according to the distances between the plurality of first functions and the second function, a target first function corresponding to the pre-released second function includes:
[0014] For each of the plurality of first functions, determining a first distance between the first function and the second function based on a feature vector of the second function and a feature vector of the first function and a predetermined distance algorithm;
[0015] Based on the first distance, determining a similarity weight of the first function; wherein the closer the first distance is, the greater the similarity weight is;
[0016] The similarity weights of the first functions are weighted with the corresponding feature vectors of the first functions to obtain a target feature vector; the target feature vector is used to represent the estimated value of the target first function;
[0017] determining a second distance between the target feature vector and the feature vector of the second function;
[0018] A target first function is determined from among the plurality of first functions based on the first distance and the second distance.
[0019] In some embodiments, the correspondence between the first function and the user feature is obtained in the following manner:
[0020] Extracting user features of each sample user based on user data of the sample users using the first grayscale version of the software;
[0021] Based on the user characteristics, determining the usage frequency of each first function by each sample user;
[0022] Determining, based on the user feedback information of each sample user, the satisfaction degree of each sample user with respect to each first function;
[0023] Taking the user features as input of a prediction model, taking the usage frequency of each sample user for each first function and the satisfaction degree of each sample user for each first function as output, training the prediction model, and obtaining a trained prediction model;
[0024] The training process of the trained prediction model is analyzed to obtain a corresponding relationship between the first function and the user feature.
[0025] In some embodiments, analyzing the training process of the trained prediction model to obtain the corresponding relationship between the first function and the user feature includes:
[0026] For any first function, at least two characteristic factors are randomly selected from each characteristic factor in the user characteristics to be combined to determine each characteristic factor group; wherein the characteristic factors in any two characteristic factor groups are different or partially the same;
[0027] Inputting each characteristic factor group into the prediction model to obtain a prediction result for any first function corresponding to each characteristic factor group;
[0028] From each prediction result, select a target prediction result whose usage frequency exceeds a preset frequency threshold and whose satisfaction exceeds a preset satisfaction threshold;
[0029] A correspondence is established between the selected feature factor group used in the target prediction result and any one of the first functions.
[0030] In some embodiments, before determining the target first function corresponding to the pre-released second function from the first functions of the most recently released first grayscale version software, the method further includes:
[0031] Based on user data and user feedback information of sample users using the first gray version software, determining whether the first functions need to be optimized;
[0032] For any first function that needs to be optimized, determining an optimization strategy for the first function based on an optimization direction corresponding to the first function that needs to be optimized, and optimizing the first function that needs to be optimized according to the optimization strategy;
[0033] Based on the optimized first function and the second function, the second grayscale version software is obtained.
[0034] In some embodiments, judging whether it is necessary to optimize each of the first functions based on the user data and user feedback information of sample users using the first gray version software includes:
[0035] For any first function, if the user data and the user feedback information meet any preset optimization condition, it is determined that the first function needs to be optimized; wherein the preset optimization condition includes some or all of the following:
[0036] The number of sample users who use the first function is lower than a quantity threshold;
[0037] The average frequency of use of the first function by the sample users is lower than a preset frequency threshold;
[0038] The average satisfaction of the sample users with the first function is lower than a preset satisfaction threshold.
[0039] In some embodiments, the optimization direction corresponding to any first function to be optimized is determined in the following manner:
[0040] For any first function that needs to be optimized, if the number of users among the sample users who use the first function that needs to be optimized is lower than a quantity threshold, determining that the optimization direction is to increase the total number of users;
[0041] If the number of infrequent users is higher than a first preset value of the number of users using any of the first functions that need to be optimized, determining that the optimization direction is to increase the frequency of use of any of the first functions that need to be optimized by infrequent users; the infrequent users are users whose frequency of use of any of the first functions that need to be optimized is lower than a preset frequency threshold among users using any of the first functions that need to be optimized;
[0042] If the number of users among the frequent users whose satisfaction with any of the first functions that need to be optimized is lower than a preset satisfaction threshold is higher than a second preset value of the number of frequent users, determining that the optimization direction is to improve the satisfaction of the frequent users with the any of the first functions that need to be optimized; the frequent users are users whose frequency of using the any of the first functions that need to be optimized is not lower than a preset frequency threshold among the users who use the any of the first functions that need to be optimized;
[0043] If the number of dissatisfied users is higher than a third preset value of the number of users who use any of the first functions that need to be optimized, the optimization direction is determined to be to increase the satisfaction of dissatisfied users with respect to any of the first functions that need to be optimized, and the dissatisfied users are users whose satisfaction with respect to any of the first functions that need to be optimized is lower than a preset satisfaction threshold among the users who use any of the first functions that need to be optimized.
[0044] In a second aspect, an embodiment of the present application provides a grayscale publishing device, including:
[0045] A first determination module is used to determine a target first function corresponding to a pre-released second function from each first function of the first gray version software that has been released the most recently; wherein the target first function is determined according to the similarity between each first function and the second function;
[0046] A second determination module is used to determine the target user feature corresponding to the target first function based on the correspondence between the first function and the user feature; wherein the correspondence between the first function and the user feature is obtained based on user data of sample users who use the first gray version software;
[0047] A selection module, configured to select a target user from the sample users based on the target user characteristics;
[0048] A publishing module is used to publish the second gray version software including the first functions and the second function to the target user.
[0049] In some embodiments, the first determining module is specifically configured to:
[0050] Using a preset algorithm, select a plurality of first functions from the first functions;
[0051] A target first function corresponding to the pre-released second function is determined according to the distances between the plurality of first functions and the second function.
[0052] In some embodiments, the first determining module is specifically configured to:
[0053] For each of the plurality of first functions, determining a first distance between the first function and the second function based on a feature vector of the second function and a feature vector of the first function and a predetermined distance algorithm;
[0054] Based on the first distance, determining a similarity weight of the first function; wherein the closer the first distance is, the greater the similarity weight is;
[0055] The similarity weights of the first functions are weighted with the corresponding feature vectors of the first functions to obtain a target feature vector; the target feature vector is used to represent the estimated value of the target first function;
[0056] determining a second distance between the target feature vector and the feature vector of the second function;
[0057] A target first function is determined from among the plurality of first functions based on the first distance and the second distance.
[0058] In some embodiments, the second determining module is further configured to obtain the correspondence between the first function and the user feature in the following manner:
[0059] Extracting user features of each sample user based on user data of the sample users using the first grayscale version of the software;
[0060] Based on the user characteristics, determining the usage frequency of each first function by each sample user;
[0061] Determining, based on the user feedback information of each sample user, the satisfaction degree of each sample user with respect to each first function;
[0062] Taking the user features as input of a prediction model, taking the usage frequency of each sample user for each first function and the satisfaction degree of each sample user for each first function as output, training the prediction model, and obtaining a trained prediction model;
[0063] The training process of the trained prediction model is analyzed to obtain a corresponding relationship between the first function and the user feature.
[0064] In some embodiments, the second determining module is specifically configured to:
[0065] For any first function, at least two characteristic factors are randomly selected from each characteristic factor in the user characteristics to be combined to determine each characteristic factor group; wherein the characteristic factors in any two characteristic factor groups are different or partially the same;
[0066] Inputting each characteristic factor group into the prediction model to obtain a prediction result for any first function corresponding to each characteristic factor group;
[0067] From each prediction result, select a target prediction result whose usage frequency exceeds a preset frequency threshold and whose satisfaction exceeds a preset satisfaction threshold;
[0068] A correspondence is established between the selected feature factor group used in the target prediction result and any one of the first functions.
[0069] In some embodiments, an optimization module is further included for:
[0070] In the first determination module, before determining the target first function corresponding to the pre-released second function from the first functions of the most recently released first gray version software, judging whether it is necessary to optimize the first functions based on the user data and user feedback information of the sample users who use the first gray version software;
[0071] For any first function that needs to be optimized, determining an optimization strategy for the first function based on an optimization direction corresponding to the first function that needs to be optimized, and optimizing the first function that needs to be optimized according to the optimization strategy;
[0072] Based on the optimized first function and the second function, the second grayscale version software is obtained.
[0073] In some embodiments, the optimization module is specifically used to:
[0074] For any first function, if the user data and the user feedback information meet any preset optimization condition, it is determined that the first function needs to be optimized; wherein the preset optimization condition includes some or all of the following:
[0075] The number of sample users who use the first function is lower than a quantity threshold;
[0076] The average frequency of use of the first function by the sample users is lower than a preset frequency threshold;
[0077] The average satisfaction of the sample users with the first function is lower than a preset satisfaction threshold.
[0078] In some embodiments, the optimization module is further used to determine the optimization direction corresponding to any first function to be optimized in the following manner:
[0079] For any first function that needs to be optimized, if the number of users among the sample users who use the first function that needs to be optimized is lower than a quantity threshold, determining that the optimization direction is to increase the total number of users;
[0080] If the number of infrequent users is higher than a first preset value of the number of users using any of the first functions that need to be optimized, determining that the optimization direction is to increase the frequency of use of any of the first functions that need to be optimized by infrequent users; the infrequent users are users whose frequency of use of any of the first functions that need to be optimized is lower than a preset frequency threshold among users using any of the first functions that need to be optimized;
[0081] If the number of users among the frequent users whose satisfaction with any of the first functions that need to be optimized is lower than a preset satisfaction threshold is higher than a second preset value of the number of frequent users, determining that the optimization direction is to improve the satisfaction of the frequent users with the any of the first functions that need to be optimized; the frequent users are users whose frequency of using the any of the first functions that need to be optimized is not lower than a preset frequency threshold among the users who use the any of the first functions that need to be optimized;
[0082] If the number of dissatisfied users is higher than a third preset value of the number of users who use any of the first functions that need to be optimized, the optimization direction is determined to be to increase the satisfaction of dissatisfied users with respect to any of the first functions that need to be optimized, and the dissatisfied users are users whose satisfaction with respect to any of the first functions that need to be optimized is lower than a preset satisfaction threshold among the users who use any of the first functions that need to be optimized.
[0083] In a third aspect, an embodiment of the present application provides an electronic device, comprising: at least one processor, and a memory communicatively connected to the at least one processor, wherein:
[0084] The memory stores a computer program that can be executed by at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the above-mentioned grayscale release method.
[0085] In a fourth aspect, an embodiment of the present application provides a storage medium. When a computer program in the storage medium is executed by a processor of an electronic device, the electronic device is capable of executing the above-mentioned grayscale release method.
[0086] In a fifth aspect, an embodiment of the present application provides a computer program product, which, when called and executed by an electronic device, enables the electronic device to execute the above-mentioned grayscale publishing method.
[0087] In the embodiment of the present application, the target first function corresponding to the pre-released second function is determined from each first function of the most recently released first gray version software; wherein the target first function is determined based on the similarity between each first function and the second function; based on the correspondence between the first function and the user feature, the target user feature corresponding to the target first function is determined; the correspondence between the first function and the user feature is obtained based on the user data of the sample users who use the first gray version software; based on the target user feature, the target user is selected from the sample users; and the second gray version software containing each first function and the second function is released to the target user. Based on the similarity, the target first function corresponding to the second function is determined, and then through the correspondence between the first function and the user feature, the target user feature corresponding to the target first function can be determined, and the target user corresponding to the target user feature is used as the target user for testing the second function, so that the selected target user is more accurate and more representative, and at the same time, the feedback information of the target user can also more objectively and comprehensively reflect the problems and deficiencies of the second function, which is conducive to more accurate and rapid repair and optimization of the second function, thereby improving the test efficiency of gray release.
[0088] Other features and advantages of the present application will be described in the following description, and partly become apparent from the description, or be understood by practicing the present application. The purpose and other advantages of the present application can be realized and obtained by the structures specifically pointed out in the written description, claims, and drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0089] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:
[0090] Figure 1 A flowchart of a grayscale publishing method provided in an embodiment of the present application;
[0091] Figure 2 A flowchart of a method for determining a first function of a target provided in an embodiment of the present application;
[0092] Figure 3 A flowchart of a method for determining a correspondence between a first function and a user feature provided in an embodiment of the present application;
[0093] Figure 4 A flow chart of a method for optimizing a first function provided in an embodiment of the present application;
[0094] Figure 5 A schematic diagram of the structure of a grayscale publishing device provided in an embodiment of the present application;
[0095] Figure 6 A schematic diagram of the hardware structure of an electronic device for implementing a grayscale publishing method provided in an embodiment of the present application. DETAILED DESCRIPTION
[0096] In order to make the purpose, technical scheme and advantages of the present application clearer, the technical scheme in the embodiment of the present application will be clearly and completely described below in conjunction with the drawings in the embodiment of the present application. Obviously, the described embodiment is only a part of the embodiment of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of the present application. In the absence of conflict, the embodiments in the present application and the features in the embodiments can be arbitrarily combined with each other. In addition, although the logical order is shown in the flow chart, in some cases, the steps shown or described can be performed in an order different from that here.
[0097] The terms "first" and "second" in the specification and claims of this application and the above-mentioned drawings are used to distinguish different objects, rather than to describe a specific order. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist, for example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the objects associated before and after are in an "or" relationship. In addition, the term "includes" and any of their variations are intended to cover non-exclusive protection. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but optionally includes steps or units that are not listed, or optionally includes other steps or units inherent to these processes, methods, products or devices. "Multiple" in this application can mean at least two, for example, two, three or more, and the embodiments of this application are not limited.
[0098] The following is a description of exemplary embodiments of the present application in conjunction with the accompanying drawings, including various details of the embodiments of the present application to facilitate understanding, which should be considered as merely exemplary. Therefore, those of ordinary skill in the art should recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope of the present application. Similarly, for the sake of clarity and conciseness, the description of well-known functions and structures is omitted in the following description. It should be noted that in the embodiments of the present application, certain software, components, models and other existing solutions in the industry may be mentioned, which should be considered as exemplary, and their purpose is only to illustrate the feasibility of the implementation of the technical solution of the present application, but it does not mean that the applicant has or will necessarily use the solution.
[0099] In the technical solution of this application, the acquisition, transmission, storage, and use of data are in compliance with the requirements of relevant national laws and regulations.
[0100] In order to facilitate the understanding of this application, the technical terms involved in this application are:
[0101] Grayscale release refers to a release method that can achieve a smooth transition. That is, some users continue to use the original product feature A, while some users start to use the new product feature B. If users give good feedback on product feature B, then the scope is gradually expanded and product feature B is pushed to all users.
[0102] Using grayscale release can avoid major failures. New features or updates may have undiscovered vulnerabilities or problems. Through grayscale release, only a part of users are exposed to new features first, which can timely discover potential serious failures in a small range, avoid large-scale system crashes or service interruptions that may occur after full release, thereby reducing the impact on the entire user group and reducing data loss. If the new function involves data processing, grayscale release can find data errors or loss problems in a small range of tests, take timely measures to repair them, and avoid large data losses after full release. For some specific user groups, grayscale release can be carried out in a targeted manner to provide them with personalized new function experience. This can not only meet the needs of different users, but also improve user satisfaction and loyalty to the product. If there are some uncertainties in the new function or it may cause interference to users, grayscale release can control the scope of influence and reduce interference to other users. At the same time, new functions can be withdrawn in time when user feedback is poor to avoid adverse effects on the entire user group.
[0103] Before introducing the grayscale publishing method provided in the embodiment of the present application, in order to facilitate understanding, the technical background of the embodiment of the present application is first introduced in detail below.
[0104] In the process of grayscale release, the existing technology usually randomly selects sample users, releases the grayscale version to the sample users, adjusts the grayscale version according to the feedback of the sample users, and then releases it again until the expected feedback results are achieved, and then officially releases it online. However, since the sample users selected in this grayscale release method are not representative, the feedback from the sample users cannot objectively and comprehensively reflect the problems of the current grayscale version, which affects the next release strategy and reduces the test efficiency of grayscale release.
[0105] In view of this, in order to solve the problem of low test efficiency of grayscale release in the prior art, the embodiments of the present application provide a grayscale release method, device, electronic device and storage medium. Some preferred embodiments of the present application are described below in conjunction with the accompanying drawings.
[0106] Please refer to Figure 1 , is a flowchart of a grayscale publishing method provided in an embodiment of the present application. The method is applied in a mobile terminal, a router or a server, and includes the following steps.
[0107] In step 101, a target first function corresponding to a pre-released second function is determined from the first functions of the most recently released first gray version software; wherein the target first function is determined by the similarity between the first functions and the second function.
[0108] During specific implementation, a preset algorithm may be used to select multiple first functions from various first functions; then, based on the distances between the multiple first functions and the second functions, a target first function corresponding to the pre-released second function may be determined.
[0109] In specific implementation, multiple first functions can be selected from each first function according to the K-Nearest Neighbor (KNN) algorithm. In the KNN algorithm, the selection of the optimal number of neighbors K is crucial, and K is the number of the selected first functions, because it directly affects the prediction performance of the model.
[0110] The KNN algorithm works by comparing new data points with the closest data points in the training set to perform classification or regression. If K is too small, the model may overfit because it only refers to one point. Even if this point is a noise point, it will affect the prediction results, causing the model to perform well on the training data but poorly on the test data. If K is too large, the model will be too smooth, and too many neighbors may include irrelevant or distant neighbors of the new data point, causing the model to underfit on the test data and the prediction to become inaccurate. Therefore, choosing an appropriate K value can strike a balance between preventing overfitting and underfitting, which helps improve the accuracy and generalization ability of the model.
[0111] The following describes the specific steps for selecting the optimal number of neighbors K using the KNN algorithm.
[0112] Step 1: Randomly divide each first function into a training set and a test set. The training set is used to train the KNN model, and the test set is used to evaluate the performance of the model under different K values. It can usually be divided according to a certain ratio, such as 70% of the first functions as training sets and 30% of the first functions as test sets.
[0113] Step 2: Determine a reasonable value range of K, where this value range can be determined based on experience, for example, you can start with a smaller value, such as K=3, and then gradually increase to a larger value, such as K=10.
[0114] Step 3: For each K value, calculate the distance between the second function and each first function in the training set, where the distance algorithm can be Euclidean distance, Manhattan distance, cosine distance, etc., which can be selected according to actual needs. According to the calculated distance, select the K first functions with the closest distance.
[0115] Step 4: Compare the evaluation results of different K values on the test set and select the best K value. The K value with the best performance can be determined based on the evaluation indicators, which can be accuracy, recall, etc. For example, select the K value with the highest accuracy and the smallest mean square error.
[0116] In specific implementation, in order to further verify the reliability of the K value, the cross-validation method can also be used to divide the data set into multiple subsets, take each subset as a test set in turn, and use the remaining subsets as training sets, evaluate different K values, and calculate performance indicators.
[0117] In a specific implementation, after selecting a plurality of first functions from the first functions, the target first function corresponding to the pre-released second function may be determined through the following steps.
[0118] Please refer to Figure 2 , which is a flowchart of a method for determining a target first function provided in an embodiment of the present application, and the method includes the following steps.
[0119] In step 201 , for each of the plurality of first functions, a first distance between the first function and the second function is determined based on a feature vector of the second function and a feature vector of the first function and a predetermined distance algorithm.
[0120] In a specific implementation, feature extraction is performed on the first function and the second function to obtain corresponding feature vectors, and these features may include properties such as performance indicators, usage scenarios, and user interface characteristics.
[0121] The predetermined distance algorithm may be Euclidean distance, Manhattan distance, cosine distance, etc., and may be selected according to actual needs.
[0122] Assume that there are three first functions, namely function A, function B and function C, and the second function is function D. The feature vector of function D is (8, 6), the feature vector of function A is (5, 4), the feature vector of function B is (6, 5), and the feature vector of function C is (7, 7), where each feature component in the feature vector of each function is the value of the function at different feature dimensions.
[0123] Then, according to the calculation formula of Euclidean distance, we can get the first distance of function A as The first distance of function B is The first distance of function C is
[0124] In step 202, based on the first distance, a similarity weight of the first function is determined; wherein the closer the first distance, the greater the similarity weight.
[0125] In specific implementation, a similarity weight is allocated to each first function, and the similarity weight is inversely proportional to the first distance, that is, the closer the first distance, the greater the similarity weight.
[0126] for example, Among them, ωi is the similarity weight of the i-th first function, d i is the first distance between the i-th first function and the second function.
[0127] Therefore, the similarity weight of feature A is The similarity weight of function B is The similarity weight of function C is
[0128] In step 203, the similarity weights of the first functions are weighted with the corresponding feature vectors of the first functions to obtain a target feature vector; the target feature vector is used to represent the estimated value of the target first function.
[0129] In specific implementation, when the similarity weights of each first function are weighted with the corresponding feature vectors of each first function, for each feature dimension, the values of all first functions on the feature dimension are multiplied by the corresponding similarity weight and then summed up to obtain the value of the target feature vector on the feature dimension.
[0130] For the first feature dimension:
[0131] For the second feature dimension:
[0132] Then the target feature vector is (9, 8).
[0133] In step 204, a second distance between the target feature vector and the feature vector of the second function is determined.
[0134] In a specific implementation, the second distance between the target feature vector (9, 8) and the feature vector (8, 6) of function D is
[0135] In step 205 , a target first function is determined from a plurality of first functions based on the first distance and the second distance.
[0136] In specific implementation, the target first function can be determined from multiple first functions based on the absolute value of the difference between each first distance and the second distance, such as selecting the first function with the smallest absolute value of the difference between the first distance and the second distance as the target first function.
[0137] In step 102, based on the correspondence between the first function and the user feature, the target user feature corresponding to the target first function is determined; wherein the correspondence between the first function and the user feature is obtained based on user data of sample users using the first gray version software.
[0138] During specific implementation, the corresponding relationship between the first function and the user feature is obtained in the following manner.
[0139] Please refer to Figure 3 , which is a flowchart of a method for determining the correspondence between a first function and a user feature provided in an embodiment of the present application, the method comprising the following steps.
[0140] In step 301 , user features of each sample user are extracted based on user data of sample users using the first gray version software.
[0141] In specific implementation, the extracted user characteristics may include user region, gender, user level, payment status, usage frequency, functions used, usage time period, access terminal, etc.
[0142] For example, the user's region, gender, user level and other data are obtained through the user's registration information, the payment status is obtained from the payment system records, and the system's log records are used to obtain the frequency of use, functions used, usage time, access terminals, etc.
[0143] In step 302, based on the user characteristics, the usage frequency of each first function by each sample user is determined.
[0144] In specific implementation, the extracted user features may be counted according to a preset statistical dimension, for example, the statistical dimension may be the number of times used per day or per week, to determine the frequency of use of each first function by each sample user.
[0145] In step 303, based on the user feedback information of each sample user, the satisfaction degree of each sample user with respect to each first function is determined.
[0146] In specific implementation, user feedback information may include user evaluations, opinions, suggestions, etc. User feedback information can be obtained through a variety of methods, such as user questionnaires, social media opinion collection, etc. By comprehensively analyzing user feedback information, the satisfaction of each sample user with the first functions can be obtained.
[0147] In step 304, the user features are used as inputs of the prediction model, and the usage frequency of each sample user for each first function and the satisfaction of each sample user for each first function are used as outputs to train the prediction model to obtain a trained prediction model.
[0148] During specific implementation, a neural network model may be used as a prediction model, such as a neural network model (Kolmogorov-Arnold Networks, KAN).
[0149] In specific implementation, the feature vector and the corresponding label vector of each sample user can be combined to form a data sample, where the label refers to the frequency of use of each first function by each sample user and the satisfaction of each sample user with each first function. The above steps are repeated to form multiple data samples, and a preset proportion of sample data is determined as the training set of the KAN model, and the sample data other than the training set is used as the test set. The feature vector of each training sample in the training set is used as the input of the KAN model, and the label of each training sample is used as the output to train the KAN model. When it is determined that the preset number of iterations is met, the test set is used to test the prediction performance of the KAN model, such as accuracy, recall rate, etc., and when it is determined that the preset convergence conditions are met, the trained KAN model is obtained.
[0150] In specific implementation, the usage frequency of each first function corresponding to any user feature and the satisfaction of each sample user with each first function can be predicted based on the trained prediction model.
[0151] Since there is often a complex nonlinear relationship between user features and the first function, the usage model can capture these complex patterns and relationships by learning a large amount of data, while it may be difficult to discover these potential associations by relying solely on manual analysis or simple statistical methods. It can thus provide a more accurate correspondence between user features and the first function.
[0152] In specific implementation, if the sample data is small, the Bayesian autoregression generation model can be used to combine the existing user features to make probabilistic predictions of function usage and satisfaction, and obtain more sample data for fitting. For example, if there are m A features and n B features, through direct multiplication, m*n combined features can be generated through permutations and combinations.
[0153] In step 305, the training process of the trained prediction model is analyzed to obtain the corresponding relationship between the first function and the user feature.
[0154] In specific implementation, for any first function, at least two characteristic factors are randomly selected from each characteristic factor in the user characteristics to be combined to determine each characteristic factor group; wherein the characteristic factors in any two characteristic factor groups are different or partially the same.
[0155] Each characteristic factor group is input into the prediction model to obtain a prediction result of any first function corresponding to each characteristic factor group.
[0156] From each prediction result, the target prediction result whose usage frequency exceeds the preset frequency threshold and whose satisfaction exceeds the preset satisfaction threshold is screened out.
[0157] A correspondence is established between the feature factor group used in the screened target prediction result and any first function.
[0158] For example, the user characteristics contain 5 characteristic factors in total. When the characteristic factors in any two characteristic factor groups are different, any two characteristic factors can be combined to obtain 10 characteristic factor groups. Each characteristic factor in these 10 characteristic factor groups can be input into the prediction model to obtain a prediction result, that is, 10 prediction results. Each prediction result contains the frequency of use of the first function by the user corresponding to the user characteristics shown in the corresponding characteristic factor group and the satisfaction of each sample user with the first function. After that, the target prediction result whose use frequency exceeds the preset frequency threshold and whose satisfaction exceeds the preset satisfaction threshold can be screened out from the 10 prediction results. If the screened target prediction result is prediction result 5, a corresponding relationship is established between the characteristic factor group 5 used in prediction result 5 and the first function. By analogy, the corresponding relationship between each first function and the user characteristics is obtained. For example, the first function is the payment function, and the corresponding user characteristics are that the use period is at night and the user age is 20-40 years old.
[0159] In step 103, a target user is selected from the sample users based on the target user characteristics.
[0160] In specific implementation, after the target user characteristics are determined, users meeting the target user characteristics can be screened from sample users as target users based on the target user characteristics.
[0161] In step 104, a second grayscale version of the software including the first function and the second function is released to the target user.
[0162] In specific implementation, after the target users are determined, the second gray version of the software can be released to the target users after adding the second function to the most recently released first gray version of the software. For example, if the target first function corresponding to the second function is the payment function, the second gray version of the software will be released to the target users who use the software at night and are aged between 20 and 40.
[0163] In this way, the target first function corresponding to the second function is determined based on the similarity, and then the target user characteristics corresponding to the target first function can be determined through the correspondence between the first function and the user characteristics. The target user corresponding to the target user characteristics is used as the target user for testing the second function, so that the selected target user is more accurate and representative. At the same time, the feedback information of the target user can more objectively and comprehensively reflect the problems and shortcomings of the second function, avoiding irrelevant feedback caused by selecting the wrong user group, which is conducive to more accurate and rapid repair and optimization of the second function, thereby improving the testing efficiency of the gray release, and can further enhance the user experience.
[0164] In specific implementation, before determining the target first function corresponding to the pre-released second function from among the first functions of the most recently released first gray version software, it is also necessary to determine that the first functions of the first gray version software are optimized first functions.
[0165] During specific implementation, the optimized first function of the first gray version software is determined in the following manner.
[0166] Please refer to Figure 4 , is a flow chart of a method for optimizing a first function provided in an embodiment of the present application, the method comprising the following steps.
[0167] In step 401, user data and user feedback information of sample users of a first gray version software are obtained, wherein the first gray version software includes various first functions.
[0168] In step 402 , it is determined whether each first function needs to be optimized. If so, the process proceeds to step 403 ; otherwise, the process proceeds to step 405 .
[0169] During specific implementation, for any first function, if the user data and user feedback information meet any preset optimization condition, it is determined that the first function needs to be optimized; wherein the preset optimization condition may be that the number of sample users who use the first function is lower than a quantity threshold; the average frequency of use of the first function by sample users is lower than a preset frequency threshold; the average satisfaction of sample users with the first function is lower than a preset satisfaction threshold.
[0170] For example, there are 1,000 sample users in total, and the quantity threshold is set to 500. If it is determined based on user data that the number of users using the first function is 100, then the number of users using the first function is lower than the quantity threshold, and it is determined that the preset optimization condition is met;
[0171] Assume that the preset frequency threshold is set to 10 times. If it is determined based on user feedback information that the average usage frequency of the first function by the sample users is 2 times, then the average usage frequency of the first function by the sample users is lower than the preset frequency threshold, and it is determined that the preset optimization condition is met.
[0172] Assume that the preset satisfaction threshold is set to 40%. If it is determined based on user feedback information that the average satisfaction of sample users with the first function is 5%, then the average usage frequency of the first function by sample users is lower than the preset frequency threshold, which determines that the preset optimization condition is met.
[0173] In step 403, for any first function that needs to be optimized, an optimization strategy for the first function is determined based on the optimization direction corresponding to any first function that needs to be optimized.
[0174] In specific implementation, the optimization direction corresponding to any first function to be optimized may be determined in the following manner:
[0175] For any first function that needs to be optimized, if the number of sample users who use any first function that needs to be optimized is lower than the quantity threshold, the optimization direction is determined to be to increase the total number of users. For example, if there are 1,000 sample users and the quantity threshold is 500, if the number of sample users who use the first function that needs to be optimized is 100, then the total number of users needs to be increased.
[0176] If the number of infrequent users is higher than a first preset value of the number of users using any first function that needs to be optimized, the optimization direction is determined to be to increase the frequency of use of any first function that needs to be optimized by infrequent users; infrequent users are users who use any first function that needs to be optimized and whose frequency of use of any first function that needs to be optimized is lower than a preset frequency threshold. For example, if the number of users using the first function that needs to be optimized is 500, of which 180 are infrequent users, and the first preset value is 20%, the frequency of use of infrequent users can be increased, that is, the number of infrequent users can be reduced.
[0177] If the number of users whose satisfaction with any first function that needs to be optimized is lower than the preset satisfaction threshold among common users is higher than the second preset value of the number of common users, the optimization direction is determined to be to improve the satisfaction of common users with any first function that needs to be optimized; common users are users whose frequency of using any first function that needs to be optimized is not lower than the preset frequency threshold among users who use any first function that needs to be optimized. For example, if the number of users who use the first function that needs to be optimized is 500, of which 320 are common users, of which 200 have a satisfaction lower than the preset satisfaction threshold, and the second preset value is 50%, the satisfaction of common users can be improved.
[0178] If the number of dissatisfied users is higher than a third preset value of the number of users who use any first function that needs to be optimized, the optimization direction is determined to be to improve the satisfaction of dissatisfied users with any first function that needs to be optimized, and dissatisfied users are users who use any first function that needs to be optimized and whose satisfaction with the first function that needs to be optimized is lower than a preset satisfaction threshold. For example, if the number of users who use the first function that needs to be optimized is 500, of which 300 are dissatisfied users, and the third preset value is 40%, the satisfaction of dissatisfied users can be improved.
[0179] During specific implementation, after determining the optimization direction, the optimization strategy can be determined based on the optimization users and optimization goals indicated by the optimization direction. For example, the optimization strategy is to improve the user interface of the first function, increase the response speed of the first function, adjust the operation process, etc.
[0180] In step 404, any first function that needs to be optimized is optimized according to the optimization strategy to obtain optimized first functions.
[0181] During specific implementation, a second grayscale version of the software is obtained based on the optimized first function and the second function.
[0182] During specific implementation, after the second grayscale version of the software is released, it is also necessary to optimize and repair the second function based on user data and user feedback information, establish a feedback loop mechanism, and continuously improve and optimize. When it is determined that the optimization of the second function is completed, execute the steps of adding new functions to the current grayscale version of the software.
[0183] In step 405, a target first function corresponding to the pre-released second function is determined from the first functions of the most recently released first gray version software.
[0184] In specific implementation, in order to avoid the situation where the target first function corresponding to the pre-released second function is difficult to determine due to the insufficient number of first functions of the first gray version software released recently, or the target first function obtained is greatly different from the second function, the target first function can also be obtained by the forward diffusion method, wherein the forward diffusion process refers to gradually adding noise to the existing data or function until it becomes similar to pure noise. This process simulates the process in which the original function gradually "loses" its characteristics and approaches the target function. In the diffusion model, the score function Score-Function records the direction and intensity of the noise disturbance at each step. For the context of function combination, this function can indicate how the existing function approaches the new function through noise correction at each step. By recording Score-Function, the mapping relationship between the first function and the second function can be captured, and the process recorded by Score-Function can be analyzed to determine the contribution or importance of each first function in the diffusion process. The role of the first function can be evaluated based on factors such as the size and change trend of Score-Function. Then, the similarity weight corresponding to the first function is determined according to the contribution, and finally, the first functions are weighted according to the similarity weights of the first functions to obtain the target first function.
[0185] In the embodiment of the present application, the target first function corresponding to the pre-released second function is determined from each first function of the first gray version software that has been released the most recently; wherein the target first function is determined according to the similarity between each first function and the second function; based on the correspondence between the first function and the user feature, the target user feature corresponding to the target first function is determined; the correspondence between the first function and the user feature is obtained based on the user data of the sample users who use the first gray version software; based on the target user feature, the target user is selected from the sample users; and the second gray version software containing each first function and the second function is released to the target user. Based on the similarity, the target first function corresponding to the second function is determined, and then through the correspondence between the first function and the user feature, the target user feature corresponding to the target first function can be determined, and the target user corresponding to the target user feature is used as the target user for testing the second function, so that the selected target user is more accurate and more representative, and at the same time, the feedback information of the target user can also more objectively and comprehensively reflect the problems and deficiencies of the second function, which is conducive to more accurate and rapid repair and optimization of the second function, thereby improving the test efficiency of gray release, and further improving the user experience.
[0186] Based on the same technical concept, an embodiment of the present application also provides a grayscale publishing device. The principle of solving the problem by the grayscale publishing device is similar to that of the above-mentioned grayscale publishing method. Therefore, the implementation of the grayscale publishing device can refer to the implementation of the grayscale publishing method, and the repeated parts will not be repeated.
[0187] Figure 5 A structural diagram of a grayscale publishing device provided in an embodiment of the present application includes a first determination module 501, a second determination module 502, a selection module 503, and a publishing module 504.
[0188] A first determination module 501 is used to determine a target first function corresponding to a pre-released second function from among the first functions of the most recently released first gray version software; wherein the target first function is determined based on the similarity between the first functions and the second function;
[0189] A second determination module 502 is used to determine the target user feature corresponding to the target first function based on the correspondence between the first function and the user feature; wherein the correspondence between the first function and the user feature is obtained based on user data of sample users who use the first gray version software;
[0190] A selection module 503, configured to select a target user from the sample users based on the target user characteristics;
[0191] The publishing module 504 is used to publish the second gray version software including the first functions and the second function to the target user.
[0192] In some embodiments, the first determining module 501 is specifically configured to:
[0193] Using a preset algorithm, select a plurality of first functions from the first functions;
[0194] A target first function corresponding to the pre-released second function is determined according to the distances between the plurality of first functions and the second function.
[0195] In some embodiments, the first determining module 501 is specifically configured to:
[0196] For each of the plurality of first functions, determining a first distance between the first function and the second function based on a feature vector of the second function and a feature vector of the first function and a predetermined distance algorithm;
[0197] Based on the first distance, determining a similarity weight of the first function; wherein the closer the first distance is, the greater the similarity weight is;
[0198] The similarity weights of the first functions are weighted with the corresponding feature vectors of the first functions to obtain a target feature vector; the target feature vector is used to represent the estimated value of the target first function;
[0199] determining a second distance between the target feature vector and the feature vector of the second function;
[0200] A target first function is determined from the plurality of first functions based on the first distance and the second distance.
[0201] In some embodiments, the second determining module 502 is further configured to obtain the correspondence between the first function and the user feature in the following manner:
[0202] Extracting user features of each sample user based on user data of the sample users using the first grayscale version of the software;
[0203] Based on the user characteristics, determining the usage frequency of each first function by each sample user;
[0204] Determining, based on the user feedback information of each sample user, the satisfaction degree of each sample user with respect to each first function;
[0205] Taking the user features as input of a prediction model, taking the usage frequency of each sample user for each first function and the satisfaction degree of each sample user for each first function as output, training the prediction model, and obtaining a trained prediction model;
[0206] The training process of the trained prediction model is analyzed to obtain a corresponding relationship between the first function and the user feature.
[0207] In some embodiments, the second determining module 502 is specifically configured to:
[0208] For any first function, at least two characteristic factors are randomly selected from each characteristic factor in the user characteristics to be combined to determine each characteristic factor group; wherein the characteristic factors in any two characteristic factor groups are different or partially the same;
[0209] Inputting each characteristic factor group into the prediction model to obtain a prediction result for any first function corresponding to each characteristic factor group;
[0210] From each prediction result, select a target prediction result whose usage frequency exceeds a preset frequency threshold and whose satisfaction exceeds a preset satisfaction threshold;
[0211] A correspondence is established between the selected feature factor group used in the target prediction result and any one of the first functions.
[0212] In some embodiments, an optimization module 505 is further included for:
[0213] In the first determination module, before determining the target first function corresponding to the pre-released second function from the first functions of the most recently released first gray version software, judging whether it is necessary to optimize the first functions based on the user data and user feedback information of the sample users who use the first gray version software;
[0214] For any first function that needs to be optimized, determining an optimization strategy for the first function based on an optimization direction corresponding to the first function that needs to be optimized, and optimizing the first function that needs to be optimized according to the optimization strategy;
[0215] Based on the optimized first function and the second function, the second grayscale version software is obtained.
[0216] In some embodiments, the optimization module 505 is specifically used to:
[0217] For any first function, if the user data and the user feedback information meet any preset optimization condition, it is determined that the first function needs to be optimized; wherein the preset optimization condition includes some or all of the following:
[0218] The number of sample users who use the first function is lower than a quantity threshold;
[0219] The average frequency of use of the first function by the sample users is lower than a preset frequency threshold;
[0220] The average satisfaction of the sample users with the first function is lower than a preset satisfaction threshold.
[0221] In some embodiments, the optimization module 505 is further configured to determine the optimization direction corresponding to any first function to be optimized in the following manner:
[0222] For any first function that needs to be optimized, if the number of users among the sample users who use the first function that needs to be optimized is lower than a quantity threshold, determining that the optimization direction is to increase the total number of users;
[0223] If the number of infrequent users is higher than a first preset value of the number of users using any of the first functions that need to be optimized, determining that the optimization direction is to increase the frequency of use of any of the first functions that need to be optimized by infrequent users; the infrequent users are users whose frequency of use of any of the first functions that need to be optimized is lower than a preset frequency threshold among users using any of the first functions that need to be optimized;
[0224] If the number of users among the frequent users whose satisfaction with any of the first functions that need to be optimized is lower than a preset satisfaction threshold is higher than a second preset value of the number of frequent users, determining that the optimization direction is to improve the satisfaction of the frequent users with the any of the first functions that need to be optimized; the frequent users are users whose frequency of using the any of the first functions that need to be optimized is not lower than a preset frequency threshold among the users who use the any of the first functions that need to be optimized;
[0225] If the number of dissatisfied users is higher than a third preset value of the number of users who use any of the first functions that need to be optimized, the optimization direction is determined to be to increase the satisfaction of dissatisfied users with respect to any of the first functions that need to be optimized, and the dissatisfied users are users whose satisfaction with respect to any of the first functions that need to be optimized is lower than a preset satisfaction threshold among the users who use any of the first functions that need to be optimized.
[0226] In the embodiment of the present application, the target first function corresponding to the pre-released second function is determined from each first function of the most recently released first gray version software; wherein the target first function is determined based on the similarity between each first function and the second function; based on the correspondence between the first function and the user feature, the target user feature corresponding to the target first function is determined; the correspondence between the first function and the user feature is obtained based on the user data of the sample users who use the first gray version software; based on the target user feature, the target user is selected from the sample users; and the second gray version software containing each first function and the second function is released to the target user. Based on the similarity, the target first function corresponding to the second function is determined, and then through the correspondence between the first function and the user feature, the target user feature corresponding to the target first function can be determined, and the target user corresponding to the target user feature is used as the target user for testing the second function, so that the selected target user is more accurate and more representative, and at the same time, the feedback information of the target user can also more objectively and comprehensively reflect the problems and deficiencies of the second function, which is conducive to more accurate and rapid repair and optimization of the second function, thereby improving the test efficiency of gray release.
[0227] The division of modules in the embodiments of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation. In addition, the functional modules in the embodiments of the present application may be integrated into a processor, or may exist physically alone, or two or more modules may be integrated into one module. The coupling between the modules may be achieved through some interfaces, which are usually electrical communication interfaces, but it is not excluded that they may be mechanical interfaces or other forms of interfaces. Therefore, the modules described as separate components may or may not be physically separated, and may be located in one place or distributed to different locations of the same or different devices. The above-mentioned integrated modules may be implemented in the form of hardware or in the form of software functional modules.
[0228] After introducing the grayscale publishing method and device according to an exemplary embodiment of the present application, next, an electronic device according to another exemplary embodiment of the present application is introduced.
[0229] Refer to the following Figure 6 The electronic device 130 implemented according to this embodiment of the present application is described. Figure 6 The electronic device 130 shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.
[0230] like Figure 6As shown, the electronic device 130 is in the form of a general electronic device. The components of the electronic device 130 may include but are not limited to: the at least one processor 131, the at least one memory 132, and a bus 133 connecting different system components (including the memory 132 and the processor 131).
[0231] Bus 133 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, a processor, or a local bus using any of a variety of bus architectures.
[0232] The memory 132 may include a readable medium in the form of a volatile memory, such as a random access memory (RAM) 1321 and / or a cache memory 1322 , and may further include a read-only memory (ROM) 1323 .
[0233] The memory 132 may also include a program / utility 1325 having a set (at least one) of program modules 1324, such program modules 1324 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.
[0234] The electronic device 130 may also communicate with one or more external devices 134 (e.g., keyboards, pointing devices, etc.), may also communicate with one or more devices that enable a user to interact with the electronic device 130, and / or communicate with any device that enables the electronic device 130 to communicate with one or more other electronic devices (e.g., routers, modems, etc.). Such communication may be performed via an input / output (I / O) interface 135. Furthermore, the electronic device 130 may also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) via a network adapter 136. As shown, the network adapter 136 communicates with other modules for the electronic device 130 via a bus 133. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 130, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0235] In an exemplary embodiment, a storage medium is also provided, and when a computer program in the storage medium is executed by a processor of an electronic device, the electronic device can perform the above-mentioned grayscale publishing method. Optionally, the storage medium can be a non-temporary computer-readable storage medium, for example, the non-temporary computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device, etc.
[0236] In an exemplary embodiment, the electronic device of the present application may include at least one processor and a memory communicatively connected to the at least one processor, wherein the memory stores a computer program executable by the at least one processor, and when the computer program is executed by the at least one processor, the at least one processor may execute the steps of any grayscale publishing method provided in the embodiments of the present application.
[0237] In an exemplary embodiment, a computer program product is also provided. When the computer program product is executed by an electronic device, the electronic device can implement any exemplary method provided in the present application.
[0238] Furthermore, the computer program product may use any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples (non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a RAM, a ROM, an erasable programmable read-only memory (EPROM), a flash memory, an optical fiber, a compact disk read only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.
[0239] The program product for grayscale release in the embodiment of the present application may adopt a CD-ROM and include program code, and may be run on a computing device. However, the program product of the present application is not limited thereto, and in this document, a readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination with an instruction execution system, apparatus, or device.
[0240] The readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, wherein the readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The readable signal medium may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0241] The program code contained on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical cable, radio frequency (RF), etc., or any suitable combination of the foregoing.
[0242] The program code for performing the operation of the present application can be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, etc., and also conventional procedural programming languages such as "C" language or similar programming languages. The program code can be executed entirely on the user computing device, partially on the user device, as an independent software package, partially on the user computing device, partially on the remote computing device, or completely on the remote computing device or server. In the case of a remote computing device, the remote computing device can be connected to the user computing device through any type of network such as a local area network (LAN) or a wide area network (WAN), or can be connected to an external computing device (for example, using an Internet service provider to connect through the Internet).
[0243] It should be noted that, although several units or subunits of the device are mentioned in the above detailed description, this division is merely exemplary and not mandatory. In fact, according to the embodiments of the present application, the features and functions of two or more units described above can be embodied in one unit. Conversely, the features and functions of one unit described above can be further divided into multiple units to be embodied.
[0244] In addition, although the operations of the method of the present application are described in a specific order in the drawings, this does not require or imply that the operations must be performed in this specific order, or that all the operations shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps.
[0245] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.
[0246] The present application is described with reference to the flowcharts and / or block diagrams of the methods, apparatus (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of the processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0247] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0248] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process in the computer or other programmable device. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0249] Although the preferred embodiments of the present application have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications falling within the scope of the present application.
[0250] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.
Claims
1. A grayscale release method, characterized in that: include: Determine, from the first functions of the most recently released first grayscale version software, a target first function corresponding to the pre-released second function; wherein the target first function is determined according to the similarity between the first functions and the second function; Based on the correspondence between the first function and the user feature, determining the target user feature corresponding to the target first function; wherein the correspondence between the first function and the user feature is obtained based on user data of sample users who use the first gray version software; Based on the target user characteristics, selecting a target user from the sample users; A second grayscale version software including the first functions and the second function is released to the target user.
2. The method according to claim 1, characterized in that The step of determining, from among the first functions of the most recently released first grayscale version software, a target first function corresponding to the pre-released second function comprises: Using a preset algorithm, select a plurality of first functions from the first functions; A target first function corresponding to the pre-released second function is determined according to the distances between the plurality of first functions and the second function.
3. The method according to claim 2, characterized in that The determining, according to the distances between the plurality of first functions and the second function, a target first function corresponding to the pre-released second function comprises: For each of the plurality of first functions, determining a first distance between the first function and the second function based on a feature vector of the second function and a feature vector of the first function and a predetermined distance algorithm; Based on the first distance, determining a similarity weight of the first function; wherein the closer the first distance is, the greater the similarity weight is; The similarity weights of the first functions are weighted with the corresponding feature vectors of the first functions to obtain a target feature vector; the target feature vector is used to represent the estimated value of the target first function; determining a second distance between the target feature vector and the feature vector of the second function; A target first function is determined from among the plurality of first functions based on the first distance and the second distance.
4. The method according to claim 1, characterized in that The corresponding relationship between the first function and the user feature is obtained in the following manner: Extracting user features of each sample user based on user data of the sample users using the first grayscale version of the software; Based on the user characteristics, determining the usage frequency of each first function by each sample user; Determining, based on the user feedback information of each sample user, the satisfaction degree of each sample user with respect to each first function; Taking the user features as input of a prediction model, taking the usage frequency of each sample user for each first function and the satisfaction degree of each sample user for each first function as output, training the prediction model, and obtaining a trained prediction model; The training process of the trained prediction model is analyzed to obtain a corresponding relationship between the first function and the user feature.
5. The method according to claim 4, characterized in that The analyzing the training process of the trained prediction model to obtain the corresponding relationship between the first function and the user feature includes: For any first function, at least two characteristic factors are randomly selected from each characteristic factor in the user characteristics to be combined to determine each characteristic factor group; wherein the characteristic factors in any two characteristic factor groups are different or partially the same; Inputting each characteristic factor group into the prediction model to obtain a prediction result for any first function corresponding to each characteristic factor group; From each prediction result, select a target prediction result whose usage frequency exceeds a preset frequency threshold and whose satisfaction exceeds a preset satisfaction threshold; A correspondence is established between the selected feature factor group used in the target prediction result and any one of the first functions.
6. The method according to claim 1, characterized in that Before determining the target first function corresponding to the pre-released second function from the first functions of the most recently released first grayscale version software, the method further includes: Based on user data and user feedback information of sample users using the first gray version software, determining whether the first functions need to be optimized; For any first function that needs to be optimized, determining an optimization strategy for the first function based on an optimization direction corresponding to the first function that needs to be optimized, and optimizing the first function that needs to be optimized according to the optimization strategy; Based on the optimized first function and the second function, the second grayscale version software is obtained.
7. The method according to claim 6, characterized in that The determining whether the first functions need to be optimized based on the user data and user feedback information of the sample users using the first gray version software includes: For any first function, if the user data and the user feedback information meet any preset optimization condition, it is determined that the first function needs to be optimized; wherein the preset optimization condition includes some or all of the following: The number of sample users who use the first function is lower than a quantity threshold; The average frequency of use of the first function by the sample users is lower than a preset frequency threshold; The average satisfaction of the sample users with the first function is lower than a preset satisfaction threshold.
8. The method according to claim 7, characterized in that The optimization direction corresponding to any first function to be optimized is determined in the following manner: For any first function that needs to be optimized, if the number of users among the sample users who use the first function that needs to be optimized is lower than a quantity threshold, determining that the optimization direction is to increase the total number of users; If the number of infrequent users is higher than a first preset value of the number of users using any of the first functions that need to be optimized, determining that the optimization direction is to increase the frequency of use of any of the first functions that need to be optimized by infrequent users; the infrequent users are users whose frequency of use of any of the first functions that need to be optimized is lower than a preset frequency threshold among users using any of the first functions that need to be optimized; If the number of users among the frequent users whose satisfaction with any of the first functions that need to be optimized is lower than a preset satisfaction threshold is higher than a second preset value of the number of frequent users, determining that the optimization direction is to improve the satisfaction of the frequent users with the any of the first functions that need to be optimized; the frequent users are users whose frequency of using the any of the first functions that need to be optimized is not lower than a preset frequency threshold among the users who use the any of the first functions that need to be optimized; If the number of dissatisfied users is higher than a third preset value of the number of users who use any of the first functions that need to be optimized, the optimization direction is determined to be to increase the satisfaction of dissatisfied users with respect to any of the first functions that need to be optimized, and the dissatisfied users are users whose satisfaction with respect to any of the first functions that need to be optimized is lower than a preset satisfaction threshold among the users who use any of the first functions that need to be optimized.
9. A grayscale publishing device, characterized in that: include: A first determination module is used to determine a target first function corresponding to a pre-released second function from each first function of the first gray version software that has been released the most recently; wherein the target first function is determined according to the similarity between each first function and the second function; A second determination module is used to determine the target user feature corresponding to the target first function based on the correspondence between the first function and the user feature; wherein the correspondence between the first function and the user feature is obtained based on user data of sample users who use the first gray version software; A selection module, configured to select a target user from the sample users based on the target user characteristics; A publishing module is used to publish the second gray version software including the first functions and the second function to the target user.
10. An electronic device, characterized in that: include: at least one processor, and a memory communicatively connected to the at least one processor, wherein: The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can perform the method according to any one of claims 1 to 8.
11. A storage medium, characterized in that: When the computer program in the storage medium is executed by a processor of an electronic device, the electronic device can execute the method according to any one of claims 1 to 8.
12. A computer program product, characterized in that When the computer program product is called and executed by an electronic device, the electronic device is enabled to execute any one of the methods according to claims 1-8.