Method and apparatus for pushing user resources
By acquiring user characteristic data and flow rate categories, and using network models to predict future flow rate categories and push resource slices, the problems of low processing efficiency and high pressure in the billing system are solved, achieving efficient resource control and reducing interaction frequency.
Patent Information
- Application Number
- CN202011425387.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-12-08
- Publication Date
- 2025-12-30
- Estimated Expiration
- 2040-12-08
AI Technical Summary
The existing billing system has low processing efficiency and high system pressure during online billing, and needs to frequently interact with network elements to meet users' needs for resource segments at different times.
By acquiring user characteristic data and flow rate category, the network model is used to predict the user's flow rate category for a preset period in the future, and resource slices of appropriate size are automatically pushed according to the prediction results, reducing the frequency of interaction with network elements.
It improved the processing efficiency of the billing system, reduced system pressure, enabled personalized and on-demand resource control strategies, and reduced the frequency of user interaction.
Smart Images

Figure CN114610986B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of communication technology, and in particular to a method and apparatus for pushing user resources. Background Technology
[0002] With the development of mobile networks, users' business data traffic has experienced explosive growth, bringing huge resource consumption and operation and maintenance challenges to operators' billing systems.
[0003] Currently, data traffic-based call detail records (CDRs) account for over 90% of operator CDR data, necessitating online billing to control user service usage. Existing technologies adjust the authorized resource slices for users based on their varying service resource slice needs. However, user resource slice needs differ at different times, requiring frequent interaction between the billing system and network elements to meet these varying demands.
[0004] Existing billing systems suffer from low processing efficiency and high system load. Summary of the Invention
[0005] This invention provides a method and apparatus for pushing user resources, so as to improve the processing efficiency of the billing system and reduce the pressure on the billing system.
[0006] In a first aspect, embodiments of the present invention provide a method for pushing user resources, comprising:
[0007] Acquire several user characteristic data and flow rate categories at different time periods; the several characteristic data include characteristic data that affects user data usage behavior;
[0008] Based on feature data and flow rate categories at different time periods, the flow rate category of the user in a future preset time period is predicted through a network model;
[0009] Based on the user's flow rate category during the preset time period, resource clips corresponding to the predicted flow rate category are pushed to the user during the preset time period.
[0010] Optionally, obtaining several user characteristic data includes:
[0011] The acquired user wide table data is preprocessed to obtain preprocessed user wide table data; the wide table data includes traffic usage data.
[0012] Correlation analysis was performed on the preprocessed user wide table data to obtain multiple feature data that are correlated with the traffic usage data.
[0013] The random forest algorithm is used to filter the multiple feature data that are related to the traffic usage data to obtain the several feature data.
[0014] Optionally, the step of filtering the multiple feature data that are correlated with the traffic usage data using a random forest algorithm to obtain the several feature data includes:
[0015] For each feature data, determine the Gini index of that feature data;
[0016] The importance score for each feature data is determined based on the Gini index.
[0017] Sort all feature data by importance score and obtain the feature data corresponding to the top-ranked importance scores.
[0018] Optionally, obtain the user's flow rate category at different time periods, including:
[0019] The acquired traffic detail data is preprocessed to obtain preprocessed traffic detail data;
[0020] The user's traffic consumption data during the preset time period is determined based on the preprocessed traffic details data;
[0021] Cluster analysis is performed on the traffic data consumed by the user during a preset time period to determine the traffic rate category of the user during the preset time period.
[0022] Optionally, cluster analysis is performed on the traffic data consumed by the user during a preset time period to determine the traffic rate category of the user during the preset time period, including:
[0023] The number of flow velocity categories is determined by the sum of squared errors corresponding to the preset number of each flow velocity category.
[0024] The user's flow rate category in the preset time period is determined using the K-means method based on the number of flow rate categories and the user's traffic consumption data in the preset time period.
[0025] Optionally, determining the number of flow velocity categories by using the preset sum of squared errors corresponding to the number of each flow velocity category includes:
[0026] Determine the sum of squared errors corresponding to the number of each preset flow velocity category, and determine the sum of squared error curve based on the sum of squared errors corresponding to the number of each flow velocity category.
[0027] Select the number of flow velocity categories corresponding to the inflection points in the sum of squared errors curve.
[0028] Optionally, the method for determining the network model is as follows:
[0029] The network model is determined based on the acquired historical feature data, the historical flow velocity categories at different time periods, and the flow velocity categories at the corresponding future preset time periods.
[0030] Secondly, embodiments of the present invention provide a user resource push device, comprising:
[0031] The acquisition module is used to acquire several characteristic data of the user and the flow rate category at different time periods; the several characteristic data are characteristic data that affect the user's traffic usage behavior;
[0032] The prediction module is used to predict the user's flow rate category in a future preset period based on feature data and flow rate categories at different time periods using a network model.
[0033] The push module is used to push resource pieces corresponding to the predicted flow rate category to the user during the preset time period based on the user's flow rate category during the preset time period.
[0034] Thirdly, embodiments of the present invention provide a user resource push device, comprising: at least one processor and a memory;
[0035] The memory stores computer-executed instructions;
[0036] The at least one processor executes computer execution instructions stored in the memory, causing the at least one processor to perform the user resource push method as described in any of the first aspects.
[0037] Fourthly, embodiments of the present invention provide a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the user resource push method as described in any of the first aspects.
[0038] This invention provides a method and apparatus for pushing user resources. It acquires several characteristic data points of a user and their flow rate categories at different time periods. These characteristic data points are those that influence the user's data usage behavior. Based on the characteristic data and the flow rate categories at different time periods, a network model predicts the user's flow rate category for a future preset time period. Based on the user's flow rate category during the preset time period, resource slices corresponding to the predicted flow rate category are pushed to the user during that preset time period. This achieves the goal of providing users with resource slices of corresponding sizes according to their flow rate needs at different time periods, thereby reducing the frequency of interaction with users, improving the processing efficiency of existing billing systems, and alleviating the pressure on billing systems. Attached Figure Description
[0039] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0040] Figure 1 This is a schematic diagram illustrating an application scenario of the user resource push method provided in an embodiment of the present invention.
[0041] Figure 2 A flowchart illustrating the user resource push method provided in this embodiment of the invention;
[0042] Figure 3 A flowchart illustrating another method for pushing user resources according to an embodiment of the present invention;
[0043] Figure 4 A flowchart illustrating yet another method for pushing user resources according to an embodiment of the present invention;
[0044] Figure 5 A schematic diagram of the structure of the user resource push device provided in an embodiment of the present invention;
[0045] Figure 6 This is a schematic diagram of the hardware structure of a user resource push device provided in an embodiment of the present invention. Detailed Implementation
[0046] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0047] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that embodiments of the invention described herein can be implemented, for example, in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0048] Figure 1 This is a schematic diagram illustrating an application scenario of the user resource push method provided in this embodiment of the invention. Please refer to [link / reference]. Figure 1 The system includes a billing system 101 and a user terminal 102. The billing system 101 is equipped with a user resource push device. This device obtains user data from the user terminal, predicts the user terminal's data flow rate category for future periods, and pushes corresponding resource segments to the user terminal 102. The user data includes several characteristic data points of the user and their recent data flow rate categories at different times. The user terminal 102 can access the internet based on the resource segments pushed by the user resource push device.
[0049] In existing technologies, billing systems need to adjust the size of traffic slices in real time based on user demand when controlling user traffic usage. This results in frequent interactions between the billing system and network elements, leading to high interaction frequency and significant pressure on the billing system. To address this issue, predicting the traffic flow category of a user within a preset future timeframe allows the billing system to automatically push resource slices of the corresponding size to the user at that time, thus avoiding frequent interactions between the billing system and network elements. Furthermore, predicting the flow rate category not only relies on historical traffic consumption data but also acquires feature data that influences user traffic usage behavior. Predicting the user's flow rate category based on both feature data and traffic consumption data results in more accurate predictions.
[0050] The technical solution of the present invention will be described in detail below with reference to specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments.
[0051] Figure 2 This is a flowchart of a user resource push method provided in an embodiment of the present invention. The method in this embodiment can be executed by a user resource push device, which can be configured in software and / or hardware form. Figure 1 In the billing system. For example... Figure 2 As shown, the method in this embodiment may include:
[0052] S201: Obtain several characteristic data of the user and the flow rate category at different time periods; the several characteristic data include characteristic data that affects the user's traffic usage behavior.
[0053] In this embodiment, to predict a user's traffic flow category, it is necessary to first obtain data that influences the traffic flow category. This data can be traffic flow categories at different time periods, representing the user's traffic consumption behavior. For example, it could be the user's hourly traffic flow category over three days. The time period and time segment for the traffic flow category are not limited; the time period can be the most recent three days or the most recent week, and the time segment can be the hourly traffic flow category or the traffic flow category every three hours, which can be set according to needs. The feature data that influences the user's traffic usage behavior is obtained according to steps S301, S302, and S303.
[0054] Data that influences data rate categories also includes feature data, which indirectly affects a user's data usage. Examples include a user's gender, age, value score, whether the user has activated a data plan, and the type of data plan activated.
[0055] S202: Based on feature data and flow rate categories at different time periods, predict the flow rate category of the user in a future preset time period using a network model.
[0056] In this embodiment, after determining the feature data and the flow rate categories for different time periods, the feature data and the flow rate categories for different time periods can be combined into vector data. A network model then predicts the user's flow rate category for a future preset time period. For example, if the input data consists of 10 feature data points including gender, age, user value score, etc., and hourly flow rate categories, the output data from the network model will be the hourly flow rate categories for the next day. For instance, when the input data is hourly flow rate categories, the predicted flow rate category could be 000001122222221111110000, representing the flow rate category for the next 24 hours.
[0057] S203: Based on the user's flow rate category during the preset time period, push resource pieces corresponding to the predicted flow rate category to the user during the preset time period.
[0058] In this embodiment, a resource authorization strategy can be pre-defined, setting a corresponding resource slice size for each flow rate category, and pushing the corresponding resource slice to the user based on the flow rate category during a preset time period. For example, when the flow rate categories are 0, 1, 2, and 3, the resource slice sizes are set to 5M, 8M, 12M, and 15M, respectively. Then, when the predicted flow rate category from 6:00 AM to 12:00 PM is 011223, then 5M, 8M, 8M, 12M, 12M, and 15M resource slices will be pushed to the user from 6:00 AM to 12:00 PM.
[0059] The user resource push method provided in this invention uses acquired user feature data to predict flow rate classification, which makes the predicted data more accurate. By dividing user traffic usage into different categories, the complexity of flow rate prediction can be reduced. By classifying and predicting the user's future flow rate based on user feature data and flow rate category through a network model, personalized and on-demand resource slice control strategies can be provided to users. This can reduce the frequency of interaction with users, improve the processing efficiency of existing billing systems, and alleviate the pressure on billing systems.
[0060] The process of a push device acquiring several characteristic data of a user is described in detail below with reference to a specific embodiment.
[0061] Figure 3 A flowchart of another user resource push method provided in an embodiment of the present invention is shown below. Figure 3 As shown, based on the above embodiments, the method of this embodiment, in which several feature data of the user are obtained in S201, may also include S301, S302 and S303.
[0062] S301: Preprocess the acquired user wide table data to obtain preprocessed user wide table data; the wide table data includes traffic usage data.
[0063] In this embodiment, the wide table data refers to a database table with many fields, typically a table that links together metrics, dimensions, and attributes related to the business entity. The wide table data obtained here is data related to traffic consumption characteristics. Specifically, the wide table data includes traffic usage data, which can be the total traffic usage for the current month.
[0064] After obtaining the user's wide table data, the wide table data can be preprocessed. Specifically, this includes handling missing data, which can include: determining the degree of missing data and its impact on the predicted flow rate category, and imputing or removing missing data based on the degree of missing data and its impact on the predicted flow rate category.
[0065] When missing data is significant and has a substantial impact on the predicted flow velocity category, imputation is performed. Imputation can be done by calculating the average value of the data in that category. For example, k-means clustering can be used to divide the data into different clusters, and then the average value of each cluster can be obtained. When missing data is significant but has little impact on the predicted flow velocity category, the missing data can be directly removed. For data with minor missing data, the average value can be used directly as the imputation value.
[0066] Preprocessing wide table data can also include standardizing data with large variability, such as maximum or minimum values. One method for data standardization is Z-score standardization. Specifically, this involves calculating the mean and standard deviation of the overall data for that category, then calculating the difference between the observed value and the mean, and finally using the quotient of the observed value and the standard deviation as a substitute for the observed value. Z-score standardization can reduce the impact of large variability in data on prediction results.
[0067] S302: Perform correlation analysis on the preprocessed user wide table data to obtain multiple feature data that are correlated with the traffic usage data.
[0068] After preprocessing the user wide table data, correlation analysis is performed on the preprocessed data. Correlation analysis can study the relationship between two or more random variables. Among the user wide table data, traffic usage data is important data regarding user traffic consumption; therefore, correlation analysis is performed between each data point in the user wide table and the traffic usage data. Specifically, bivariate correlation analysis is used for numerical fields, and chi-square analysis is used for character fields.
[0069] Specifically, the correlation coefficient can be used to determine the degree of correlation between each data point and the traffic usage data. Data with a correlation coefficient between -1 and 1 are considered correlated. A positive correlation coefficient indicates a positive correlation between the two variables; a negative correlation coefficient indicates a negative correlation; and a correlation coefficient close to 0 indicates a weaker correlation. Therefore, data with a weak correlation to the traffic usage data can be removed, leaving only the characteristic data that is correlated with the traffic usage data.
[0070] S303: The random forest algorithm is used to filter the multiple feature data that are related to the traffic usage data to obtain the several feature data.
[0071] After identifying the feature data relevant to the traffic usage data, the sheer volume of these feature data makes direct prediction of traffic rate categories using a network model time-consuming. Therefore, the feature data can be further filtered. Specifically, a random forest algorithm can be used to determine several feature data points, ensuring that the selected features best represent user traffic usage behavior. The random forest algorithm can quickly remove some feature data.
[0072] The above method reduces the impact of missing data on flow rate type prediction by preprocessing the wide table data. By performing correlation analysis on the preprocessed user wide table data, feature data that is correlated with traffic usage data can be preliminarily screened, reducing the amount of data processing required when the random forest method screens feature data. Finally, the random forest method can quickly screen out several feature data.
[0073] Optionally, the step of filtering the multiple feature data that are correlated with the traffic usage data using a random forest algorithm to obtain the several feature data includes:
[0074] For each feature data, determine the Gini index of the feature data; determine the importance score corresponding to each feature data based on the Gini index; sort all the importance scores of the feature data and obtain the feature data corresponding to the top-ranked importance scores.
[0075] In this embodiment, for each feature data, the Gini index is determined based on the proportion of each feature data. Assuming the random forest contains m nodes, the change in the Gini index of node m before and after branching is obtained. The importance score of the feature data in the i-th tree is determined based on the change in the Gini index of node m before and after branching, and then the importance score of the feature data in the n trees is calculated.
[0076] After obtaining the importance score for each feature data, the importance scores are normalized and sorted, and the feature data corresponding to the highest importance scores are selected. For example, the 10 feature data with the highest importance scores can be selected, as shown in Table 1.
[0077] Table 1
[0078]
[0079]
[0080] As shown in the table above, 10 feature data selected in this application are provided as an example. All of the selected feature data are data that affects user traffic usage.
[0081] The following describes in detail the process by which a push device obtains the user's flow rate category at different time periods, using a specific embodiment as an example.
[0082] Figure 4 A flowchart of another user resource push method provided by an embodiment of the present invention is shown below. Figure 4 As shown, based on the above embodiments, the method of this embodiment, in S201, obtaining the user's flow rate category at different time periods, may also include S401, S402 and S403.
[0083] S401: Preprocess the acquired traffic detail data to obtain preprocessed traffic detail data.
[0084] In this embodiment, the data usage details represent a detailed record of the data charges incurred by a user when using internet access. After obtaining the data usage details, preprocessing can be performed, such as removing details with zero data usage. Here, zero data usage refers to details where the user did not use any data.
[0085] S402: Determine the user's traffic consumption data during the preset time period based on the preprocessed traffic details data.
[0086] After preprocessing the detailed traffic data, we can obtain the traffic consumption data of a user during a certain period. Specifically, we can first determine how many time periods to divide the traffic data into, and then calculate the traffic consumption data in each time period. For example, we can divide a day into 24 time periods and calculate the traffic consumption data in each time period; or we can divide a day into 12 time periods and calculate the traffic consumption data every two hours.
[0087] S403: Perform cluster analysis on the traffic data consumed by the user during the preset time period to determine the traffic rate category of the user during the preset time period.
[0088] In this embodiment, after acquiring the traffic data for a preset time period, the average flow rate for the preset time period is calculated based on the traffic data, and then cluster analysis is performed on the average flow rate to obtain the flow rate category corresponding to each preset time period.
[0089] The above method can be used to obtain the flow rate category from the detailed traffic data. By using the flow rate category to predict the user's traffic usage, the amount of computation in the network model will be greatly reduced, and the processing efficiency of the billing system will be improved.
[0090] Optionally, cluster analysis is performed on the traffic data consumed by the user during a preset time period to determine the traffic rate category of the user during the preset time period, including:
[0091] The number of flow rate categories is determined by the sum of squared errors corresponding to the preset number of each flow rate category; the flow rate category of the user in the preset time period is determined by the K-means method based on the number of flow rate categories and the flow data consumed by the user in the preset time period.
[0092] In this embodiment, the K-means method is used to determine the flow rate category of a user within a preset time period. Before determining the flow rate category, the number of flow rate categories, i.e., the number of clusters K, needs to be determined first. The number of flow rate categories is crucial for determining the flow rate categories; setting too many or too few categories will affect the classification. Therefore, determining the number of flow rate categories through the data itself can yield an accurate number of clusters. Specifically, the flow rate category K can be determined based on the sum of squared errors corresponding to the number of categories in each flow rate category.
[0093] After determining the number of flow rate categories, the average flow rate can be determined first based on the user's traffic consumption data during a preset time period. Then, the user's flow rate category can be determined using the K-means method. Specifically, K data points can be randomly selected as initial cluster centers. The distance from each data point to the initial cluster centers is calculated, and the data point is assigned to the nearest cluster. Then, the mean of each cluster is recalculated, and the data point is assigned to the nearest cluster again. This process is repeated until the classification results do not change, indicating that the clustering has converged. Finally, the flow rate category corresponding to the traffic consumption data during the preset time period is obtained.
[0094] The method described above determines the number of flow velocity categories by calculating the sum of squared errors, making the determined number of flow velocity categories more accurate. Consequently, the flow velocity categories corresponding to the traffic data consumed in the preset time period, determined based on the number of flow velocity categories, are also more accurate. Furthermore, using the K-means method to determine flow velocity categories has the advantage of fast computation speed.
[0095] Optionally, determining the number of flow velocity categories by using the preset sum of squared errors corresponding to the number of each flow velocity category includes:
[0096] Determine the sum of squared errors corresponding to the preset number of each flow velocity category, and determine the sum of squared error curve based on the sum of squared errors corresponding to the number of each flow velocity category; select the number of flow velocity categories corresponding to the inflection point in the sum of squared error curve.
[0097] In this embodiment, when determining the number of flow velocity categories, the sum of squared errors corresponding to each flow velocity category can be calculated. This is because as the number of flow velocity categories increases, the sample division becomes more refined, the aggregation degree of each cluster increases, and thus the sum of squared errors decreases. After obtaining the sum of squared errors corresponding to each flow velocity category, the flow velocity category K can be used as the X-axis, and the sum of squared errors as the Y-axis to plot an error sum of squared error curve.
[0098] By plotting the sum of squared errors curve, the number of velocity categories can be determined. When the value of K is less than the final determined number of velocity categories, the sum of squared errors decreases significantly as the value of K increases. When the value reaches the final determined number of velocity categories, further increasing the value of K will result in a smaller decrease in the sum of squared errors, gradually leveling off. The inflection point is the point where the slope decreases rapidly when the value of K is less than the inflection point, and the slope flattens out when the value of K is greater than the inflection point. For example, if the point corresponding to velocity category 8 is the inflection point of the curve, then the final determined velocity category is 8.
[0099] The above method can make the number of determined flow velocity categories more accurate.
[0100] Furthermore, when the inflection point cannot be determined by observing the curve, several candidate K values can be identified first. Then, the profile coefficient corresponding to each candidate K value can be calculated, and the value with the larger profile coefficient can be selected as the velocity category. For example, when it is impossible to determine whether the inflection point corresponds to velocity category 8 or velocity category 9 from the curve, the profile coefficients corresponding to the two K values can be calculated. If the profile coefficient corresponding to velocity category 8 is greater than the profile coefficient corresponding to velocity category 9, then the velocity category is finally determined to be 8.
[0101] Optionally, the method for determining the network model is as follows:
[0102] The network model is determined based on the acquired historical feature data, the historical flow velocity categories at different time periods, and the flow velocity categories at the corresponding future preset time periods.
[0103] In this embodiment, before predicting the user's flow rate category using a network model, the network model needs to be determined first. When determining the network model, historical data can be used to train it. This historical data includes historical feature data, historical flow rate categories at different time periods, and flow rate categories for corresponding future preset time periods. The historical feature data and historical flow rate categories at different time periods are combined into vector data as input data, and the corresponding flow rate categories for the future preset time periods are used as output data to train the network model. The model parameters with the highest prediction accuracy are then saved, resulting in the trained network model.
[0104] By training the network with historical feature data, historical flow rate categories at different time periods, and flow rate categories for corresponding future preset time periods, the network can learn the features implicit in the historical data, thereby enabling it to predict the flow rate category for users in future preset time periods. Specifically, the network model can be a deep neural network, convolutional neural network, recurrent neural network, etc.
[0105] The aforementioned method acquires several feature data points through correlation analysis and random forest methods. When using random forest to determine feature data, the Gini index and importance score can be used to measure the importance of the features, ensuring that the acquired feature data points are optimal. When determining the flow rate category, the K-means method can quickly identify the flow rate category. Based on the user's feature data and the flow rate category at different time periods, the impact of the user's feature data on the user's traffic usage can be obtained, making the predicted flow rate category for the preset time period more accurate. Then, based on the predicted flow rate category, the corresponding resource slices are pushed to the user within the preset time period, avoiding the need for frequent interaction between the billing system and network elements in existing technologies to meet the user's demand for resource slices at different times, thus improving the processing efficiency of the billing system.
[0106] Figure 5 This is a schematic diagram of the structure of the user resource push device provided in an embodiment of the present invention, as shown below. Figure 5 As shown, the user resource push device 50 provided in this embodiment may include: an acquisition module 501, a prediction module 502, and a push module 503.
[0107] The acquisition module 501 is used to acquire several characteristic data of the user and the flow rate category at different time periods; the several characteristic data are characteristic data that affect the user's traffic usage behavior.
[0108] The prediction module 502 is used to predict the user's flow rate category in a future preset period based on feature data and flow rate categories in different time periods through a network model.
[0109] The push module 503 is used to push resource pieces corresponding to the predicted flow rate category to the user during the preset time period based on the user's flow rate category during the preset time period.
[0110] The user resource push device provided in this embodiment of the invention can achieve the above-mentioned... Figure 2 , Figure 3 and Figure 4 The user resource push method shown in the embodiment has a similar implementation principle and technical effect, and will not be described again here.
[0111] Figure 6 This is a schematic diagram of the hardware structure of a user resource push device provided in an embodiment of the present invention. Figure 6 As shown, the user resource push device 60 provided in this embodiment includes at least one processor 601 and a memory 602. The processor 601 and the memory 602 are connected via a bus 603.
[0112] In a specific implementation, at least one processor 601 executes computer execution instructions stored in the memory 602, causing at least one processor 601 to execute the user resource push method in the above method embodiment.
[0113] The specific implementation process of processor 601 can be found in the above method embodiments, and its implementation principle and technical effect are similar. It will not be repeated here.
[0114] In the above Figure 6 In the illustrated embodiments, it should be understood that the processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in this invention can be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules within the processor.
[0115] The memory may include high-speed RAM, and may also include non-volatile storage (NVM), such as at least one disk storage.
[0116] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, the buses shown in the accompanying drawings are not limited to a single bus or a single type of bus.
[0117] This invention also provides a computer-readable storage medium storing computer-executable instructions. When a processor executes the computer-executable instructions, it implements the user resource push method described in the above method embodiments.
[0118] The aforementioned computer-readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. The readable storage medium can be any available medium accessible to a general-purpose or special-purpose computer.
[0119] An exemplary readable storage medium is coupled to a processor, enabling the processor to read information from and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can reside in an Application Specific Integrated Circuit (ASIC). Alternatively, the processor and the readable storage medium can exist as discrete components in the device.
[0120] Those skilled in the art will understand that all or part of the steps of the above-described method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When executed, the program performs the steps of the above-described method embodiments; and the aforementioned storage medium includes various media capable of storing program code, such as ROM, RAM, magnetic disks, or optical disks.
[0121] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.
Claims
1. A push method of a user resource, characterized by, The method comprises the following steps: Obtaining a plurality of feature data of a user and flow rate categories in different time periods; the plurality of feature data comprises feature data that has an influence on the user's flow usage behavior, and the feature data comprises the user's age, gender, value score, whether the user has opened a flow package, and the type of the opened flow package; the flow rate categories represent the user's flow usage behavior in different time periods; According to the feature data and the flow rate categories in different time periods, predicting the flow rate categories of the user in a future preset time period through a network model; According to the flow rate categories of the user in the preset time period, pushing a resource piece corresponding to the predicted flow rate categories to the user in the preset time period; Obtaining flow rate categories of a user in different time periods comprises: Preprocessing the obtained flow bill data to obtain preprocessed flow bill data; Determining flow data consumed by the user in a preset time period according to the preprocessed flow bill data; Performing cluster analysis on the flow data consumed by the user in the preset time period to determine the flow rate categories of the user in the preset time period; The method for obtaining a plurality of feature data of a user comprises: Preprocessing the obtained user wide table data to obtain preprocessed user wide table data; the wide table data contains flow usage data; Performing correlation analysis on the preprocessed user wide table data to obtain a plurality of feature data that has a correlation with the flow usage data; Filtering the plurality of feature data that has a correlation with the flow usage data through a random forest algorithm to obtain the plurality of feature data; the filtering through the random forest algorithm comprises, for each feature data, determining a Gini index of the feature data; determining an importance score corresponding to each feature data according to the Gini index; sorting the importance scores of all feature data to obtain feature data corresponding to a plurality of importance scores in the front.
2. The method of claim 1, wherein, The method for performing cluster analysis on the flow data consumed by the user in the preset time period to determine the flow rate categories of the user in the preset time period comprises: Determining the number of flow rate categories through a preset error sum of squares corresponding to each number of flow rate categories; Determining the flow rate categories of the user in the preset time period according to the number of flow rate categories and the flow data consumed by the user in the preset time period through a K-means method.
3. The method of claim 2, wherein, The method for determining the number of flow rate categories through a preset error sum of squares corresponding to each number of flow rate categories comprises: Determining the error sum of squares corresponding to each number of flow rate categories, and determining an error sum of squares curve according to the error sum of squares corresponding to each number of flow rate categories; Selecting the number of flow rate categories corresponding to an inflection point in the error sum of squares curve.
4. The method according to any one of claims 1 to 3, characterized in that, The method for determining the network model comprises: Determining the network model according to the obtained historical feature data, historical flow rate categories in different time periods, and flow rate categories in corresponding future preset time periods.
5. A push apparatus of a user resource, characterized by, The method comprises the following steps: The acquisition module is configured to acquire a plurality of feature data of a user and flow rate categories in different time periods; the plurality of feature data are feature data that have an impact on the user's flow usage behavior, and the feature data include the user's age, gender, value score, whether the user has a flow package, and the type of the flow package; and the flow rate categories represent the user's flow usage behavior in different time periods. The prediction module is configured to predict, by using a network model, a flow rate category of the user in a preset time period in the future according to the feature data and the flow rate categories in different time periods. The push module is configured to push, in the preset time period, a resource piece corresponding to the predicted flow rate category to the user according to the flow rate category of the user in the preset time period. The acquisition module is specifically configured to pre-process the acquired flow detail data to obtain pre-processed flow detail data. The flow data consumed by the user in the preset time period is determined according to the pre-processed flow detail data; and the flow data consumed by the user in the preset time period is subjected to cluster analysis to determine the flow rate category of the user in the preset time period. The acquisition module is specifically configured to pre-process the acquired user wide table data to obtain pre-processed user wide table data; the wide table data includes flow usage data; the pre-processed user wide table data is subjected to correlation analysis to obtain a plurality of feature data that have a correlation with the flow usage data; the plurality of feature data that have a correlation with the flow usage data are filtered by using a random forest algorithm to acquire the plurality of feature data; the random forest algorithm includes, for each feature data, determining a Gini index of the feature data; determining an importance score corresponding to each feature data according to the Gini index; and sorting the importance scores of all feature data to acquire feature data corresponding to a plurality of importance scores in the front.
6. A push device of a user resource, characterized by, comprise: at least one processor and a memory; the memory stores computer-executable instructions; the at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor executes the user resource pushing method according to any one of claims 1 to 4.
7. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, and when the processor executes the computer-executable instructions, the user resource pushing method according to any one of claims 1 to 4 is implemented.
8. A computer program product, characterised in that, The computer program product stores computer-executable instructions, and when the processor executes the computer-executable instructions, the user resource pushing method according to any one of claims 1 to 4 is implemented.
Citation Information
Patent Citations
Communication bandwidth prediction method and device based on power business requirements
CN104463351A
Mobile data traffic package recommendation algorithm based on user historical data
CN105389713A
Dynamic flow control method and device
CN105791151A