Service pushing method and device, electronic equipment and readable storage medium
By combining user cluster tables and push time slot tables, and using machine learning models to analyze user behavior characteristics, the problem of personalized timing decisions in service pushes was solved, improving the success rate and reducing resource consumption.
Patent Information
- Application Number
- CN202310616220.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-29
- Publication Date
- 2026-02-06
- Estimated Expiration
- 2043-05-29
AI Technical Summary
Existing technologies struggle to achieve personalized time decisions for different customers in service delivery, resulting in low success rates and high resource consumption.
By maintaining user cluster tables and push time period tables, machine learning models are used to analyze user behavior characteristics, cluster user clusters are generated, and the effective service push time period for each cluster is determined, thereby achieving precise control of service push time.
It improved the success rate of service push, reduced the cost of system resource usage, and enabled more precise time control.
Smart Images

Figure CN116708546B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of service pushing, and in particular to a service pushing method and device, an electronic device, and a readable storage medium. BACKGROUND
[0002] In the production process of an enterprise, different information needs to be informed to customers through service pushing. Different customers have different preferences for the time period of accepting service pushing, and the success rate of accepting service pushing by the same customer in different time periods is quite different. In order to improve the success rate of service pushing and reduce the cost of service pushing, some rules are often set when service pushing is performed, and appropriate time periods are selected for service pushing. SUMMARY
[0003] The present application provides a service pushing method applied to a service pushing system, wherein the service pushing system maintains a user cluster table and a pushing time period table; the user cluster table includes a plurality of key features related to user behavior of accepting service pushing obtained by training a plurality of historical service records of sample users as training samples, and at least one user cluster obtained by clustering based on the plurality of key features; the pushing time period table includes an effective time period of accepting service pushing corresponding to each user cluster in the user cluster table, and the method includes:
[0004] obtaining user features corresponding to a user to be pushed;
[0005] determining a user cluster of the user in the user cluster table based on the user features and the user cluster table;
[0006] determining an effective time period of accepting service pushing corresponding to the user based on the pushing time period table and the user cluster of the user in the user cluster table;
[0007] performing service pushing for the user based on the effective time period.
[0008] Optionally, the method further includes:
[0009] obtaining a service pushing sample set; the service pushing sample set includes a plurality of service pushing samples; the service pushing sample includes historical pushing records of a sample user; the service pushing samples in the service pushing sample set are marked with sample labels indicating whether the service pushing samples are corresponding to user behavior of accepting service pushing;
[0010] inputting the service pushing sample set into a machine learning model for supervised training to obtain a plurality of key features related to user behavior of accepting service pushing in the service pushing samples;
[0011] perform clustering analysis on the several key features, and generate a user cluster table.
[0012] Optionally, the machine learning model comprises a deep learning model.
[0013] inputting the service push sample into a machine learning model for supervised training, to obtain several key features related to user behavior of accepting service push in the service push sample, comprising:
[0014] inputting the service push sample into a deep learning model for supervised training, and obtaining several key features related to user behavior of accepting service push output by a feature extraction layer of the deep learning model.
[0015] Optionally, the service push sample comprises positive samples and negative samples; the positive sample is marked with a sample label indicating that the service duration of the historical service record in the service push sample reaches a threshold; the negative sample is marked with a sample label indicating that the service duration of the historical service push record in the service push sample does not reach the threshold.
[0016] Optionally, the method further comprises:
[0017] respectively, based on the historical service record of the sample user corresponding to each user cluster in the user cluster table, counting the proportion of the sample user corresponding to each user cluster in accepting service push in a preset time period;
[0018] determining the time period with the highest proportion of accepting service push as the effective time period of accepting service push corresponding to the user cluster;
[0019] respectively, establishing a corresponding relationship between each user cluster and the effective time period of accepting service push corresponding to the user cluster, and generating the push time period table based on the corresponding relationship.
[0020] Optionally, the machine learning model comprises a CART model or a GBDT model.
[0021] Optionally, the method further comprises:
[0022] based on the user features corresponding to the user to be pushed and the result of the service push, generating a service push sample, and adding the generated service push sample to the service push sample set.
[0023] Optionally, the determining of the user cluster of the user in the user cluster table based on the user features and the user cluster table comprises:
[0024] generating a first feature vector based on the user features;
[0025] generate a plurality of second feature vectors based on a plurality of key features corresponding to each user cluster in the user cluster table;
[0026] calculate a distance between the first feature vector and the plurality of second feature vectors respectively, and determine the user cluster of the user in the user cluster table based on the distance.
[0027] The application also provides a service pushing device applied to a service pushing system, wherein the service pushing system maintains a user cluster table and a pushing time period table; the user cluster table includes a plurality of key features related to user behaviors of accepting service pushing obtained by training a plurality of sample user historical service records as training samples, and at least one user cluster obtained by clustering based on the plurality of key features; the pushing time period table includes an effective time period of accepting service pushing corresponding to each user cluster in the user cluster table; and the device includes:
[0028] a user feature acquisition unit configured to acquire user features corresponding to a user to be pushed;
[0029] a user cluster determination unit configured to determine a user cluster of the user in the user cluster table based on the user features and the user cluster table;
[0030] an effective time period determination unit configured to determine an effective time period of accepting service pushing corresponding to the user based on the pushing time period table and the user cluster of the user in the user cluster table;
[0031] a service pushing unit configured to push service to the user based on the effective time period.
[0032] The application also provides an electronic device including a communication interface, a processor, a memory and a bus, wherein the communication interface, the processor and the memory are connected with each other through the bus;
[0033] The memory stores machine readable instructions, and the processor executes the above method by calling the machine readable instructions.
[0034] The application also provides a computer readable storage medium storing machine readable instructions, wherein the machine readable instructions are called and executed by a processor to implement the above method.
[0035] In the scheme described in the above embodiments, the service pushing system pre-maintains the user cluster table and the pushing time period table, determines the user cluster where the user is located through the user features and the user cluster table, further determines the effective time period for accepting the service pushing corresponding to the user cluster based on the pushing time period table, and performs the service pushing based on the effective time period by the service pushing system, so that different time periods are selected for different users to perform the service pushing, more accurate service pushing time control is realized, the success rate of the service pushing is improved, and the use cost of the system resources consumed by the service pushing system in performing the service pushing is reduced. BRIEF DESCRIPTION OF DRAWINGS
[0036] Figure 1 FIG. 1 is a flow diagram of generating a user cluster table and a pushing time period table according to an example embodiment.
[0037] Figure 2 FIG. 2 is a flow diagram of a service pushing method according to an example embodiment.
[0038] Figure 3 FIG. 3 is a flow diagram of determining an effective time period for accepting service pushing according to an example embodiment.
[0039] Figure 4 FIG. 4 is a hardware structure diagram of an electronic device where a service pushing apparatus according to an example embodiment is located.
[0040] Figure 5 FIG. 5 is a block diagram of a service pushing apparatus according to an example embodiment. DETAILED DESCRIPTION
[0041] The example embodiments will be described in detail herein with reference to the attached drawings. In the following description, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following example embodiments are not representative of all embodiments consistent with the present application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of the present application as detailed in the appended claims.
[0042] It should be noted that the steps of the corresponding methods in other embodiments are not necessarily performed in the order shown and described in the present specification. In some other embodiments, the steps included in the methods can be more or less than those described in the present specification. In addition, a single step described in the present specification can be divided into multiple steps for description in other embodiments, and multiple steps described in the present specification can be combined into a single step for description in other embodiments.
[0043] In the field of service pushing, in order to improve the connection rate of service pushing and reduce the use cost of service pushing, some rules are manually set for different customers, and appropriate service pushing time is set according to different people.
[0044] Since the generation of rules depends on manual work, the configuration of rules also needs manual work, which is time-consuming. At the same time, the traditional strategy mainly selects the overall time range for the user type to be pushed, and it is difficult to realize the time decision of thousands of people for thousands of people for each customer. In view of this, the present application proposes a technical solution based on user feature to determine user class cluster, and further based on the effective time period corresponding to the user class cluster to push the service.
[0045] In implementation, the service pushing system maintains a user class cluster table and a pushing time period table; wherein the user class cluster table includes a plurality of key features related to the user behavior of accepting service pushing obtained by training a plurality of sample user historical service records as training samples, and at least one user class cluster obtained by clustering based on the plurality of key features; the pushing time period table includes an effective time period of accepting service pushing corresponding to each user class cluster in the user class cluster table.
[0046] The service pushing system can obtain the user feature corresponding to the user to be pushed;
[0047] Based on the user feature and the user class cluster table, determine the user class cluster of the user in the user class cluster table;
[0048] Based on the pushing time period table and the user class cluster of the user in the user class cluster table, determine the effective time period of accepting service pushing corresponding to the user;
[0049] Based on the effective time period, service pushing is performed for the user.
[0050] In the above embodiment, the service pushing system pre-maintains a user class cluster table and a pushing time period table, determines the user class cluster of the user through the user feature and the user class cluster table, and further determines the effective time period of accepting service pushing corresponding to the user class cluster based on the pushing time period table, and the service pushing system performs service pushing based on the effective time period, selects different time periods for different users to perform service pushing, realizes more accurate service pushing time control, improves the success rate of service pushing, and reduces the use cost of system resources consumed by the service pushing system in performing service pushing. In this specification, the service pushing system can be used to initiate service pushing for customers, obtain the result of service pushing, and count the success rate of service pushing, etc. The service pushing system can be an application program, a service of a cloud communication platform, etc. In this specification, it is not limited.
[0051] In an embodiment, the service pushing system can be a voice outbound system, which can be used to initiate voice outbound to a customer and count whether the voice outbound is connected or not.
[0052] In the present specification, the service pushing system pre-maintains a user cluster table and a pushing period table.
[0053] The user cluster table includes a plurality of key features related to user behavior of accepting service pushing, which are obtained by training historical service records of a plurality of sample users as training samples, and at least one user cluster obtained by clustering based on the plurality of key features.
[0054] In the present specification, the user cluster table includes at least one user cluster, the user cluster includes at least one key feature, and the user cluster is used to indicate the classification of the user.
[0055] For example, please refer to Table 1, which is a schematic diagram of a user cluster table provided by an exemplary embodiment.
[0056] User cluster number Key feature X1 Key feature X2 ... Key feature Xn 1 X1(1) X2(1) ... Xn(1) 2 X1(2) X2(2) ... Xn(2) ... ... ... ... ... m X1(m) X2(m) ... Xn(m)
[0057] Table 1
[0058] For example, taking the user cluster table shown in Table 1 as an example, the key feature X1 of the user cluster numbered 1 can be occupation A, the key feature X2 can be work information B, and the key feature X2 can be education information C, and so on.
[0059] In an embodiment, the service pushing system can pre-generate a user cluster table based on a service pushing sample set based on a machine learning model.
[0060] The service pushing system can obtain a service pushing sample set. The service pushing sample set includes a plurality of service pushing samples; the service pushing sample includes historical service records of a sample user; and the service pushing samples in the service pushing sample set are labeled with sample labels indicating whether the service pushing sample corresponds to user behavior of accepting service pushing.
[0061] In the present specification, the sample user can be a user who has been pushed by the service pushing system, wherein the service pushing system can save the historical service records of the user and generate service pushing samples based on the historical service records.
[0062] The historical service record can specifically include a plurality of user information related to the user, and information related to the historical service record, such as a time of initiating the service, a service processing result, a service duration, and the like. In the present specification, the service push sample is marked with a sample label indicating whether the service push sample is a sample corresponding to the user behavior of accepting the service push.
[0063] In actual applications, the service processing result and the service duration of the user are mainly used as a basis for judging whether the user behavior is the behavior of accepting the service push.
[0064] For example, when the service processing result of the user is that the user accepts the service, and the service duration exceeds 10 seconds, it can be considered that the user accepts the service, and therefore the service push sample can be marked to indicate that the service push sample includes the user behavior of accepting the service push.
[0065] For example, please refer to Table 2, which is a schematic diagram of a service push sample provided by an exemplary embodiment.
[0066]
[0067] Table 2
[0068] In an embodiment, in order to improve the training effect of supervised training of the machine model, the service push sample can include positive samples and negative samples.
[0069] The positive sample is marked with a sample label indicating that the service duration of the historical service record in the service push sample reaches a threshold value.
[0070] The negative sample is marked with a sample label indicating that the service duration of the historical service push record in the service push sample does not reach a threshold value.
[0071] The threshold value of the service duration of the historical service record can be set according to the push content of the service push, which is not limited in the present specification.
[0072] For example, when the information content required to be informed to the user in the push content of the service push is more, the threshold value can be set to 20 seconds or 30 seconds. When the information content required to be informed to the user in the push content of the service push is less, the threshold value can be set to 8 seconds or 10 seconds, and the like.
[0073] In the present specification, the proportion between the positive sample and the negative sample is not limited, and can be adjusted based on the training parameters of model training. For example, in actual applications, it can be 80% positive samples and 20% negative samples.
[0074] Since the service push sample set includes positive samples and negative samples, the samples in the service push sample set are more balanced, the model can improve the generalization ability during training, and the training effect of the model is further improved.
[0075] After obtaining the service push sample set, the service push sample set can be input into a machine learning model for supervised training to obtain several key features related to the user behavior of accepting service push in the service push sample.
[0076] The key features can specifically include user occupation information, user asset information, user education information, and the like, and can be set according to the specific content of the service push, which is not specifically limited in the specification.
[0077] For example, the service push is applied to the financial field, and the content of the service push is information related to financial services, so the key features can include user occupation information, user asset information, and the like. For another example, the service push is applied to the education field, and the content of the service push is information related to courses, so the key features can include user education information, and the like.
[0078] In the specification, the machine learning model used for training is not specifically limited. In actual applications, a CART (classification and regression tree) model, a GBDT (Gradient Boosting Decision Tree) model, or the like can be used.
[0079] In an embodiment, the supervised training based on the machine learning model used in the specification only uses the feature extraction layer of the machine learning model, and does not use the complete machine learning training process. Therefore, the service push sample is input into a deep learning model for supervised training, and several key features related to the user behavior of accepting service push output by the feature extraction layer of the deep learning model are obtained.
[0080] After obtaining several key features related to the user behavior of accepting service push in the service push sample, clustering analysis can be performed on the several key features, and a user cluster table is generated.
[0081] The algorithm used for clustering analysis is not specifically limited in the specification. For example, it can be a k-means algorithm, a k-center point algorithm, or the like.
[0082] After clustering analysis is performed on several key features, several user clusters can be obtained, wherein each cluster includes several key features related to user behavior of accepting service push.
[0083] The service push system also maintains a push time period table including a valid time period of accepting service push corresponding to each user cluster in the user cluster table.
[0084] In the present specification, the valid time period of accepting service push corresponding to each user cluster is also different for users corresponding to each user cluster, and the push time period table is used to store the valid time period of accepting service push corresponding to each user cluster for service push to users corresponding to the user cluster.
[0085] For example, please refer to Table 3, which is a schematic diagram of a push time period table provided by an exemplary embodiment.
[0086] User cluster number Valid time period for accepting service push 1 7-8 2 5-6 ... ... m 1-2
[0087] Table 3
[0088] In an embodiment, the service push system can, for each user cluster in the user cluster table, respectively calculate the proportion of sample users corresponding to each user cluster accepting service push in a preset time period based on the historical service records of the sample users corresponding to each user cluster.
[0089] And determine the time period with the highest proportion of accepting service push as the valid time period of accepting service push corresponding to the user cluster.
[0090] After the valid time period is determined, a corresponding relationship between each user cluster and the valid time period of accepting service push corresponding to the user cluster can be respectively determined, and the push time period table can be generated based on the corresponding relationship.
[0091] In the present specification, the preset time period can be set according to actual application, for example, each hour can be taken as a time period, or each two hours can be taken as a time period. Taking each hour as a time period as an example, 9:00-10:00 can be a valid time period. Taking each two hours as a time period as an example, 18:00-20:00 can be a valid time period.
[0092] It should be noted that if the number of samples in the service push sample set is large enough, the preset time period can be accurate to minutes. For example, each 10 minutes or each 5 minutes can be taken as a preset time period, which is not limited in the present specification.
[0093] After generating the user cluster table based on each service push sample in the service push sample set, the proportion of the sample users corresponding to each user cluster accepting service push in each preset time period in the historical service records of the sample users can be counted, and the time period with the highest acceptance service push proportion is determined as the effective time period of accepting service push corresponding to the user cluster.
[0094] For example, for user cluster 1, user cluster 1 includes sample user A, sample user B and sample user C. Taking each hour as a time period, the historical service record of sample user A accepts service push in the time period of 9, the historical service record of sample user B accepts service push in the time period of 9, and the historical service record of sample user C accepts service push in the time period of 10. The proportion of accepting service push in the time period of 9-10 in the historical service records of the sample users corresponding to the user cluster is the highest, so the time period of 9-10 can be determined as the effective time period of accepting service push corresponding to the user cluster.
[0095] After determining the effective time period of accepting service push corresponding to the user cluster, a corresponding relationship between each user cluster and the effective time period of accepting service push corresponding to the user cluster can be further established, and the push time period table can be generated based on the corresponding relationship.
[0096] The generation process of the user cluster table and the push time period table will be described in detail below with a specific embodiment.
[0097] Please refer to Figure 1 , Figure 1 is a flowchart of generating a user cluster table and a push time period table provided by an exemplary embodiment.
[0098] As Figure 1 shown, step 102, the historical service record can be obtained, wherein the historical service record can include a plurality of user information related to the user, and information related to the historical service record, such as the time of initiating service, service processing result, service duration, etc. Step 104, generating a service push sample set based on the historical service record, wherein the service push sample set includes a plurality of positive samples and negative samples; the positive samples are marked with a sample label indicating that the service duration of the historical service record in the service push sample reaches a threshold. The negative samples are marked with a sample label indicating that the service duration of the historical service record in the service push sample does not reach a threshold.
[0099] Step 106, inputting the service push sample set into a machine learning model for supervised training to output a plurality of key features related to user behavior of accepting service push based on the feature extraction layer of the machine learning model.
[0100] Step 108, obtain several key features output by the machine learning model, which can specifically include professional information, user's professional information, user's asset information, and the like.
[0101] Step 110, perform clustering analysis based on the several key features to obtain several user clusters. Each user cluster is used to indicate a user group.
[0102] Step 112, generate a user cluster table based on the several user clusters. The user cluster table includes at least one user cluster and several key features corresponding to each user cluster.
[0103] Step 114, obtain the service duration in each service push sample from the service push sample set, which is used to generate a push time period table subsequently.
[0104] Step 116, for each user cluster in the user cluster table, count the proportion of sample users corresponding to each user cluster accepting service push in a preset time period, and determine the time period with the highest acceptance service push proportion as the effective time period of accepting service push corresponding to the user cluster.
[0105] Step 108, based on the effective time period of accepting service push corresponding to each user cluster, further generate a push time period table for subsequent service push.
[0106] The service push method can be applied to a service push system, and the method can include the following steps:
[0107] Please refer to Figure 2 , Figure 2 is a flowchart of a service push method provided by an exemplary embodiment. The method can be applied to a service push system, and the method can include the following steps:
[0108] Step 202, obtain user features corresponding to a user to be pushed.
[0109] The specific implementation of obtaining user features corresponding to a user to be pushed is not specifically limited in this specification. For example, an administrator of the service push system can manually input user features corresponding to a user to be pushed; can import a corresponding form containing user features corresponding to a user to be pushed through an interface provided by the service push system; can automatically obtain user features corresponding to a user to be pushed from an information management system by connecting the service push system to the information management system, and the like.
[0110] In actual application, user information can also be input into the service push system, and user features corresponding to the user information can be automatically extracted by the service push system.
[0111] The user information may include the user's occupation information, asset information, education information, etc.
[0112] The specific implementation method for the service push system to extract user features based on user information is not specifically limited in this specification. For example, the machine learning model used in the training process described above can be used to automatically extract user features contained in the user information. Alternatively, relevant feature extraction algorithms can be used to extract user features from the user information.
[0113] For example, in practical applications, the service push system can be connected to an information management system. The information management system automatically generates a user information table containing several users to be called. The service push system can then target each piece of user information in the user information table and further extract the user characteristics corresponding to that user information.
[0114] Step 204: Based on the user characteristics and the user cluster table, determine the user cluster in the user cluster table.
[0115] In this specification, the user characteristics may include at least one characteristic, such as the user's occupation information, the user's asset information, etc.
[0116] The method for determining the user cluster in the user cluster table is not specifically limited in this specification. For example, user features can be sorted, and each sorted user feature can be matched one by one with the key features in the user cluster table to determine the user cluster of the user to be called. Alternatively, the user features can be converted into feature vectors, and for each user cluster, the key features corresponding to the user cluster can be converted into feature vectors, and the distance between the vectors can be calculated to determine the user cluster in the user cluster table.
[0117] In one implementation, a first feature vector can be generated based on the user characteristics; and several second feature vectors can be generated based on several key features corresponding to each user cluster in the user cluster table; the distance between the first feature vector and the several second feature vectors can be calculated respectively, and the user cluster of the user in the user cluster table can be determined based on the distance.
[0118] One approach is to use the shortest distance method to identify the user cluster corresponding to the second feature vector that has the shortest distance to the first feature vector among several second feature vectors.
[0119] Step 206: Based on the push time period table and the user's user cluster in the user cluster table, determine the valid time period for receiving service pushes corresponding to the user.
[0120] After determining the user cluster of the user in the user cluster table, the service push effective time period corresponding to the user can be determined based on the service push time period table.
[0121] As shown in the service push time period table in Table 3 above, each user cluster has a corresponding user cluster number, and a service push effective time period corresponding to the user cluster. After determining the user cluster of the user in the user cluster table, the service push effective time period corresponding to the user cluster can be determined in the service push time period table based on the user cluster number corresponding to the user cluster.
[0122] In step 208, the service push is performed for the user based on the service push effective time period.
[0123] After determining the service push effective time period corresponding to the user cluster, the service push system can perform service push for the user based on the service push effective time period corresponding to the user cluster.
[0124] In an embodiment, the service push system can also generate a service push sample based on the result of the service push and the user features corresponding to the user, and further add the service push sample to a service push sample set for iteration and optimization when the machine learning model is trained next time, so as to improve the training effect of the model. The above technical solutions will be described in detail in combination with specific application scenarios.
[0125] Please refer to Figure 3 , Figure 3 is a flowchart of a process for determining a service push effective time period provided by an exemplary embodiment.
[0126] In step 302, the user features of the user to be pushed are obtained. The user features can be automatically extracted by the service push system based on user information, or manually input by the service push system administrator, etc. The user features can specifically include the occupation information of the user, the asset information of the user, etc.
[0127] In step 304, the service push system pre-maintains a user cluster table, which includes at least one user cluster and a plurality of key features corresponding to each user cluster in the user cluster table. The user cluster is used to indicate a type of user.
[0128] In step 306, the user cluster in which the user to be pushed is located is determined. The shortest distance method can be used to determine the feature vector corresponding to the user features and the distance between the feature vectors corresponding to the plurality of key features of each user cluster, and the user cluster with the shortest vector distance is determined as the user cluster in which the user to be called is located.
[0129] In step 308, the service push system pre-maintains a push time period table including a valid time period of accepting service push corresponding to each user cluster in the user cluster table.
[0130] In step 310, after determining the user cluster where the user to be pushed is located, the valid time period of accepting service push corresponding to the user cluster can be queried in the push time period table based on the user cluster, and the valid time period of accepting service push is taken as the valid time period of accepting service push corresponding to the user to be pushed.
[0131] In step 312, the service push system can push service to the user based on the valid time period of accepting service push.
[0132] In the above embodiment, the service push system pre-maintains the user cluster table and the push time period table, determines the user cluster where the user is located through the user feature and the user cluster table, further determines the valid time period of accepting service push corresponding to the user cluster based on the push time period table, and pushes service based on the valid time period by the service push system, so as to push service in different time periods for different users, realize more accurate service push time control, improve the success rate of service push, and reduce the use cost of system resources consumed by the service push system when pushing service.
[0133] Corresponding to the above-mentioned embodiments of the service push method, the present specification also provides embodiments of a service push device.
[0134] Please refer to Figure 4 , Figure 4 is an exemplary embodiment of a service push device in an electronic device. At the hardware level, the device includes a processor 402, an internal bus 404, a network interface 406, a memory 408, and a non-volatile memory 410, and of course can also include other hardware required by services. One or more embodiments of the present specification can be implemented in a software manner, such as reading a corresponding computer program from the non-volatile memory 410 into the memory 408 by the processor 402 and then running. Of course, in addition to the software implementation, one or more embodiments of the present specification do not exclude other implementation manners, such as logic devices or a combination of software and hardware, etc., that is, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.
[0135] Please refer to Figure 5 , Figure 5is a block diagram of a service pushing device shown in an exemplary embodiment. The service pushing device can be applied to Figure 4 The electronic device shown in the figure is used to implement the technical solutions of the present specification. The service pushing device can include:
[0136] The user feature acquisition unit 502 is configured to acquire user features corresponding to a user to be pushed;
[0137] The user cluster determination unit 504 is configured to determine a user cluster of the user in the user cluster table based on the user features and the user cluster table.
[0138] The effective time period determination unit 506 is configured to determine an effective time period for accepting service pushing corresponding to the user based on the push time period table and the user cluster of the user in the user cluster table.
[0139] The service pushing unit 508 is configured to perform service pushing for the user based on the effective time period. In this embodiment, the device further includes:
[0140] The user cluster table generation unit is configured to
[0141] Acquire a service pushing sample set. The service pushing sample set includes a plurality of service pushing samples. The service pushing sample includes historical pushing records of a sample user. The service pushing samples in the service pushing sample set are labeled with sample labels indicating whether the service pushing samples are corresponding to user behaviors of accepting service pushing.
[0142] Input the service pushing sample set into a machine learning model for supervised training to obtain a plurality of key features related to user behaviors of accepting service pushing in the service pushing sample.
[0143] Perform clustering analysis on the plurality of key features and generate a user cluster table.
[0144] In this embodiment, the machine learning model includes a deep learning model.
[0145] The user cluster table generation unit is further configured to
[0146] Input the service pushing sample into a machine learning model for supervised training to obtain a plurality of key features related to user behaviors of accepting service pushing in the service pushing sample, including:
[0147] Input the service pushing sample into a deep learning model for supervised training, and acquire a plurality of key features related to user behaviors of accepting service pushing output by a feature extraction layer of the deep learning model.
[0148] In the embodiment, the apparatus further comprises:
[0149] a push period table generating unit configured to
[0150] for each user cluster in the user cluster table, based on historical service records of sample users corresponding to the each user cluster, respectively counting a proportion of the sample users corresponding to the each user cluster accepting service push in a preset time period;
[0151] determining a time period with the highest proportion of accepting service push as an effective time period of accepting service push corresponding to the user cluster;
[0152] respectively establishing a corresponding relationship between each user cluster and the effective time period of accepting service push corresponding to the user cluster, and generating the push period table based on the corresponding relationship.
[0153] In the embodiment, the machine learning model comprises a CART model or a GBDT model.
[0154] In the embodiment, the apparatus further comprises:
[0155] a result feedback unit configured to generate a service push sample based on the user features corresponding to the user to be pushed and the result of the service push, and add the generated service push sample to the service push sample set.
[0156] In the embodiment, the user cluster determining unit is further configured to generate a first feature vector based on the user features.
[0157] generate a plurality of second feature vectors based on a plurality of key features corresponding to each user cluster in the user cluster table;
[0158] respectively calculate distances between the first feature vector and the plurality of second feature vectors, and determine the user cluster of the user in the user cluster table based on the distances.
[0159] The functions and roles of the units in the apparatus are implemented in the implementation process of the corresponding steps in the above method, which will not be described here.
[0160] For the device embodiment, since it basically corresponds to the method embodiment, the relevant part can be seen from the part of the method embodiment. The device embodiment described above is only illustrative, wherein the units described as separate components can or can not be physically separated, and the components displayed as units can or can not be physical units, i.e., can be located in one place or distributed on multiple network units. Part or all of the modules can be selected to achieve the purpose of the scheme of the present specification according to actual needs. Those skilled in the art can understand and implement it without creative labor.
[0161] The user information (including but not limited to user equipment information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in the present specification are information and data authorized by the user or authorized by all parties, and the collection, use and processing of the relevant data need to comply with the relevant laws, regulations and standards of the relevant countries and regions, and provide corresponding operation entrances for the user to choose authorization or refusal.
[0162] The present specification also provides an embodiment of a computer readable storage medium. The computer readable storage medium stores machine readable instructions, which, when called and executed by a processor, can implement the service pushing method provided by any one of the embodiments of the present specification.
[0163] The computer readable storage medium provided by the embodiments of the present specification can specifically include but is not limited to any type of disk (including a floppy disk, a hard disk, an optical disk, a CD-ROM, and a magneto-optical disk), a ROM (Read-Only Memory), a RAM (Random Access Memory), an EPROM (Erasable Programmable Read-Only Memory), an EEPROM (Electrically Erasable Programmable Read-Only Memory), a flash memory, a magnetic card or an optical fiber card. That is, the readable storage medium includes a readable medium that can store or transmit information.
[0164] The systems, apparatuses, modules, or units illustrated in the above embodiments can be specifically implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer, and the specific form of the computer can be a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an e-mail device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
[0165] In one typical configuration, a computer includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.
[0166] The memory can include non-persistent memory, random access memory (RAM), and / or non-volatile memory, such as read-only memory (ROM) or flash memory, among others, in a computer-readable medium. The memory is an example of computer-readable media.
[0167] Computer-readable media includes permanent and non-permanent, removable and non-removable media, which can be implemented by any method or technology for storing information. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassette, disk storage, quantum memory, graphene-based storage medium, or other magnetic storage device, or any other non-transmission medium that can be used to store information accessible by a computing device. According to the definition herein, computer-readable media does not include transitory media, such as modulated data signals and carriers.
[0168] It should also be noted that the terms "comprising", "including", or any other variant thereof are intended to cover non-exclusive inclusion, so that processes, methods, articles, or devices including a series of elements not only include those elements, but also include other elements not explicitly listed, or inherent to such processes, methods, articles, or devices. Without more limitations, the element defined by the statement "including a" does not exclude the presence of additional identical elements in the process, method, article, or device including the element.
[0169] The above-described embodiments of the application have been described in connection with what are presently considered to be the most practical and preferred embodiments, and the specific embodiments described herein are susceptible to modification without departing from the spirit and scope of the application. Accordingly, many embodiments of the application are applicable as modifications or equivalents on the spirit and scope of the application. It is therefore desirable that the scope of the application be determined not with reference to the above description but rather with reference to the appended claims, along with the full range of equivalents to which the claims are entitled. It is to be understood that the singular forms “a,” “an,” and “the” include plural referents unless the context clearly dictates otherwise. It is to be further understood that the terms “comprising,” “including,” and “having” can be used interchangeably. The terms “program” and “software” are used herein to generally refer to any type of computer code or set of computer-executable instructions that can be employed to program a computer or other processor to implement various aspects associated with the present application. Employee, unless otherwise specifically stated herein, should not be construed as limiting the scope of the present application.
[0170] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of one or more embodiments of the application. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and / or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0171] It is to be understood that the singular forms "a," "an," and "the" include plural referents unless the context clearly dictates otherwise. It is to be further understood that the terms "comprising," "including," and "having" can be used interchangeably. The terms "program" and "software" are used herein to generally refer to any type of computer code or set of computer-executable instructions that can be employed to program a computer or other processor to implement various aspects associated with the present application. Employee, unless otherwise specifically stated herein, should not be construed as limiting the scope of the present application.
[0172] The above description is intended to be illustrative and not restrictive. Many embodiments of the application will be apparent to those of skill in the art upon reviewing the above description, and it is therefore intended to cover any modifications and variations of this application that are within the scope of the appended claims, including generic and subgeneric proceedings.
Claims
1. A service push method, characterized in that, The method, applied to a service push system, includes: Obtain the user characteristics corresponding to the user to be pushed to; Based on the user characteristics, the target user cluster corresponding to the user is determined from a pre-constructed user cluster table; wherein, the user cluster table includes at least one user cluster, and each user cluster includes several key features related to the user behavior of receiving service push notifications; the at least one user cluster is obtained based on the following method: a machine learning model is trained in a supervised manner using multiple service push notification samples with labels, wherein each service push notification sample includes the historical service records of the sample user, and the labels are used to indicate whether the sample user in the service push notification sample has received service push notification behavior; and the key features are extracted from the multiple service push notification samples using the feature extraction layer of the trained machine learning model, and the extracted multiple key features are clustered, with the key features in each category being taken as a user cluster; Based on the target user cluster, the effective time period for receiving service pushes corresponding to the target user cluster is determined from a pre-built push time period table; wherein, the push time period table records the effective time periods corresponding to different user clusters; Service pushes are made to the user based on the specified effective time period.
2. The method according to claim 1, characterized in that, The multiple service push samples include positive samples and negative samples; the positive samples are marked with a sample label indicating that the service duration of the historical service records in the service push sample has reached a threshold; the negative samples are marked with a sample label indicating that the service duration of the historical service push records in the service push sample has not reached the threshold.
3. The method according to claim 1, characterized in that, The method further includes: For each user cluster in the user cluster table, based on the historical service records of the sample users corresponding to each user cluster, the proportion of the sample users corresponding to each user cluster who received service push within a preset time period is calculated. The time period with the highest proportion of receiving service pushes is determined as the effective time period for receiving service pushes corresponding to that user cluster. Establish a correspondence between each user cluster and the corresponding valid time period for receiving service push notifications, and generate the push time period table based on the correspondence.
4. The method according to claim 1, characterized in that, The machine learning model includes the CART model or the GBDT model.
5. The method according to claim 1, characterized in that, The method further includes: Based on the user characteristics corresponding to the user to be pushed and the result of the service push, a service push sample is generated and added to the service push sample set.
6. The method according to claim 1, characterized in that, Determining the target user cluster corresponding to the user from a pre-built user cluster table based on the user characteristics includes: Based on the user characteristics, a first feature vector is generated; Based on several key features corresponding to each user cluster in the user cluster table, several second feature vectors are generated. Calculate the distance between the first feature vector and the plurality of second feature vectors respectively, and determine the target user cluster corresponding to the user based on the distance.
7. A service push device, characterized in that, The device, used in a service push system, includes: The user feature acquisition unit is used to acquire the user features corresponding to the user to be pushed to. A user cluster determination unit is configured to determine the target user cluster corresponding to the user from a pre-constructed user cluster table based on the user features; wherein the user cluster table includes at least one user cluster, and each user cluster includes several key features related to user behavior that receives service push notifications; the at least one user cluster is obtained based on the following method: a machine learning model is supervisedly trained using multiple service push samples with labels, wherein each service push sample includes the historical service records of the sample user, and the labels are used to indicate whether the sample user in the service push sample receives service push notifications; and the key features are extracted from the multiple service push samples using the feature extraction layer of the trained machine learning model, and the extracted multiple key features are clustered to form a user cluster for each category of key features; The effective time period determination unit is used to determine the effective time period for receiving service pushes corresponding to the target user cluster from a pre-built push time period table based on the target user cluster; wherein, the push time period table records the effective time periods corresponding to different user clusters; The service push unit is used to push services to the user based on the effective time period.
8. The apparatus according to claim 7, characterized in that, The device further includes: The push time period table generation unit is used to calculate the proportion of sample users corresponding to each user cluster in the user cluster table who receive service push within a preset time period, based on the historical service records of the sample users corresponding to each user cluster. The time period with the highest proportion of receiving service pushes is determined as the effective time period for receiving service pushes corresponding to that user cluster. Establish a correspondence between each user cluster and the corresponding valid time period for receiving service push notifications, and generate the push time period table based on the correspondence.
9. The apparatus according to claim 7, characterized in that, The device further includes: The result feedback unit is used to generate a service push sample based on the user characteristics corresponding to the user to be pushed and the result of the service push, and add the generated service push sample to the service push sample set.
10. An electronic device, characterized in that, It includes a communication interface, a processor, a memory, and a bus, wherein the communication interface, the processor, and the memory are interconnected via the bus; The memory stores machine-readable instructions, and the processor executes the method according to any one of claims 1-6 by invoking the machine-readable instructions.
11. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores machine-readable instructions that, when invoked and executed by a processor, implement the method described in any one of claims 1-6.
Citation Information
Patent Citations
Method for pushing information based on scenes
CN106096059A
Method and device for pushing information
CN110875949A