Smart financial product recommendation method and device, equipment and storage medium
This intelligent financial product recommendation method, optimized through cryptographic authentication, distributed computing architecture, and transfer learning, solves the problems of low accuracy and efficiency in traditional methods, enabling personalized and precise financial product recommendations and improving the adaptability and security of the recommendation system.
Patent Information
- Application Number
- CN202511065048.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-31
- Publication Date
- 2025-11-11
AI Technical Summary
Existing financial product recommendation methods struggle to achieve accurate and personalized recommendations. Traditional methods are inefficient and computationally inefficient when processing massive amounts of distributed financial data, and they cannot cope with dynamic changes and complex nonlinear relationships in the data, resulting in insufficient recommendation accuracy and real-time performance.
By integrating cryptographic authentication, distributed computing architecture, transfer learning optimization, and semantic recommendation decision-making technologies, a full-link intelligent recommendation system is constructed through the generation of user digital IDs, credit calculation smart contracts, K-means++ algorithm, and transfer learning distributed expectation maximization algorithm, which realizes user group tag generation and personalized product recommendation.
It improves the accuracy and efficiency of financial product recommendations, ensures data security and privacy, supports cross-business department model collaboration and knowledge sharing, and adapts to market changes and evolving user behavior.
Smart Images

Figure CN120931366A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of smart finance, specifically to a method, apparatus, device, and storage medium for recommending smart financial products. Background Technology
[0002] In the financial sector, accurately recommending suitable financial products to users is crucial for improving user experience and boosting the business volume of financial institutions. As the financial market continues to develop, financial products are becoming increasingly diverse, and user needs are evolving towards diversification and personalization. At the same time, the financial industry has accumulated massive amounts of user financial data, covering key information such as transaction records, asset status, and credit history. How to efficiently utilize this data to achieve accurate user profiling and intelligent financial product recommendations has become a critical issue that financial institutions urgently need to address.
[0003] Currently, there are three main types of financial product recommendation methods: the first is rule-based recommendation, where financial institutions recommend corresponding financial products to users according to pre-set simple rules, such as the user's asset size and risk tolerance; the second is collaborative filtering recommendation, which predicts the user's preference for products they have not yet encountered by analyzing the similarity between users and the user's evaluation of financial products; and the third is traditional machine learning recommendation, which uses traditional algorithms such as logistic regression and decision trees to model user data to achieve recommendations.
[0004] Rule-based recommendations rely on fixed and simple rules, making it difficult to deeply mine potential information and complex relationships in user data. The recommendations are coarse and fail to meet diverse user needs. Collaborative filtering recommendations rely too heavily on user similarity and evaluation data, and perform poorly when data is sparse. They also face the challenge of cold start for new users and new products. Traditional machine learning recommendations are prone to insufficient model training and low computational efficiency when processing massive distributed financial data. Furthermore, they have limited ability to handle dynamic changes in data and complex nonlinear relationships, affecting the accuracy and real-time performance of recommendations. Summary of the Invention
[0005] In view of this, the purpose of the present invention is to provide a method, apparatus, device and storage medium for recommending intelligent financial products, so as to improve the efficiency and reliability of financial product recommendations.
[0006] In a first aspect, embodiments of this application provide a method for recommending smart financial products, the method comprising:
[0007] Generate a user key pair for each user based on the documents submitted by each user, and generate a user digital ID for each user based on the user key pair.
[0008] The user's financial data is obtained based on the user's digital ID. The user's credit score is calculated based on the credit calculation smart contract and the user's financial data. The available financial products for each user are determined from the financial product library based on the user's credit score.
[0009] The user's financial data is stored in a distributed cluster according to business departments, forming a distributed computing architecture in which each business department is an independent node.
[0010] The user financial data of each node is initially clustered using the K-means++ algorithm to obtain the initial cluster partitioning results. Based on the initial cluster partitioning results, the initial model parameter set of each node is calculated.
[0011] Based on the set objective function, the current model objective function value of each node is calculated based on its initial model parameter set. Model parameter migration operation is carried out between neighboring nodes and the new model objective function value of each node is calculated. Based on the new model objective function value and the current model objective function value of each node, the optimal model parameter set of each node is determined.
[0012] Based on the optimal model parameter set of each node, the posterior probability of each user data point belonging to different categories is determined by the transfer learning distributed expectation maximization algorithm. Based on each posterior probability, the category of each user data point is determined, and the final clustering result is output.
[0013] Based on the final clustering results, user segmentation labels are generated for each user, and recommended financial products for each user are selected from the user's available financial products according to the user segmentation labels.
[0014] Optionally, the step of generating user key pairs for each user based on the documents submitted by each user, and generating user digital IDs for each user based on the user key pairs, includes:
[0015] The identity controller verifies the validity of the documents submitted by each user.
[0016] If valid, notify the key management center to generate a user key pair (pk, sk), where the private key is sk and the public key is pk;
[0017] Calculate the user's numeric ID using a hash function:
[0018] D id =hash(ID) v ,sk), where, D id For user numeric ID, ID v The ID document submitted by the user.
[0019] Optionally, the step of obtaining each user's financial data based on their user digital ID, calculating each user's credit score based on the credit calculation smart contract and their financial data, and determining each user's available financial products from the financial product database based on their credit scores includes:
[0020] For each user, a unique association is established with the user's financial account through the user's digital ID, and the user's financial data is retrieved from the distributed financial database, wherein the user's financial data includes historical transaction data, asset holding data, liability data and cash flow data;
[0021] The credit calculation smart contract loads a preset credit assessment indicator system, performs quantitative calculations on the user's financial data based on the credit assessment indicator system, and generates the user's credit value by weighted summation. The indicator system includes basic qualification score, debt repayment ability score, performance record score and business stability score.
[0022] The financial product database has preset credit access thresholds for each financial product. The user's credit score is compared with the credit access thresholds of each financial product, and financial products whose credit access thresholds do not exceed the user's credit score are identified as the user's selectable financial products.
[0023] Optionally, the initial clustering of user financial data at each node is performed using the K-means++ algorithm to obtain initial cluster partitioning results, and the initial model parameter set for each node is calculated based on the initial cluster partitioning results, including:
[0024] Each node randomly selects a data point from its local dataset as the first cluster center. For each remaining data point, it calculates the minimum distance between itself and the selected center and uses the square of that distance as the selection probability.
[0025] Randomly select the next cluster center according to the above probability distribution, and repeat the process until K initial centers are selected. Assign each data point to the cluster containing the nearest cluster center, and update the cluster center position based on the feature average of all data points in the current cluster.
[0026] Repeat the above steps until the change in cluster centers is less than the preset threshold, or the maximum number of iterations is reached;
[0027] Each node outputs the coordinates of the K final cluster centers, as well as the cluster affiliation label for each data point:
[0028] The proportion of data points within each cluster to the total data volume of that node is used as the mixing ratio for that cluster.
[0029] Calculate the feature average of all data points within each cluster, and use it as the mean vector for that cluster;
[0030] Based on the deviation of data points within a cluster from the mean, the covariance matrix of the cluster is calculated to describe the degree of dispersion of the data distribution.
[0031] The mixing ratio, mean vector, and covariance matrix of each cluster are integrated into the initial model parameter set for that node;
[0032] Each node sends its locally computed initial model parameter set to its neighboring node set, completing the parameter initialization in the distributed environment and preparing for subsequent model parameter migration and optimization iterations.
[0033] Optionally, the step of performing model parameter migration operations among neighboring nodes and calculating new model objective function values for each node, and determining the optimal model parameter set for each node based on the new model objective function values and the current model objective function values, includes:
[0034] Each node exchanges key parameters, including the cluster mean and covariance matrix, and calculates the objective function value of the new model based on the exchanged key parameters.
[0035] Compare the new model's objective function value with the previous objective function value;
[0036] If the difference between the two exceeds the set threshold, the steps of parameter migration and objective function value calculation are repeated to continuously adjust the model parameters and push them toward the global optimal solution.
[0037] When the difference between two objective function values is less than a set threshold, the iteration process terminates, and the current parameter set becomes the optimal model parameter set.
[0038] Optionally, the optimal model parameter set based on each node determines the posterior probability of each user data point belonging to different categories on each node using the transfer learning distributed expectation-maximization algorithm. Based on these posterior probabilities, the category of each user data point is determined, and the final clustering result is output, including:
[0039] A Gaussian mixture model for each category is constructed based on the optimal model parameter set for each node; for each user data point, its probability density value under the Gaussian distribution of each category is calculated, and combined with the prior probability distribution, the posterior probability of the user data point belonging to different categories is derived by Bayes' theorem, forming a probability distribution vector;
[0040] For each user data point on each node, compare its posterior probability value under different categories and assign it to the category with the highest posterior probability; at the same time, record the highest posterior probability value as the classification confidence, which is used for subsequent result verification and quality assessment.
[0041] By using a pre-defined global-local category mapping rule, the category labels generated by each node based on local data are uniformly mapped to global category numbers; the local clustering results of all nodes are summarized to form a global initial clustering result matrix containing all user data points;
[0042] For overlapping user data points across nodes, compare their category assignment results on different nodes; if inconsistencies occur, initiate a conflict resolution mechanism: perform weighted voting on the judgment results of each node based on classification confidence, and redetermine the final category; for reclassified data points, trigger consistency verification of their neighboring data points to ensure the smoothness of cluster boundaries;
[0043] The evaluation index of the final clustering result is calculated, and a quality threshold is set to filter out low-quality clusters. Noise points are identified and processed in the filtered results to generate the optimized final clustering result.
[0044] Optionally, the step of generating user segmentation labels for each user based on the final clustering results, and filtering recommended financial products for each user from their available financial products based on these user segmentation labels, includes:
[0045] Based on the final clustering results, common feature vectors of users in each category are extracted, and user group labels for each user are generated according to the common feature vectors of each user.
[0046] Based on the user's segmentation tags, candidate products that meet the basic matching rules are selected from the list of available financial products;
[0047] Each candidate product is scored from multiple dimensions, and the final score of each candidate product is calculated using a weighted comprehensive scoring model. The products are then sorted in descending order of their final scores to form a preliminary recommendation list.
[0048] By accessing the real-time behavior data of each user, the ranking of each candidate product in the preliminary recommendation list is dynamically adjusted based on the real-time behavior data of each user to obtain the target recommendation list for each user;
[0049] Select a number of candidate products from the top preset positions in each user's target recommendation list as recommended financial products for each user.
[0050] Secondly, embodiments of this application provide a smart financial product recommendation device, the device comprising:
[0051] The user digital ID generation module is used to generate user key pairs for each user based on the documents submitted by each user, and to generate user digital IDs for each user based on the user key pairs.
[0052] The optional financial product determination module is used to obtain each user's financial data based on each user's user digital ID, calculate each user's credit value based on the credit calculation smart contract and each user's financial data, and determine each user's optional financial products from the financial product library based on each user's credit value.
[0053] The distributed computing architecture building module is used to cluster and distribute the user's financial data by business department, forming a distributed computing architecture in which each business department is an independent node.
[0054] The model parameter set construction module is used to perform initial clustering on the user financial data of each node using the K-means++ algorithm to obtain the initial cluster partitioning results, and calculate the initial model parameter set of each node based on the initial cluster partitioning results;
[0055] The model parameter set optimization module is used to calculate the current model objective function value of each node based on its initial model parameter set according to the set objective function, perform model parameter migration operation between neighboring nodes and calculate the new model objective function value of each node, and determine the optimal model parameter set of each node based on the new model objective function value and the current model objective function value of each node.
[0056] The final clustering result output module is used to determine the posterior probability of each user data point belonging to different categories on each node based on the optimal model parameter set of each node and the transfer learning distributed expectation maximization algorithm. Based on each posterior probability, the category of each user data point is determined, and the final clustering result is output.
[0057] The financial product recommendation module is used to generate user segmentation tags for each user based on the final clustering results, and to select recommended financial products for each user from the user's available financial products based on the user segmentation tags.
[0058] Thirdly, embodiments of this application provide a computer device, including: a processor, a memory, and a bus. The memory stores machine-readable instructions executable by the processor. When the computer device is running, the processor communicates with the memory via the bus. When the machine-readable instructions are executed by the processor, the steps of the smart financial product recommendation method described in any of the optional embodiments of the first aspect are performed.
[0059] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program, which, when executed by a processor, performs the steps of the smart financial product recommendation method described in any of the optional embodiments of the first aspect.
[0060] The technical solution provided in this application includes, but is not limited to, the following beneficial effects:
[0061] This mechanism generates user key pairs based on the submitted credentials of each user, and then generates user digital IDs based on these key pairs. This enables the construction of a decentralized identity authentication system based on cryptography, achieving uniqueness and unforgeability of user identities through asymmetric encryption. The mechanism supports zero-knowledge proof verification, completing identity verification without disclosing original document information. The user digital IDs adhere to standardized protocols, possessing cross-system interoperability, thus establishing a trusted foundation for subsequent financial service processes.
[0062] Based on each user's digital ID, the system retrieves their financial data. Using a credit calculation smart contract and each user's financial data, it calculates their credit score. Then, it identifies available financial products from a financial product database based on each user's credit score, achieving automated credit assessment and algorithmic transparency. The smart contract ensures the assessment rules are immutable and automatically executes data verification and calculation logic. The credit model is built upon multi-dimensional financial data and generates quantitative scores through interpretable algorithms. The product selection process automatically matches eligibility criteria using a rule engine, forming a personalized candidate set.
[0063] By distributing user financial data across business departments in a cluster, a distributed computing architecture is formed where each business department acts as an independent node. This enables the construction of a scalable data processing system. Distributed storage improves throughput through data sharding technology, supporting petabyte-level data storage; independent computing on each node reduces cross-regional data transmission and lowers latency; and the decentralized architecture enhances system fault tolerance, ensuring that a single node failure does not affect the overall service.
[0064] The K-means++ algorithm is used to perform initial clustering on the user financial data of each node to obtain initial cluster partitioning results. Based on the initial cluster partitioning results, the initial model parameter set for each node is calculated, which can optimize the clustering quality and model training efficiency. The K-means++ algorithm reduces the risk of local optima through an improved centroid selection strategy, thereby improving the rationality of the initial partitioning. The Gaussian mixture model parameters calculated based on the clustering results provide more reliable prior estimates for subsequent iterative optimization.
[0065] Based on the defined objective function, the system calculates the current objective function value for each node using its initial set of model parameters. It then performs model parameter migration operations between neighboring nodes and calculates the new objective function values for each node. Finally, based on the new and current objective function values, the optimal set of model parameters for each node is determined, enabling cross-node knowledge sharing and collaborative model optimization. The objective function quantifies model performance and guides parameter iteration; the parameter migration mechanism promotes information exchange between nodes, accelerating global convergence; and adaptive termination conditions balance computational resources and model accuracy.
[0066] Based on the optimal model parameter set of each node, the posterior probability of each user data point belonging to different categories is determined using the distributed expectation-maximization algorithm of transfer learning. The category of each user data point is then determined based on these posterior probabilities, and the final clustering result is output, enabling accurate classification across cross-domain data distributions. Transfer learning technology addresses the problem of data heterogeneity and improves model generalization ability; the distributed expectation-maximization algorithm processes large-scale data in parallel, significantly improving computational efficiency; and the posterior probability provides a quantifiable indicator of classification confidence, enhancing the reliability of the results.
[0067] Based on the final clustering results, user segmentation tags are generated for each user. Recommended financial products are then selected from each user's available financial products based on these tags, enabling the construction of a semantic recommendation decision-making system. The segmentation tag system transforms the clustering results into business-understandable feature descriptions, improving interpretability; the tag-based product selection mechanism achieves multi-dimensional matching, ensuring recommendation accuracy; and the dynamic update mechanism allows the recommendation system to adapt to market changes and evolving user behavior.
[0068] In summary, this intelligent financial product recommendation method integrates cryptographic authentication, distributed computing architecture, transfer learning optimization, and semantic recommendation decision-making to construct a full-link intelligent recommendation system. While ensuring data security and privacy, this method enables cross-business department model collaboration and knowledge sharing, effectively improving the accuracy and efficiency of financial product recommendations.
[0069] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description
[0070] To more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of the present invention and should not be regarded as a limitation on the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0071] Figure 1 The flowchart of a smart financial product recommendation method provided in Embodiment 1 of the present invention is shown;
[0072] Figure 2 The flowchart of a user digital ID recommendation method provided in Embodiment 1 of the present invention is shown;
[0073] Figure 3 The flowchart of an optional financial product determination method provided in Embodiment 1 of the present invention is shown;
[0074] Figure 4 The flowchart of an initial model parameter set determination method provided in Embodiment 1 of the present invention is shown;
[0075] Figure 5 The flowchart of an optimal model parameter set determination method provided in Embodiment 1 of the present invention is shown;
[0076] Figure 6 The flowchart illustrates a final clustering result output method provided in Embodiment 1 of the present invention.
[0077] Figure 7 The flowchart of a method for determining recommended financial products provided in Embodiment 1 of the present invention is shown;
[0078] Figure 8 This diagram illustrates the structure of a smart financial product recommendation device according to Embodiment 2 of the present invention.
[0079] Figure 9 A schematic diagram of the structure of a computer device provided in Embodiment 3 of the present invention is shown. Detailed Implementation
[0080] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, 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. The components of the embodiments of the present invention described and shown in the accompanying drawings can generally be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present invention provided in the accompanying drawings is not intended to limit the scope of the claimed invention, but merely to illustrate selected embodiments of the invention. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without inventive effort are within the scope of protection of the present invention.
[0081] Example 1
[0082] To facilitate understanding of this application, the following is combined with... Figure 1The flowchart of the intelligent financial product recommendation method provided in Embodiment 1 of the present invention illustrates the content of Embodiment 1 in detail.
[0083] See Figure 1 As shown, Figure 1 The flowchart of a smart financial product recommendation method provided in Embodiment 1 of the present invention is shown, wherein the method includes steps S101 to S107:
[0084] S101: Generate a user key pair for each user based on the documents submitted by each user, and generate a user digital ID for each user based on the user key pair.
[0085] Specifically, users submit legal documents to the system (individual users submit their resident ID cards, and corporate users submit their business licenses). The identity controller calls the national government document verification interface to verify the authenticity and validity of the documents. After successful verification, the key management center generates an asymmetric key pair (public key pk, private key sk) for the user based on the SM2 elliptic curve cryptography algorithm. The private key sk is encrypted and stored on the user's terminal, while the public key pk is uploaded to the system key pool for identity verification. The SHA-256 hash function is used to perform the operation: D id =hash(ID) v ,sk), where ID v The unique identifier contained in the document (such as ID card number, unified social credit code), the calculation result, D id As a user's digital ID, it is written into the ID chain distributed ledger through the blockchain consensus mechanism to achieve unique identification and tamper-proof storage of digital identity.
[0086] S102: Obtain each user's financial data based on their user digital ID, calculate each user's credit score based on the credit calculation smart contract and each user's financial data, and determine each user's available financial products from the financial product library based on their user credit scores.
[0087] Specifically, through the user's digital ID (D idA unique mapping is established with the distributed financial database to retrieve the user's financial data, specifically including: historical transaction records for the past 36 months (including transaction time, amount, and counterparty), current asset holdings details (including category, quantity, and valuation), loan and credit card repayment records (including repayment amount, time, and overdue days), and cash flow logs for the past 12 months (including average daily balance and percentage of large transactions). The credit calculation smart contract loads a preset credit assessment indicator system, with the following indicators and weights: Basic Qualification Score (20%, based on the completeness and authenticity of documents), Solvency Score (30%, calculated as: Solvency Score = 60 × (1 - Debt-to-Equity Ratio) + 40 × Current Ratio), Performance Record Score (30%, calculated as: Performance Record Score = 100 - Number of Overdue Payments × 5 - Total Overdue Days × 0.1), and Operational Stability Score (20%, quantitatively calculated based on cash flow volatility). The smart contract quantifies and scores the above indicators, then weights and sums the scores to generate a user credit score from 0 to 100. The financial product database has preset credit access thresholds for each product (the thresholds are dynamically updated by the product risk management module according to regulatory requirements). The system performs a comparison: financial products with a user's credit value ≥ the product access threshold are included in the user's list of selectable financial products, and the list is synchronized to the user's terminal in real time.
[0088] S103: Store each user's financial data in a distributed cluster according to business departments, forming a distributed computing architecture where each business department is an independent node.
[0089] Specifically, the system is divided into independent computing nodes based on business departments, such as retail business nodes, corporate business nodes, and wealth management nodes. Each node deploys a Hadoop Distributed File System (HDFS) to achieve sharded storage of user financial data. The sharding rule is as follows: data is allocated to the corresponding node based on the hash value of the user's numeric ID using a modulo operation, and the size of a single data shard is set to 64MB. Each node integrates a data encryption module, encrypting sensitive fields (transaction amount, account balance, etc.) using the AES-256 algorithm. The encryption key is dynamically generated by the node key management module and rotated periodically. Non-sensitive feature fields (such as transaction frequency, portfolio category) retain plaintext indexes for subsequent clustering calculations. A P2P communication network is built between nodes via the Libp2p protocol. The network layer deploys a node identity authentication and access control module, allowing only the transmission of model parameters between neighboring nodes (prohibiting the transmission of raw data), ensuring data "storage isolation and parameter collaboration".
[0090] S104: The K-means++ algorithm is used to perform initial clustering on the user financial data of each node to obtain the initial cluster partitioning results, and the initial model parameter set of each node is calculated based on the initial cluster partitioning results.
[0091] Specifically, each node performs initial K-means++ clustering based on local user financial data: the user sets the target number of clusters K (default value is 5) through the system configuration interface, and the node randomly selects one data point as the first cluster center; for the remaining data points x, the minimum distance D(x) between them and the selected centers is calculated, and the distance is calculated with probability P(x) = D(x). 2 / ∑D(x′) 2 Randomly select the next center and repeat this process until K initial centers are selected; D(x) is the minimum distance between x and all selected cluster centers, and D(x′) represents the minimum distance between data point x' and all selected cluster centers. Perform cluster assignment: using Euclidean distance. Assign data point x to the nearest cluster k; i Let c be the i-th eigenvalue of x. k,i Cluster center c k The i-th dimension coordinate. Update the cluster center: Where, N k Let k be the number of data points in cluster k. Iteratively execute the allocation and update steps until one of the following conditions is met: cluster center displacement. If the number of iterations reaches the preset maximum value of 50, the iteration is terminated and the initial cluster partitioning result is output. Let be the cluster center in the t-th iteration. Let ||·|| be the cluster center from the previous iteration, and ||·|| be the L2 norm (Euclidean distance) of the vector. Calculate the initial model parameter set Φ based on the partitioning results. (0) : Including cluster mixing ratio π jk =N jk / N j N jk Let N be the data volume of cluster k in node j. j Let j be the total data volume of node j and the cluster mean vector. Cluster covariance matrix Each node transmits Φ via an encrypted channel (0) Synchronize to its neighbor node set B j Initialization complete.
[0092] S105: Based on the set objective function, calculate the current model objective function value of each node based on its initial model parameter set, perform model parameter migration operation between neighboring nodes and calculate the new model objective function value of each node, and determine the optimal model parameter set of each node based on the new model objective function value and the current model objective function value of each node.
[0093] Specifically, each node loads the initial model parameter set Φ (0) Based on the preset objective function Calculate the initial objective function value F (0) The objective function is as follows:
[0094]
[0095] in, This represents the objective function value of the transfer learning distributed expectation-maximization algorithm at the t-th iteration; t represents the iteration number, used to identify different stages in the optimization process; j is the node index, ranging from 1 to J, used to distinguish nodes from different business departments in the distributed computing architecture; J represents the total number of nodes in the distributed computing architecture, i.e., the number of business departments; n is the user data point index, ranging from 1 to N. j , used to identify different user data points on the j-th node; N j γ represents the total number of user data points on the j-th node; k is the category index, ranging from 1 to K, used to distinguish different cluster categories; K represents the total number of categories in the target cluster; jnk Let be the posterior probability, representing the probability that the nth user data point at the jth node belongs to the kth class. π jk f(x) represents the mixing ratio of the k-th class at the j-th node, i.e., the proportion of the number of user data points of the k-th class at that node to the total number of user data points at that node; jn ;φ jk Let x be the Gaussian distribution function, used to describe the probability distribution of user data points of class k on the j-th node, where x jn It is the nth user data point on the j-th node, φ jk It is the set of model parameters for the k-th class at the j-th node, including the cluster mean μ. jk The cluster covariance matrix ∑ jk ; i is the index of the neighbor node i∈B j B represents the set of neighboring nodes of the j-th node. j Nodes in; B j Let λ represent the set of neighboring nodes of the j-th node; ji μ is a learning factor used to control the degree of model parameter transfer between the j-th node and its i-th neighbor node. jk φ is the cluster mean of the k-th class at the j-th node, and φ is the average feature vector of the user data points of that class; ik Let μ be the set of model parameters for the k-th class on the i-th neighbor node, including the cluster mean and cluster covariance matrix. Nodes exchange the cluster mean μ via a TLS 1.3 encrypted channel. jk With covariance matrix ∑ jk The local model parameters are updated based on the received neighbor node parameters, and the objective function value F is recalculated. (t) Perform convergence judgment: If |F (t) -F (t-1) |<1×10 -6 If the iteration terminates, the current parameter set becomes the optimal model parameter set Φ.* Otherwise, return to the parameter migration step until the convergence condition is met.
[0096] S106: Based on the optimal model parameter set of each node, the posterior probability of each user data point belonging to different categories is determined by the transfer learning distributed expectation maximization algorithm. The category of each user data point is determined according to each posterior probability, and the final clustering result is output.
[0097] Specifically, each node is based on the optimal model parameter set Φ * Construct a Gaussian mixture model and calculate the data point x using Bayes' theorem. jn The posterior probability of belonging to cluster k: Where f is the probability density function of a multivariate Gaussian distribution, and π jk μ represents the mixing proportion (prior probability) of cluster k at node j. jk Let γ be the mean vector of cluster k at node j, and l be the summation index. Select γ. jnk The cluster corresponding to the maximum value is taken as the data point x. jn The category to which it belongs, and the record of the maximum γ jnk The value is used as the classification confidence score (threshold set at 0.6; data points below the threshold are marked as pending verification). For data points overlapping across nodes (i.e., user data existing on multiple nodes simultaneously), if different nodes determine the category inconsistently, a weighted voting mechanism is initiated: the classification confidence score of each node is used as the weight, and the category with the highest number of votes is the final assignment; for reclassified data points, the consistency of the categories of their five adjacent data points is verified, and if inconsistent, the boundary is iterated and optimized again. Clustering quality evaluation indicators are calculated: silhouette coefficient (threshold ≥ 0.5), Calinski-Harabasz index (threshold ≥ 100), filtering out substandard clusters; noise points (≤ 5%) are identified and removed using the isolated forest algorithm, and finally, a globally consistent clustering result is output.
[0098] S107: Generate user group labels for each user based on the final clustering results, and select recommended financial products for each user from the user's available financial products according to the user group labels.
[0099] Specifically, based on the final clustering results, common feature vectors are extracted for each cluster, including risk preference (high / medium / low), asset size (high net worth / medium / small), trading frequency (high / medium / low), investment horizon (short / medium / long), and product holding structure (fixed income / equity / hybrid). User segmentation tags are generated through preset tag mapping rules. Example rules: Risk preference = low and asset size = high net worth → "Conservative high net worth investor"; Risk preference = medium and trading frequency = high → "Growth-oriented active investor". Candidate products are selected from the available product list based on tag-product matching rules (rules are formulated by the product expert committee and updated regularly). For example, the "conservative" tag matches fixed income products, and the "high-frequency trading" tag matches highly liquid products. Multi-dimensional scoring is applied to candidate products: profitability (30%), risk (30%), liquidity (20%), and suitability (20%). A weighted sum is used to generate a comprehensive score, and a preliminary recommendation list is formed in descending order of scores. By accessing users' real-time behavioral data (browsing duration, number of clicks, and search keywords) over the past 24 hours, the list sorting is dynamically adjusted using a deep reinforcement learning algorithm Q*(S,A) (where S is the user's scenario attribute and A is the sorting factor). The top 5 products are then selected as the recommendation results, synchronized to the user's terminal, and a recommendation log is recorded for effect tracking.
[0100] In an optional implementation, see Figure 2 As shown, Figure 2 The flowchart of a user digital ID recommendation method provided in Embodiment 1 of the present invention is shown, wherein the steps of generating user key pairs for each user based on the documents submitted by each user, and generating user digital IDs for each user based on the user key pairs, include steps S201 to S203:
[0101] S201: Verify the validity of the documents submitted by each user through the identity controller.
[0102] Specifically, the identity controller receives scanned copies of user-submitted documents or electronic certificates and calls the identity verification interface of the national government service platform (such as the National Population Information Social Application Platform and the National Enterprise Credit Information Publicity System) to verify their authenticity. Verification includes: the validity of the document's anti-counterfeiting code, the consistency of document information with the official database, and the document's validity period (not expired and not cancelled). For individual users, the focus is on verifying the matching degree of the ID number, name, and photo; for enterprise users, the consistency of the unified social credit code, enterprise name, and legal representative information is verified. The verification results are fed back to the system through an encrypted channel, retaining only the "valid" or "invalid" verification conclusion, and not storing the original document information.
[0103] S202: If valid, notify the key management center to generate a user key pair (pk, sk), where the private key is sk and the public key is pk.
[0104] Specifically, if the document verification is successful, the identity controller sends a key generation instruction to the key management center. This instruction includes the user's unique identifier (such as the document ID hash value). The key management center uses the SM2 elliptic curve public-key cryptography algorithm to generate an asymmetric key pair: the private key (sk) is 256 bits long, and the public key (pk) is 512 bits long. A random number seed (provided by the hardware security module HSM) is introduced during the generation process to ensure key uniqueness. The private key is encrypted using the AES-256 algorithm and stored in the user terminal's security chip (such as the mobile phone's SE chip), accessible only by the user through biometric identification (fingerprint / face recognition). The public key (pk) is uploaded to the system key pool and associated with the user's document ID for subsequent identity verification and digital signature verification.
[0105] S203: Calculate the user's numeric ID using a hash function:
[0106] D id =hash(ID) v s k ), where D id For user numeric ID, ID v The ID document submitted by the user.
[0107] Specifically, the operation is performed using the SHA-256 hash function:
[0108] D id =hash(ID) v ,sk), where, D id For user numeric ID, ID v The user-submitted ID (ID card number for individuals, Unified Social Credit Code for enterprises) and sk are the public key (pk) generated in step S202. The hash calculation process is completed in a Trusted Execution Environment (TEE) to ensure that the input parameters are not tampered with. The calculation result D id It is a 64-bit hexadecimal string, serving as the user's unique digital identity identifier in the system. It is synchronously written into the distributed ledger of the blockchain ID chain to achieve the immutability of the identity identifier and cross-node consistency verification.
[0109] In an optional implementation, see Figure 3 As shown, Figure 3 The flowchart illustrates a method for determining optional financial products according to Embodiment 1 of the present invention. The method includes steps S301 to S303: obtaining user financial data based on each user's user digital ID, calculating each user's credit score based on a credit calculation smart contract and each user's user financial data, and determining optional financial products for each user from a financial product database based on each user's credit score.
[0110] S301: For each user, a unique association is established with the user's financial account through the user's digital ID, and the user's financial data is retrieved from the distributed financial database, wherein the user's financial data includes historical transaction data, asset holding data, liability data and cash flow data.
[0111] Specifically, the system uses the user's digital ID as the primary key to query the corresponding financial account identifier (such as bank card number hash, securities account ID, etc.) in the distributed identity mapping table. The mapping table uses a Bloom filter for fast existence verification. After successful verification, a zero-knowledge proof protocol is invoked to prove the authenticity of the association without disclosing the original data. Based on the established association, an encrypted query request is sent to the distributed financial database. The request includes a timestamp, a data type mask (specifying the data category to be retrieved), and a query authorization token. Upon receiving the request, the database verifies the token's validity through the access control module and retrieves data from different shards according to the data type mask: it retrieves transaction records from the transaction log blockchain for the past 36 months, each record containing a transaction ID, timestamp, amount, counterparty account hash, transaction type (such as transfer, consumption, investment, etc.), and transaction status. It also obtains information on various financial assets currently held from the asset registration node, including asset code, quantity held, cost price, current market value, and last valuation time. Retrieve loan contract information from the credit management system, including loan amount, remaining principal, repayment plan, historical repayment records (including overdue days and number of overdue payments), and current debt status. Obtain daily fund change records for the past 12 months from the account transaction database, including income sources, expenditure purposes, end-of-day balance, and large transaction markers.
[0112] The retrieved data is transmitted to the compute node via a TLS 1.3 encrypted channel. During transmission, streaming decryption technology is used to ensure that the data is immediately anonymized after decryption (e.g., the counterparty ID is hashed). Once the data arrives at the compute node, it is stored in a temporary buffer within a Trusted Execution Environment (TEE) for subsequent credit calculations.
[0113] S302: The credit calculation smart contract loads a preset credit assessment indicator system, performs quantitative calculations on the user's financial data based on the credit assessment indicator system, and generates the user's credit value by weighted summation. The indicator system includes basic qualification score, debt repayment ability score, performance record score, and business stability score.
[0114] Specifically, the credit calculation smart contract is written in Solidity and deployed on a consortium blockchain network. During contract initialization, a pre-configured credit assessment indicator system is loaded. This system is stored in the on-chain configuration file in the form of key-value pairs, including the name of each indicator, calculation formula, weight coefficient, and scoring criteria.
[0115] Indicator Quantitative Calculation:
[0116] Basic Qualification Score (20%): Document Validity (10 points) - Verify whether the document has been verified by the public security / industrial and commercial system; Identity Authentication Level (5 points) - Differentiate between ordinary authentication, real-name authentication, and liveness authentication levels; Information Completeness (5 points) - Score based on the completeness of the personal / enterprise information filled in by the user.
[0117] Solvency score (30%): Debt-to-equity ratio (15 points) - Calculation formula is as follows Scoring rules: <30% gets 15 points, [30%, 50%) gets 10 points, [50%, 70%) gets 5 points, ≥70% gets 0 points; Current ratio (10 points) - calculation formula is as follows Scoring rules: >2 gets 10 points, (1.5,2] gets 7 points, (1,1.5] gets 4 points, ≤1 gets 0 points; Income-to-debt ratio (5 points) - calculation formula is as follows Scoring rules: ≤30% gets 5 points, 31% and 50% get 3 points, and >50% gets 0 points.
[0118] Performance record score (30%): Number of past overdue payments (15 points) - 15 points for no overdue payments, 1-2 times for 10 points, 3-5 times for 5 points, ≥6 times for 0 points; Longest overdue days (10 points) - 10 points for no overdue payments, 1-30 days for 7 points, 31-60 days for 4 points, ≥60 days for 0 points; Early repayment record (5 points) - 5 points for early repayment record, otherwise 0 points.
[0119] Operational Stability Score (20%): Cash Flow Volatility (10 points) - Calculate the standard deviation of the daily balance over the past 12 months. Volatility ≤ 20% gets 10 points, (20%, 40%) gets 7 points, (41%, 60%) gets 4 points, > 60% gets 0 points; Transaction Frequency Stability (5 points): Calculate the coefficient of variation of the number of transactions per month. Coefficient ≤ 0.3 gets 5 points, (0.30%, 0.6%) gets 3 points, > 0.6 gets 0 points; Proportion of Large Transactions (5 points): Proportion of large transactions (single transaction exceeding 20% of the monthly average balance) ≤ 10% gets 5 points, (10%, 20%) gets 3 points, > 20% gets 0 points.
[0120] Finally, a weighted summation is performed: the scores of each indicator are multiplied by their corresponding weights and then summed to generate the user's credit value (CV).
[0121]
[0122] The calculation result is rounded to two decimal places, ranging from 0 to 100. After the calculation is completed, the smart contract records the original data hash, a summary of the calculation process, and the final credit value to the blockchain, forming an immutable proof of credit calculation.
[0123] S303: The financial product database has preset credit access thresholds for each financial product. The user's credit score is compared with the credit access thresholds of each financial product, and financial products whose credit access thresholds do not exceed the user's credit score are identified as the user's selectable financial products.
[0124] Specifically, the financial product database adopts a hierarchical storage architecture, with each product configured with an independent credit access threshold. The threshold is automatically generated based on a product risk assessment model. The model's input parameters include product type, expected rate of return, investment period, and market risk coefficient, and the output is a credit access threshold ranging from 0 to 100. The threshold is dynamically adjusted hourly based on market changes and synchronized to all nodes through a consensus mechanism.
[0125] The system retrieves the credit access thresholds for all financial products in batches from the product database and uses a parallel computing architecture to compare the user's credit score with the thresholds of each product. During the comparison: For ordinary financial products, the user's credit score (CV) is directly compared with the product threshold (T). If CV ≥ T, it is marked as optional. For structured products, in addition to the main threshold, additional conditions (such as specific asset holding requirements) must be met. The system further verifies the additional conditions after comparing the main threshold. For limited-quota products, after meeting the threshold conditions, a distributed locking mechanism is used to verify whether the remaining credit limit of the product is sufficient.
[0126] Results Filtering and Sorting: After comparison, the system generates an initial list of selectable products and sorts them according to the following rules: Products with high threshold matching degree (i.e., products with small CV-T values) are displayed first. For products with the same matching degree, they are sorted in descending order of expected rate of return. For products with the same rate of return, they are sorted in ascending order of investment period. The final sorted results serve as the user's list of selectable financial products and are pushed to the user's terminal through an encrypted channel. Key parameters of the recommendation process (such as product ID, threshold, matching time, etc.) are recorded on the blockchain to ensure that the recommendation process is traceable and auditable.
[0127] In an optional implementation, see Figure 4 As shown, Figure 4 The flowchart illustrates a method for determining an initial model parameter set according to Embodiment 1 of the present invention. The method involves initial clustering of user financial data at each node using the K-means++ algorithm to obtain initial cluster partitioning results, and calculating the initial model parameter set for each node based on the initial cluster partitioning results. This includes steps S401 to S409.
[0128] S401: Each node randomly selects a data point from its local dataset as the first cluster center. For each remaining data point, it calculates the minimum distance between itself and the selected center and uses the square of that distance as the selection probability.
[0129] Specifically, each business unit node (such as the retail business node or the wealth management node) randomly selects a data point from the locally stored user financial dataset as the first cluster center (the core point of the initial cluster). For each remaining data point, the minimum Euclidean distance between it and the selected cluster center (i.e., the distance from the data point to the nearest existing center) is calculated, and the square of this distance is used as the probability of the data point being selected as the next cluster center.
[0130] S402: Randomly select the next cluster center according to the above probability distribution, and repeat the process until K initial centers are selected. Assign each data point to the cluster containing the nearest cluster center, and update the cluster center position based on the characteristic average of all data points in the current cluster.
[0131] Specifically, according to the probability distribution calculated by S401, the next cluster center is randomly selected, and this process is repeated until the preset K initial cluster centers are selected (K is the number of target cluster categories, with a default value of 5). Subsequently, each data point is assigned to the cluster containing the nearest cluster center (determined by Euclidean distance), and the cluster center position of the current cluster is updated based on the average feature value of all data points in the current cluster (such as the average value of features like transaction frequency and asset size). The new center is the average feature vector of the data within the cluster.
[0132] S403: Repeat the above steps until the change in cluster centers is less than the preset threshold, or the maximum number of iterations is reached.
[0133] Specifically, repeat the "data point allocation → center update" steps in S402 until one of the following termination conditions is met: the change in the location of the cluster centers is less than a preset threshold (e.g., "the change in cluster centers is less than 1 × 10" in the document). -3 "); The number of iterations reaches the maximum preset value (default 50 times).
[0134] S404: Each node outputs the coordinates of the K final cluster centers, as well as the cluster affiliation label for each data point.
[0135] Specifically, each node outputs the final clustering result, which includes two core pieces of information: the coordinates of the K final cluster centers (i.e., the feature average vector of each cluster, describing the core location of the cluster); and the cluster affiliation label corresponding to each data point (such as numbers 0 to K-1, indicating which cluster the data point belongs to).
[0136] S405: Calculate the proportion of data points within each cluster to the total data volume of that node, and use this as the mixing ratio for that cluster.
[0137] Specifically, the proportion of data points within each cluster to the total data volume of that node is calculated using the formula: Mixing Proportion π jk= Number of data points in cluster k / Total data volume of nodes (j is the node index, k is the cluster index).
[0138] S406: Calculate the feature average of all data points within each cluster, and use it as the mean vector for that cluster.
[0139] Specifically, the average feature value of all data points within each cluster is calculated to form the mean vector μjk of that cluster (such as a combined vector of features like average transaction amount and average asset size).
[0140] S407: Calculate the covariance matrix of the cluster based on the deviation of data points within the cluster from the mean, describing the degree of dispersion of the data distribution.
[0141] Specifically, based on the deviation of data points within a cluster from the mean vector, the covariance matrix ∑ is calculated. jk The formula is:
[0142] S408: Integrate the mixing ratio, mean vector, and covariance matrix of each cluster into the initial set of model parameters for that node.
[0143] Specifically, the three core parameters of each cluster are integrated into the initial model parameter set Φ(0) of the node, including: the mixing ratio π jk (Cluster proportion); mean vector μ jk (Cluster center); Covariance matrix ∑ jk (Data dispersion)
[0144] S409: Each node sends its locally computed initial model parameter set to its neighbor node set, completing the parameter initialization in the distributed environment and preparing for subsequent model parameter migration and optimization iterations.
[0145] Specifically, each node sends its locally computed initial model parameter set Φ(0) to its neighbor node set (preset cooperative nodes) via an encrypted channel (such as TLS1.3) to complete parameter sharing in a distributed environment.
[0146] Through the above steps, each node completes the initial clustering of local data and the calculation of model parameters, and achieves collaborative initialization in a distributed environment through parameter synchronization, providing a reliable starting point for subsequent optimization of the distributed expectation maximization algorithm based on transfer learning.
[0147] In an optional implementation, see Figure 5 As shown, Figure 5The flowchart illustrates a method for determining an optimal model parameter set according to Embodiment 1 of the present invention. The method includes steps S501 to S504: performing model parameter migration operations between neighboring nodes and calculating the new model objective function values for each node; and determining the optimal model parameter set for each node based on the new and current model objective function values.
[0148] S501: Each node exchanges key parameters, including the cluster mean and covariance matrix, and calculates the objective function value of the new model based on the exchanged key parameters.
[0149] Specifically, each business unit node (such as retail nodes and corporate business nodes) exchanges key parameters of its local model with its neighboring node set through an encrypted communication channel (such as the TLS 1.3 protocol mentioned in the document). The core parameters include: the cluster mean vector (μ). jk (Describing the central characteristics of each cluster); Cluster covariance matrix (∑ jk (Describes the degree of data dispersion in each cluster).
[0150] After the exchange, each node, based on its own parameters and those of its neighbors, and in conjunction with the pre-defined objective function of the transfer learning distributed expectation-maximization algorithm (FDEM as defined in the document), recalculates a new model objective function value. The core logic of the objective function is to integrate the clustering fit of the local data (such as posterior probability and mixing ratio) with the transfer effect of the neighboring node parameters (through the learning factor λ). ji (Control weights) to quantify the global optimization level of the current model.
[0151] S502: Compare the new model objective function value with the previous objective function value.
[0152] Specifically, the new model objective function value calculated in S501 is compared with the current model objective function value of the previous iteration, and the difference between the two (|new value - old value|) is calculated.
[0153] S503: If the difference between the two exceeds the set threshold, repeat the steps of parameter migration and objective function value calculation, continuously adjust the model parameters, and push them toward convergence towards the global optimal solution.
[0154] Specifically, if the difference between two objective function values exceeds a preset threshold (e.g., "difference exceeds 1×10" in the document), -6 If the result is ""), then the model has not yet converged and the following steps need to be repeated: exchange the updated parameters (cluster mean, covariance matrix) between nodes again; recalculate the objective function value based on the newly exchanged parameters; compare the difference again and continue to adjust the model parameters.
[0155] This process continuously absorbs effective parameter information from neighboring nodes, gradually corrects local model biases, and pushes the objective function value toward the global optimum (i.e., the objective function value is maximized or minimized, depending on the optimization direction).
[0156] S504: When the difference between two objective function values is less than a set threshold, the iteration process terminates, and the current parameter set is the optimal model parameter set.
[0157] Specifically, when the difference between two objective function values is less than or equal to a set threshold, the model is considered to have converged, and the iteration process terminates. At this point, the current set of model parameters for each node (including the mixing ratio, mean vector, and covariance matrix of each cluster) is the optimal set of model parameters.
[0158] Through the above steps, the nodes in the distributed architecture achieve collaborative optimization of model parameters, avoiding clustering bias caused by data silos in a single node, and finally obtaining globally consistent optimal parameters, laying a technical foundation for accurate grouping of financial product recommendations.
[0159] In an optional implementation, see Figure 6 As shown, Figure 6 The flowchart illustrates a final clustering result output method provided in Embodiment 1 of the present invention. The method involves determining the posterior probability of each user data point belonging to different categories based on the optimal model parameter set of each node using a transfer learning distributed expectation-maximization algorithm. The final clustering result is then output based on the posterior probabilities, including steps S601 to S605.
[0160] S601: Construct a Gaussian mixture model for each category based on the optimal model parameter set for each node; for each user data point, calculate its probability density value under the Gaussian distribution of each category, and combine it with the prior probability distribution to derive the posterior probability of the user data point belonging to different categories through Bayes' theorem, forming a probability distribution vector.
[0161] Specifically, based on the optimal parameter (mixing ratio π) jk Mean μ jk , covariance matrix ∑ jk Construct a Gaussian Mixture Model (GMM) for each category, using a combination of multiple Gaussian distributions to describe the data distribution. Probability density calculation: for each user data point x jn The probability density of each class k is calculated using a multivariate Gaussian function:
[0162]
[0163] Where, x jnd represents the nth user data point in the j-th node (or j-th data set); d is the dimension of the data, i.e., the number of features contained in the user data point; φ jk It is the set of model parameters for the k-th class in the j-th node; combined with the prior probability (i.e., the aforementioned mixing ratio π) jk The attribution probability Y is calculated using Bayes' theorem. jnk : This forms a probability distribution vector, quantifying the likelihood of a data point belonging to any category; K is the total number of categories, and π... jk′ For the k'-th cluster on node j, φ jk′ It is the set of model parameters for the k'-th cluster on node j.
[0164] S602: For each user data point on each node, compare its posterior probability value under different categories and assign it to the category with the highest posterior probability; at the same time, record the highest posterior probability value as the classification confidence, which is used for subsequent result verification and quality assessment.
[0165] Specifically, the category corresponding to the maximum posterior probability is selected as the data point's classification, i.e., classification = argmax. k Y jnk Confidence score record: Records the maximum Y. jnk The value is used as the classification confidence level, with a threshold set to 0.6. Data points below the threshold are marked as pending verification.
[0166] S603: By using the preset global-local category mapping rules, the category labels generated by each node based on local data are uniformly mapped to global category numbers; the local clustering results of all nodes are summarized to form a global initial clustering result matrix containing all user data points.
[0167] Specifically, by using a preset global-local category mapping rule, the local category labels of each node are converted into a unified global category number (e.g., "Category 1" of node A is mapped to global "Category 0"). The local clustering results of all nodes are integrated to form a global initial clustering matrix containing the user's numeric ID and the global category number.
[0168] S604: For overlapping user data points across nodes, compare their category assignment results on different nodes; if inconsistencies occur, initiate a conflict resolution mechanism: perform weighted voting on the judgment results of each node based on classification confidence, and redetermine the final category; for reclassified data points, trigger consistency verification of their neighboring data points to ensure the smoothness of cluster boundaries.
[0169] Specifically, conflict identification involves filtering out conflicting data points with inconsistent class classifications across overlapping nodes. Weighted voting uses classification confidence as the weight to vote on conflict outcomes, with the class receiving the most votes being the final classification. Neighborhood verification checks the class consistency of each reclassified data point among its five neighboring data points to ensure smooth cluster boundaries.
[0170] S605: Calculate the evaluation index of the final clustering result, set a quality threshold to filter low-quality clusters; identify and process noise points in the filtered results to generate the optimized final clustering result.
[0171] Specifically, the silhouette coefficient (threshold ≥ 0.5) and Calinski-Harabasz index (threshold ≥ 100) are calculated to filter out substandard clusters. Noisy points (≤ 5%) are identified and removed using the Isolation Forest algorithm to generate the optimized final clustering results.
[0172] The above steps, through probabilistic modeling, global standardization, conflict resolution, and quality filtering, ultimately output reliable user clustering results, providing a basis for accurate recommendations of financial products.
[0173] In an optional implementation, see Figure 7 As shown, Figure 7 The flowchart illustrates a method for determining recommended financial products according to Embodiment 1 of the present invention. The method includes steps S701 to S705: generating user segmentation labels for each user based on the final clustering results, and selecting recommended financial products for each user from their available financial products based on these user segmentation labels.
[0174] S701: Based on the final clustering results, extract the common feature vectors of users in each category, and generate user group labels for each user according to the common feature vectors of each user.
[0175] Specifically, based on the final clustering results, feature statistics are performed on the user data in each category to extract common feature vectors. For example, common features of the "conservative investor" category might include low risk appetite (risk score ≤ 3), average asset size < 500,000, and trading frequency < 2 times / month. Based on the common feature vectors, standardized user group labels (such as "conservative - low asset size - low trading frequency") are generated for each user. These labels must be aligned with the pre-defined grouping system in the document (such as a three-dimensional label system of "risk appetite + asset size + trading activity").
[0176] S702: Based on the user's segmentation tags, select candidate products that meet the basic matching rules from the list of available financial products.
[0177] Specifically, based on user segmentation tags, the system retrieves corresponding rules from its pre-defined matching rule library. For example, the basic rules for "conservative" users are "product risk level ≤ R2" and "investment period ≥ 1 year". The system iterates through the list of available financial products, filtering out products that meet the basic rules as candidate products to form an initial candidate set.
[0178] S703: Evaluate each candidate product from multiple dimensions, calculate the final score of each candidate product using a weighted comprehensive scoring model, and arrange them in descending order of the final scores to form a preliminary recommendation list.
[0179] Specifically, candidate products are scored based on dimensions such as profitability, risk, liquidity, and maturity matching (e.g., profitability weighted at 0.4, risk weighted at 0.3). Weighted composite score: The final score of the product is calculated using a weighted composite scoring model, with the following formula: Among them, w i Dimension weights, s i Rate this dimension. Preliminary recommendation list: Arrange candidate products in descending order of their overall score to generate a preliminary recommendation list.
[0180] S704: Access the real-time behavior data of each user, and dynamically adjust the order of each candidate product in the preliminary recommendation list according to the real-time behavior data of each user to obtain the target recommendation list of each user.
[0181] Specifically, real-time access to user behavior data (such as recent browsing history and click preferences) is used to adjust the initial recommendation list's ranking. For example, if a user has frequently browsed "short-term financial products" recently, the ranking weight of similar products in the list is increased.
[0182] S705: Select several candidate products from the top preset rankings of each user's target recommendation list as recommended financial products for each user.
[0183] Specifically, products ranked in the top 3 (e.g., the top 3) from the target recommendation list are selected as the final recommended financial products, ensuring that the recommendations both match user segmentation characteristics and respond to real-time behavioral preferences. These steps, through segmentation tags, rule matching, and dynamic adjustments, achieve accurate recommendations of financial products, balancing user needs with product characteristics.
[0184] Example 2
[0185] See Figure 8 As shown, Figure 8 The diagram shows a structural schematic of a smart financial product recommendation device according to Embodiment 2 of the present invention, wherein the device includes:
[0186] The user digital ID generation module 801 is used to generate user key pairs for each user based on the documents submitted by each user, and to generate user digital IDs for each user based on the user key pairs.
[0187] The optional financial product determination module 802 is used to obtain the user financial data of each user based on the user digital ID of each user, calculate the user credit value of each user based on the credit calculation smart contract and the user financial data of each user, and determine the optional financial products of each user from the financial product library based on the user credit value of each user.
[0188] The distributed computing architecture building module 803 is used to cluster and distribute the user financial data of each user according to business departments, forming a distributed computing architecture in which each business department is an independent node.
[0189] The model parameter set construction module 804 is used to perform initial clustering on the user financial data of each node using the K-means++ algorithm to obtain the initial cluster partitioning result, and calculate the initial model parameter set of each node based on the initial cluster partitioning result;
[0190] The model parameter set optimization module 805 is used to calculate the current model objective function value of each node based on its initial model parameter set according to the set objective function, perform model parameter migration operation between neighboring nodes and calculate the new model objective function value of each node, and determine the optimal model parameter set of each node based on the new model objective function value and the current model objective function value of each node.
[0191] The final clustering result output module 806 is used to determine the posterior probability of each user data point belonging to different categories on each node based on the optimal model parameter set of each node and the transfer learning distributed expectation maximization algorithm. Based on each posterior probability, the category to which each user data point belongs is determined, and the final clustering result is output.
[0192] The financial product recommendation determination module 807 is used to generate user group labels for each user based on the final clustering results, and to select recommended financial products for each user from the user's available financial products based on the user group labels.
[0193] In an optional implementation, the step of generating user key pairs for each user based on the documents submitted by each user, and generating user digital IDs for each user based on the user key pairs, includes:
[0194] The identity controller verifies the validity of the documents submitted by each user.
[0195] If valid, notify the key management center to generate a user key pair (pk, sk), where the private key is sk and the public key is pk;
[0196] Calculate the user's numeric ID using a hash function:
[0197] D id =hash(ID) v ,sk), where, D id For user numeric ID, ID v The ID document submitted by the user.
[0198] In an optional implementation, the step of obtaining each user's financial data based on their user digital ID, calculating each user's credit score based on a credit calculation smart contract and their financial data, and determining each user's available financial products from a financial product database based on their credit scores includes:
[0199] For each user, a unique association is established with the user's financial account through the user's digital ID, and the user's financial data is retrieved from the distributed financial database, wherein the user's financial data includes historical transaction data, asset holding data, liability data and cash flow data;
[0200] The credit calculation smart contract loads a preset credit assessment indicator system, performs quantitative calculations on the user's financial data based on the credit assessment indicator system, and generates the user's credit value by weighted summation. The indicator system includes basic qualification score, debt repayment ability score, performance record score and business stability score.
[0201] The financial product database has preset credit access thresholds for each financial product. The user's credit score is compared with the credit access thresholds of each financial product, and financial products whose credit access thresholds do not exceed the user's credit score are identified as the user's selectable financial products.
[0202] In an optional implementation, the initial clustering of user financial data at each node is performed using the K-means++ algorithm to obtain initial cluster partitioning results. Based on the initial cluster partitioning results, the initial model parameter set for each node is calculated, including:
[0203] Each node randomly selects a data point from its local dataset as the first cluster center. For each remaining data point, it calculates the minimum distance between itself and the selected center and uses the square of that distance as the selection probability.
[0204] Randomly select the next cluster center according to the above probability distribution, and repeat the process until K initial centers are selected. Assign each data point to the cluster containing the nearest cluster center, and update the cluster center position based on the feature average of all data points in the current cluster.
[0205] Repeat the above steps until the change in cluster centers is less than the preset threshold, or the maximum number of iterations is reached;
[0206] Each node outputs the coordinates of the K final cluster centers, as well as the cluster affiliation label for each data point:
[0207] The proportion of data points within each cluster to the total data volume of that node is used as the mixing ratio for that cluster.
[0208] Calculate the feature average of all data points within each cluster, and use it as the mean vector for that cluster;
[0209] Based on the deviation of data points within a cluster from the mean, the covariance matrix of the cluster is calculated to describe the degree of dispersion of the data distribution.
[0210] The mixing ratio, mean vector, and covariance matrix of each cluster are integrated into the initial model parameter set for that node;
[0211] Each node sends its locally computed initial model parameter set to its neighboring node set, completing the parameter initialization in the distributed environment and preparing for subsequent model parameter migration and optimization iterations.
[0212] In an optional implementation, the step of performing model parameter migration operations among neighboring nodes and calculating new model objective function values for each node, and determining the optimal model parameter set for each node based on the new model objective function values and the current model objective function values, includes:
[0213] Each node exchanges key parameters, including the cluster mean and covariance matrix, and calculates the objective function value of the new model based on the exchanged key parameters.
[0214] Compare the new model's objective function value with the previous objective function value;
[0215] If the difference between the two exceeds the set threshold, the steps of parameter migration and objective function value calculation are repeated to continuously adjust the model parameters and push them toward the global optimal solution.
[0216] When the difference between two objective function values is less than a set threshold, the iteration process terminates, and the current parameter set becomes the optimal model parameter set.
[0217] In an optional implementation, the optimal model parameter set based on each node determines the posterior probability of each user data point belonging to different categories on each node using a transfer learning distributed expectation-maximization algorithm. Based on these posterior probabilities, the category of each user data point is determined, and the final clustering result is output, including:
[0218] A Gaussian mixture model for each category is constructed based on the optimal model parameter set for each node; for each user data point, its probability density value under the Gaussian distribution of each category is calculated, and combined with the prior probability distribution, the posterior probability of the user data point belonging to different categories is derived by Bayes' theorem, forming a probability distribution vector;
[0219] For each user data point on each node, compare its posterior probability value under different categories and assign it to the category with the highest posterior probability; at the same time, record the highest posterior probability value as the classification confidence, which is used for subsequent result verification and quality assessment.
[0220] By using a pre-defined global-local category mapping rule, the category labels generated by each node based on local data are uniformly mapped to global category numbers; the local clustering results of all nodes are summarized to form a global initial clustering result matrix containing all user data points;
[0221] For overlapping user data points across nodes, compare their category assignment results on different nodes; if inconsistencies occur, initiate a conflict resolution mechanism: perform weighted voting on the judgment results of each node based on classification confidence, and redetermine the final category; for reclassified data points, trigger consistency verification of their neighboring data points to ensure the smoothness of cluster boundaries;
[0222] The evaluation index of the final clustering result is calculated, and a quality threshold is set to filter out low-quality clusters. Noise points are identified and processed in the filtered results to generate the optimized final clustering result.
[0223] In an optional implementation, the step of generating user segmentation tags for each user based on the final clustering results, and filtering recommended financial products for each user from their available financial products based on these user segmentation tags, includes:
[0224] Based on the final clustering results, common feature vectors of users in each category are extracted, and user group labels for each user are generated according to the common feature vectors of each user.
[0225] Based on the user's segmentation tags, candidate products that meet the basic matching rules are selected from the list of available financial products;
[0226] Each candidate product is scored from multiple dimensions, and the final score of each candidate product is calculated using a weighted comprehensive scoring model. The products are then sorted in descending order of their final scores to form a preliminary recommendation list.
[0227] By accessing the real-time behavior data of each user, the ranking of each candidate product in the preliminary recommendation list is dynamically adjusted based on the real-time behavior data of each user to obtain the target recommendation list for each user;
[0228] Select a number of candidate products from the top preset positions in each user's target recommendation list as recommended financial products for each user.
[0229] Example 3
[0230] Based on the same application concept, see [link / reference] Figure 9 As shown, Figure 9 A schematic diagram of the structure of a computer device provided in Embodiment 3 of the present invention is shown, wherein, as Figure 9 As shown, the computer device 900 provided in Embodiment 3 of this application includes:
[0231] The computer device 900 includes a processor 901, a memory 902, and a bus 903. The memory 902 stores machine-readable instructions that can be executed by the processor 901. When the computer device 900 is running, the processor 901 communicates with the memory 902 through the bus 903. When the machine-readable instructions are executed by the processor 901, the steps of the smart financial product recommendation method shown in Embodiment 1 are performed.
[0232] Example 4
[0233] Based on the same concept, this application also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, performs the steps of the smart financial product recommendation method described in any of the above embodiments.
[0234] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the system and apparatus described above can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0235] The computer program product for recommending smart financial products provided in this embodiment of the invention includes a computer-readable storage medium storing program code. The instructions included in the program code can be used to execute the methods described in the preceding method embodiments. For specific implementation details, please refer to the method embodiments, which will not be repeated here.
[0236] The smart financial product recommendation device provided in this embodiment of the invention can be specific hardware on a device or software or firmware installed on the device. The implementation principle and technical effects of the device provided in this embodiment of the invention are the same as those in the foregoing method embodiments. For the sake of brevity, any parts not mentioned in the device embodiments can be referred to the corresponding content in the foregoing method embodiments. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can all be referred to the corresponding processes in the above method embodiments, and will not be repeated here.
[0237] In the embodiments provided by this invention, it should be understood that the disclosed apparatus and methods can be implemented in other ways. The apparatus embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. Furthermore, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Additionally, the coupling or direct coupling or communication connection shown or discussed may be through some communication interface; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.
[0238] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0239] In addition, the functional units in the embodiments provided by the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0240] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, essentially, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0241] It should be noted that similar labels and letters in the following figures indicate similar items. Therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures. In addition, the terms "first", "second", "third", etc. are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.
[0242] Finally, it should be noted that the above-described embodiments are merely specific implementations of the present invention, used to illustrate the technical solutions of the present invention, and not to limit it. The scope of protection of the present invention is not limited thereto. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that any person skilled in the art can still modify or easily conceive of changes to the technical solutions described in the foregoing embodiments within the technical scope disclosed in the present invention, or make equivalent substitutions for some of the technical features; and these modifications, changes, or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention. All should be covered within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. A method for recommending intelligent financial products, characterized in that, The method includes; Generate a user key pair for each user based on the documents submitted by each user, and generate a user digital ID for each user based on the user key pair. The user's financial data is obtained based on the user's digital ID. The user's credit score is calculated based on the credit calculation smart contract and the user's financial data. The available financial products for each user are determined from the financial product library based on the user's credit score. The user's financial data is stored in a distributed cluster according to business departments, forming a distributed computing architecture in which each business department is an independent node. The user financial data of each node is initially clustered using the K-means++ algorithm to obtain the initial cluster partitioning results. Based on the initial cluster partitioning results, the initial model parameter set of each node is calculated. Based on the set objective function, the current model objective function value of each node is calculated based on its initial model parameter set. Model parameter migration operation is carried out between neighboring nodes and the new model objective function value of each node is calculated. Based on the new model objective function value and the current model objective function value of each node, the optimal model parameter set of each node is determined. Based on the optimal model parameter set of each node, the posterior probability of each user data point belonging to different categories is determined by the transfer learning distributed expectation maximization algorithm. Based on each posterior probability, the category of each user data point is determined, and the final clustering result is output. Based on the final clustering results, user group labels are generated for each user, and recommended financial products for each user are selected from the user's available financial products according to the user group labels.
2. The method according to claim 1, characterized in that, The process of generating user key pairs for each user based on the submitted credentials, and generating user digital IDs for each user based on the user key pairs, includes: The identity controller verifies the validity of the documents submitted by each user. If valid, notify the key management center to generate a user key pair (pk, sk), where the private key is sk and the public key is pk; Calculate the user's numeric ID using a hash function: D id =hash(ID) v ,sk), where, D id For user numeric ID, ID v The ID document submitted by the user.
3. The method according to claim 1, characterized in that, The process involves obtaining each user's financial data based on their user digital ID, calculating each user's credit score based on the credit calculation smart contract and their financial data, and determining each user's available financial products from the financial product database based on their credit score. This includes: For each user, a unique association is established with the user's financial account through the user's digital ID, and the user's financial data is retrieved from the distributed financial database, wherein the user's financial data includes historical transaction data, asset holding data, liability data and cash flow data; The credit calculation smart contract loads a preset credit assessment indicator system, performs quantitative calculations on the user's financial data based on the credit assessment indicator system, and generates the user's credit value by weighted summation. The indicator system includes basic qualification score, debt repayment ability score, performance record score and business stability score. The financial product database has preset credit access thresholds for each financial product. The user's credit score is compared with the credit access thresholds of each financial product, and financial products whose credit access thresholds do not exceed the user's credit score are identified as the user's selectable financial products.
4. The method according to claim 1, characterized in that, The user financial data of each node is initially clustered using the K-means++ algorithm to obtain initial cluster partitioning results. Based on the initial cluster partitioning results, the initial model parameter set for each node is calculated, including: Each node randomly selects a data point from its local dataset as the first cluster center. For each remaining data point, it calculates the minimum distance between the selected center and uses the square of that distance as the selection probability. Randomly select the next cluster center according to the above probability distribution, and repeat the process until K initial centers are selected. Assign each data point to the cluster containing the nearest cluster center, and update the cluster center position based on the feature average of all data points in the current cluster. Repeat the above steps until the change in cluster centers is less than the preset threshold, or the maximum number of iterations is reached; Each node outputs the coordinates of the K final cluster centers, as well as the cluster affiliation label for each data point: The proportion of data points within each cluster to the total data volume of that node is used as the mixing ratio for that cluster. Calculate the feature average of all data points within each cluster, and use it as the mean vector for that cluster; Based on the deviation of data points within a cluster from the mean, the covariance matrix of the cluster is calculated to describe the degree of dispersion of the data distribution. The mixing ratio, mean vector, and covariance matrix of each cluster are integrated into the initial model parameter set for that node; Each node sends its locally computed initial model parameter set to its neighboring node set, completing the parameter initialization in the distributed environment and preparing for subsequent model parameter migration and optimization iterations.
5. The method according to claim 1, characterized in that, The step of performing model parameter migration operations between neighboring nodes and calculating the new model objective function values for each node, and determining the optimal model parameter set for each node based on the new model objective function values and the current model objective function values, includes: Each node exchanges key parameters, including the cluster mean and covariance matrix, and calculates the objective function value of the new model based on the exchanged key parameters. Compare the new model's objective function value with the previous objective function value; If the difference between the two exceeds the set threshold, the steps of parameter migration and objective function value calculation are repeated to continuously adjust the model parameters and push them toward the global optimal solution. When the difference between two objective function values is less than a set threshold, the iteration process terminates, and the current parameter set becomes the optimal model parameter set.
6. The method according to claim 1, characterized in that, The optimal model parameter set based on each node determines the posterior probability of each user data point belonging to different categories on each node using the transfer learning distributed expectation-maximization algorithm. Based on these posterior probabilities, the category of each user data point is determined, and the final clustering result is output, including: A Gaussian mixture model for each category is constructed based on the optimal model parameter set for each node; for each user data point, its probability density value under the Gaussian distribution of each category is calculated, and combined with the prior probability distribution, the posterior probability of the user data point belonging to different categories is derived by Bayes' theorem, forming a probability distribution vector; For each user data point on each node, compare its posterior probability value under different categories and assign it to the category with the highest posterior probability; at the same time, record the highest posterior probability value as the classification confidence, which is used for subsequent result verification and quality assessment. By using a pre-defined global-local category mapping rule, the category labels generated by each node based on local data are uniformly mapped to global category numbers; the local clustering results of all nodes are summarized to form a global initial clustering result matrix containing all user data points; For overlapping user data points across nodes, compare their category assignment results on different nodes; if inconsistencies occur, initiate a conflict resolution mechanism: perform weighted voting on the judgment results of each node based on classification confidence, and redetermine the final category; for reclassified data points, trigger consistency verification of their neighboring data points to ensure the smoothness of cluster boundaries; The evaluation index of the final clustering result is calculated, and a quality threshold is set to filter out low-quality clusters. Noise points are identified and processed in the filtered results to generate the optimized final clustering result.
7. The method according to claim 1, characterized in that, The process of generating user segmentation tags for each user based on the final clustering results, and then selecting recommended financial products for each user from their available financial products based on those user segmentation tags, includes: Based on the final clustering results, common feature vectors of users in each category are extracted, and user group labels for each user are generated according to the common feature vectors of each user. Based on the user's segmentation tags, candidate products that meet the basic matching rules are selected from the list of available financial products; Each candidate product is scored from multiple dimensions, and the final score of each candidate product is calculated using a weighted comprehensive scoring model. The products are then sorted in descending order of their final scores to form a preliminary recommendation list. By accessing the real-time behavior data of each user, the ranking of each candidate product in the preliminary recommendation list is dynamically adjusted based on the real-time behavior data of each user to obtain the target recommendation list for each user; Select a number of candidate products from the top preset positions in each user's target recommendation list as recommended financial products for each user.
8. A smart financial product recommendation device, characterized in that, The device includes; The user digital ID generation module is used to generate user key pairs for each user based on the documents submitted by each user, and to generate user digital IDs for each user based on the user key pairs. The optional financial product determination module is used to obtain each user's financial data based on each user's user digital ID, calculate each user's credit value based on the credit calculation smart contract and each user's financial data, and determine each user's optional financial products from the financial product library based on each user's credit value. The distributed computing architecture building module is used to cluster and distribute the user's financial data by business department, forming a distributed computing architecture in which each business department is an independent node. The model parameter set construction module is used to perform initial clustering on the user financial data of each node using the K-means++ algorithm to obtain the initial cluster partitioning results, and calculate the initial model parameter set of each node based on the initial cluster partitioning results; The model parameter set optimization module is used to calculate the current model objective function value of each node based on its initial model parameter set according to the set objective function, perform model parameter migration operation between neighboring nodes and calculate the new model objective function value of each node, and determine the optimal model parameter set of each node based on the new model objective function value and the current model objective function value of each node. The final clustering result output module is used to determine the posterior probability of each user data point belonging to different categories on each node based on the optimal model parameter set of each node and the transfer learning distributed expectation maximization algorithm. Based on each posterior probability, the category of each user data point is determined, and the final clustering result is output. The financial product recommendation module is used to generate user segmentation tags for each user based on the final clustering results, and to select recommended financial products for each user from the user's available financial products based on the user segmentation tags.
9. A computer device, characterized in that, include: The computer device includes a processor, a memory, and a bus. The memory stores machine-readable instructions executable by the processor. When the computer device is running, the processor communicates with the memory via the bus. When the machine-readable instructions are executed by the processor, they perform the steps of the smart financial product recommendation method as described in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, performs the steps of the smart financial product recommendation method as described in any one of claims 1 to 7.
Citation Information
Cited By
Operation background management method and management system
CN121580163A