A fund product recommendation method, device and equipment
Through the number of visits prediction model and deep learning technology, the characteristic information in user behavior records is used to predict the number of visits to fund products, and the problem of low fund recommendation accuracy in the existing technology is solved, achieving more efficient and accurate fund product recommendations .
Patent Information
- Application Number
- CN202010980314.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-09-17
- Publication Date
- 2024-12-20
- Estimated Expiration
- 2040-09-17
AI Technical Summary
Existing fund product recommendation methods are difficult to cover the long-tail and deep-level user fund characteristics, resulting in low recommendation accuracy.
The number of visits prediction model is adopted to obtain user feature information and fund feature information in user behavior records, train deep learning models, predict the number of visits to fund products by users, and provide recommendation results based on this, and train by dividing training subsets and setting up training. cycle, improve model accuracy and recommendation efficiency.
It improves the accuracy and efficiency of fund product recommendations, can better cover long-tail fund products, and provides more suitable user recommendations.
Smart Images

Figure CN112102095B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data processing technology, and in particular to a fund product recommendation method, device and equipment. Background Art
[0002] With the development of economy and the advancement of science and technology, people's financial management awareness has gradually increased, and more and more people have invested their idle funds in purchasing fund products. Therefore, it is becoming more and more important to recommend suitable funds to users from a large number of financial products.
[0003] In the prior art, fund recommendations mainly include hot recommendations and collaborative filtering recommendations. Hot recommendations are mainly based on the popular fund products in a certain area that have been counted in recent period of time. Collaborative filtering recommendations are specifically divided into two types: one is to recommend funds purchased by other customers similar to the customer; the other is to recommend funds similar to the funds purchased by the customer. However, these methods are difficult to cover the long-tail and deep-level user fund characteristics, resulting in low accuracy in fund product recommendations.
[0004] Therefore, the industry is in urgent need of a technical solution that can solve the above problems. Summary of the invention
[0005] The embodiments of this specification provide a fund product recommendation method, device and equipment, which can improve the accuracy of fund product recommendations.
[0006] The fund product recommendation method, device and equipment provided in this manual are implemented in the following ways.
[0007] A fund product recommendation method comprises: obtaining a behavior record of a designated user, wherein the behavior record comprises user characteristic information and fund characteristic information; inputting the behavior record into a visit number prediction model to obtain the number of visits of the designated user to a fund product corresponding to the fund characteristic information; wherein the visit number prediction model is trained based on data in a training data set; the training data set comprises behavior records of different users, each behavior record comprises user characteristic information and fund characteristic information, each behavior record corresponds to a category label, the category label is determined based on the number of visits of the user to the fund product, and different category labels correspond to different numbers of visits; and returning a fund product recommendation result based on the number of visits of the designated user to the fund product corresponding to the fund characteristic information.
[0008] A method for training a visit count prediction model comprises: obtaining a user behavior data set; the user behavior data set comprises behavior records of different users, each behavior record comprises user characteristic information and fund characteristic information; according to the number of visits of the user to the fund product corresponding to the fund characteristic information, a category label is assigned to each behavior record in the user behavior data set to obtain a training data set; wherein different category labels correspond to different number of visits; and using the training data set to train a preset deep learning model to obtain a visit count prediction model.
[0009] A fund product recommendation device comprises: a behavior record acquisition module, used for acquiring the behavior record of a designated user, wherein the behavior record includes user characteristic information and fund characteristic information; a visit number acquisition module, used for inputting the behavior record into a visit number prediction model, and obtaining the number of visits of the designated user to a fund product corresponding to the fund characteristic information; wherein the visit number prediction model is obtained by training based on data in a training data set; the training data set includes the behavior records of different users, each behavior record includes user characteristic information and fund characteristic information, each behavior record corresponds to a category label, the category label is determined based on the number of visits of the user to the fund product, and different category labels correspond to different numbers of visits; a recommendation module, used for returning a fund product recommendation result based on the number of visits of the designated user to the fund product corresponding to the fund characteristic information.
[0010] A training device for a visit number prediction model comprises: a behavior data set acquisition module, used to acquire a user behavior data set; the user behavior data set comprises behavior records of different users, each behavior record comprises user characteristic information and fund characteristic information; a training data set acquisition module, used to assign a category label to each behavior record in the user behavior data set according to the number of visits of the user to a fund product corresponding to the fund characteristic information, so as to obtain a training data set; wherein different category labels correspond to different numbers of visits; and a prediction model acquisition module, used to train a preset deep learning model using the training data set, so as to obtain a visit number prediction model.
[0011] A fund product recommendation device includes a processor and a memory for storing processor executable instructions, wherein the processor implements the steps of any method embodiment in the embodiments of this specification when executing the instructions.
[0012] A training device for a visit frequency prediction model includes a processor and a memory for storing processor executable instructions. When the processor executes the instructions, the steps of any method embodiment in the embodiments of this specification are implemented.
[0013] This specification provides a fund product recommendation method, device and equipment. In some embodiments, by dividing the data of the training data set into multiple training subsets and assigning each training subset to different nodes for training, the network load during model training can be reduced and the training efficiency can be improved. By setting the training cycle, multi-dimensional and deep feature combinations and feature intersections can be effectively mined to better cover long-tail fund products, thereby improving the accuracy of the training model and improving the guarantee for subsequent accurate recommendation of fund products. By inputting the fund feature information corresponding to multiple fund products into the visit count prediction model at one time, the number of visits of a specified user to multiple fund products can be quickly and conveniently obtained, thereby improving the efficiency and accuracy of subsequent fund recommendations. By inputting the acquired behavior records into a pre-trained visit count prediction model, suitable fund products can be quickly recommended to users, thereby improving the recommendation efficiency. The implementation scheme provided in this specification can improve the accuracy of fund product recommendations. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] The drawings described herein are used to provide a further understanding of this specification, constitute a part of this specification, and do not constitute a limitation of this specification. In the drawings:
[0015] Figure 1 It is a flowchart of an embodiment of a fund product recommendation method provided in this specification;
[0016] Figure 2 It is a schematic diagram of the overall framework of the fund product recommendation method provided in this manual;
[0017] Figure 3 It is a schematic diagram of the module structure of an embodiment of a fund product recommendation device provided in this specification;
[0018] Figure 4 It is a schematic diagram of the module structure of an embodiment of a training device for a visit frequency prediction model provided in this specification;
[0019] Figure 5 This is a hardware structure block diagram of an embodiment of a fund product recommendation server provided in this specification. DETAILED DESCRIPTION
[0020] In order to enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below in conjunction with the drawings in the embodiments of this specification. Obviously, the described embodiments are only part of the embodiments in this specification, not all of the embodiments. Based on one or more embodiments in this specification, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the embodiments of this specification.
[0021] The following is an example of a specific application scenario to illustrate the implementation plan of this specification. Specifically, Figure 1 It is a flowchart of an embodiment of a fund product recommendation method provided in this specification. Although this specification provides the method operation steps or device structure shown in the following embodiments or drawings, the method or device may include more or fewer operation steps or module units after partial combination based on routine or no creative labor.
[0022] An implementation scheme provided in this specification can be applied to a client, a server, etc. The client can include a terminal device, such as a smart phone, a tablet computer, etc. The server can include a single computer device, or a server cluster composed of multiple servers, or a server structure of a distributed system, etc.
[0023] It should be noted that the following embodiment description does not limit the technical solutions in other application scenarios that can be extended based on this specification. Figure 1 As shown, in an embodiment of a fund product recommendation method provided in this specification, the method may include the following steps.
[0024] S0: Obtaining a behavior record of a designated user, wherein the behavior record includes user characteristic information and fund characteristic information.
[0025] In the embodiments of this specification, the designated user can represent the user who needs to recommend a fund product. The behavior record can be used to dynamically record the data corresponding to some user behaviors. The behavior record may include user characteristic information and fund characteristic information. The user characteristic information may include age, gender, region, user category, etc. For example, the user characteristic information may include the customer's age, gender, whether it is a credit card customer, whether it is a Longpay customer, whether it is a fast loan customer, whether it is a provident fund customer, whether it is a third-party custody customer, whether it is a payment agent customer, etc. The fund characteristic information may include a fund product identifier. The fund product identifier can be used to identify the fund product. The fund product identifier may consist of one or more components such as numbers, letters, etc.
[0026] In some implementation scenarios, the stream processing engine can be used to read the behavior records of specified users from the Kafka message queue in real time. Among them, the Kafka message queue can include log data dynamically collected by the front end, and the log data includes the user's behavior records. Kafka is an open source stream processing platform that can process all action stream data of consumers on the website. Kafka unifies online and offline message processing through Hadoop's parallel loading mechanism, and can also provide real-time messages through clusters.
[0027] In some implementation scenarios, log data can be collected dynamically through the front end or through the server log collection tool, and then the collected log data is transmitted to the collection management platform through nft (network file transfer), and the collection management platform transmits it to the electronic banking data analysis application area through nft. Finally, the electronic banking data analysis application area pre-processes the log data through the ETL tool and puts the pre-processed data into the Kafka message queue. Among them, ETL (Extract-Transform-Load) can be used to describe the process of extracting (extract), transforming (transform), and loading (load) data from the source end to the destination end. Pre-processing log data through ETL tools can remove some redundant information in the log data, thereby improving the efficiency of subsequent data processing.
[0028] In some embodiments of the present specification, before obtaining the behavior record of the specified user, the method may include: starting the Docker container included in each node; the Docker container includes TensorFlow Servering; loading the access count prediction model on the TensorFlow Servering. Among them, the Docker container is an open source application container engine. Docker allows developers to package their applications and dependent packages into a lightweight, portable container, and then publish them to any popular Linux machine, and can also achieve virtualization. The container completely uses the sandbox mechanism, there will be no interface between each other, and the container performance overhead is extremely low. TensorFlow is an open source software library for numerical calculations using data flow graphs. Nodes represent mathematical operations in the graph, and the edges in the graph represent multidimensional data arrays that are interconnected between nodes, i.e., tensors. TensorFlow's flexible architecture can be used to carry out calculations on a variety of platforms, for example, one or more CPUs (or GPUs) in a desktop computer, servers, mobile devices, etc. TensorFlow Servering can directly launch the trained model and provide Restful services. The access count prediction model is pre-trained based on the data in the training data set. The training data set may include behavior records of different users, each behavior record includes user feature information and fund feature information, and each behavior record corresponds to a category label. The category label is determined based on the number of visits to the fund product by the user, and different category labels correspond to different numbers of visits.
[0029] In some implementation scenarios, after each node starts a Docker container, the Docker container maps the port to the physical machine and maps the disk to the network file system (nfs) shared storage. In some implementation scenarios, the main and standby services and load balancing can be implemented through Keepalived and HAProxy. Among them, Keepalived is a software similar to the layer3, 4&5 switching mechanism, that is, the third layer, fourth layer and fifth layer switching. The role of Keepalived is to detect the status of the web server. If a web server crashes or fails to work, Keepalived will detect it and remove the faulty web server from the system. When the web server works normally, Keepalived automatically adds the web server to the server group. All these tasks are completed automatically without manual intervention. What needs to be done manually is to repair the faulty web server. HAProxy is a free and open source software written in C language, which provides high availability, load balancing, and application proxy based on TCP (Transmission Control Protocol) and HTTP.
[0030] In some implementation scenarios, the behavior record of a specified user may include one user characteristic information and fund characteristic information corresponding to multiple fund products. For example, the behavior record of a specified user may include one user characteristic information and 50 fund characteristic information. In this way, suitable fund products can be recommended to the user based on the fund characteristic information corresponding to multiple fund products at one time, thereby improving the recommendation efficiency. The number of fund characteristic information can be set according to the actual scenario.
[0031] S2: Input the behavior record into the access count prediction model to obtain the access count of the specified user to the fund product corresponding to the fund characteristic information; wherein the access count prediction model is trained based on the data in the training data set; the training data set includes behavior records of different users, each behavior record includes user characteristic information and fund characteristic information, each behavior record corresponds to a category label, the category label is determined based on the user's access count to the fund product, and different category labels correspond to different access counts.
[0032] In the embodiment of this specification, after obtaining the behavior record of the specified user, the behavior record can be input into the access count prediction model to obtain the number of visits of the specified user to the fund product corresponding to the fund characteristic information, thereby providing a guarantee for the subsequent recommendation of suitable fund products.
[0033] In some embodiments of the present specification, before inputting behavior records into the access number prediction model, the access number prediction model needs to be pre-trained.
[0034] In some implementation scenarios, a visit count prediction model can be obtained in the following manner: obtaining a user behavior data set; the user behavior data set includes behavior records of different users, and each behavior record includes user characteristic information and fund characteristic information; according to the number of visits of the user to the fund product corresponding to the fund characteristic information, a category label is assigned to each behavior record in the user behavior data set to obtain a training data set; wherein different category labels correspond to different numbers of visits; using the training data set, a preset deep learning model is trained to obtain a visit count prediction model.
[0035] In some implementation scenarios, the stream processing engine can be used to read the data in the Kafka message queue in real time to obtain the user behavior data set. Among them, the Kafka message queue may include log data dynamically collected by the front end, and the log data may include behavior records of different users. In some implementation scenarios, the data of a preset time period in the Kafka message queue can be read as the user behavior data set. For example, one month of data can be read as the user behavior data set.
[0036] In some implementation scenarios, log data can be collected dynamically through the front end or through the server log collection tool, and then the collected log data is transmitted to the collection management platform through nft (network file transfer). The collection management platform transmits it to the electronic banking data analysis application area through nft. Finally, the electronic banking data analysis application area pre-processes the log data through the ETL tool and puts the pre-processed data into the Kafka message queue.
[0037] In some implementation scenarios, after obtaining the user behavior data set, a category label can be assigned to each behavior record in the user behavior data set according to the number of times the user visits the fund product corresponding to the fund characteristic information, thereby obtaining a training data set. Each piece of data included in the training data set corresponds to a category label. Different data can correspond to the same label or different labels. The training data set can be used to train the model.
[0038] In some implementation scenarios, after obtaining the user behavior dataset and the training dataset, they can be associated through Hive and exported to the nfs shared storage of the training cluster.
[0039] In some implementation scenarios, using the training data set to train the preset deep learning model to obtain a visit number prediction model may include: dividing the training data set into multiple training subsets; assigning each training subset to different nodes; wherein each node pre-stores the preset deep learning model, and different nodes are used to determine different parameters of the preset deep learning model; using the initial parameters of the preset deep learning model, the training subset in each node, and the preset deep learning model, calculating the gradient of the data in the training subset in each node; based on the gradient of the data in the training subset in all nodes, using the gradient descent method to update the parameters of the preset deep learning model to obtain a visit number prediction model.
[0040] In some implementation scenarios, after obtaining the training data set, in order to reduce the network load during the training model and improve the training efficiency, the data of the training data set can be divided into multiple training subsets, and then each training subset is assigned to different nodes for training. For example, in some implementation scenarios, the GPU cluster can be used to read the training data after stream processing, and then the training data is scattered (introducing data randomness), and finally the training data is sharded to each Worker node for local storage, so as to effectively reduce the network load during model training. Among them, the GPU cluster is a computer cluster, which includes multiple Worker nodes, each Worker node is equipped with a graphics processing unit (GPU). By utilizing the computing power of modern GPUs through general computing on graphics processing units, GPU clusters can perform very fast calculations.
[0041] In some implementation scenarios, the number of training cycles can be set for each node. This can improve the accuracy of the training model.
[0042] In some implementation scenarios, after each training subset is assigned to a different node, each Worker node can be scheduled to calculate the gradient of the local shard data in parallel and submit it to the parameter server in a unified manner. The parameter server asynchronously summarizes the received gradients, and then updates the preset deep learning model parameters through the gradient descent method to obtain the access count prediction model. Among them, the preset deep learning model may include a convolutional neural network, a recurrent neural network, a long short-term memory network, etc. The initial parameters of the preset deep learning model may be pre-stored in the parameter server. Different nodes may share the parameters in the parameter server. In some implementation scenarios, different parameters may be stored in different parameter servers. After updating the preset deep learning model parameters, the updated parameters may be stored in the parameter server. The gradient descent method may include batch gradient descent (Batch Gradient Descent, BGD), stochastic gradient descent (Stochastic Gradient Descent, SGD), etc. It should be noted that the commonly used deep learning model is data parallelization, that is, the TensorFlow task uses the same training model to train on different small batch data sets, and then updates the shared parameters of the model on the parameter server. TensorFlow supports two model training methods: synchronous training and asynchronous training.
[0043] In some implementation scenarios, multiple models can be trained at one time, and then the performance of each model can be compared, and the model with the best performance can be selected as the final visit number prediction model. In some implementation scenarios, weights can be assigned to the obtained multiple models, and then the multiple models can be used as the final visit number prediction model. Among them, the visit number prediction model can be used to predict the number of times a user browses a certain fund product.
[0044] In some implementation scenarios, after obtaining the access count prediction model, the parameter information of the access count prediction model can be exported, and then a version number is assigned to the parameter information to generate a reasonable model file corresponding to the access count prediction model. The reasonable model file can be used to record data when training the access count prediction model, such as input data, output data, etc. In some implementation scenarios, the reasonable model file can be converted into a Serving format and stored through nfs sharing.
[0045] In some implementation scenarios, after obtaining the access count prediction model and the inferable model file, the access count prediction model and the inferable model file may be stored in a Hadoop distributed file system.
[0046] In some implementation scenarios, after the visit count prediction model is trained, the behavior records of the designated user can be input into the model to obtain the number of visits of the designated user to the fund product corresponding to the fund characteristic information, thereby providing a guarantee for the subsequent recommendation of suitable fund products.
[0047] In some implementation scenarios, the behavior record of the designated user may include a user characteristic information and fund characteristic information corresponding to multiple fund products; accordingly, the behavior record is input into a visit count prediction model to obtain the number of visits of the designated user to the multiple fund products.
[0048] In the embodiments of this specification, by dividing the data of the training data set into multiple training subsets and assigning each training subset to different nodes for training, the network load during model training can be reduced and the training efficiency can be improved. By setting the training cycle, multi-dimensional and deep feature combinations and feature crossovers can be effectively mined to better cover long-tail fund products, thereby improving the accuracy of the training model. By inputting the fund feature information corresponding to multiple fund products into the access count prediction model at one time, the access count of a specified user to multiple fund products can be quickly and conveniently obtained, thereby improving the efficiency and accuracy of subsequent fund recommendations.
[0049] S4: Return fund product recommendation results according to the number of visits by the designated user to the fund product corresponding to the fund characteristic information.
[0050] In the embodiment of this specification, after obtaining the number of visits of the designated user to the fund product corresponding to the fund characteristic information, the fund product recommendation result can be returned to the user according to the number of visits of the designated user to the fund product corresponding to the fund characteristic information.
[0051] In some implementation scenarios, when the number of visits by the designated user to the multiple fund products is obtained, returning the fund product recommendation result based on the number of visits by the designated user to the fund product corresponding to the fund feature information may include: determining whether there is a fund product among the multiple fund products that meets a preset condition; the preset condition is used to limit the number of visits to the fund product; and when confirmed to exist, returning the identifier of the fund product that meets the preset condition.
[0052] In some implementation scenarios, the determining whether there is a target fund product that meets preset conditions among the multiple fund products may also include: when it is confirmed that there is no target fund product, randomly returning the identifiers of a preset number of fund products.
[0053] For example, in some implementation scenarios, after obtaining the number of visits of the designated user to the fund product corresponding to the fund characteristic information, the relationship between the obtained number of visits and the preset number of visits can be determined. When the obtained number of visits is greater than or equal to the preset number of visits, the fund products with the number of visits greater than or equal to the preset number of visits can be returned to the front-end display. It is understandable that when the obtained number of visits is less than the preset number of visits, the preset information can be returned to the front-end display. Among them, the preset information can be the identifier of the random fund product, the prompt information that the relevant fund product is not found, etc.
[0054] In some implementation scenarios, when there are multiple fund products with a visit count greater than or equal to a preset visit count, the fund products with the highest visit count can be selected for feedback. The preset number can be set according to the actual scenario, and this specification does not limit this.
[0055] In some implementation scenarios, if the fund recommendation result is not returned within a preset time, an abnormal log may be displayed. The preset time may be set according to the actual scenario, for example, 500 milliseconds. The situation where the fund recommendation result is not returned within the preset time may include a service timeout of 500 milliseconds, a message parsing error, or an abnormal content value.
[0056] In some implementation scenarios, fund online transactions can be performed. For example, the latest popular product ID and the feature information corresponding to a certain customer ID can be read from the database, and then the popular product ID and the customer's feature information can be packaged, and the Serving interface can be called to predict the number of times the customer browses the popular product, and finally the recommendation result is returned based on the number of views. Among them, fund online transactions can configure a Keepalived entry address, which can be set according to the actual scenario. In some implementation scenarios, a new and old version switch can also be added for fund online transactions.
[0057] Of course, the above is only an exemplary description, and the embodiments of this specification are not limited to the above examples. Technical personnel in the relevant field may make other changes based on the technical essence of this application. However, as long as the functions and effects achieved are the same or similar to those of this application, they should be included in the scope of protection of this application.
[0058] like Figure 2 As shown, Figure 2It is a schematic diagram of the overall framework of the fund product recommendation method provided in this specification. Among them, the front-end channel may include multiple websites (for example, website 1, website 2, website 3, etc.), and the dynamic data of users on the website can be collected through log collection tools, and then transmitted to the transaction service cluster. The transaction service cluster can perform load balancing. The trading platform in the transaction service cluster can provide transaction services based on the generated model. The trading platform can also store transaction service data in HBase and Redis in the big data and algorithm cluster. In the big data and algorithm cluster, training data can be obtained from HDFS, and then sharded to each Pod for model training. After obtaining the final model, the model can be exported to NAS. When the final model is needed for transaction services, the model can be loaded into TensorFlowServering to provide services. Among them, each Pod, TensorFlow Servering, and NAS are located in the microservice distributed and GPU virtualization area. The TensorFlow Training model is pre-stored in each Pod. In the process of obtaining training data from HDFS, you can first obtain data from Kafka through Flink, then save the data to Redis and HBase, and then transfer the data to HDFS through Hive. Finally, HDFS shards the data to each Pod for model training. Among them, HBase is a distributed, column-oriented open source database. Redis is a Key-Value storage system. HDFS is the Hadoop distributed file system. Pod is the basic unit of the Kubernetes system. It is the smallest component created or deployed by the user and the resource object for running containerized applications on the Kubernetes system. Kubernetes is an open source platform for automated container operations, including deployment, scheduling, and expansion between node clusters. Kubernetes is a container control platform that can abstract all underlying infrastructure. NAS (Network Attached Storage) is a dedicated data storage server that is data-centric, completely separates storage devices from servers, and centrally manages data, thereby freeing up bandwidth, improving performance, reducing costs, and protecting investments. Hive is a data warehouse tool based on Hadoop that can be used for data extraction, transformation, and loading. It is a mechanism that can store, query, and analyze large-scale data stored in Hadoop. Flink is an open source stream processing framework that executes arbitrary stream data programs in a data-parallel and pipelined manner. Flink's pipeline runtime system can execute batch and stream processing programs. Hadoop is a distributed system infrastructure. The TensorFlow Training model can be a preset deep learning model.
[0059] From the above description, it can be seen that the embodiments of the present application can achieve the following technical effects: by dividing the data of the training data set into multiple training subsets and assigning each training subset to different nodes for training, the network load during model training can be reduced and the training efficiency can be improved. By setting the training cycle, multi-dimensional, deep feature combinations and feature intersections can be effectively mined to better cover long-tail fund products, thereby improving the accuracy of the training model. By inputting the fund feature information corresponding to multiple fund products into the access count prediction model at one time, the number of visits of a specified user to multiple fund products can be quickly and conveniently obtained, thereby improving the efficiency and accuracy of subsequent fund recommendations. By inputting the acquired behavior records into the pre-trained access count prediction model, suitable fund products can be quickly recommended to users, thereby improving recommendation efficiency.
[0060] Based on the fund product recommendation method described above, one or more embodiments of this specification also provide a fund product recommendation device. The device may include a system (including a distributed system), software (application), module, component, server, client, etc. that uses the method described in the embodiment of this specification and is combined with necessary implementation hardware. Based on the same innovative concept, the device in one or more embodiments provided in the embodiment of this specification is as described in the following embodiments. Since the implementation scheme and method of the device to solve the problem are similar, the implementation of the specific device in the embodiment of this specification can refer to the implementation of the aforementioned method, and the repetitions will not be repeated. As used below, the term "unit" or "module" can be a combination of software and / or hardware that implements a predetermined function. Although the device described in the following embodiments is preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceived.
[0061] Specifically, Figure 3 is a schematic diagram of a module structure of an embodiment of a fund product recommendation device provided in this specification, such as Figure 3 As shown, a fund product recommendation device provided in this specification may include: a behavior record acquisition module 120, a visit number acquisition module 122, and a recommendation module 124.
[0062] The behavior record acquisition module 120 can be used to acquire the behavior record of a specified user, wherein the behavior record includes user characteristic information and fund characteristic information;
[0063] The access number acquisition module 122 can be used to input the behavior record into the access number prediction model to obtain the number of visits of the specified user to the fund product corresponding to the fund characteristic information; wherein the access number prediction model is trained based on the data in the training data set; the training data set includes the behavior records of different users, each behavior record includes user characteristic information and fund characteristic information, each behavior record corresponds to a category label, the category label is determined based on the number of visits of the user to the fund product, and different category labels correspond to different number of visits;
[0064] The recommendation module 124 may be configured to return a fund product recommendation result according to the number of visits by the designated user to the fund product corresponding to the fund characteristic information.
[0065] It should be noted that the above-mentioned device may also include other implementation modes according to the description of the method embodiment. The specific implementation mode may refer to the description of the relevant method embodiment, which will not be described one by one here.
[0066] like Figure 4 As shown, Figure 4 The module structure diagram of an embodiment of a training device for a visit number prediction model provided in this specification may include: a behavior data set acquisition module 210, a training data set acquisition module 212, and a prediction model acquisition module 214.
[0067] The behavior data set acquisition module 210 can be used to acquire a user behavior data set; the user behavior data set includes behavior records of different users, and each behavior record includes user characteristic information and fund characteristic information;
[0068] The training data set acquisition module 212 may be used to assign a category label to each behavior record in the user behavior data set according to the number of times the user visits the fund product corresponding to the fund characteristic information, so as to obtain a training data set; wherein different category labels correspond to different numbers of visits;
[0069] The prediction model acquisition module 214 can be used to train a preset deep learning model using the training data set to obtain a visit count prediction model.
[0070] It should be noted that the above-mentioned device may also include other implementation modes according to the description of the method embodiment. The specific implementation mode may refer to the description of the relevant method embodiment, which will not be described one by one here.
[0071] This specification also provides an embodiment of a fund product recommendation device, including a processor and a memory for storing processor executable instructions, and the processor can implement any of the above method embodiments when executing the instructions. For example, when the instructions are executed by the processor, the implementation includes the following steps: obtaining the behavior record of a specified user, the behavior record including user feature information and fund feature information; inputting the behavior record into a visit count prediction model to obtain the number of visits of the specified user to the fund product corresponding to the fund feature information; wherein the visit count prediction model is obtained by training data in a training data set; the training data set includes behavior records of different users, each behavior record includes user feature information and fund feature information, and each behavior record corresponds to a category label, the category label is determined according to the number of visits of the user to the fund product, and different category labels correspond to different number of visits; according to the number of visits of the specified user to the fund product corresponding to the fund feature information, the fund product recommendation result is returned.
[0072] It should be noted that the above-mentioned device may also include other implementations according to the description of the method or device embodiment. The specific implementation methods can refer to the description of the relevant method embodiments, which will not be described one by one here.
[0073] This specification also provides an embodiment of a training device for a visit number prediction model, including a processor and a memory for storing processor executable instructions, and the processor can implement any of the above method embodiments when executing the instructions. For example, when the instructions are executed by the processor, the following steps are implemented: obtaining a user behavior data set; the user behavior data set includes behavior records of different users, and each behavior record includes user feature information and fund feature information; according to the number of visits of the user to the fund product corresponding to the fund feature information, a category label is assigned to each behavior record in the user behavior data set to obtain a training data set; wherein different category labels correspond to different number of visits; using the training data set, a preset deep learning model is trained to obtain a visit number prediction model.
[0074] It should be noted that the above-mentioned device may also include other implementations according to the description of the method or device embodiment. The specific implementation methods can refer to the description of the relevant method embodiments, which will not be described one by one here.
[0075] The method embodiments provided in this specification can be executed in a mobile terminal, a computer terminal, a server or a similar computing device. Taking running on a server as an example, Figure 5 1 is a hardware structure block diagram of an embodiment of a fund product recommendation server provided in this specification. The server may be the fund product recommendation device or fund product recommendation equipment in the above embodiments. Figure 5 As shown, the server 10 may include one or more (only one is shown in the figure) processors 100 (the processor 100 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA), a memory 200 for storing data, and a transmission module 300 for communication functions. A person skilled in the art can understand that Figure 5 The structure shown is only for illustration and does not limit the structure of the above electronic device. Figure 5 More or fewer components shown in the figure may also include other processing hardware, such as a database or multi-level cache, GPU, or other hardware with Figure 5 Different configurations are shown.
[0076] The memory 200 can be used to store software programs and modules of application software, such as program instructions / modules corresponding to the fund product recommendation method in the embodiment of this specification. The processor 100 executes various functional applications and data processing by running the software programs and modules stored in the memory 200. The memory 200 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 200 may further include a memory remotely arranged relative to the processor 100, and these remote memories may be connected to the computer terminal via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0077] The transmission module 300 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of a computer terminal. In one example, the transmission module 300 includes a network adapter (Network Interface Controller, NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission module 300 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0078] The above is a description of a specific embodiment of the specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0079] The methods or devices described in the above embodiments provided in this specification can implement business logic through computer programs and record them on storage media, and the storage media can be read and executed by computers to achieve the effects of the solutions described in the embodiments of this specification. The storage medium may include a physical device for storing information, which is usually to digitize the information and then store it in a medium using electrical, magnetic or optical methods. The storage medium may include: devices that use electrical energy to store information, such as various types of memories, such as RAM, ROM, etc.; devices that use magnetic energy to store information, such as hard disks, floppy disks, magnetic tapes, magnetic core memories, bubble memories, and U disks; devices that use optical methods to store information, such as CDs or DVDs. Of course, there are other types of readable storage media, such as quantum memories, graphene memories, and so on.
[0080] The above-mentioned fund product recommendation method or device embodiments provided in this specification can be implemented by a processor in a computer executing corresponding program instructions, such as using the C++ language of the Windows operating system to implement it on a PC, on a Linux system, or other methods such as using Android or iOS system programming languages to implement it on a smart terminal, as well as based on the processing logic of a quantum computer.
[0081] It should be noted that the devices and equipment described in the specification may also include other implementation methods according to the description of the relevant method embodiments. The specific implementation methods can refer to the description of the corresponding method embodiments, which will not be described one by one here.
[0082] Each embodiment in this application is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the hardware + program embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0083] For the convenience of description, the above devices are described in various modules according to their functions. Of course, when implementing one or more of the present specification, the functions of some modules can be implemented in the same or more software and / or hardware, and the modules that implement the same function can also be implemented by a combination of multiple sub-modules or sub-units.
[0084] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices, and apparatuses according to embodiments of the present invention. It should be understood that it can be implemented by computer program instructions, which can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce a device for implementing a specified function. These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device, which is implemented in the flowchart. Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0085] Those skilled in the art will appreciate that one or more embodiments of the present specification may be provided as a method, system or computer program product. Therefore, one or more embodiments of the present specification may be provided in the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware.
[0086] The above is only an example of one or more embodiments of this specification and is not intended to limit one or more embodiments of this specification. For those skilled in the art, one or more embodiments of this specification may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of this application should be included in the scope of the claims.
Claims
1. A fund product recommendation method, It is characterized in that include: Obtaining a behavior record of a specified user, wherein the behavior record includes user characteristic information and fund characteristic information corresponding to a plurality of fund products; The obtaining of the behavior record of the designated user comprises: using a stream processing engine to read the behavior record of the designated user from a Kafka message queue in real time; wherein the Kafka message queue comprises log data dynamically collected by a front end, and the log data comprises the behavior record of the user; the log data in the Kafka message queue is obtained in the following manner: dynamically collecting log data by a front end or collecting log data by a server log collection tool, transmitting the collected log data to a collection management platform via NFT, the collection management platform transmitting the log data to an electronic banking data analysis application area via NFT, the electronic banking data analysis application area preprocessing the log data by an ETL tool, and putting the preprocessed data into a Kafka message queue; The behavior record is input into the access count prediction model to obtain the access count of the specified user to the multiple fund products; wherein the access count prediction model is obtained by training based on the data in the training data set; the training data set includes behavior records of different users, each behavior record includes user feature information and fund feature information, each behavior record corresponds to a category label, the category label is determined based on the user's access count to the fund product, and different category labels correspond to different access counts; the access count prediction model is obtained by: dividing the training data set into multiple training subsets, assigning each training subset to a different node, and setting the number of training cycles for each node; scheduling each node to parallelly calculate the local training subset according to the initial parameters of the preset deep learning model Gradient, submit the gradient to the parameter server, schedule the parameter server to asynchronously summarize the received gradient, update the initial parameters of the preset deep learning model through the gradient descent method, obtain the access number prediction model, export the parameter information of the access number prediction model, assign a version number to the parameter information, generate a reasonable model file corresponding to the access number prediction model, store the access number prediction model and the reasonable model file in the Hadoop distributed file system, and the reasonable model file is used to record the data when training the access number prediction model; wherein the initial parameters of the preset deep learning model and the parameters of the access number prediction model are stored in the parameter server, the nodes can share the parameters in the parameter server, and different nodes are used to determine different parameters of the preset deep learning model; According to the number of visits to the multiple fund products by the designated user, a fund product recommendation result is returned; when the number of visits to the multiple fund products by the designated user is obtained, according to the number of visits to the fund product corresponding to the fund characteristic information by the designated user, the fund product recommendation result is returned, including: judging whether there is a fund product with a number of visits greater than or equal to a preset number of visits among the multiple fund products; if it is confirmed that there is a fund product with a number of visits greater than or equal to the preset number of visits; if it is confirmed that there is no fund product, returning the preset information to the front end for display, and the preset information includes a prompt message that the relevant fund product is not found; The method is applied to a framework including a front-end channel, a transaction service cluster, and a big data and algorithm cluster; the front-end channel includes multiple websites; the dynamic data of users on the website is collected by a log collection tool and transmitted to the transaction service cluster; the transaction service cluster includes a transaction platform; the transaction platform is used to provide transaction services according to the model, and store the transaction service data in HBase and Redis in the big data and algorithm cluster; the big data and algorithm cluster is used to obtain data from Kafka through Flink, save the data to Redis and HBase, transmit the data to HDFS through Hive, shard the data to each Pod through HDFS for model training, and export the obtained model to NAS, so that when the model needs to be used for transaction services, the service can be provided by loading the model into TensorFlow Servering; Pod, TensorFlow Servering, and NAS are located in the microservice distributed and GPU virtualization area, and each Pod is pre-stored with a TensorFlow Training model.
2. The method according to claim 1, It is characterized in that Before obtaining the behavior record of the specified user, the following steps are included: Start a Docker container included in each node; the Docker container includes TensorFlow Servering; The access count prediction model is loaded on the TensorFlow Servering.
3. The method according to claim 2, It is characterized in that The Docker container maps ports to physical machines; the Docker container maps disks to network file system shared storage.
4. A training method for a visit count prediction model, It is characterized in that include: Obtain user behavior dataset; The user behavior data set includes behavior records of different users, and each behavior record includes user characteristic information and fund characteristic information; The method of obtaining a user behavior data set includes: using a stream processing engine to read data in a Kafka message queue in real time to obtain a user behavior data set; wherein the Kafka message queue includes log data dynamically collected by a front end, and the log data includes user behavior records; the log data in the Kafka message queue is obtained by: dynamically collecting log data by a front end or collecting log data by a server log collection tool, transmitting the collected log data to a collection management platform through NFT, transmitting the collection management platform to an electronic banking data analysis application area through NFT, and preprocessing the log data by an ETL tool in the electronic banking data analysis application area, and putting the preprocessed data into a Kafka message queue; According to the number of times the user visits the fund product corresponding to the fund characteristic information, a category label is assigned to each behavior record in the user behavior data set to obtain a training data set; wherein different category labels correspond to different numbers of visits; The training data set is used to train the preset deep learning model to obtain a visit number prediction model; the method includes: dividing the training data set into multiple training subsets, assigning each training subset to different nodes, and setting the number of training cycles for each node; scheduling each node to calculate the gradient of the local training subset in parallel according to the initial parameters of the preset deep learning model, submitting the gradient to the parameter server, scheduling the parameter server to asynchronously summarize the received gradients, and updating the initial parameters of the preset deep learning model through the gradient descent method to obtain the visit number prediction model; wherein the initial parameters of the preset deep learning model and the parameters of the visit number prediction model are stored in the parameter server, the nodes can share the parameters in the parameter server, and different nodes are used to determine different parameters of the preset deep learning model; Exporting parameter information of the access number prediction model, assigning a version number to the parameter information, generating a reasonable model file corresponding to the access number prediction model, storing the access number prediction model and the reasonable model file in the Hadoop distributed file system, and the reasonable model file is used to record data when training the access number prediction model; The method is applied to a framework including a front-end channel, a transaction service cluster, and a big data and algorithm cluster; the front-end channel includes multiple websites; the dynamic data of users on the website is collected by a log collection tool and transmitted to the transaction service cluster; the transaction service cluster includes a transaction platform; the transaction platform is used to provide transaction services according to the model, and store the transaction service data in HBase and Redis in the big data and algorithm cluster; the big data and algorithm cluster is used to obtain data from Kafka through Flink, save the data to Redis and HBase, transmit the data to HDFS through Hive, shard the data to each Pod through HDFS for model training, and export the obtained model to NAS, so that when the model needs to be used for transaction services, the service can be provided by loading the model into TensorFlow Servering; Pod, TensorFlow Servering, and NAS are located in the microservice distributed and GPU virtualization area, and each Pod is pre-stored with a TensorFlow Training model.
5. A fund product recommendation device, It is characterized in that include: A behavior record acquisition module, used to acquire the behavior record of a specified user, wherein the behavior record includes user characteristic information and fund characteristic information corresponding to a plurality of fund products; The obtaining of the behavior record of the designated user comprises: using a stream processing engine to read the behavior record of the designated user from a Kafka message queue in real time; wherein the Kafka message queue comprises log data dynamically collected by a front end, and the log data comprises the behavior record of the user; the log data in the Kafka message queue is obtained in the following manner: dynamically collecting log data by a front end or collecting log data by a server log collection tool, transmitting the collected log data to a collection management platform via NFT, the collection management platform transmitting the log data to an electronic banking data analysis application area via NFT, the electronic banking data analysis application area preprocessing the log data by an ETL tool, and putting the preprocessed data into a Kafka message queue; The access number acquisition module is used to input the behavior record into the access number prediction model to obtain the access number of the multiple fund products; wherein the access number prediction model is obtained by training according to the data in the training data set; the training data set includes the behavior records of different users, each behavior record includes user feature information and fund feature information, each behavior record corresponds to a category label, the category label is determined according to the number of visits to the fund product by the user, and different category labels correspond to different access numbers; the access number prediction model is obtained by the following method: dividing the training data set into multiple training subsets, allocating each training subset to different nodes, and setting the number of training cycles for each node; scheduling each node to parallelly calculate the local training subset according to the initial parameters of the preset deep learning model The gradient of the set is submitted to the parameter server, the parameter server is scheduled to asynchronously summarize the received gradients, the initial parameters of the preset deep learning model are updated through the gradient descent method, the access number prediction model is obtained, the parameter information of the access number prediction model is exported, a version number is assigned to the parameter information, and a reasonable model file corresponding to the access number prediction model is generated, and the access number prediction model and the reasonable model file are stored in the Hadoop distributed file system, and the reasonable model file is used to record the data when training the access number prediction model; wherein the initial parameters of the preset deep learning model and the parameters of the access number prediction model are stored in the parameter server, the nodes can share the parameters in the parameter server, and different nodes are used to determine different parameters of the preset deep learning model; A recommendation module, for returning fund product recommendation results according to the number of visits to the multiple fund products by the designated user; when the number of visits to the multiple fund products by the designated user is obtained, returning fund product recommendation results according to the number of visits to the fund products corresponding to the fund characteristic information by the designated user, including: judging whether there is a fund product with a number of visits greater than or equal to a preset number of visits among the multiple fund products; if it is confirmed that there is a fund product with a number of visits greater than or equal to the preset number of visits; if it is confirmed that there is no fund product, returning preset information to the front end for display, wherein the preset information includes a prompt message that the relevant fund product is not found The device is applied to a framework including a front-end channel, a transaction service cluster, and a big data and algorithm cluster; the front-end channel includes multiple websites; the dynamic data of users on the website is collected by a log collection tool and transmitted to the transaction service cluster; the transaction service cluster includes a transaction platform; the transaction platform is used to provide transaction services according to the model, and store the transaction service data in HBase and Redis in the big data and algorithm cluster; the big data and algorithm cluster is used to obtain data from Kafka through Flink, save the data to Redis and HBase, transmit the data to HDFS through Hive, shard the data to each Pod through HDFS for model training, and export the obtained model to NAS, so that when the model needs to be used for transaction services, the service can be provided by loading the model into TensorFlow Servering; Pod, TensorFlow Servering, and NAS are located in the microservice distributed and GPU virtualization area, and each Pod is pre-stored with a TensorFlow Training model.
6. A training device for a visit number prediction model, It is characterized in that include: A behavior data set acquisition module is used to acquire user behavior data sets; The user behavior data set includes behavior records of different users, and each behavior record includes user characteristic information and fund characteristic information; The method of obtaining a user behavior data set includes: using a stream processing engine to read data in a Kafka message queue in real time to obtain a user behavior data set; wherein the Kafka message queue includes log data dynamically collected by a front end, and the log data includes user behavior records; the log data in the Kafka message queue is obtained by: dynamically collecting log data by a front end or collecting log data by a server log collection tool, transmitting the collected log data to a collection management platform through NFT, transmitting the collection management platform to an electronic banking data analysis application area through NFT, and preprocessing the log data by an ETL tool in the electronic banking data analysis application area, and putting the preprocessed data into a Kafka message queue; A training data set acquisition module is used to assign a category label to each behavior record in the user behavior data set according to the number of times the user visits the fund product corresponding to the fund characteristic information, so as to obtain a training data set; wherein different category labels correspond to different numbers of visits; A prediction model acquisition module is used to train a preset deep learning model using the training data set to obtain a visit number prediction model; the module includes: dividing the training data set into multiple training subsets, assigning each training subset to different nodes, and setting the number of training cycles for each node; scheduling each node to parallelly calculate the gradient of the local training subset according to the initial parameters of the preset deep learning model, submitting the gradient to the parameter server, scheduling the parameter server to asynchronously summarize the received gradient, updating the initial parameters of the preset deep learning model through the gradient descent method, obtaining the visit number prediction model, exporting the parameter information of the visit number prediction model, assigning a version number to the parameter information, generating a reasonable model file corresponding to the visit number prediction model, storing the visit number prediction model and the reasonable model file in the Hadoop distributed file system, and the reasonable model file is used to record the data when training the visit number prediction model; wherein the initial parameters of the preset deep learning model and the parameters of the visit number prediction model are stored in the parameter server, the nodes can share the parameters in the parameter server, and different nodes are used to determine different parameters of the preset deep learning model; The device is applied to a framework including a front-end channel, a transaction service cluster, and a big data and algorithm cluster; the front-end channel includes multiple websites; the dynamic data of users on the website is collected by a log collection tool and transmitted to the transaction service cluster; the transaction service cluster includes a transaction platform; the transaction platform is used to provide transaction services according to the model, and store the transaction service data in HBase and Redis in the big data and algorithm cluster; the big data and algorithm cluster is used to obtain data from Kafka through Flink, save the data to Redis and HBase, transmit the data to HDFS through Hive, shard the data to each Pod through HDFS for model training, and export the obtained model to NAS, so that when the model needs to be used for transaction services, the service can be provided by loading the model into TensorFlow Servering; Pod, TensorFlow Servering, and NAS are located in the microservice distributed and GPU virtualization area, and each Pod is pre-stored with a TensorFlow Training model.
7. A fund product recommendation device, It is characterized in that The invention comprises a processor and a memory for storing processor executable instructions, wherein the processor implements the steps of the method according to any one of claims 1 to 3 when executing the instructions.
8. A training device for a visit count prediction model, It is characterized in that The invention comprises a processor and a memory for storing processor executable instructions, wherein the steps of the method according to claim 4 are implemented when the processor executes the instructions.
