Account identification method and device, computer device, storage medium and program product
By constructing a bipartite graph and performing feature vector extraction and cluster analysis, we can identify groups of accounts with abnormal interactive services, solve the problem of low account identification accuracy in insurance security issues in the existing technology, and achieve efficient screening of abnormal interactive services.
Patent Information
- Application Number
- CN202111660348.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-01-05
- Filing Date
- 2021-12-31
- Publication Date
- 2025-10-21
- Estimated Expiration
- 2041-12-31
AI Technical Summary
In the existing technology, the accuracy of account identification with insurance security issues is low, and it is impossible to effectively screen out user accounts with insurance security issues that have not yet been discovered.
By constructing a bipartite graph, we extract the feature vectors of user accounts and service objects, perform cluster analysis, identify account groups with abnormal interactive services, and filter out target account groups.
It improves the efficiency and accuracy of discovering user accounts for abnormal interactive services and can detect hidden abnormal interactive behaviors.
Smart Images

Figure CN114723571B_ABST
Abstract
Description
[0001] This application claims priority to the Chinese patent application filed on January 5, 2021, with application number 202110005949.0 and invention name “Target user group identification method, device, equipment and storage medium”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of data processing technology, and in particular to account identification methods, devices, computer equipment, storage media and program products. Background Art
[0003] With the continuous improvement of the insurance system, insurance has become an important part of people's lives, but the issue of insurance safety needs to be urgently addressed.
[0004] In related technologies, features are usually extracted from user accounts that have been found to have insurance safety issues, and similarity calculations are performed between the features of the user account and the features of other user accounts. Other user accounts with similar features to the user account are regarded as user accounts that may have insurance safety issues, thereby achieving the purpose of screening user accounts that may have insurance safety issues.
[0005] However, the above solution can only filter out user accounts with insurance security issues that have been discovered, but cannot filter out user accounts with such behaviors for insurance security issues that have not yet been discovered, resulting in low accuracy in identifying accounts with insurance security issues. Summary of the Invention
[0006] The present invention provides an account identification method, apparatus, computer device, storage medium, and program product, which can improve the accuracy of user account screening for abnormal interactions such as insurance security issues. The technical solution is as follows:
[0007] In one aspect, a method for identifying an account is provided, the method comprising:
[0008] Acquire user characteristics of each user account, object characteristics of each service object, and service records between each user account and each service object; each service object is an object that provides a specified interactive service to each user account;
[0009] constructing a bipartite graph based on the user characteristics of each user account, the object characteristics of each service object, and the service records between each user account and each service object; the bipartite graph is formed by connecting each user account with each service object through edges;
[0010] Extracting feature vectors from each node in the bipartite graph to obtain user feature vectors corresponding to each user account;
[0011] clustering the user accounts based on the user feature vectors corresponding to the user accounts to obtain at least one account group;
[0012] Based on the service records of the respective user accounts, a target account group is identified from the at least one account group; the target account group is an account group in which abnormal designated interactive services exist.
[0013] In another aspect, an account identification device is provided, the device comprising:
[0014] an acquisition module, configured to acquire user characteristics of each user account, object characteristics of each service object, and service records between each user account and each service object; each service object is an object that provides a specified interactive service to each user account;
[0015] A bipartite graph construction module, configured to construct a bipartite graph based on the user characteristics of each user account, the object characteristics of each service object, and the service records between each user account and each service object; the bipartite graph is constructed by connecting each user account with each service object through edges;
[0016] A user feature vector extraction module, configured to extract feature vectors from each node in the bipartite graph to obtain user feature vectors corresponding to each user account;
[0017] a clustering module, configured to cluster the user accounts based on the user feature vectors corresponding to the user accounts to obtain at least one account group;
[0018] An account identification module is configured to identify a target account group from the at least one account group based on the service records of the respective user accounts; the target account group is an account group with abnormal designated interactive services.
[0019] In a possible implementation, the bipartite graph construction module includes:
[0020] An account node creation submodule, configured to create an account node corresponding to each user account, wherein the account node has user characteristics corresponding to the user account;
[0021] An object node creation submodule, configured to create an object node corresponding to each service object, wherein the object node has object characteristics corresponding to the service object;
[0022] The edge creation submodule is used to create edges between the account nodes corresponding to the respective user accounts and the object nodes corresponding to the respective service objects based on the service records between the respective user accounts and the respective service objects.
[0023] In a possible implementation, the edge creation submodule includes:
[0024] an edge creation unit, configured to, in response to the existence of the service record between a target user account and a target service object, create an edge between an account node corresponding to the target user account and an object node corresponding to the target service object; the target user account is any one of the user accounts; the target service object is any one of the service objects;
[0025] A weight setting unit is used to set the weight of the edge between the account node corresponding to the target user account and the object node corresponding to the target service object based on the service record between the target user account and the target service object.
[0026] In a possible implementation, the service record includes the number of times the specified interactive service is provided;
[0027] The weight setting unit is configured to be used for including the number of times a specified interactive service is included in the service record;
[0028] The weight of the edge between the account node corresponding to the target user account and the object node corresponding to the target service object is set based on the number of designated interactive services between the target user account and the target service object.
[0029] In a possible implementation, the user feature vector extraction module includes:
[0030] An aggregation iteration submodule, configured to perform at least two aggregation iterations on the feature vectors of each node in the bipartite graph;
[0031] The user feature vector acquisition submodule is configured to acquire the feature vectors of the account nodes corresponding to the respective user accounts in the bipartite graph after the at least two aggregation iterations as the user feature vectors corresponding to the respective user accounts.
[0032] In a possible implementation, the aggregation iterator module includes:
[0033] a neighbor aggregation information acquisition unit, configured to aggregate feature vectors of neighbor nodes of a target node before the p-th aggregation iteration in a feature extraction model during the p-th aggregation iteration, to obtain neighbor aggregation information of the target node in the p-th aggregation iteration; the target node is any node in the bipartite graph; and p is a positive integer;
[0034] The feature vector acquisition unit is used to fuse the neighbor aggregation information of the target node in the p-th aggregation iteration with the feature vector of the target node before the p-th aggregation iteration in the feature extraction model to obtain the feature vector of the target node after the p-th aggregation iteration.
[0035] In a possible implementation, the feature extraction model is obtained by performing n rounds of training based on feature vectors of each node in the bipartite graph; and the apparatus further includes:
[0036] A training aggregation iteration module is used to perform j aggregation iterations on the feature vectors of each node in the bipartite graph during the i-th round of training; 1≤i≤n, j≥2, and i, j, and n are integers;
[0037] A loss function calculation module, configured to calculate a loss function value based on the feature vectors of each node in the bipartite graph after the j aggregation iterations and the edge connection relationships between each node in the bipartite graph;
[0038] A parameter updating module is used to update the parameters in the feature extraction model based on the loss function value.
[0039] In a possible implementation, the clustering module is configured to perform hierarchical clustering on the user accounts based on similarities between user feature vectors corresponding to the user accounts to obtain the at least one account group.
[0040] In a possible implementation, the apparatus further includes:
[0041] and a similarity acquisition module configured to perform hierarchical clustering on the user accounts in the clustering module based on the similarities between the user feature vectors corresponding to the user accounts, and obtain, before obtaining the at least one account group, the cosine similarity between the user feature vectors corresponding to the user accounts as the similarity between the user feature vectors corresponding to the user accounts.
[0042] In one possible implementation, the account identification module includes:
[0043] a sample account selection submodule, configured to select a sample user account from a first account group; the first account group being any one of the at least one account group;
[0044] The target account group confirmation submodule is configured to determine the first account group as the target account group in response to a match between the service records of the sample user accounts and a specified rule.
[0045] In one possible implementation, the sample account selection submodule includes:
[0046] an account number determining unit, configured to determine the number of user accounts of the sample user accounts based on the number of user accounts in the first account group;
[0047] a sample account selection unit, configured to randomly select the sample user account from the first account group based on the number of user accounts of the sample user account;
[0048] the target account group confirmation submodule, configured to determine the first account group as the target account group in response to a service record of any one of the sample user accounts matching the specified rule;
[0049] or,
[0050] In response to a ratio between the number of user accounts in the sample user accounts whose service records match the specified rule and the number of user accounts in the sample user accounts reaching a ratio threshold, the first account group is determined as the target account group.
[0051] In a possible implementation, each user account is a user account of a medical insurance participant, each service object is an object providing medical insurance consumption services, and the designated interactive service is a medical insurance consumption service.
[0052] On the other hand, a computer device is provided, comprising a processor and a memory, wherein the memory stores at least one instruction, at least one program, a code set, or an instruction set, and the at least one instruction, the at least one program, the code set, or the instruction set is loaded and executed by the processor to implement the above-mentioned account identification method.
[0053] On the other hand, a computer-readable storage medium is provided, wherein at least one computer program is stored in the computer-readable storage medium, and the computer program is loaded and executed by a processor to implement the above-mentioned account identification method.
[0054] In another aspect, a computer program product or computer program is provided, comprising computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the account identification method provided in the various optional implementations described above.
[0055] The technical solution provided by this application may have the following beneficial effects:
[0056] By constructing a bipartite graph based on the user characteristics of each user account, the object characteristics of each service object, and the service records of each user account and each service object, the feature vector of each user account is extracted based on the bipartite graph, and the user accounts are clustered according to the feature vectors of each user account. Then, the account groups with abnormal interactive services are uniformly screened from the clustered account groups as target account groups. In the process of managing abnormal interactive services, abnormal interactive services can be screened in units of account groups, so that hidden abnormal interactive behaviors can be discovered, thereby improving the efficiency and accuracy of discovering user accounts with abnormal interactive services. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0058] Figure 1 A schematic diagram of a bipartite graph shown in an exemplary embodiment of the present application is shown;
[0059] Figure 2 A flowchart of an account identification method according to an exemplary embodiment of the present application is shown;
[0060] Figure 3 A flowchart of an account identification method provided by an exemplary embodiment of the present application is shown;
[0061] Figure 4 A schematic diagram of a bipartite graph shown in an exemplary embodiment of the present application is shown;
[0062] Figure 5 The following is an architecture diagram of the account identification method provided in an embodiment of the present application;
[0063] Figure 6 A block diagram of an account identification device provided by an exemplary embodiment of the present application is shown;
[0064] Figure 7 It is a structural block diagram of a computer device according to an exemplary embodiment. DETAILED DESCRIPTION
[0065] Exemplary embodiments will be described in detail herein, with examples illustrated in the accompanying drawings. In the following description, when referring to the drawings, identical numerals in different figures represent identical or similar elements, unless otherwise indicated. The embodiments described in the following exemplary embodiments are not intended to represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present application, as detailed in the appended claims.
[0066] It should be understood that the term "plurality" used herein refers to two or more. "And / or" describes a relationship between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can mean: A exists alone, A and B exist simultaneously, or B exists alone. The character " / " generally indicates an "or" relationship between the associated objects.
[0067] The embodiment of the present application provides an account identification method that can improve the efficiency and accuracy of obtaining abnormal interactive services. For ease of understanding, several terms involved in this application are explained below.
[0068] 1) Graph Embedding
[0069] Graph embedding is a process of mapping graph data (usually high-dimensional dense matrices) into low-density vectors. It aims to represent the nodes of the graph into a low-dimensional vector space while retaining the network's topological structure and node information, so that existing machine learning algorithms can be directly used in subsequent graph analysis tasks.
[0070] 2) Bipartite Graph
[0071] A bipartite graph (also called a bipartite graph) is a special model in graph theory. Let G = (V, E) be an undirected graph. If the nodes V can be split into two mutually disjoint subsets (A, B), and the two nodes i and j associated with each edge (i, j) in the graph belong to these two different sets of nodes (i in A, j in B), then the graph G is called a bipartite graph. Simply put, if the points in the graph can be divided into two groups, and all edges cross the boundaries of the groups, then it is a bipartite graph. In other words, if the nodes of a graph can be divided into two disjoint sets, so that each edge connects nodes in both sets, then if such a partition exists, then the graph is a bipartite graph. Figure 1 A schematic diagram of a bipartite graph shown in an exemplary embodiment of the present application is shown in FIG. Figure 1 As shown, Figure 1The six undirected graphs in are all bipartite graphs. Take Graph (1) as an example. Graph (1) contains six vertices. The black nodes in the graph can be divided into subset A, and the white nodes in the graph can be divided into subset B. Then, the edges formed by the nodes in subset A and the nodes in subset B in Graph (1) all cross the boundary 110 between subset A and subset B. Therefore, the undirected graph in Graph (1) is a bipartite graph. Figure 1 Similarly, for other graphs in , we can divide the black nodes into subset A and the white nodes into subset B, and then determine that the undirected graph is a bipartite graph.
[0072] 3) Bipartite GraphSAGE (Bipartite Graph Sample and AggreGate)
[0073] Bipartite GraphSAGE extends the GraphSAGE algorithm for isomorphic graphs to bipartite graphs, providing excellent representations of both types of nodes in bipartite graphs. GraphSAGE, proposed by Stanford University, aims to learn feature representations of nodes from graph networks.
[0074] 4) Unsupervised Learning
[0075] Unsupervised learning, also known as unsupervised learning, is a training or learning method in machine learning. It has no clear purpose, does not require data labeling, and its effects cannot be quantified. Unsupervised learning is essentially a statistical method that can discover potential structures in unlabeled data.
[0076] Unsupervised learning is often used in application scenarios such as anomaly detection, user account segmentation, and recommendation systems. Its commonly used algorithms are clustering algorithms and dimensionality reduction algorithms.
[0077] 5) Artificial Intelligence (AI)
[0078] Artificial intelligence (AI) refers to the theories, methods, techniques, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, to perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results. In other words, AI is a comprehensive technology within computer science that seeks to understand the essence of intelligence and produce new intelligent machines that can respond in a manner similar to human intelligence. AI also involves studying the design principles and implementation methods of various intelligent machines, enabling them to possess the capabilities of perception, reasoning, and decision-making.
[0079] Artificial intelligence (AI) technology is a comprehensive discipline encompassing a wide range of fields, encompassing both hardware and software technologies. Foundational AI technologies generally include sensors, specialized AI chips, cloud computing, distributed storage, big data processing, operating / interaction systems, and mechatronics. AI software technologies primarily encompass computer vision, speech processing, natural language processing, and machine learning / deep learning.
[0080] 6) Machine Learning (ML)
[0081] Machine learning is a multidisciplinary field that encompasses probability theory, statistics, approximation theory, convex analysis, and algorithmic complexity theory. It specifically studies how computers can simulate or implement human learning behaviors to acquire new knowledge or skills and reorganize existing knowledge structures to continuously improve their performance. Machine learning is at the core of artificial intelligence and the fundamental way to make computers intelligent. Its applications span all areas of artificial intelligence. Machine learning and deep learning typically include techniques such as artificial neural networks, belief networks, reinforcement learning, transfer learning, inductive learning, and learning through demonstration.
[0082] Figure 2 A flowchart of an account identification method according to an exemplary embodiment of the present application is shown. The account identification method can be executed by a computer device, which can be implemented as a server, such as Figure 2 As shown, the account identification method includes:
[0083] Step 210 , obtaining user characteristics of each user account, object characteristics of each service object, and service records between each user account and each service object; each service object is an object that provides a specified interactive service to each user account.
[0084] In one possible implementation, each user account may refer to a cluster of user accounts that have specified interactive behaviors with each service object, that is, a user account that has specified interactive behaviors with each service object can be determined to be one of the user accounts; each service object may be an individual that can provide specified interactive services to each user account, or it may be an organization or institution that provides specified interactive services to each user account. This application does not limit the type of each service object.
[0085] Among them, a user account can have a specified interactive service relationship with multiple service objects, that is, a user account can correspond to multiple service objects, and accordingly, a service object can also provide specified interactive services to multiple user accounts. The specified interactive service relationship between each user account and each service object can be determined through the service records between each user account and each service object. This application does not limit the correspondence relationship and corresponding quantity between each user account and each service object.
[0086] Step 220 , construct a bipartite graph based on the user characteristics of each user account, the object characteristics of each service object, and the service records between each user account and each service object; the bipartite graph is composed of each user account and each service object connected by edges.
[0087] In an embodiment of the present application, the user characteristics of each user account may include demographic characteristics, service record characteristics, and user portrait characteristics, etc.; among them, demographic characteristics include the user's gender, age, etc., service record characteristics may include service amount, service items, etc., and user portrait characteristics may include the user's consumption habit label, credit rating label, etc.; when the service object is an organization or institution, the object characteristics of each service object may include the service object's geographical location, the service object's level, etc., when the service object is an individual, the object characteristics of each service object may include the service object's position, the service object's length of service, etc.; the service record between each user account and each service object is a service record used to record the specified interactive service behavior between each user account and each service object. The service record may record the time, events, etc. of each specified interactive service behavior between each user account and each service object.
[0088] Step 230 : extracting feature vectors from each node in the bipartite graph to obtain user feature vectors corresponding to each user account.
[0089] Step 240 : Clustering each user account based on the user feature vector corresponding to each user account to obtain at least one account group.
[0090] Among them, each account group contains at least one user account, and a user account can be regarded as an account group containing one user account; according to the user feature vector of each user account, each user account is clustered to obtain an account group containing multiple user accounts. In this process, each intermediate account group is clustered, and two account groups are clustered into one account group, so that user accounts with the same or similar user feature vectors exist in the same account group as much as possible.
[0091] Step 250 : Based on the service records of each user account, a target account group is identified from at least one account group; the target account group is an account group with abnormal designated interactive services.
[0092] In one possible implementation, user accounts in the same account group have the same or similar designated interactive service behaviors. Schematically, if a specified number of user accounts in an account group have abnormal designated interactive behaviors, it can be determined that the account group is an account group with abnormal designated interactive services.
[0093] To summarize, the account identification method provided in the embodiment of the present application constructs a bipartite graph based on the user characteristics of each user account, the object characteristics of each service object, and the service records of each user account and each service object, and extracts the feature vector of each user account based on the bipartite graph to cluster each user account according to the feature vector of each user account, and then uniformly filters the account group with abnormal interactive services from the clustered account groupings as the target account groupings, so that in the process of managing abnormal interactive services, user accounts with abnormal interactive service behaviors can be filtered in units of account groups, thereby being able to discover hidden abnormal interactive behaviors, thereby improving the efficiency and accuracy of discovering user accounts with abnormal interactive service behaviors.
[0094] In one possible implementation, the account identification method provided in this application can be applied to the field of medical insurance. In this field, each user account is a user account of a medical insurance participant, each service object is a counterpart providing medical insurance consumption services, and the designated interactive service is a medical insurance consumption service. The account identification method provided in this application can filter out a target account group, and the user accounts in the target account group are medical insurance user accounts with specified behaviors, such as insurance fraud user accounts with insurance fraud behaviors, thereby enabling analysis and judgment of user accounts suspected of belonging to the insurance fraud account group, and guiding the relevant medical insurance departments in managing insurance fraud behaviors;
[0095] Alternatively, the account identification method provided in the present application can be applied to the field of online order brushing. In this field, each user account is a user account with online shopping behavior, each service object is an online store owner, and the designated interactive service is an online shopping service. The account identification method provided in the present application can be used to screen out target account groups. The user accounts in the target account group are group purchase user accounts with specified behavior, for example, order brushing user accounts with order brushing behavior, thereby realizing the analysis and judgment of user accounts suspected of belonging to the order brushing account group, so as to guide relevant departments in managing order brushing behavior.
[0096] Figure 3A flowchart of an account identification method provided by an exemplary embodiment of the present application is shown. The account identification method can be executed by a computer device, which can be implemented as a server, such as Figure 3 As shown, the account identification method includes:
[0097] Step 310 , obtaining user characteristics of each user account, object characteristics of each service object, and service records between each user account and each service object; each service object is an object that provides a specified interactive service to each user account.
[0098] Step 320: Create an account node corresponding to each user account. The account node has user characteristics of the corresponding user account.
[0099] In a possible implementation, an initial user feature vector corresponding to each account node is generated based on the user features of each user account.
[0100] Step 330: Create an object node corresponding to each service object. The object node has object characteristics of the corresponding service object.
[0101] In a possible implementation, an initial object feature vector corresponding to each object node is generated based on the object feature of each service object.
[0102] Step 340 : Based on the service records between each user account and each service object, create edges between the account node corresponding to each user account and the object node corresponding to each service object.
[0103] In one possible implementation, in response to a service record existing between a target user account and a target service object, an edge is created between an account node corresponding to the target user account and an object node corresponding to the target service object; the target user account is any one of the user accounts; and the target service object is any one of the service objects.
[0104] Based on the service record between the target user account and the target service object, the weight of the edge between the account node corresponding to the target user account and the object node corresponding to the target service object is set.
[0105] In one possible implementation, the service record includes the number of specified interactive services. Based on the number of specified interactive services between the target user account and the target service object, the weight of the edge between the account node corresponding to the target user account and the object node corresponding to the target service object is set. In an illustrative example, the number of specified interactive services between the target user account and the target service object is obtained as the weight of the edge between the account node corresponding to the target user account and the object node corresponding to the target service object, and the weight is set accordingly. For example, if the number of specified interactive services between the target user account and the target service object is determined to be two based on the service record, the weight of the edge between the account node corresponding to the target user account and the object node corresponding to the target service object is set to 2.
[0106] In one possible implementation, the service record includes an interaction result of a specified interactive service, and based on the interaction result of the specified interactive service between the target user account and the target service object, the weight of the edge between the account node corresponding to the target user account and the object node corresponding to the target service object is set. Schematically, in a medical insurance scenario, the specified interactive service is a medical insurance consumption service, and the difference in the interaction results of the specified interactive service can be manifested as a difference in drug types, such as health products and prescription drugs. Schematically, the weight of the edge between the account node corresponding to the target user account whose corresponding drug type in the interaction result of the medical insurance consumption service is health products and the object node corresponding to the target service object can be set to a first weight, and the weight of the edge between the account node corresponding to the target user account whose corresponding drug type in the interaction result of the medical insurance consumption service is prescription drugs and the object node corresponding to the target service object can be set to a second weight, wherein the first weight can be greater than the second weight.
[0107] In one possible implementation, the weight of the edge between the account node corresponding to the target user account and the object node corresponding to the target service object can be set based on the category of the target service object. Schematically, in a medical insurance scenario, when the target service object is an institution, the target service object can be a public hospital, a private hospital, a clinic, etc. The weight of the edge between the account node corresponding to the target user account corresponding to a public hospital and the object node corresponding to the target service object can be set to a third weight, the weight of the edge between the account node corresponding to the target user account corresponding to a private hospital and the object node corresponding to the target service object can be set to a fourth weight, and the weight of the edge between the account node corresponding to the target user account corresponding to a clinic and the object node corresponding to the target service object can be set to a fifth weight, wherein the third weight is less than the fourth weight and less than the fifth weight.
[0108] In one possible implementation, based on different application scenarios and the different impacts of different factors in different application scenarios on abnormal designated interactive services, the weights of the edges between the account node corresponding to the target user account and the object node corresponding to the target service object are set differently. The weights corresponding to factors with higher influence are greater than the weights corresponding to factors with lower influence. Therefore, the third weight is set to be smaller than the fourth weight and smaller than the fifth weight.
[0109] Figure 4 A schematic diagram of a bipartite graph shown in an exemplary embodiment of the present application is shown in FIG. Figure 4 As shown, each user account corresponds to account node A, account node B, account node C and account node D, and each service object corresponds to object node A, object node B and object node C. Based on the service records between each user account and each service object, a Figure 4 In the bipartite graph shown in FIG, the account nodes and object nodes with specified interactive service relationships are connected by edges. Taking account node A as an example, the user account A corresponding to account node A has specified interactive service relationships with service objects A, service objects B, and service objects C. Therefore, account node A is connected to object nodes A, object nodes B, and object nodes C through edges respectively; and for account node C, the user account C corresponding to it only has specified interactive service with service object A, but not with service objects B and service objects C. Therefore, in FIG, Figure 4 In the bipartite graph shown, the account node C is only connected to the object node A through an edge, but is not connected to the object node B and the object node C.
[0110] In the embodiment of the present application, there is no edge relationship between the account nodes, and there is no edge relationship between the object nodes.
[0111] In the embodiment of the present application, an initial user feature vector corresponding to each account node in the bipartite graph is generated based on the user features of each user account, and an initial object feature vector corresponding to each object node is generated based on the object features of each service object, wherein: Represents the initial user feature vector corresponding to each account node, Represents the initial object feature vector corresponding to each object node; taking the edge weight in the bipartite graph as an example, which is generated based on the number of specified interactive services contained in the service record, the edge between each account node and each object node has a corresponding weight
[0112] Step 350 : performing at least two aggregation iterations on the feature vectors of each node in the bipartite graph.
[0113] In one possible implementation, a computer device performs at least two aggregation iterations on the feature vectors of each node in the bipartite graph through a feature extraction model to obtain the feature vectors of the account nodes of each user account during at least two iterations. That is, the feature vectors of each node in the bipartite graph are input into the feature extraction model so that the feature extraction model performs at least two aggregation iterations on the feature vectors of each node in the bipartite graph to obtain the feature vectors corresponding to each node after each aggregation iteration output by the feature extraction model.
[0114] The feature vectors of each node in the bipartite graph are aggregated and iterated at least twice, including:
[0115] 1) During the p-th aggregation iteration, the feature vectors of each neighboring node of the target node before the p-th aggregation iteration are aggregated through the feature extraction model to obtain the neighbor aggregation information of the target node in the p-th aggregation iteration; the target node is any node in the bipartite graph, and p is a positive integer.
[0116] In one possible implementation, each neighbor node of the target node is obtained, where the neighbor node refers to a node in a bipartite graph that has an edge relationship with the target node. When the target node is an account node, the neighbor node of the target node is an object node that has an edge relationship with the account node; when the target node is an object node, the neighbor node of the target node is an account node that has an edge relationship with the object node.
[0117] The feature extraction model can be implemented as a graph embedding algorithm model; the graph embedding algorithm used in the graph embedding algorithm model can include a Bipartite GraphSAGE algorithm, a BiNE algorithm, and an ABCGraph algorithm.
[0118] Taking the Bipartite GraphSAGE algorithm as an example, the feature vectors of each neighbor object node i of the account node u before the pth aggregation iteration are aggregated. The formula for obtaining the neighbor aggregation information is:
[0119]
[0120] in, Represents the feature vector of the neighbor object node before the pth aggregation iteration. When p is greater than 1, Represents the feature vector of the neighbor object node after the p-1th aggregation iteration. When p = 1, the feature vector of the neighbor object node before the pth aggregation iteration AGGREATE represents the aggregation operation. The above formula uses mean aggregation. Represents the parameter matrix, which is used to represent the transfer matrix from the object node to the account node.
[0121] Aggregate the feature vectors of each neighbor account node u of object node i before the pth aggregation iteration, and obtain the neighbor aggregation information as follows:
[0122]
[0123] in, Represents the feature vector of the neighbor account node before the pth aggregation iteration. When p is greater than 1, Represents the feature vector of the neighbor account node after the p-1th aggregation iteration. When p=1, the feature vector of the neighbor object node before the pth aggregation iteration AGGREATE represents the aggregation operation. The above formula uses mean aggregation. Represents the parameter matrix, which is used to represent the transfer matrix from the account node to the object node.
[0124] 2) Through the feature extraction model, the neighbor aggregation information of the target node in the p-th aggregation iteration is fused with the feature vector of the target node before the p-th aggregation iteration to obtain the feature vector of the target node after the p-th aggregation iteration.
[0125] In the above process, the feature extraction model first aggregates the neighbor information of the target node in the p-th aggregation iteration, and concatenates it with the feature vector of the target node before the p-th aggregation iteration. Then, the concatenated feature vectors are fused through a nonlinear activation function to obtain the feature vector of the target node after the p-th aggregation iteration.
[0126] When the target node is an account node, the formula for fusing the neighbor aggregation information of the account node in the p-th aggregation iteration with the feature vector of the account node before the p-th aggregation iteration is expressed as:
[0127]
[0128] in, Represents the feature vector of account node u before the pth aggregation iteration, is a parameter, which represents the weight matrix of the aggregation, used to represent the transfer matrix from the object node to the account node, CONCAT represents the connection operation, and σ represents the activation function, so as to obtain the feature vector of the account node u after the p-th aggregation iteration.
[0129] When the target node is an account node, the formula for fusing the neighbor aggregation information of the target node in the p-th aggregation iteration with the feature vector of the target node before the p-th aggregation iteration is expressed as:
[0130]
[0131] in, The feature vector of the object node before the pth aggregation iteration, is a parameter, which represents the weight matrix of the aggregation, used to represent the transfer matrix from the account node to the object node, and σ represents the activation function, so as to obtain the feature vector of the object node i after the pth aggregation iteration.
[0132] Step 360 : After at least two aggregation iterations, the feature vectors of the account nodes corresponding to the respective user accounts in the bipartite graph are obtained as user feature vectors corresponding to the respective user accounts.
[0133] It should be noted that the feature extraction model used when performing at least two aggregation iterations on the feature vectors of each node in the bipartite graph is a feature extraction model that has undergone n rounds of training.
[0134] That is, in one possible implementation, the feature extraction model is obtained by performing n rounds of training based on the feature vectors of each node in the bipartite graph. Before extracting the feature vectors of each node in the bipartite graph to obtain the feature vectors corresponding to each user account, the method further includes:
[0135] During the i-th round of training, the feature vectors of each node in the bipartite graph are aggregated and iterated j times; 1≤i≤n, j≥2, and i, j, and n are integers;
[0136] Calculate the loss function value based on the feature vectors of each node in the bipartite graph after j aggregation iterations, and the edge connection relationship between each node in the bipartite graph;
[0137] Based on the loss function value, the parameters in the feature extraction model are updated.
[0138] Among them, the parameters in the feature extraction model include the parameters in the aggregation function, that is, the parameter matrix in the above formula (1) and in formula (2) And the parameters in the fusion formula, that is, the weight matrix in the above formula (3) And the weight matrix in formula (4)
[0139] Among them, the calculation formula of the loss function is:
[0140]
[0141] in, Represents the user feature vector of the negatively sampled account node, represents the object feature vector of the negatively sampled object node, (u, i) represents a pair of account nodes and object nodes connected by an edge, and the function f is a fully connected network that calculates the similarity between the user feature vector of account node u and the object feature vector of object node i according to the user feature vector of account node u and the object feature vector of object node i and the corresponding edge weights, P n represents the negative sampling distribution, Q u Indicates the number of negative samples of account nodes corresponding to the object node, Q i It represents the number of negative samples of the object node extracted corresponding to the account node. γ is a hyperparameter used to define the weight of negative samples.
[0142] During each training in the n rounds of training, the loss function is calculated to adjust the parameters in the feature extraction model n times to improve the accuracy of the feature vector of the target node.
[0143] In one possible implementation, a training stop condition for performing n rounds of training on the feature extraction model may include at least one of the following conditions:
[0144] The value of n reaches the specified value;
[0145] The loss function value is less than the loss function threshold;
[0146] Furthermore, a difference between parameters in the feature extraction model before and after the update is less than a difference threshold.
[0147] That is, relevant personnel can pre-set a specified value of n, i.e., the maximum value of n. When the aggregation iteration is executed for the nth time, the training process of the feature extraction model is terminated, and the feature vector of the account node corresponding to each user account in the bipartite graph outputted after the feature extraction model after the nth training and after the jth iteration is obtained as the user feature vector corresponding to each user account;
[0148] Alternatively, relevant personnel may pre-set a loss function threshold, and before the calculation result based on the above loss function reaches the loss function threshold, continue to perform aggregation iterations until the calculation result of the loss function reaches the loss function threshold, and obtain the feature vector of the account node corresponding to each user account in the bipartite graph corresponding to when the calculation result of the loss function reaches the loss function threshold as the user feature vector corresponding to each user account;
[0149] Alternatively, the preset personnel can pre-set a difference threshold, and the computer device can obtain the difference between the parameters of the feature extraction model after the nth aggregation iteration and the parameters of the feature extraction model before the nth aggregation iteration. When it is determined that the difference between the parameters of the feature extraction model after the nth aggregation iteration and the parameters of the feature extraction model before the nth aggregation iteration is less than the difference threshold, the training process of the feature extraction model is stopped, and the feature vector of the account node corresponding to each user account in the bipartite graph output by the feature extraction model after the nth training after j iterations is obtained as the user feature vector corresponding to each user account.
[0150] Step 370 : Clustering each user account based on the user feature vector corresponding to each user account to obtain at least one account group.
[0151] In a possible implementation, hierarchical clustering is performed on each user account based on the similarity between the user feature vectors corresponding to each user account to obtain at least one account group.
[0152] Among them, hierarchical clustering includes starting from clustering each user account, with each user account corresponding to an initial account group; merging the two initial account groups with the highest similarity between each initial account group into one category to obtain an intermediate account group; recalculating the similarity between each intermediate account group, and merging the two intermediate account groups with the highest similarity between each other into one category, repeating the above process until the similarity between each intermediate account group is lower than the similarity threshold, stopping hierarchical clustering, and obtaining at least one account group.
[0153] In a possible implementation, before performing hierarchical clustering on each user account based on the similarity between the user feature vectors corresponding to each user account to obtain at least one account group, the method further includes:
[0154] Obtain the cosine similarity between the user feature vectors corresponding to each user account as the similarity between the user feature vectors corresponding to each user account. The formula for calculating the cosine similarity is:
[0155]
[0156] Among them, A and B represent the average user account vector features of the two account groups respectively.
[0157] In a possible implementation, each user account may be clustered using other clustering algorithms to obtain at least one account group. For example, the other clustering algorithms may include a mean shift clustering algorithm and a DBSCAN algorithm.
[0158] Step 380 : Based on the service records of each user account, a target account group is identified from at least one account group; the target account group is an account group with abnormal designated interactive services.
[0159] In a possible implementation, a sample user account is selected from a first account group; the first account group is any one of at least one account group;
[0160] In response to the service records of the sample user accounts matching the specified rule, the first account group is determined as the target account group.
[0161] The sample user accounts may be all user accounts in the first account group, or the sample user accounts may be user accounts obtained by sampling all user accounts in the first account group.
[0162] That is, the service records of all user accounts in the first account group do not need to be compared with the specified rules, or the service records of only some of the user accounts in the first account group need to match the specified rules to determine that the first account group is the target account group.
[0163] In one possible implementation, selecting a sample user account from the first account group may be implemented as follows:
[0164] determining the number of user accounts of the sample user accounts based on the number of user accounts in the first account group;
[0165] Based on the number of user accounts of the sample user accounts, a sample user account is randomly selected from the first account group.
[0166] Illustratively, a sampling ratio can be set to randomly select sample user accounts from the first account group based on the number of user accounts in the sample user account group. For example, if the first account group includes 100 user accounts and the computer device has a preset sampling ratio of 0.3, then during sampling, 30 user accounts are randomly selected from the 100 user accounts as sample user accounts. Alternatively, other sampling methods can be used for sampling, and this application does not limit the sampling method.
[0167] When determining whether the first account group is the target account group, the first account group may be determined as the target account group in response to a service record of any one of the sample user accounts matching a specified rule;
[0168] or,
[0169] In response to a ratio between the number of user accounts whose service records match the specified rule and the number of user accounts in the sample user accounts reaching a ratio threshold, the first account group is determined as the target account group.
[0170] In the first case, as long as there is a service record of a user account among the sample user accounts that matches the specified rule, the first account group corresponding to the user account is determined as the target account group;
[0171] Alternatively, in order to avoid accidental errors, a sample quantity ratio threshold can be set. When the proportion of the number of user accounts in the sample user accounts whose corresponding service records match the specified rules to the number of sample user accounts reaches the ratio threshold, the first account group is determined to be the target account group. For example, the number of sample user accounts is 30, and the ratio threshold is 0.2. Assuming that the service records of 7 sample user accounts match the specified rules, 7 / 30>0.2, the first account group is determined to be the target account group.
[0172] Among them, the designated rule can be a designated rule extracted based on an existing abnormal designated interactive service. The corresponding designated rules are different in different application scenarios. Taking the application scenario as the medical insurance scenario, the designated rule can be the correlation between the user account's medical treatment cycle, the user account's medical symptoms, and the user account's medical treatment results. The user account's medical treatment results can be expressed as drug types, examination subjects, etc. For example, the service record of user account A indicates that the user corresponding to user account A will regularly go to hospital A for asthma examinations. The hospital will arrange examination items corresponding to asthma for the user corresponding to user account A, and prescribe asthma-related drugs. This indicates that the correlation between the user's medical treatment cycle, medical symptoms, and medical results of the user corresponding to user account A is strong; while the service record of the user corresponding to user account B indicates that the user corresponding to user account B will regularly go to hospital B to measure blood pressure, but hospital B prescribes other health products unrelated to blood pressure reduction to the user corresponding to user account B while prescribing antihypertensive drugs. This indicates that the correlation between the user's medical treatment cycle, medical symptoms, and medical results of the user corresponding to user account B is poor. Service records with low correlation can be determined to match the designated rule.
[0173] In one possible implementation, after determining a target account group using the account identification method provided herein, the method can then be used to discover hidden implementation methods or approaches for abnormal designated interaction services based on the service records corresponding to the user accounts in the target account group, thereby updating the designated rules for determining abnormal designated interaction services. For example, if a confirmed target account group contains 10 user accounts, and the service records of three of the user accounts in the target account group meet the designated rules for determining the presence of abnormal designated interaction services, then only the abnormal designated interaction services of three of the user accounts in the target account group are included in the existing designated rules, while the abnormal designated interaction services of the other seven user accounts are not included in the existing designated rules. After the user account group consisting of 10 user accounts is determined as the target account group using the method provided herein, the relevant agency can, when examining the service records of these 10 user accounts, discover the abnormal designated interaction services in the service records of the other seven individuals, thereby updating the existing designated rules using the newly discovered abnormal designated interaction services.
[0174] To summarize, the account identification method provided in the embodiment of the present application constructs a bipartite graph based on the user characteristics of each user account, the object characteristics of each service object, and the service records of each user account and each service object, and extracts the feature vector of each user account based on the bipartite graph to cluster each user account according to the feature vector of each user account, and then uniformly filters the account group with abnormal interactive services from the clustered account groupings as the target account groupings, so that in the process of managing abnormal interactive services, user accounts with abnormal interactive service behaviors can be filtered in units of account groups, thereby being able to discover hidden abnormal interactive behaviors, thereby improving the efficiency and accuracy of discovering user accounts with abnormal interactive service behaviors.
[0175] Figure 5 The following is an architecture diagram of the account identification method provided in the embodiment of the present application. Figure 5 As shown, the account identification method provided by the present application can be divided into three stages: a bipartite graph construction stage 510 , a node feature vector acquisition stage 520 , and an account node clustering stage 530 .
[0176] Taking the medical insurance scenario as an example of the application scenario of the account identification method, each account node can be the insured person node corresponding to the medical insurance insured person account, and each service object can correspond to a medical insurance institution, a department in a medical insurance institution, or a doctor in a medical insurance institution, etc. In the embodiment of the present application, the account identification method provided in the present application is explained by taking the second service object as a medical insurance institution and the object node as an institution node as an example.
[0177] In the bipartite graph construction stage 510, the computer device constructs a bipartite graph structure based on the acquired medical insurance bureau settlement data, the insured person portrait label data, and the institution portrait label data, wherein the user characteristics corresponding to the insured person node are generated based on the insured person portrait label data, and the institution characteristics (i.e., object characteristics) of the medical insurance institution (hereinafter referred to as the institution) are generated based on the medical insurance institution portrait label data. When constructing the bipartite graph, the insured person node and its corresponding medical institution are connected according to the medical treatment records in the medical insurance bureau settlement data. The weight of the edge between the insured person node and the corresponding medical institution is set according to the number of visits of the insured person account in the corresponding medical institution in the medical insurance bureau settlement data. When constructing the bipartite graph, there is no edge between the insured person node and the insured person node, and between the institution node and the institution node.
[0178] In the node feature vector acquisition phase 520, the computer device trains the bipartite graph constructed in the above step through a graph embedding algorithm to obtain the embedding (feature vector) of each entity node, which includes each insured person node and each institution node. When the bipartite graph is trained through the graph embedding algorithm to obtain the embedding of each entity node, the bipartite graph is Input into the graph embedding algorithm model, where represents M insured person nodes, Represents N organization nodes, represents the edge set, Represents the weight of the edge, where each insured person node corresponds to the insured person characteristics Each organization node corresponds to an organization feature The vector space representing the characteristics of the insured person, d u The spatial dimension of the vector space representing the characteristics of the insured person, The vector space representing the characteristics of the mechanism, d i The spatial dimension of the vector space representing the characteristics of the organization.
[0179] In the entity node embedding learning stage, the neighbor node features are aggregated for the insured person node and the institution node respectively. In one possible implementation, P iterations are performed on the insured person node and the institution node respectively. In each iteration, an insured person node aggregates information from its neighbor institution node, and an institution node aggregates information from its neighbor nodes, so that the embedding of each insured person node and institution node contains information of a larger receptive domain.
[0180] Taking the p-th iteration as an example, where p is any one of the P iterations, for the insured node u, first, the institutional features of the neighboring institutional nodes of the insured node u are aggregated, where the insured node u is any one of the insured nodes, and the neighboring institutional nodes of the insured node u are the institutional nodes that have edge connections with the insured node u. Taking the Bipartite GraphSAGE algorithm as an example, the formula for aggregating the institutional features of the neighboring institutional nodes of the insured node u is as follows:
[0181]
[0182] in, represents the embedding of neighboring organization nodes after the p-1th round of aggregation, initially AGGREATE represents the aggregation operation. The above formula uses mean aggregation. Represents the parameter matrix, which is used to represent the transfer matrix from the institution node to the insured person node.
[0183] Secondly, the organizational characteristics of the neighboring structural nodes of the insured node u after the p-th round of aggregation are concatenated with the embedding of the insured node u itself in the p-1th round. After a nonlinear activation layer, the embedding of the insured node after the p-th round of iteration is obtained. The formula for calculating the embedding of the insured node u after the p-th round of iteration is:
[0184]
[0185] in, represents the embedding of the insured person node u after the p-1th round of aggregation, is a parameter, which represents the aggregated weight matrix, used to represent the transfer matrix from the institution node to the insured node, and σ represents the activation function, so as to obtain the embedding of the insured node u after the pth iteration.
[0186] For institution node i, first, the user features of the neighboring insured nodes of institution node i are aggregated, where institution node i is any one of the institution nodes, and the neighboring insured nodes of institution node i are the insured nodes that have edge connections with institution node i. Taking the Bipartite GraphSAGE algorithm as an example, the formula for aggregating the user features of the neighboring insured nodes of institution node i is as follows:
[0187]
[0188] in, represents the embedding of neighbor insured node u after the p-1th round of aggregation. AGGREATE represents the aggregation operation. The above formula uses mean aggregation. Represents the parameter matrix, which is used to represent the transfer matrix from the insured person node to the institution node.
[0189] Secondly, the user features of the neighboring insured nodes of institution node i after round p of aggregation are concatenated with the embedding of institution node i itself in round p-1. After a nonlinear activation layer, the embedding of institution node i after round p of iteration is obtained. The formula for calculating the embedding of institution node i after round p of iteration is:
[0190]
[0191] in, represents the embedding of the organization node i after the p-1th round of aggregation, is a parameter, which represents the aggregated weight matrix, used to represent the transfer matrix from the insured node to the institution node, and σ represents the activation function, so as to obtain the embedding of the institution node i after the pth iteration.
[0192] In one possible implementation, the parameter matrix in the graph embedding algorithm is obtained through n rounds of training. The parameter matrix in the graph embedding algorithm is updated in n rounds of training through unsupervised training. For bipartite graphs, the embeddings of nodes connected by edges should be closer, while the embeddings of nodes not connected by edges should be dissimilar. Therefore, in n rounds of iterations, a loss function is calculated based on the embeddings of the insured nodes and the embeddings of the institution nodes to update the parameter matrix in the graph embedding algorithm. The calculation formula of the loss function is:
[0193]
[0194] in, Represents the embedding of the insured person node for negative sampling, represents the embedding of the negatively sampled institution node, (u, i) represents a pair of edge-connected insured person nodes and institution nodes, and the function f is the embedding of the insured person node u and the institution node i as well as the weight of the fully connected network. Calculate node similarity, P n represents the negative sampling distribution, Q u represents the number of negative samples of insured person nodes corresponding to the institution node, Q i It represents the number of negative samples of the institution node corresponding to the insured person node, and γ is a hyperparameter used to define the weight of the negative samples.
[0195] In the account node clustering stage 530, the insured nodes are clustered using a clustering algorithm based on the embeddings obtained above. Initially, each insured node is treated as a single cluster. In each iteration, two clusters with the smallest average distance, or with a similarity greater than a specified threshold, are merged into one. A clustering early termination threshold is set. During the iteration, if the similarity between the two clusters to be aggregated falls below the set threshold, clustering is terminated early, and the account group corresponding to this cluster is obtained as the account group to be screened.
[0196] After obtaining the account groups to be screened, according to the specified rules, the actual medical treatment behavior of some members in each account group to be screened is analyzed based on medical insurance settlement data, etc., and the account groups corresponding to normal medical treatment behaviors such as outpatient chronic diseases that require regular visits to designated hospitals for treatment are excluded. The remaining suspicious account groups are identified as the account groups to which the suspected insurance fraud user accounts belong and submitted to the relevant departments to provide corresponding investigation guidance to the relevant departments.
[0197] It is understandable that in the specific implementation of this application, relevant data involving user account information such as user characteristics, service record characteristics, and user portraits, when the above embodiments of this application are applied to specific products or technologies, user permission or consent must be obtained, and the collection, use, and processing of relevant data must comply with relevant laws, regulations, and standards of relevant countries and regions.
[0198] Figure 6 FIG shows a block diagram of an account identification device provided by an exemplary embodiment of the present application. The account identification device can be applied to a computer device, which can be implemented as a server, such as Figure 6 As shown, the account identification device includes:
[0199] An acquisition module 610 is configured to acquire user characteristics of each user account, object characteristics of each service object, and service records between each user account and each service object; each service object is an object that provides a specified interactive service to each user account;
[0200] A bipartite graph construction module 620 is configured to construct a bipartite graph based on the user characteristics of each user account, the object characteristics of each service object, and the service records between each user account and each service object; the bipartite graph is constructed by connecting each user account with each service object through edges;
[0201] A user feature vector extraction module 630 is configured to extract feature vectors from each node in the bipartite graph to obtain user feature vectors corresponding to each user account;
[0202] A clustering module 640 is configured to cluster the user accounts based on the user feature vectors corresponding to the user accounts to obtain at least one account group;
[0203] The account identification module 650 is configured to identify a target account group from the at least one account group based on the service records of the respective user accounts; the target account group is an account group with abnormal designated interactive services.
[0204] In one possible implementation, the bipartite graph construction module 620 includes:
[0205] An account node creation submodule, configured to create an account node corresponding to each user account, wherein the account node has user characteristics corresponding to the user account;
[0206] An object node creation submodule, configured to create an object node corresponding to each service object, wherein the object node has object characteristics corresponding to the service object;
[0207] The edge creation submodule is used to create edges between the account nodes corresponding to the respective user accounts and the object nodes corresponding to the respective service objects based on the service records between the respective user accounts and the respective service objects.
[0208] In a possible implementation, the edge creation submodule includes:
[0209] an edge creation unit, configured to, in response to the existence of the service record between a target user account and a target service object, create an edge between an account node corresponding to the target user account and an object node corresponding to the target service object; the target user account is any one of the user accounts; the target service object is any one of the service objects;
[0210] A weight setting unit is used to set the weight of the edge between the account node corresponding to the target user account and the object node corresponding to the target service object based on the service record between the target user account and the target service object.
[0211] In a possible implementation, the service record includes the number of times the specified interactive service is provided;
[0212] The weight setting unit is configured to be used for including the number of times a specified interactive service is included in the service record;
[0213] The weight of the edge between the account node corresponding to the target user account and the object node corresponding to the target service object is set based on the number of designated interactive services between the target user account and the target service object.
[0214] In a possible implementation, the user feature vector extraction module 630 includes:
[0215] An aggregation iteration submodule, configured to perform at least two aggregation iterations on the feature vectors of each node in the bipartite graph;
[0216] The user feature vector acquisition submodule is configured to acquire the feature vectors of the account nodes corresponding to the respective user accounts in the bipartite graph after the at least two aggregation iterations as the user feature vectors corresponding to the respective user accounts.
[0217] In a possible implementation, the aggregation iterator module includes:
[0218] a neighbor aggregation information acquisition unit, configured to aggregate, during a p-th aggregation iteration, feature vectors of neighbor nodes of a target node before the p-th aggregation iteration using a feature extraction model, to obtain neighbor aggregation information of the target node in the p-th aggregation iteration; the target node is any node in the bipartite graph; and p is a positive integer;
[0219] The feature vector acquisition unit is used to fuse the neighbor aggregation information of the target node in the p-th aggregation iteration with the feature vector of the target node before the p-th aggregation iteration through the feature extraction model to obtain the feature vector of the target node after the p-th aggregation iteration.
[0220] In a possible implementation, the feature extraction model is obtained by performing n rounds of training based on feature vectors of each node in the bipartite graph; and the apparatus further includes:
[0221] A training aggregation iteration module is used to perform j aggregation iterations on the feature vectors of each node in the bipartite graph during the i-th round of training; 1≤i≤n, j≥2, and i, j, and n are integers;
[0222] a loss function value calculation module, configured to calculate a loss function value based on the feature vectors of each node in the bipartite graph after the j aggregation iterations and the edge connection relationships between each node in the bipartite graph;
[0223] A parameter updating module is used to update the parameters in the feature extraction model based on the loss function value.
[0224] In one possible implementation, the account identification module 650 includes:
[0225] a sample account selection submodule, configured to select a sample user account from a first account group; the first account group being any one of the at least one account group;
[0226] The target account group confirmation submodule is configured to determine the first account group as the target account group in response to a match between the service records of the sample user accounts and a specified rule.
[0227] In a possible implementation, the apparatus further includes:
[0228] and a similarity acquisition module configured to perform hierarchical clustering on the user accounts in the clustering module based on the similarities between the user feature vectors corresponding to the user accounts, and obtain, before obtaining the at least one account group, the cosine similarity between the user feature vectors corresponding to the user accounts as the similarity between the user feature vectors corresponding to the user accounts.
[0229] In one possible implementation, the sample account selection submodule includes:
[0230] an account number determining unit, configured to determine the number of user accounts of the sample user accounts based on the number of user accounts in the first account group;
[0231] a sample account selection unit, configured to randomly select the sample user account from the first account group based on the number of user accounts of the sample user account;
[0232] the target account group confirmation submodule, configured to determine the first account group as the target account group in response to a service record of any one of the sample user accounts matching the specified rule;
[0233] or,
[0234] In response to a ratio between the number of user accounts in the sample user accounts whose service records match the specified rule and the number of user accounts in the sample user accounts reaching a ratio threshold, the first account group is determined as the target account group.
[0235] In a possible implementation, each user account is a user account of a medical insurance participant, each service object is an object providing medical insurance consumption services, and the designated interactive service is a medical insurance consumption service.
[0236] In summary, the account identification device provided in the embodiment of the present application is applied in a computer device. A bipartite graph is constructed based on the user characteristics of each user account, the object characteristics of each service object, and the service records of each user account and each service object. The feature vector of each user account is extracted based on the bipartite graph, and the user accounts are clustered according to the feature vectors of each user account. Then, the account groups with abnormal interactive services are uniformly filtered from the clustered account groups as target account groups. In the process of managing abnormal interactive services, user accounts with abnormal interactive service behaviors can be filtered in units of account groups, so that hidden abnormal interactive behaviors can be discovered, thereby improving the efficiency and accuracy of discovering user accounts with abnormal interactive service behaviors.
[0237] Figure 7 The following is a block diagram of a computer device 700 according to an exemplary embodiment of the present application. The computer device can be implemented as the server in the above-mentioned solution of the present application. The computer device 700 includes a central processing unit (CPU) 701, a system memory 704 including a random access memory (RAM) 702 and a read-only memory (ROM) 703, and a system bus 705 connecting the system memory 704 and the central processing unit 701. The computer device 700 also includes a mass storage device 706 for storing an operating system 709, application programs 710, and other program modules 711.
[0238] The mass storage device 706 is connected to the central processing unit 701 via a mass storage controller (not shown) connected to the system bus 705. The mass storage device 706 and its associated computer-readable medium provide non-volatile storage for the computer device 700. In other words, the mass storage device 706 may include a computer-readable medium (not shown) such as a hard disk or a compact disc read-only memory (CD-ROM) drive.
[0239] Without loss of generality, the computer-readable medium may include computer storage media and communication media. Computer storage media include volatile and non-volatile, removable and non-removable media implemented by any method or technology for storing information such as computer-readable instructions, data structures, program modules or other data. Computer storage media include RAM, ROM, Erasable Programmable Read Only Memory (EPROM), Electronically Erasable Programmable Read-Only Memory (EEPROM), flash memory or other solid-state storage technology, CD-ROM, Digital Versatile Disc (DVD) or other optical storage, tape cassettes, magnetic tape, disk storage or other magnetic storage devices. Of course, those skilled in the art will appreciate that the computer storage media are not limited to the above-mentioned ones. The above-mentioned system memory 704 and mass storage device 706 can be collectively referred to as memory.
[0240] According to various embodiments of the present disclosure, the computer device 700 may also be connected to a remote computer on a network such as the Internet for operation. That is, the computer device 700 may be connected to a network 708 via a network interface unit 707 connected to the system bus 705, or the network interface unit 707 may be used to connect to other types of networks or remote computer systems (not shown).
[0241] The memory also includes at least one instruction, at least one program, code set or instruction set, and the at least one instruction, at least one program, code set or instruction set is stored in the memory. The central processing unit 701 implements all or part of the steps in the account identification method shown in the above embodiments by executing the at least one instruction, at least one program, code set or instruction set.
[0242] In an exemplary embodiment, a computer-readable storage medium is further provided, configured to store at least one instruction, at least one program, a code set, or an instruction set, wherein the at least one instruction, at least one program, code set, or instruction set is loaded and executed by a processor to implement all or part of the steps in the above-described account identification method. For example, the computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a compact disc (CD-ROM), a magnetic tape, a floppy disk, or an optical data storage device.
[0243] In an exemplary embodiment, a computer program product or computer program is further provided, the computer program product or computer program including computer instructions, the computer instructions being stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the above-mentioned Figure 2 or Figure 3 All or part of the steps of the method shown in any embodiment.
[0244] Those skilled in the art will readily appreciate other embodiments of the present application after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The description and examples are to be considered as exemplary only, and the true scope and spirit of the present application are indicated by the following claims.
[0245] It should be understood that the present application is not limited to the exact structures described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present application is limited only by the appended claims.
Claims
1. An account identification method, characterized in that: The method comprises: Acquire user characteristics of each user account, object characteristics of each service object, and service records between each user account and each service object; each service object is an object that provides a specified interactive service to each user account; Creating an account node corresponding to each user account, wherein the account node has a user feature of the corresponding user account; creating an object node corresponding to each service object, wherein the object node has an object feature of the corresponding service object; in response to the existence of the service record between the target user account and the target service object, creating an edge between the account node corresponding to the target user account and the object node corresponding to the target service object; the target user account is any one of the user accounts; the target service object is any one of the service objects; based on the service record between the target user account and the target service object, setting the weight of the edge between the account node corresponding to the target user account and the object node corresponding to the target service object to construct a bipartite graph; the bipartite graph is composed of the user accounts and the service objects connected by edges; Extracting feature vectors from each node in the bipartite graph to obtain user feature vectors corresponding to each user account; clustering the user accounts based on the user feature vectors corresponding to the user accounts to obtain at least one account group; Based on the service records of the respective user accounts, a target account group is identified from the at least one account group; the target account group is an account group in which abnormal designated interactive services exist.
2. The method according to claim 1, characterized in that The service record includes the number of times the specified interactive service is provided; The step of setting a weight of an edge between an account node corresponding to the target user account and an object node corresponding to the target service object based on the service record between the target user account and the target service object includes: The weight of the edge between the account node corresponding to the target user account and the object node corresponding to the target service object is set based on the number of designated interactive services between the target user account and the target service object.
3. The method according to claim 1 or 2, characterized in that Extracting feature vectors from each node in the bipartite graph to obtain user feature vectors corresponding to each user account includes: Performing at least two aggregation iterations on the feature vectors of each node in the bipartite graph; After the at least two aggregation iterations, the feature vectors of the account nodes corresponding to the respective user accounts in the bipartite graph are obtained as user feature vectors corresponding to the respective user accounts.
4. The method according to claim 3, characterized in that The performing at least two aggregation iterations on the feature vectors of each node in the bipartite graph includes: During the p-th aggregation iteration, the feature vectors of the neighboring nodes of the target node before the p-th aggregation iteration are aggregated by the feature extraction model to obtain the neighbor aggregation information of the target node in the p-th aggregation iteration; the target node is any node in the bipartite graph; p is a positive integer; The neighbor aggregation information of the target node in the p-th aggregation iteration is fused with the feature vector of the target node before the p-th aggregation iteration through the feature extraction model to obtain the feature vector of the target node after the p-th aggregation iteration.
5. The method according to claim 4, characterized in that The feature extraction model is obtained by performing n rounds of training based on the feature vectors of each node in the bipartite graph; before extracting the feature vectors of each node in the bipartite graph to obtain the user feature vectors corresponding to each user account, the method further includes: During the i-th round of training, the feature vectors of each node in the bipartite graph are aggregated and iterated j times; 1≤i≤n, j≥2, and i, j, and n are integers; Calculating a loss function value based on the feature vectors of each node in the bipartite graph after the j aggregation iterations and the edge connection relationships between each node in the bipartite graph; Based on the loss function value, the parameters in the feature extraction model are updated.
6. The method according to claim 1 or 2, characterized in that The clustering of the user accounts based on the user feature vectors corresponding to the user accounts to obtain at least one account group includes: Based on the similarity between the user feature vectors corresponding to the user accounts, hierarchical clustering is performed on the user accounts to obtain the at least one account group.
7. The method according to claim 6, characterized in that Before performing hierarchical clustering on the user accounts based on the similarities between the user feature vectors corresponding to the user accounts to obtain the at least one account group, the method further includes: The cosine similarity between the user feature vectors corresponding to the respective user accounts is obtained as the similarity between the user feature vectors corresponding to the respective user accounts.
8. The method according to claim 1 or 2, characterized in that The identifying a target account group from the at least one account group based on the service records of the respective user accounts includes: Selecting a sample user account from a first account group; the first account group is any one of the at least one account group; In response to the service records of the sample user accounts matching a specified rule, the first account group is determined as the target account group.
9. The method according to claim 8, characterized in that The selecting of a sample user account from the first account group includes: determining the number of user accounts of the sample user accounts based on the number of user accounts in the first account group; randomly selecting the sample user account from the first account group based on the number of user accounts of the sample user account; In response to the service record of the sample user account matching a specified rule, determining the first account group as the target account group includes: In response to a service record of any one of the sample user accounts matching the specified rule, determining the first account group as the target account group; or, In response to a ratio between the number of user accounts in the sample user accounts whose service records match the specified rule and the number of user accounts in the sample user accounts reaching a ratio threshold, the first account group is determined as the target account group.
10. The method according to claim 1 or 2, characterized in that The user accounts are user accounts of medical insurance participants, the service objects are objects providing medical insurance consumption services, and the designated interactive services are medical insurance consumption services.
11. An account identification device, characterized in that: The device comprises: an acquisition module, configured to acquire user characteristics of each user account, object characteristics of each service object, and service records between each user account and each service object; each service object is an object that provides a specified interactive service to each user account; A bipartite graph construction module, configured to create an account node corresponding to each user account, wherein the account node has user characteristics of the corresponding user account; create an object node corresponding to each service object, wherein the object node has object characteristics of the corresponding service object; in response to the existence of the service record between the target user account and the target service object, create an edge between the account node corresponding to the target user account and the object node corresponding to the target service object; the target user account is any one of the user accounts; the target service object is any one of the service objects; based on the service record between the target user account and the target service object, set the weight of the edge between the account node corresponding to the target user account and the object node corresponding to the target service object to construct a bipartite graph; the bipartite graph is composed of the user accounts and the service objects connected by edges; A user feature vector extraction module, configured to extract feature vectors from each node in the bipartite graph to obtain user feature vectors corresponding to each user account; a clustering module, configured to cluster the user accounts based on the user feature vectors corresponding to the user accounts to obtain at least one account group; An account identification module is configured to identify a target account group from the at least one account group based on the service records of the respective user accounts; the target account group is an account group having abnormal designated interactive services.
12. A computer device, characterized in that: The computer device includes a processor and a memory, the memory storing at least one instruction, at least one program, a code set or an instruction set, and the at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by the processor to implement the account identification method according to any one of claims 1 to 10.
13. A computer-readable storage medium, characterized in that The computer-readable storage medium stores at least one computer program, and the computer program is loaded and executed by the processor to implement the account identification method according to any one of claims 1 to 10.
14. A computer program product, characterized in that The computer program product includes at least one computer program, which is loaded and executed by a processor to implement the account identification method according to any one of claims 1 to 10.
Citation Information
Patent Citations
Abnormal account identification method and system
CN106372938A
Abnormality detection method and device based on log graph modeling
CN108920947A