A knowledge graph construction method and system
By constructing a bottom-level map and a high-level map based on the data flow, the problems of high resource consumption and low efficiency in data flow analysis in existing technologies are solved, and efficient and low-cost data analysis is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ALIPAY (HANGZHOU) INFORMATION TECH CO LTD
- Filing Date
- 2022-12-14
- Publication Date
- 2026-07-03
AI Technical Summary
Existing technologies suffer from high computational resource consumption, long analysis time, and high maintenance costs when dealing with scenarios involving large amounts of data flow, especially in the analysis of financial flows, making it difficult to efficiently utilize massive amounts of data.
We construct a low-level graph based on the flow of data, determine a high-level graph with hierarchical relationships, store and query graph data, and use graph analysis and mining algorithms to improve analysis efficiency and reduce resource consumption.
By using graph construction and query methods, the efficiency of data flow analysis is improved, the consumption of computing resources and analysis time are reduced, maintenance costs are lowered, and the application needs of different scenarios are met.
Smart Images

Figure CN116049424B_ABST
Abstract
Description
Technical Field
[0001] This specification relates to the field of computer technology, and in particular to a method and system for constructing knowledge graphs. Background Technology
[0002] In daily life and production, data flow scenarios frequently occur, such as funds moving between different accounts, goods being transported between different warehouses, and users traveling between different locations. As data flows, it generates flow trajectories and information. This data hides a wealth of valuable information, such as user preferences, behavioral habits, and behavioral intentions. Recording this data can assist in user behavior analysis and decision-making, creating more convenience and value for life and production.
[0003] However, as time goes on, the amount of data generated increases, and how to efficiently utilize this massive amount of data becomes a problem that needs to be solved. Summary of the Invention
[0004] This specification provides one or more embodiments of a knowledge graph construction method, the method comprising: determining a bottom-level graph based on flowing data; wherein the bottom-level graph includes entity nodes and edges, and the edges include flowing edges reflecting the flow relationship of data between entity nodes; determining one or more high-level graphs with hierarchical relationships based on the bottom-level graph; wherein the entity nodes of the lower-level graph belong to the entity nodes of the upper-level graph; and storing the bottom-level graph and one or more high-level graphs for querying.
[0005] This specification provides one or more embodiments of a knowledge graph construction system, comprising: a bottom-level graph determination module, used to determine a bottom-level graph based on flowing data; wherein the bottom-level graph includes entity nodes and edges, and the edges include flowing edges reflecting the flow relationship of data between entity nodes; a high-level graph determination module, used to determine one or more high-level graphs with hierarchical relationships based on the bottom-level graph; wherein the entity nodes of the lower-level graph belong to the entity nodes of the upper-level graph; and a graph storage module, used to store the bottom-level graph and one or more high-level graphs for querying.
[0006] One or more embodiments of this specification also provide a data query method, the method comprising: obtaining a query request, the query request including a query graph; and, based on the query graph, obtaining subgraph data for generating query results from a high-level graph obtained as described above using the knowledge graph construction method.
[0007] One or more embodiments of this specification also provide a data query system, the system comprising: a query request acquisition module, configured to acquire a query request, the query request including a query graph; and a query result acquisition module, configured to acquire subgraph data for generating query results from a high-level graph obtained by the knowledge graph construction method described above, based on the query graph.
[0008] This specification provides one or more embodiments of a knowledge graph construction apparatus, including a processor for executing a knowledge graph construction method.
[0009] This specification provides one or more embodiments of a computer-readable storage medium that stores computer instructions. When a computer reads the computer instructions from the storage medium, the computer executes a knowledge graph construction method. Attached Figure Description
[0010] This specification will be further described by way of exemplary embodiments, which will be described in detail with reference to the accompanying drawings. These embodiments are not limiting; in these embodiments, the same reference numerals denote the same structures, wherein:
[0011] Figure 1 This is an exemplary schematic diagram of the underlying map involved in some embodiments of this specification;
[0012] Figure 2 These are exemplary schematic diagrams illustrating a knowledge graph construction method according to some embodiments of this specification;
[0013] Figure 3 This is an exemplary schematic diagram illustrating the determination of high-level maps according to some embodiments of this specification;
[0014] Figure 4 This is an exemplary schematic diagram illustrating the determination of edge characteristics of the flow edges of the upper-level graph according to some embodiments of this specification;
[0015] Figure 5 This is an exemplary schematic diagram illustrating the determination of control characteristics of an upper-level control node according to some embodiments of this specification;
[0016] Figure 6 This is an exemplary block diagram of a knowledge graph construction system according to some embodiments of this specification;
[0017] Figure 7 This is an exemplary block diagram of a data query system according to other embodiments of this specification. Detailed Implementation
[0018] To more clearly illustrate the technical solutions of the embodiments in this specification, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are merely some examples or embodiments of this specification. For those skilled in the art, these drawings can be applied to other similar scenarios without creative effort. Unless obvious from the context or otherwise specified, the same reference numerals in the drawings represent the same structures or operations.
[0019] It should be understood that the terms “system,” “device,” “unit,” and / or “module” used herein are one way to distinguish different components, elements, parts, sections, or assemblies at different levels. However, if other terms can achieve the same purpose, they may be replaced by other expressions.
[0020] As indicated in this specification and claims, unless the context clearly indicates otherwise, the words "a," "an," "an," and / or "the" do not specifically refer to the singular and may also include the plural. Generally speaking, the terms "comprising" and "including" only indicate the inclusion of expressly identified steps and elements, which do not constitute an exclusive list, and the method or apparatus may also include other steps or elements.
[0021] Flowcharts are used in this specification to illustrate the operations performed by the system according to embodiments of this specification. It should be understood that the preceding or following operations are not necessarily performed in exact order. Instead, the steps can be processed in reverse order or simultaneously. Furthermore, other operations can be added to these processes, or one or more steps can be removed from them.
[0022] In daily life and production, data flow scenarios frequently occur, such as funds moving between different accounts, goods being transported between different warehouses, and users traveling between different locations. These scenarios generate a large amount of data flow data, which contains a wealth of valuable information.
[0023] Taking funds as an example, funds can be transferred between users and businesses, between users, and between businesses through various means; this transfer can also be called the flow of funds. By analyzing fund flow data, we can understand the intentions of users or businesses in transferring funds, and promptly detect illegal activities, such as collecting funds through unreasonable means or using funds for illegitimate purposes. Therefore, analyzing fund flow information—for example, tracking the origin (recharge, transfer, etc.) of each transaction, its passage through various places, its duration, and its final destination—can reveal the destination of funds, whether their use is illegal, and the source of funds remaining in a particular account, and whether these sources are legitimate.
[0024] As time goes on, the number of transactions increases, the amount of transaction information grows, and the volume of financial data expands. Current analyses of the source and destination of funds are based on a financial transaction table, where each transaction is stored as a single row. This table records transaction characteristics such as receipts and payments, scenarios, time, and amounts, essentially employing a relational data storage method. However, transaction data exhibits characteristics such as data flow and fund propagation. When businesses need to analyze fund flows, they often need to perform multiple join operations on the same table or multiple tables. Each additional fund flow analysis requires joining the transaction table, which not only exponentially increases computational resources and makes the analysis extremely time-consuming, but also significantly increases the maintenance cost of the analysis code.
[0025] It should be noted that the above examples of fund transfers are for illustrative purposes only and are not intended to limit the application scenarios of the technical solutions disclosed in this specification. For example, they can also be used to analyze call charges, data traffic, cargo transportation, personnel flow, vehicle flow, etc.
[0026] Figure 1 This is an exemplary schematic diagram of the underlying map involved in some embodiments of this specification.
[0027] In some embodiments, a graph, called a low-level graph, can be constructed based on the data flow to represent the data flow. A graph is a semantic network data structure that reveals the relationships between entities (or objects). A graph can include nodes and edges. Nodes represent entities, and there are various types of nodes, called node types, used to indicate different types of entities. Entities can refer to concrete things or abstract things in the real world, such as people, accounts, sub-accounts under an account, place names, concepts, drugs, etc. Edges represent relationships, and there are various types of edges, called edge types, used to indicate different types of relationships. Relationships can be used to express the connection between different entities, for example, Zhang San and Li Si are "friends," or Zhang San transfers 50 yuan to Li Si as a "transaction relationship," etc. The edges of the low-level graph can include flow edges that reflect the flow relationships of data between nodes.
[0028] Flow data can be an abstract representation of information about people or things that flow between different nodes. For example, flow data can be data on funds, phone bills, data traffic, people, goods, vehicles, etc.
[0029] like Figure 1 As shown, the underlying graph 100 may include entity nodes 110 and flow edges 120.
[0030] Entity node 110 can be used to represent various types of entities. In some embodiments, entity node 110 can represent various types of entities, such as accounts (e.g., bank accounts that can store funds, application accounts, etc.), locations, warehouses, buildings, people, companies, etc. In some embodiments, an entity node can represent a sub-account or product under an account (e.g., Yu'ebao, balance, Huabei, Jiebei, etc. under Alipay). In some embodiments, one or more entity nodes can correspond to the same account or different accounts. For example, 130 can represent the first account, 140 can represent the second account, and 150 can represent the third account, with each account having its own corresponding entity node.
[0031] The flow edge 120 can be used to represent the flow of data between entity nodes 110. The flow edge 120 can be a directed edge, pointing from one entity node to another. In some embodiments, the flow edge 120 can also represent the data flow scenario between entity nodes 110. For example, the method of data flow. For example, taking financial data as an example, when the data is funds, phone bills, data traffic, etc., the data can flow from node 1 to node 3. Node 1 can represent the balance in a user's Alipay account, node 2 can represent the user's Yu'ebao (Alipay's money market fund) account, and node 3 can represent another user's bank card. Then, node 1 -> node 2 -> node 3 can represent a sum of money from the user's balance flowing into their Yu'ebao account through a purchase, and then flowing into another user's bank card through a transfer. The path from balance to Yu'ebao to bank card represents the path taken by the financial data flow. In some embodiments, the flow edge can also include the direction of financial data flow and scenario information such as transfer, recharge, and consumption. For example, the flow edge Node 1 -> Node 2 can represent the inflow of 10 yuan from the user's balance to Yu'ebao (Alipay's money market fund) on January 1, 2021, through a purchase of Yu'ebao. The flow edge Node 2 -> Node 3 can represent the transfer of 10 yuan from Yu'ebao to a bank card on January 2, 2021. Node 1 -> Node 2 -> Node 3 indicates that the 10 yuan from Node 1 passed through Nodes 2 and 3 via corresponding flow scenarios (such as transfers and top-ups), ultimately flowing into Node 3. As another example, entity nodes can represent locations, and flow edges can represent the direction and mode of movement of people and vehicles. For yet another example, taking user travel migration as an example, Node 1 can represent Beijing, Node 2 can represent Shanghai, and Node 3 can represent Guangzhou. Therefore, Node 1 -> Node 2 -> Node 3 can represent how a user traveled from Beijing through Shanghai (e.g., walking, cycling, taking a taxi, using public transportation, etc.) and at what time they arrived in Guangzhou.
[0032] The flow of data between entity nodes can be within the same account, such as the flow of funds represented by node 1 -> node 2 -> node 3 above, which can be represented as a flow within the first account 130; or it can be a flow between different accounts, such as... Figure 1 The sequence 1 -> 5 -> 6 can represent the flow between the first account 130 and the third account 150.
[0033] Figure 2 This is an exemplary schematic diagram of a knowledge graph construction method according to some embodiments of this specification.
[0034] In some embodiments, the processing device can build an underlying graph based on the flow data. The flow data may include structured flow data, such as transaction relationship data stored in the form of a data table, or unstructured flow data, such as flow data recorded in the form of text or images.
[0035] Taking the creation of an underlying graph based on fund transaction flow data as an example, the processing device can extract fields corresponding to the sub-accounts storing funds (such as Huabei, Jiebei, Yu'ebao, etc.) from the structured fund flow data as entity nodes for creating the underlying graph. The attribute values of the entity nodes (also known as node instances) are the specific values corresponding to the sub-account fields. Fields corresponding to transaction relationships in the fund flow data (such as transfers, top-ups, consumption, etc.) are used as edges for creating the basic graph. The specific values under the fields corresponding to transaction relationships can be used as the relationship data of the edges (also known as edge instances). Finally, based on the determined nodes and edges, the underlying graph is established. At the same time, the node features of the underlying graph can be determined based on the node instances, and the edge features of the underlying graph can be determined based on the edge instances.
[0036] For unstructured flow data, processing devices can process it in various ways to transform it into structured data. For example, they can extract information related to financial transactions from text and determine the underlying graph based on the structured flow data.
[0037] In this embodiment, by transforming the flow data recorded as relational data into a graph structure, the analysis, mining, and reasoning algorithms of the graph can be used to meet the application needs of different scenarios, improve analysis efficiency, and reduce the resource overhead and time consumption of analysis and computation.
[0038] In some embodiments, in order to better meet the application needs of different scenarios, the processing device can determine one or more high-level maps with hierarchical relationships based on the underlying map.
[0039] A high-level graph can refer to a graph constructed based on a low-level graph. In some embodiments, any graph constructed other than the low-level graph can be called a high-level graph. A high-level graph includes entity nodes and edges. The entity nodes and edges of the high-level graph correspond to the entity nodes and edges of the low-level graph. For example, when the flow data is financial data, the entity nodes of the high-level graph correspond to the accounts or users to which the sub-accounts represented by the entity nodes of the low-level graph belong, and the edges of the high-level graph correspond to one or more flow edges of the low-level graph.
[0040] The hierarchical relationship refers to the subordinate relationship between different graphs, where entity nodes in a lower-level graph are subordinate to entity nodes in a higher-level graph. The concept of hierarchical relationship is relative; it refers to the subordinate relationship between any two graphs. For example, any higher-level graph is a higher-level graph than any lower-level graph. Among multiple higher-level graphs, the hierarchical relationship can be determined based on the subordinate relationships between entity nodes, where entity nodes in a lower-level graph are subordinate to entity nodes in a higher-level graph.
[0041] For example, Figure 2 The dashed arrows in the diagram indicate the hierarchical relationship between nodes in the lower-level graph and nodes in the upper-level graph. Compared to the higher-level graph 204, the lower-level graph 202 is the lower-level graph, and the higher-level graph 204 is the upper-level graph. Similarly, compared to the higher-level graph 206, the lower-level graph 202 is the lower-level graph, and the higher-level graph 206 is the upper-level graph. For example, compared to the higher-level graph 206, since the nodes in the higher-level graph 204 are subordinate to the nodes in the higher-level graph 206, the higher-level graph 204 is the lower-level graph, and the higher-level graph 206 is the upper-level graph. In some embodiments, the hierarchical relationship can also be a hierarchical relationship between two non-adjacent graphs. For example, if a higher-level graph is constructed based on the higher-level graph 206, then compared to the higher-level graph 204, the higher-level graph 204 is the upper-level graph, and the higher-level graph 204 is the lower-level graph.
[0042] In some embodiments, the processing device can determine the higher-level graph based on the entity nodes and edges of the lower-level graph and their corresponding instance data. For example, the nodes and flow edges of the lower-level graph can be counted by traversing the graph, as well as the relationship data (e.g., edge instance data) corresponding to each flow edge. Based on the entity nodes of the lower-level graph, the entity nodes of the higher-level graph can be determined, and based on the relationship data corresponding to each flow edge, the flow edges of the higher-level graph can be determined. For more embodiments on constructing higher-level graphs, please refer to... Figure 3 Related descriptions.
[0043] In some embodiments, nodes in the lower-level graph may include other nodes besides entity nodes. For example, these nodes may indicate the type of sub-account corresponding to the entity node in the lower-level graph, such as whether the sub-account is a product sub-account under Alipay or a product sub-account under a bank card. Nodes in the higher-level graph are similar, and may include other nodes besides entity nodes.
[0044] In some embodiments, the types of entity nodes and edges in the underlying graph can correspond to the types of flowing data. For example, when the flowing data is financial data, the entity nodes in the underlying graph can correspond to sub-accounts storing funds, and the edges in the underlying graph can reflect the flow of financial data between sub-accounts, such as from one sub-account to another. As another example, when the flowing data is logistics data, the entity nodes in the underlying graph can correspond to sub-warehouses storing goods, and the edges in the underlying graph can reflect the transfer of goods between sub-accounts. The entity nodes in the higher-level graph correspond to the accounts or users to which the sub-accounts corresponding to the entity nodes in the underlying graph belong. For example, a sub-account may belong to an account or a user. Users can be natural persons or enterprises.
[0045] In some implementations of this specification, the flow data generated by business operations is abstracted and modeled, the structured flow data is transformed into a graph-structured knowledge graph, and one or more high-level graphs are established in layers. The high-level graphs at different levels are applied to different demand scenarios to solve the needs of differentiated network transaction perspectives.
[0046] In some embodiments, after determining one or more high-level maps, the processing device can store the low-level map and one or more high-level maps for user querying. For example, a user can select a map level according to business needs, such as querying the required sub-map data from high-level map 204 or high-level map 206, and perform business analysis based on the sub-map data to help the user quickly understand more information and assist the user in making business decisions.
[0047] In some embodiments, storage may be to a storage device, a database, or a specified address.
[0048] In some embodiments, the processing device may query in the manner described in the embodiments below.
[0049] The processing device can acquire query requests. A query request may include a query graph. The query graph defines the nodes, edges, and connections between them of the instance data to be searched at the schema level of the knowledge graph ontology. The query graph can correspond to a user's query request and reflect the user's input query conditions. The core issue of searching through a query graph is determining whether the graph data (such as a data graph) contains a subgraph that satisfies the nodes, edges, and connections described by the query graph; therefore, it is also called subgraph matching or graph query. In some embodiments, the processing device can acquire query requests by receiving user input. Based on the query graph, the processing device can retrieve subgraph data from the stored high-level graph to generate query results. The query results may include subgraph data retrieved from the graph based on the query graph and / or statistical and feature information determined based on the subgraph data. This information allows users to quickly understand the content of the retrieved subgraph data, improving the efficiency of user business analysis.
[0050] For example, in financial risk assessment, when it is learned that a gambler has participated in gambling activities, it is necessary to track the source of funds in the accounts under their name. At this time, depending on the user's needs, such as knowing which people or accounts' funds flowed into the gambler's account, analysis can be performed by obtaining sub-graph data from the high-level graph. If the user needs to know which specific accounts the funds flowed into the gambler's account (for example, needing to be accurate to the sub-account level), analysis can be performed by obtaining sub-graph data from the low-level graph. This meets the user's different business needs. At the same time, querying through the graph method allows for a wider range of queries and is more efficient.
[0051] Figure 3 This is an exemplary schematic diagram illustrating the determination of high-level maps according to some embodiments of this specification. See also Figure 3 310 represents the entity node of the lower-level graph, and node 330 represents the entity node of the upper-level graph corresponding to entity node 310 of the lower-level graph.
[0052] In some embodiments, the processing device may determine the nodes of the upper-layer graph based on the labels corresponding to the nodes of the lower-layer graph.
[0053] The label corresponding to an entity node can be an identifier used to distinguish each entity node. The label can be determined based on the attribute values of the entity node. For example, taking the account corresponding to the entity node as an example, the account attribute values can include account ID and account type. Users can choose account ID to distinguish themselves from other entity nodes, or they can choose account type to distinguish themselves from other entity nodes, depending on their actual needs.
[0054] The tags corresponding to entity nodes can be used to distinguish the hierarchical relationships between entity nodes. For example, an entity node in the lower-level graph might be a sub-account of an application software used to store financial data, and an entity node in the upper-level graph might be an account of that application software. Therefore, the entity node in the lower-level graph can have an identifier to indicate that the sub-account corresponding to the lower-level entity node belongs to the same account corresponding to the entity node in the upper-level graph. For example, taking payment software as an example, payment software typically has multiple products, each of which can correspond to a sub-account, such as Alipay's Huabei or Yu'ebao. These sub-accounts can store financial data, and they can belong to the payment software account, such as 2088... The account ID corresponding to the entity node in the upper-level graph can then be used as the tag for the entity node in the lower-level graph. As another example, one or more accounts corresponding to an upper-level graph node can belong to an entity node in a higher-level upper-level graph. For instance, an account corresponding to its application software can belong to a natural person, and the identifier of a natural person can be their identification number. In this case, the identification number can be used as the tag for the graph node at the account level.
[0055] In some embodiments, the processing device can determine the entity nodes of the upper-layer graph based on whether the labels corresponding to one or more entity nodes of the lower-layer graph are the same. For example, the processing device can assign one or more nodes with the same label to an entity node of the upper-layer graph.
[0056] In some embodiments, the processing device may determine the upper-layer flow edge based on the flow endpoint of the lower-layer flow edge and the entity node of the upper-layer graph to which the flow endpoint belongs.
[0057] The endpoints of a flow edge can refer to the starting and ending nodes of the flow edge. For example, 320 can represent a flow edge, and the two nodes of this edge are the flow endpoints.
[0058] The lower-level flow edges are the flow edges of the lower-level graph, for example, Figure 3 The edges between the flow endpoints (nodes) of the lower-level graph in the example are called lower-level flow edges; for example, lower-level flow edge 320. Upper-level flow edges are the flow edges of the upper-level graph; for example, Figure 3 The edges between the flow endpoints (nodes) of the example upper-level graph are called upper-level flow edges, for example, upper-level flow edge 340.
[0059] In some embodiments, for a lower-level flow edge, if the two endpoints of the lower-level flow edge belong to different nodes in the upper-level graph, then the flow edge is determined between the nodes in the upper-level graph to which they belong. For example, if the two endpoints of lower-level flow edge 320 belong to the nodes corresponding to account B and account C in the upper-level graph, respectively, then an upper-level flow edge can be determined between account B and account C. As another example, if the two endpoints of lower-level flow edge 350 both belong to the nodes corresponding to account C in the upper-level graph, then an upper-level flow edge is not determined between the nodes of account C.
[0060] For more information on determining the flow edges of the upper-level graph, please refer to the following section. Figure 4 A detailed description.
[0061] Figure 4 This is an exemplary schematic diagram illustrating the determination of edge characteristics of the flow edges of the upper-level graph according to some embodiments of this specification.
[0062] In some embodiments, the processing device can determine the edge features of the upper-layer flow edges based on the lower-layer flow edges and the dependency relationship between the lower-layer graph and the upper-layer graph. The endpoints of the lower-layer flow edges include a first lower-layer endpoint and a second lower-layer endpoint, and the endpoints of the upper-layer flow edges include a first upper-layer endpoint and a second upper-layer endpoint. The first lower-layer endpoint is subordinate to the first upper-layer endpoint, and the second lower-layer endpoint is subordinate to the second upper-layer endpoint. In some embodiments, the first lower-layer endpoint represents the starting point of the lower-layer flow edge, the second lower-layer endpoint represents the ending point of the lower-layer flow edge, the first upper-layer endpoint represents the starting point of the upper-layer flow edge, and the second upper-layer endpoint represents the ending point of the upper-layer flow edge.
[0063] For example, Figure 4 In this context, 410 and 420 represent lower-level flow edges, respectively. Among the endpoints of lower-level flow edges 410 and 420, the first lower-level endpoint and the second lower-level endpoint belong to endpoints of different upper-level flow edges. For example, the first lower-level endpoint belongs to the first upper-level endpoint of the upper-level flow edge 430, and the second lower-level endpoint belongs to the second upper-level endpoint of the upper-level flow edge 430. Therefore, the edge characteristics of the upper-level flow edge 430 can be determined based on the edge characteristics of lower-level flow edges 410 and 420.
[0064] In some embodiments, the processing device can extract and summarize the edge features of one or more lower-level flow edges to determine the edge features of the upper-level flow edges. For example, assuming that the edge feature corresponding to the lower-level flow edge 410 is a consumption of 30 yuan and a time of 19:00, and the edge feature corresponding to the lower-level flow edge 420 is a transfer of 50 yuan and a time of 19:05, then the edge features of the corresponding upper-level flow edge 430 may include the edge features of the lower-level flow edges 410 and 420. For example, the edge features of the lower-level flow edges 410 and 420 can be directly used as the edge features of the upper-level flow edges, or feature extraction and summarization can be performed on the edge features of the lower-level flow edges 410 and 420 to obtain the edge features corresponding to the upper-level flow edge 430. For example, following the previous example, after extracting and summarizing the edge features of the lower-level circulation edge, we can obtain the edge features corresponding to the upper-level circulation edge as follows: total amount 80 yuan, total number of times 2, scenario features: consumption 37.5%, transfer 62.5%, time features: 18:00~19:00, 37.5%, 19:00~20:00, 62.5%.
[0065] In this embodiment, detailed information of the flow data is extracted and summarized into the upper graph based on the lower graph. For example, the transaction relationship corresponding to the lower flow edge 410 and the lower flow edge 420 is extracted and the key transaction information is summarized. This not only makes it easier for users to conduct business analysis, but also reduces the copying of massive transaction data and the storage of duplicate data.
[0066] Figure 5 This is an exemplary schematic diagram illustrating the determination of control characteristics of an upper-level control node according to some embodiments of this specification.
[0067] In some embodiments, the processing device may determine lower-level control nodes that meet the control conditions based on the lower-level map.
[0068] Control nodes refer to nodes marked in the graph. These nodes can represent high-quality users or high-risk users. For example, considering high-risk users, if a user uses a sub-account or account under their name in an application for money laundering, illegal fundraising, or other illegal activities, the node containing that sub-account or account is marked as a control node when the user's illegal activities are confirmed. (The marking can be added manually.) By identifying nodes in the graph whose relationships with the control node meet the control conditions—for example, a direct connection or a connection within N degrees (where N can be 2, 3, 4, 5, etc.)—or a closed-loop flow relationship with the control node (e.g., data flowing out of the control node and ultimately returning to it), a connection within N degrees indicates a close relationship with the control node. A closed loop may involve money laundering through the closed-loop flow. All nodes on this closed-loop path may be involved in money laundering. Marking these nodes as control nodes helps users quickly identify nodes that require special attention.
[0069] In some embodiments, lower-level control nodes can be represented in various ways. For example, they can be marked by adding labels, node features, or by color-coding or graphic markers in their graphical representation. This specification does not limit this approach. This is merely an example. Figure 5 In the diagram, square nodes represent control nodes, and circles represent non-control nodes.
[0070] In some embodiments, the processing device may determine the lower-level control nodes that meet the control conditions based on the control nodes in the lower-level graph and the corresponding control conditions.
[0071] In some embodiments, the processing device may determine that the entity node of the upper-level graph to which the lower-level control node belongs is the upper-level control node. For example, if control node 510 belongs to node 520 of the upper-level graph, then node 520 may be determined as the upper-level control node.
[0072] In some embodiments, the processing device can determine the upper-level control node based on the correspondence between the entity nodes of the lower-level graph and the entity nodes of the upper-level graph.
[0073] It should be noted that when determining the upper-level control node, it can be one or more nodes in the corresponding lower-level graph. For example, illegal funds may only be transferred through the balance product under a certain account, but this does not affect the marking of the account corresponding to the balance product.
[0074] In some embodiments, the processing device may determine the control characteristics of the upper-layer control node based on the control conditions.
[0075] Control features can refer to node features added to control nodes in the upper-level graph based on control conditions. For example, if the control condition is that the relationship with control node 510 is a neighbor relationship within 3 degrees, then the corresponding control feature could be that the node is a 1-degree neighbor of control node 510. Another example is that if the control condition is that the flow relationship with control nodes forms a closed-loop path, or even that there is a flow relationship with a closed-loop node (i.e., there is an edge between the node and the closed-loop node), then the control feature of the upper-level control node could be that it has a closed-loop flow relationship with control node 510 or has a flow relationship with control node 510.
[0076] In some embodiments, the control characteristics of the upper-level control node corresponding to the lower-level control node can also be determined based on the lower-level control node. For example, if a user marks the control node 510 of the lower-level graph as being involved in gambling as a bookmaker, then the corresponding entity node of the upper-level graph is the control node 520. In this case, the node characteristic of the control node 520 can be "gambling bookmaker", and the node characteristic of the control node that meets the control conditions can be "gambler".
[0077] In some embodiments, users can obtain subgraph information from a data flow graph based on query conditions (or query requests). For example, the path matching condition in the query request includes "node 1 -> node 2", which means that all flow paths containing the path from node 1 to node 2 need to be obtained from the data flow graph. By traversing the entire graph, all subgraph data that satisfy the aforementioned path matching conditions can be obtained. The obtained subgraph data can be used to analyze fund flows, fund sources, and fund security analysis (e.g., whether money laundering is involved).
[0078] It should be noted that the above description is for illustrative purposes only and does not limit the scope of this specification. Those skilled in the art will be able to make various modifications and changes to the embodiments under the guidance of this specification. However, these modifications and changes are still within the scope of this specification.
[0079] Figure 6 This is an exemplary module diagram of a knowledge graph construction system based on some embodiments of this specification. For example... Figure 6 As shown, system 600 may include a bottom-level map determination module 610, a high-level map determination module 620, and a map storage module 630.
[0080] The underlying graph determination module 610 can be used to determine the underlying graph based on the flow data; wherein, the underlying graph includes entity nodes and edges, and the edges include flow edges that reflect the flow relationship of data between entity nodes.
[0081] The high-level graph determination module 620 can be used to determine one or more high-level graphs with hierarchical relationships based on the low-level graph; wherein, the entity nodes of the low-level graph belong to the entity nodes of the high-level graph.
[0082] The map storage module 630 can be used to store the bottom-level map and one or more high-level maps for querying.
[0083] Figure 7 These are exemplary block diagrams of a data query system according to other embodiments of this specification. For example... Figure 7 As shown, system 700 may include a query request acquisition module 710 and a query result acquisition module 720.
[0084] The query request acquisition module 710 can be used to acquire a query request, which includes a query graph;
[0085] The query result acquisition module 720 can be used to acquire subgraph data for generating query results from a high-level graph obtained by the knowledge graph construction method as described in some embodiments of this specification, based on the query graph.
[0086] For a detailed description of each module of the system shown above, please refer to the flowchart section of this manual, for example... Figures 2 to 5 Related explanations.
[0087] It should be understood that Figure 6 The systems and modules shown can be implemented in various ways. For example, in some embodiments, the systems and modules can be implemented by hardware, software, or a combination of both. The hardware portion can be implemented using dedicated logic; the software portion can be stored in memory and executed by an appropriate instruction execution system, such as a microprocessor or dedicated-design hardware. Those skilled in the art will understand that the methods and systems described above can be implemented using computer-executable instructions and / or included in processor control code, for example, on a carrier medium such as a disk, CD, or DVD-ROM, a programmable memory such as read-only memory (firmware), or a data carrier such as an optical or electronic signal carrier. The systems and modules of this specification can be implemented not only by hardware circuits such as very large-scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, or programmable hardware devices such as field-programmable gate arrays, programmable logic devices, etc., but also by software, for example, executed by various types of processors, or by a combination of the aforementioned hardware circuits and software (e.g., firmware).
[0088] It should be noted that the above description of the knowledge graph construction system and its modules is for convenience only and should not be construed as limiting this specification to the embodiments described. It is understood that those skilled in the art, after understanding the principles of the system, may arbitrarily combine the modules or construct subsystems connected to other modules without departing from these principles. For example, in some embodiments, there is a bottom-level graph determination module 610, a high-level graph determination module 620, and a graph storage module 630. For example, the modules may share a single storage module, or each module may have its own separate storage module. Such variations are all within the scope of this specification.
[0089] It should be noted that different embodiments may produce different beneficial effects. In different embodiments, the beneficial effects may be any one or a combination of the above, or any other possible beneficial effects.
[0090] The basic concepts have been described above. Obviously, for those skilled in the art, the detailed disclosure above is merely illustrative and does not constitute a limitation of this specification. Although not explicitly stated herein, those skilled in the art may make various modifications, improvements, and corrections to this specification. Such modifications, improvements, and corrections are suggested in this specification and therefore remain within the spirit and scope of the exemplary embodiments described herein.
[0091] Furthermore, this specification uses specific terms to describe embodiments thereof. For example, "an embodiment," "one embodiment," and / or "some embodiments" refer to a particular feature, structure, or characteristic associated with at least one embodiment of this specification. Therefore, it should be emphasized and noted that references to "an embodiment," "one embodiment," or "an alternative embodiment" in different locations throughout this specification do not necessarily refer to the same embodiment. Moreover, certain features, structures, or characteristics in one or more embodiments of this specification can be appropriately combined.
[0092] Furthermore, those skilled in the art will understand that various aspects of this specification can be described and illustrated in several patentable ways or situations, including any new and useful combination of processes, machines, products, or substances, or any new and useful improvements thereof. Accordingly, various aspects of this specification can be implemented entirely by hardware, entirely by software (including firmware, resident software, microcode, etc.), or by a combination of hardware and software. All of the above hardware or software may be referred to as a “data block,” “module,” “engine,” “unit,” “component,” or “system.” Furthermore, various aspects of this specification may be represented as a computer product located on one or more computer-readable media, including computer-readable program code.
[0093] Computer storage media may contain a propagated data signal containing computer program code, for example, on baseband or as part of a carrier wave. This propagated signal may take various forms, including electromagnetic, optical, and suitable combinations thereof. Computer storage media can be any computer-readable medium other than a computer-readable storage medium, which can be connected to an instruction execution system, apparatus, or device to enable communication, propagation, or transmission of a program for use. The program code located on the computer storage medium can be propagated through any suitable medium, including radio, cable, fiber optic cable, RF, or similar media, or any combination of the above media.
[0094] The computer program code required for the operation of each part of this manual can be written in any one or more programming languages, including object-oriented programming languages such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET, Python, etc.; conventional procedural programming languages such as C, Visual Basic, Fortran 2003, Perl, COBOL2002, PHP, ABAP; dynamic programming languages such as Python, Ruby, and Groovy; or other programming languages. This program code can run entirely on the user's computer, or as a standalone software package on the user's computer, or partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer can be connected to the user's computer via any network, such as a local area network (LAN) or wide area network (WAN), or connected to an external computer (e.g., via the Internet), or in a cloud computing environment, or used as a service such as Software as a Service (SaaS).
[0095] Furthermore, unless expressly stated in the claims, the order of processing elements and sequences, the use of numbers and letters, or other names described in this specification are not intended to limit the order of the processes and methods described herein. Although various examples have been discussed in the foregoing disclosure of some embodiments of the invention that are currently considered useful, it should be understood that such details are for illustrative purposes only, and the appended claims are not limited to the disclosed embodiments; rather, the claims are intended to cover all modifications and equivalent combinations that conform to the spirit and scope of the embodiments described herein. For example, while the system components described above can be implemented using hardware devices, they can also be implemented solely using software solutions, such as installing the described system on existing servers or mobile devices.
[0096] Similarly, it should be noted that, in order to simplify the description disclosed herein and thus aid in the understanding of one or more embodiments of the invention, the foregoing description of embodiments in this specification may sometimes combine multiple features into a single embodiment, drawing, or description thereof. However, this method of disclosure does not imply that the subject matter of this specification requires more features than those mentioned in the claims. In fact, the embodiments contain fewer features than all the features of a single embodiment disclosed above.
[0097] In some embodiments, numbers describing the quantity of components and attributes are used. It should be understood that such numbers used in the description of embodiments are modified in some examples with the terms "approximately," "approximately," or "generally." Unless otherwise stated, "approximately," "approximately," or "generally" indicates that the numbers are allowed to vary by ±20%. Accordingly, in some embodiments, the numerical parameters used in the specification and claims are approximate values, which may be changed depending on the characteristics required by individual embodiments. In some embodiments, numerical parameters should take into account specified significant digits and employ a general method of digit reservation. Although the numerical ranges and parameters used to confirm their breadth of range in some embodiments of this specification are approximate values, in specific embodiments, such values are set as precisely as feasible.
[0098] For each patent, patent application, patent application publication, and other material, such as articles, books, specifications, publications, and documents, referenced in this specification, the entire contents of which are incorporated herein by reference. This excludes historical application documents that are inconsistent with or conflict with the content of this specification, as well as documents that limit the broadest scope of the claims in this specification (currently or subsequently appended to this specification). It should be noted that in the event of any inconsistency or conflict between the descriptions, definitions, and / or terminology used in the supplementary materials to this specification and the content of this specification, the descriptions, definitions, and / or terminology used in this specification shall prevail.
[0099] Finally, it should be understood that the embodiments described in this specification are merely illustrative of the principles of the embodiments described herein. Other variations may also fall within the scope of this specification. Therefore, alternative configurations of the embodiments described herein are intended to be illustrative rather than limiting, and should be considered consistent with the teachings of this specification. Accordingly, the embodiments described herein are not limited to those explicitly introduced and described herein.
Claims
1. A knowledge graph construction method, the method comprising: Based on the flow data, a bottom-level graph is determined; wherein, the bottom-level graph includes entity nodes and edges, and the edges include flow edges that reflect the flow relationship of data between the entity nodes; the flow data includes financial data, and the entity nodes of the bottom-level graph correspond to the sub-accounts storing the funds, and the entity nodes of the upper-level graph correspond to the accounts or users to which the sub-accounts belong; Based on the lower-level graph, one or more higher-level graphs with hierarchical relationships are determined; wherein, the entity nodes of the lower-level graph belong to the entity nodes of the upper-level graph; The bottom-level map and the top-level map are stored for later querying; Based on the lower-level graph, determine the lower-level control nodes that meet the control conditions; The entity node of the upper-level graph to which the lower-level control node belongs is determined to be the upper-level control node; The control characteristics of the upper-level control node are determined based on the control conditions.
2. The method according to claim 1, wherein determining one or more high-level maps with hierarchical relationships based on the bottom-level map includes: Based on the labels corresponding to the entity nodes of the lower-level graph, the entity nodes of the upper-level graph are determined; Based on the endpoints of the lower-level flow edges and the entity nodes of the upper-level graph to which the flow endpoints belong, the upper-level flow edges are determined. The lower-level flow edges are the flow edges of the lower-level graph, and the upper-level flow edges are the flow edges of the upper-level graph.
3. The method according to claim 2, further comprising: Based on the lower-level flow edges and the subordinate relationship between the lower-level graph and the upper-level graph, the edge features of the upper-level flow edges are determined. The endpoints of the lower-level flow edges include a first lower-level endpoint and a second lower-level endpoint. The endpoints of the upper-level flow edges include a first upper-level endpoint and a second upper-level endpoint. The first lower-level endpoint belongs to the first upper-level endpoint, and the second lower-level endpoint belongs to the second upper-level endpoint.
4. A knowledge graph construction system, the system comprising: The underlying graph determination module is used to determine the underlying graph based on the flow data; wherein, the underlying graph includes entity nodes and edges, and the edges include flow edges that reflect the flow relationship of data between the entity nodes; the flow data includes financial data, the entity nodes of the underlying graph correspond to the sub-accounts storing the funds, and the entity nodes of the upper-level graph correspond to the accounts or users to which the sub-accounts belong; A high-level graph determination module is used to determine one or more high-level graphs with hierarchical relationships based on the low-level graph; wherein the entity nodes of the low-level graph belong to the entity nodes of the high-level graph; The graph storage module is used to store the bottom-level graph and one or more high-level graphs for querying; and, based on the bottom-level graph, to determine the lower-level control nodes that meet the control conditions; to determine the entity nodes of the upper-level graph to which the lower-level control nodes belong as upper-level control nodes; and to determine the control characteristics of the upper-level control nodes based on the control conditions.
5. A data query method, the method comprising: Obtain a query request, which includes a query graph; Based on the query graph, subgraph data for generating query results is obtained from the high-level graph obtained by the method described in any one of 1-3.
6. A data query system, the system comprising: The query request acquisition module is used to acquire query requests, which include query graphs; The query result acquisition module is used to acquire subgraph data for generating query results from the high-level map obtained by the method described in any one of 1-3, based on the query map.
7. A knowledge graph construction apparatus, comprising a processor, the processor being configured to execute the knowledge graph construction method according to any one of claims 1 to 3.
8. A computer-readable storage medium storing computer instructions, wherein when a computer reads the computer instructions in the storage medium, the computer executes the knowledge graph construction method as described in any one of claims 1 to 3.