Task distribution method based on knowledge graph

By dividing the knowledge graph nodes according to the confidentiality level and using dynamic programming algorithms to divide the sub-graphs, the problem of knowledge graph sub-graph division in the prior art under the background of authority control is solved, and the balance of task allocation and the integrity of graph structure are achieved.

CN119721624APending Publication Date: 2025-03-28INDUSTRIAL AND COMMERCIAL BANK OF CHINA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411868853.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-18
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

The existing knowledge graph division algorithms are difficult to divide sub-graphs in the context of permission control, and lack effective processing steps when the number of sub-graphs is greater than the number of checkers.

Method used

By dividing the nodes of the knowledge graph into k levels according to the confidentiality level, and corresponding to the authority level of the verification personnel to the confidentiality level, selecting an n-order subgraph of the nodes with the confidentiality level k, and using a dynamic programming algorithm to divide it when the number of k-level subgraphs is greater than the number of verification personnel.

Benefits of technology

It realizes that while ensuring the integrity of the graph structure, tasks are allocated to the checkers, making the task volume of each checker relatively balanced and improving the efficiency and quality of task allocation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119721624A_ABST
    Figure CN119721624A_ABST
Patent Text Reader

Abstract

The invention provides a task distribution method based on a knowledge graph, which can be applied to the technical field of information security. The task distribution method comprises the steps that nodes of a knowledge graph are divided into k grades according to secret-related grades, k is a positive integer larger than or equal to 1, and the grade k is the highest grade; dividing authority levels of to-be-distributed checking personnel into k levels, so that the authority levels are in one-to-one correspondence with the confidential levels; selecting an n-order sub-graph of a node of which the secret-related level is k to obtain a k-level sub-graph; and under the condition that the number of the k-level sub-graphs is greater than the number of the checking personnel with the permission level of k, dividing the k-level sub-graphs to the checking personnel by using a dynamic programming algorithm. The invention discloses a task distribution device and equipment based on a knowledge graph, a medium and a program product.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of information security, and more specifically to a task distribution method, apparatus, device, medium and program product based on knowledge graph. Background Art

[0002] Knowledge graphs are often used for decision support in a variety of fields, including business intelligence, medical diagnosis, financial analysis, etc., and are usually regarded as the authoritative source of knowledge in the field. Therefore, the accuracy and time validity of their own information need to be guaranteed. However, the scale of knowledge graphs is often too large to be completed by a single person, so a large number of people with certain professional knowledge backgrounds are required to review them. When the number of people is large, it is often necessary to manage the reviewers in a hierarchical manner, such as dividing the authority according to their professional level or the confidentiality level involved.

[0003] The existing knowledge graph partitioning algorithms mainly include: Kernighan-Lin algorithm: This is a heuristic algorithm for optimizing the number of edge cuts. It mainly reduces the number of edge connections between two equal-sized subsets by exchanging node pairs. The algorithm iteratively performs node exchange until a certain optimization level is reached or specific conditions are met; Multi-level graph partitioning algorithm: This method handles the graph partitioning problem through three stages: first, the coarsening stage, which simplifies the original graph into a smaller and coarser graph, followed by the partitioning stage, which applies a certain graph partitioning algorithm to the simplified graph, and finally the refinement stage, which applies the partitioning result back to the original graph and optimizes it. This method aims to improve the efficiency and quality of partitioning by simplifying the graph structure; Community detection algorithm (taking modularity maximization as an example): Although it is essentially used to identify natural clusters or communities in the graph, some community detection algorithms, such as modularity maximization, can also be used for graph partitioning. By adjusting the algorithm parameters or using specific techniques, the algorithm can generate a predetermined number of communities, indirectly realizing the partitioning of the graph, with the goal of maximizing the edge density within the community while minimizing the edge connections between communities. It can be seen that the existing knowledge graph partitioning algorithms mainly focus on how to divide a large graph into subgraphs while preserving semantics as much as possible. However, they do not involve subgraph partitioning in the context of permission control, nor the steps to deal with the situation when the number of subgraphs is greater than the number of checkers. Summary of the invention

[0004] In view of the above problems, the present disclosure provides a task distribution method, apparatus, device, medium and program product based on knowledge graph, which distributes the graph to checkers with different permissions according to permissions, so that the sub-graphs obtained by splitting can ensure the integrity of the graph structure as much as possible, while ensuring that the amount of tasks assigned to each checker is relatively balanced.

[0005] According to the first aspect of the present disclosure, a task distribution method based on a knowledge graph is provided, comprising: dividing the nodes of the knowledge graph into k levels according to the confidentiality level, wherein k is a positive integer greater than or equal to 1, and level k is the highest level; dividing the authority levels of the reviewers to be assigned into k levels, so that the authority levels correspond one-to-one with the confidentiality levels; selecting an n-order subgraph of the nodes with a confidentiality level of k to obtain a k-level subgraph; and when the number of k-level subgraphs is greater than the number of reviewers with an authority level of k, using a dynamic programming algorithm to allocate the k-level subgraphs to the reviewers.

[0006] According to an embodiment of the present disclosure, when the number of level k subgraphs is less than the number of reviewers with authority level k, it also includes: executing a spectrum partitioning algorithm on the level k subgraphs until the number of level k subgraphs is greater than the number of reviewers with authority level k.

[0007] According to an embodiment of the present disclosure, k≥2, and further includes: removing nodes with a confidentiality level of k from the knowledge graph; setting k=k-1; if k>0, returning to the step: selecting an n-order subgraph of nodes with a confidentiality level of k to obtain a k-level subgraph; until k≤0, the loop ends.

[0008] According to an embodiment of the present disclosure, the nodes of the knowledge graph are divided into k levels according to the confidentiality level, including: determining the weights of the nodes in the knowledge graph according to the semantic information of the nodes in the knowledge graph and the semantic information of the edges between the nodes; and dividing the knowledge graph into confidentiality levels according to the weights of the nodes in the knowledge graph and the structural information of the knowledge graph.

[0009] According to an embodiment of the present disclosure, in the process of allocating k-level subgraphs to reviewers, the sum of the absolute values ​​of the differences between the nodes in the k-level subgraphs allocated to each reviewer is the smallest.

[0010] According to an embodiment of the present disclosure, a dynamic programming algorithm is used to divide k-level subgraphs to checking personnel, including: sorting the k-level subgraphs according to the number of nodes in each subgraph to obtain sorted subgraphs; considering all possibilities of dividing the sorted subgraphs to checking personnel, and using a dynamic programming algorithm to fill a dynamic programming algorithm table; and using the dynamic programming algorithm table to track the selection of each step, and selecting a solution that can minimize the sum of the absolute values ​​of the differences of the nodes assigned to the checking personnel as the final division solution.

[0011] According to an embodiment of the present disclosure, a spectral partitioning algorithm is performed on a k-level subgraph, including: obtaining the eigenvectors and eigenvalues ​​of the Laplacian matrix of the k-level subgraph; sorting the eigenvalues ​​to obtain the second smallest eigenvalue; and partitioning the k-level subgraph according to the eigenvector corresponding to the second smallest eigenvalue.

[0012] The second aspect of the present disclosure provides a task distribution device based on a knowledge graph, including: a first division module, used to divide the nodes of the knowledge graph into k levels according to the confidentiality level, wherein k is a positive integer greater than or equal to 1, and level k is the highest level; a second division module, used to divide the authority levels of the reviewers to be assigned into k levels, so that the authority levels correspond one-to-one with the confidentiality levels; a selection module, used to select the n-order subgraph of the node with the confidentiality level k to obtain a k-level subgraph; and a distribution module, used to use a dynamic programming algorithm to divide the k-level subgraph to the reviewers when the number of k-level subgraphs is greater than the number of reviewers with the authority level k.

[0013] A third aspect of the present disclosure provides an electronic device, comprising: one or more processors; and a memory for storing one or more computer programs, wherein the one or more processors execute the one or more computer programs to implement the steps of the above method.

[0014] The fourth aspect of the present disclosure further provides a computer-readable storage medium having a computer program or instructions stored thereon, which implements the steps of the above method when the above computer program or instructions are executed by a processor.

[0015] The fifth aspect of the present disclosure further provides a computer program product, including a computer program or instructions, which implement the steps of the above method when the above computer program or instructions are executed by a processor. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] The above contents and other objects, features and advantages of the present disclosure will become more apparent through the following description of the embodiments of the present disclosure with reference to the accompanying drawings, in which:

[0017] Figure 1 The application scenario diagram of the knowledge graph-based task distribution method, device, equipment, medium and program product according to an embodiment of the present disclosure is schematically shown;

[0018] Figure 2 A flowchart of a first knowledge graph-based task distribution method according to an embodiment of the present disclosure is schematically shown;

[0019] Figure 3 A flowchart schematically shows how to divide the nodes of a knowledge graph into k levels according to the confidentiality level according to an embodiment of the present disclosure;

[0020] Figure 4 A flowchart of dividing k-level subgraphs to checkers using a dynamic programming algorithm according to an embodiment of the present disclosure is schematically shown;

[0021] Figure 5A flowchart of a second method for distributing tasks based on a knowledge graph according to an embodiment of the present disclosure is schematically shown;

[0022] Figure 6 Schematically shows a flow chart of executing a spectrum partitioning algorithm on a k-level subgraph according to an embodiment of the present disclosure;

[0023] Figure 7 A flowchart schematically shows a third method for distributing tasks based on a knowledge graph according to an embodiment of the present disclosure;

[0024] Figure 8 A structural block diagram of a task distribution device based on a knowledge graph according to an embodiment of the present disclosure is schematically shown; and

[0025] Fig. 9 A block diagram of an electronic device suitable for implementing a task distribution method based on a knowledge graph according to an embodiment of the present disclosure is schematically shown. DETAILED DESCRIPTION

[0026] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of the present disclosure. In the following detailed description, for ease of explanation, many specific details are set forth to provide a comprehensive understanding of the embodiments of the present disclosure. However, it is apparent that one or more embodiments may also be implemented without these specific details. In addition, in the following description, descriptions of known structures and technologies are omitted to avoid unnecessary confusion of the concepts of the present disclosure.

[0027] The terms used herein are only for describing specific embodiments and are not intended to limit the present disclosure. The terms "comprise", "include", etc. used herein indicate the existence of features, steps, operations and / or components, but do not exclude the existence or addition of one or more other features, steps, operations or components.

[0028] All terms (including technical and scientific terms) used herein have the meanings commonly understood by those skilled in the art unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification and should not be interpreted in an idealized or overly rigid manner.

[0029] When using expressions such as "at least one of A, B, and C, etc.", they should generally be interpreted according to the meaning of the expression commonly understood by those skilled in the art (for example, "a system having at least one of A, B, and C" should include but is not limited to a system having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, C, etc.).

[0030] In the technical solution of the present disclosure, the user information (including but not limited to user personal information, user image information, user device information, such as location information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved are all information and data authorized by the user or fully authorized by all parties, and the collection, storage, use, processing, transmission, provision, disclosure and application of the relevant data comply with relevant laws, regulations and standards, take necessary confidentiality measures, do not violate public order and good morals, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0031] In the scenario of using personal information for automated decision-making, the methods, devices, and systems provided by the embodiments of the present disclosure provide users with corresponding operation portals for users to choose to agree or reject the automated decision-making results; if the user chooses to reject, the expert decision-making process will be entered. The expression "automated decision-making" here refers to the activity of automatically analyzing and evaluating a person's behavioral habits, interests and hobbies, or economic, health, credit status, etc. through computer programs, and making decisions. The expression "expert decision-making" here refers to the activity of making decisions by people who specialize in a certain field, have specialized experience, knowledge and skills, and have reached a certain level of professionalism.

[0032] The scale of knowledge graphs is often too large to be completed by a single person. Therefore, a large number of people with certain professional knowledge backgrounds are required to review. When the number of people is large, it is often necessary to manage the reviewers in a hierarchical manner, such as dividing the authority according to their professional level or the confidentiality level involved. Poor quality division results will affect the efficiency of the review. Therefore, knowledge graph division methods have become a major research direction in the field of knowledge graphs. At present, knowledge graph division can be divided into knowledge graph division methods based on graph structure and knowledge graph division methods based on semantics. (1) Knowledge graph division based on graph structure does not consider the semantic relationship represented by nodes and edges in the knowledge graph, but only focuses on the structure of the graph itself, and divides based on traditional graph division algorithms. For example, some studies divide the knowledge graph based on the classic METIS algorithm and perform n-hop extension to improve data query performance; some studies cluster the knowledge graph based on existing clustering algorithms to mine graph structure features, and on this basis consider the load balancing constraints of shards to achieve partitioning. (2) Semantic-based knowledge graph partitioning considers the semantics represented by nodes and edges, and partitions the knowledge graph based on the semantic information of the knowledge graph itself or in combination with query load information. For example, the semantic hash partitioning method uses the subject in the triple as the key value to partition the triples with the same subject into the same partition. This allows any star query that requires a join operation on the subject to be executed without communication costs, effectively reducing the query communication cost in a distributed environment. For example, the query load-based pattern partitioning method considers user query preferences, mines frequent query patterns in the query load, and assigns matching items of the same query pattern to the same partition. When querying, the partition where the subquery pattern is located is found according to the frequent pattern tree index for join solution.

[0033] An embodiment of the present disclosure provides a task distribution method based on a knowledge graph, comprising: dividing the nodes of the knowledge graph into k levels according to the confidentiality level, wherein k is a positive integer greater than or equal to 1, and level k is the highest level; dividing the authority levels of the reviewers to be assigned into k levels, so that the authority levels correspond one-to-one to the confidentiality levels; selecting an n-order subgraph of the nodes with a confidentiality level of k to obtain a k-level subgraph; and when the number of k-level subgraphs is greater than the number of reviewers with an authority level of k, using a dynamic programming algorithm to divide the k-level subgraphs to the reviewers.

[0034] Figure 1 The application scenario diagram of the knowledge graph-based task distribution method, apparatus, device, medium and program product according to an embodiment of the present disclosure is schematically shown.

[0035] like Figure 1As shown, the application scenario 100 according to this embodiment may include a first terminal device 101, a second terminal device 102, a third terminal device 103, a network 104 and a server 105. The network 104 is used to provide a medium for a communication link between the first terminal device 101, the second terminal device 102, the third terminal device 103 and the server 105. The network 104 may include various connection types, such as wired, wireless communication links or optical fiber cables, etc.

[0036] The user can use the first terminal device 101, the second terminal device 102, and the third terminal device 103 to interact with the server 105 through the network 104 to receive or send messages, etc. Various communication client applications can be installed on the first terminal device 101, the second terminal device 102, and the third terminal device 103, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social platform software, etc. (only for example).

[0037] The first terminal device 101, the second terminal device 102, and the third terminal device 103 may be various electronic devices having display screens and supporting web browsing, including but not limited to smart phones, tablet computers, laptop computers, desktop computers, and the like.

[0038] The server 105 may be a server that provides various services, such as a background management server (only as an example) that provides support for websites browsed by users using the first terminal device 101, the second terminal device 102, and the third terminal device 103. The background management server may analyze and process the received data such as user requests, and feed back the processing results (such as web pages, information, or data obtained or generated according to user requests) to the terminal device.

[0039] It should be noted that the task distribution method based on the knowledge graph provided in the embodiment of the present disclosure can generally be executed by the server 105. Accordingly, the task distribution device based on the knowledge graph provided in the embodiment of the present disclosure can generally be set in the server 105. The task distribution method based on the knowledge graph provided in the embodiment of the present disclosure can also be executed by a server or server cluster that is different from the server 105 and can communicate with the first terminal device 101, the second terminal device 102, the third terminal device 103 and / or the server 105. Accordingly, the task distribution device based on the knowledge graph provided in the embodiment of the present disclosure can also be set in a server or server cluster that is different from the server 105 and can communicate with the first terminal device 101, the second terminal device 102, the third terminal device 103 and / or the server 105.

[0040] It should be understood that Figure 1The number of terminal devices, networks and servers in the embodiment is only for illustration. Any number of terminal devices, networks and servers may be provided according to the implementation requirements.

[0041] The following will be based on Figure 1 The scene described by Figure 2~Figure 8 The task distribution method based on knowledge graph of the disclosed embodiment is described in detail.

[0042] Figure 2 The flowchart of the first knowledge graph-based task distribution method according to an embodiment of the present disclosure is schematically shown.

[0043] like Figure 2 As shown, the first knowledge graph-based task distribution method of this embodiment includes operations S210 to S240.

[0044] In operation S210, the nodes of the knowledge graph are divided into k levels according to the confidentiality level, where k is a positive integer greater than or equal to 1, and level k is the highest level.

[0045] Figure 3 The flowchart schematically shows a method of dividing the nodes of the knowledge graph into k levels according to the confidentiality level according to an embodiment of the present disclosure.

[0046] In the embodiments of the present disclosure, the knowledge graph is a graph-based data structure consisting of nodes and edges. Each node represents an "entity" and each edge is a "relationship" between entities. The knowledge graph is essentially a semantic network.

[0047] like Figure 3 As shown, the method of dividing the nodes of the knowledge graph into k levels according to the confidentiality level in this embodiment includes operations S211 to S212.

[0048] In operation S211, the weights of the nodes in the knowledge graph are determined based on the semantic information of the nodes in the knowledge graph and the semantic information of the edges between the nodes.

[0049] In an embodiment of the present disclosure, a node in a knowledge graph is used to represent an entity. An edge in a knowledge graph has a direction, which is used to connect two nodes, and represents the relationship between an entity and an entity, or the relationship between an entity and an attribute value of an entity. The semantic information of a node refers to the semantic features of the node information of the node. The node information may include node attribute information and / or an association relationship between nodes. The node attribute information may include a node identifier, a node name, a node type, etc. The node identifier refers to an identifier that uniquely identifies a node in a knowledge graph. The semantic information of an edge refers to the semantic features of the edge information of an edge. The edge information of an edge may include edge attribute information and / or an association relationship between edges. The edge attribute information may include an edge identifier, an edge name, and an edge type. The edge identifier refers to an identifier that uniquely identifies an edge in a knowledge graph. Each node in a knowledge graph has a corresponding weight value, and the size of the weight value of each node is used to reflect the weight relationship between the entities corresponding to each node. Each edge in a knowledge graph has a corresponding weight value, and the size of the weight value of each edge is used to reflect the weight relationship between the relationships corresponding to each edge.

[0050] In operation S212, the knowledge graph is classified into confidentiality levels according to the weights of the nodes in the knowledge graph and the structural information of the knowledge graph.

[0051] In an embodiment of the present disclosure, the higher the weight of a node, the higher the concept corresponding to the node in the structure of the knowledge graph, and the higher the corresponding score. The scores of all nodes are sorted from high to low, and the nodes are divided into confidentiality levels according to preset confidentiality levels and their corresponding ratios or thresholds.

[0052] For example, the nodes of the knowledge graph are divided into three levels according to the confidentiality level, where the proportions of level 3, level 2 and level 1 are 20%, 30% and 50% respectively. Then, the nodes with the top 20% scores correspond to the third confidentiality level, the nodes with the top 20% to 50% scores correspond to the second confidentiality level, and the remaining nodes correspond to the first confidentiality level. Among them, the nodes at level 3 are the highest level.

[0053] Comparison Figure 2 In operation S220, the authority levels of the checkers to be assigned are divided into k levels so that the authority levels correspond to the confidentiality levels one by one.

[0054] In the embodiment of the present disclosure, the confidentiality level of the node corresponding to the reviewer with authority level k is also k. The authority level k is the highest and can access nodes with confidentiality levels k and below. The minimum k is 1, and the authority level k-1 can access nodes with confidentiality levels k-1 and below, and so on.

[0055] In the embodiments of the present disclosure, the authority level of the checker to be assigned can be comprehensively determined based on the checker's position, years of work experience, professional background, etc.

[0056] In operation S230, an n-order subgraph of nodes with a confidentiality level of k is selected to obtain a k-level subgraph.

[0057] In an embodiment of the present disclosure, an n-order subgraph refers to a graph with n vertices. The order of a graph refers to the number of vertices in the graph. Specifically, if the vertex set V(G) of a graph G contains n vertices, then the graph is called an n-order graph. For node A, if it appears in x subgraphs, the number of n-order subgraphs of node A is x. If the number of vertices in a subgraph is 3, then the subgraph is an order-3 subgraph of node A. Because there may be fewer nodes with high confidentiality permissions and they are sparse in the graph, filtering them alone can easily form isolated points. Therefore, the n-order subgraphs of the nodes are filtered to ensure semantic integrity.

[0058] In operation S240 , when the number of the k-level subgraphs is greater than the number of the reviewers with the authority level k, the k-level subgraphs are divided to the reviewers using a dynamic programming algorithm.

[0059] In an embodiment of the present disclosure, the dynamic programming solution to the optimal allocation problem can be used to abstract the problem of evenly allocating m subgraphs with different numbers of nodes to n people as follows: there are m piles of apples, and the number of apples in each pile may not be the same, and they need to be allocated to n people (m>=n). It is necessary to ensure that after the allocation, the sum of the absolute values ​​of the differences in the total number of apples allocated to any two people is the smallest, that is, the distribution is the most balanced.

[0060] Definition state: dp[i][j] represents the minimum "sum of the absolute values ​​of the differences between the total numbers of apples distributed to any two people" that can be achieved when the first i piles of apples are distributed to j people.

[0061] State transition equation: To calculate dp[i][j], we need to consider all possible ways to distribute the i-th pile of apples to the first j individuals and choose the one that minimizes the sum of the absolute values ​​of the current differences. This involves allocating the i-th pile of apples to a certain person while considering how to distribute the remaining apples to others.

[0062] Initialization: dp[0][j] = 0 For all j, the sum of the absolute values ​​of the time differences when no apples are allocated is 0.

[0063] Boundary condition: When i < j, that is, the number of apple piles is less than the number of people, this is an impossible situation. You can initialize a large value to indicate that this situation is impossible.

[0064] Goal: Calculate dp[m][n], which is the optimal solution to allocate to everyone after considering all the piles of apples.

[0065] Implementation steps: Sort each pile of apples to optimize the distribution; use dynamic programming to fill the dp table; and track the choices made at each step to reconstruct the final distribution plan.

[0066] Figure 4 The flowchart of dividing k-level subgraphs to reviewers using a dynamic programming algorithm according to an embodiment of the present disclosure is schematically shown.

[0067] like Figure 4 As shown, the method of using the dynamic programming algorithm to divide the k-level subgraphs to the checking personnel in this embodiment includes operations S241 to S243.

[0068] In operation S241 , the k-level subgraphs are sorted according to the number of nodes in each subgraph to obtain sorted subgraphs.

[0069] In the embodiments of the present disclosure, the order of a subgraph in a k-level subgraph is equal to the number of nodes in the subgraph, such as the number of nodes in an n-order subgraph is n, and sorting by the number of nodes can be understood as sorting by the order of the subgraph, such as 3-order subgraph, 2-order subgraph, 1-order subgraph. Subgraphs with the same number of nodes are sorted in parallel.

[0070] In operation S242 , all possibilities of dividing the sorted subgraphs to the reviewers are considered, and a dynamic programming algorithm is used to fill a dynamic programming algorithm table.

[0071] In an embodiment of the present disclosure, a dynamic programming algorithm is used to decompose a complex problem into a plurality of simple sub-problems for solving, and the answers to the sub-problems are stored in a memory data structure. When the sub-problems need to be solved again, only the results need to be checked without repeating the calculation, thus saving calculation time.

[0072] In operation S243, a dynamic programming algorithm table is used to track the selection of each step, and a solution that minimizes the sum of the absolute values ​​of the differences of the nodes assigned to the checking personnel is selected as the final division solution.

[0073] In the embodiments of the present disclosure, a permission-safe division method is adopted, and for knowledge graphs containing professional knowledge or involving confidential information, nodes of different levels can be reviewed by personnel with relevant permissions. A dynamic programming allocation method is adopted, so that the tasks assigned to reviewers with the same permissions are more balanced.

[0074] Figure 5 The flowchart of the second task distribution method based on knowledge graph according to an embodiment of the present disclosure is schematically shown.

[0075] like Figure 5As shown in FIG. 1 , when the number of level k subgraphs is less than the number of reviewers with authority level k, the second task distribution method based on knowledge graph in this embodiment is Figure 2 Based on the method shown, before operation S240 , the method further includes operation 250 .

[0076] In operation 250 , a spectrum partitioning algorithm is performed on the k-level subgraphs until the number of the k-level subgraphs is greater than the number of reviewers with authority level k.

[0077] Figure 6 The flowchart of executing the spectrum partitioning algorithm on the k-level subgraph according to the embodiment of the present disclosure is schematically shown.

[0078] like Figure 6 As shown, the method of executing the spectrum partitioning algorithm on the k-level subgraph in this embodiment includes operations S251 to S253.

[0079] In operation S251, eigenvectors and eigenvalues ​​of the Laplacian matrix of the k-level subgraph are obtained.

[0080] In an embodiment of the present disclosure, the Laplacian matrix is ​​a semi-positive definite matrix; the number of times 0 appears in the eigenvalue is the number of connected regions of the graph; the minimum eigenvalue is 0 because the sum of each row of the Laplacian matrix is ​​0; the minimum non-zero eigenvalue is the algebraic connectivity of the graph.

[0081] In operation S252, the eigenvalues ​​are sorted to obtain the second smallest eigenvalue.

[0082] In an embodiment of the present disclosure, the smallest eigenvalue is 0, and the second smallest eigenvalue, that is, the smallest non-zero eigenvalue, is the algebraic connectivity of the graph.

[0083] In operation S253, the k-level subgraph is divided according to the eigenvector corresponding to the second smallest eigenvalue.

[0084] In an embodiment of the present disclosure, the spectral partitioning method is performed based on the eigenvectors of the Laplacian matrix of the graph. In particular, the eigenvector corresponding to the second smallest eigenvalue is used to guide the partitioning of the graph. This method uses the spectrum of the graph (i.e., the eigenvalues ​​and eigenvectors of the Laplacian matrix) to find a partitioning method that aims to minimize the number of edge cuts. This method is also mainly used for binary partitioning, but can be extended to multi-partitioning through recursive partitioning. Using the spectral partitioning method, large-scale knowledge graphs can be split while trying to ensure their graph structure and voice information, thereby realizing crowdsourcing review.

[0085] Figure 7 The flowchart of the third knowledge graph-based task distribution method according to an embodiment of the present disclosure is schematically shown.

[0086] like Figure 7 As shown, k≥2, the third task distribution method based on knowledge graph in this embodiment is Figure 5 The task distribution method shown also includes operations S260 to S270.

[0087] In operation 260, nodes with a confidentiality level of k are removed from the knowledge graph.

[0088] In the embodiment of the present disclosure, only the nodes of level k are deleted instead of deleting the entire subgraph because the integrity of the graph structure should be guaranteed as much as possible and a large number of dangling edges that cannot be allocated should be avoided.

[0089] In operation 270, k=k-1 is set. If k>0, the process returns to operation S230; if ≤0, the loop ends.

[0090] In the embodiment of the present disclosure, nodes of different confidentiality levels are allocated in descending order according to the node level. For example, if k=4, after the allocation of nodes with confidentiality level 4 is completed, the nodes with confidentiality levels 3, 2, and 1 are allocated in descending order. k>0 indicates that there are nodes of corresponding levels that have not been allocated, and steps S230-S250 need to be executed repeatedly to complete the allocation of corresponding nodes.

[0091] Based on the above-mentioned task distribution method based on knowledge graph, the present disclosure also provides a task distribution device based on knowledge graph. Figure 8 The device is described in detail.

[0092] Figure 8 The structural block diagram of a task distribution device based on a knowledge graph according to an embodiment of the present disclosure is schematically shown.

[0093] like Figure 8 As shown, the knowledge graph-based task distribution device 800 of this embodiment includes a first division module 810, a second division module 820, a selection module 830 and a distribution module 840.

[0094] The first division module 810 is used to divide the nodes of the knowledge graph into k levels according to the confidentiality level, where k is a positive integer greater than or equal to 1, and level k is the highest level. In one embodiment, the first division module 810 can be used to perform the operation S210 described above, which will not be repeated here.

[0095] The second division module 820 is used to divide the authority levels of the to-be-assigned checking personnel into k levels so that the authority levels correspond to the confidentiality levels. In one embodiment, the second division module 820 can be used to perform the operation S220 described above, which will not be described in detail here.

[0096] The selection module 830 is used to select the n-order subgraph of the nodes with a confidentiality level of k to obtain a k-level subgraph. In one embodiment, the selection module 830 can be used to perform the operation S230 described above, which will not be described in detail here.

[0097] The distribution module 840 is used to divide the k-level subgraphs to the checkers using a dynamic programming algorithm when the number of k-level subgraphs is greater than the number of checkers with authority level k. In one embodiment, the distribution module 840 can be used to perform the operation S240 described above, which will not be repeated here.

[0098] According to an embodiment of the present disclosure, the first division module 810 may include a weight confirmation submodule 811 and a confidentiality level division submodule 812 .

[0099] The weight confirmation submodule 811 is used to determine the weight of the node in the knowledge graph according to the semantic information of the node in the knowledge graph and the semantic information of the edge between the nodes. In one embodiment, the weight confirmation submodule 811 can be used to perform the operation S211 described above, which will not be repeated here.

[0100] The confidentiality classification submodule 812 is used to classify the knowledge graph into confidentiality levels according to the weights of the nodes in the knowledge graph and the structural information of the knowledge graph. In one embodiment, the confidentiality classification submodule 812 can be used to perform the operation S212 described above, which will not be repeated here.

[0101] According to an embodiment of the present disclosure, the distribution module 840 may include a sorting submodule 841 , a dynamic programming submodule 842 , and a distribution submodule 843 .

[0102] The sorting submodule 841 is used to sort the k-level subgraphs according to the number of nodes in each subgraph to obtain sorted subgraphs. In one embodiment, the sorting submodule 841 can be used to perform the operation S241 described above, which will not be described in detail here.

[0103] The dynamic programming submodule 842 is used to consider all possibilities of assigning the sorted subgraphs to the checking personnel and fill the dynamic programming algorithm table using the dynamic programming algorithm. In one embodiment, the dynamic programming submodule 842 can be used to perform the operation S242 described above, which will not be described in detail here.

[0104] The distribution submodule 843 is used to track the selection of each step using the dynamic programming algorithm table, and select the solution that can minimize the sum of the absolute values ​​of the differences of the nodes assigned to the checkers as the final division solution. In one embodiment, the distribution submodule 843 can be used to perform the operation S243 described above, which will not be repeated here.

[0105] According to an embodiment of the present disclosure, the knowledge graph-based task distribution device 800 may further include a spectrum partitioning module 850 .

[0106] The spectrum partitioning module 850 is used to perform a spectrum partitioning algorithm on the k-level subgraphs until the number of the k-level subgraphs is greater than the number of reviewers with authority level k. In one embodiment, the distribution module 850 can be used to perform the operation S250 described above, which will not be described in detail here.

[0107] According to an embodiment of the present disclosure, the spectrum partitioning module 850 may include an acquisition submodule 851 , an eigenvalue acquisition submodule 852 , and a subgraph partitioning submodule 853 .

[0108] The acquisition submodule 851 is used to acquire the eigenvectors and eigenvalues ​​of the Laplacian matrix of the k-level subgraph. In one embodiment, the acquisition submodule 851 can be used to perform the operation S251 described above, which will not be described in detail here.

[0109] The eigenvalue acquisition submodule 852 is used to sort the eigenvalues ​​to obtain the second smallest eigenvalue. In one embodiment, the eigenvalue acquisition submodule 852 can be used to perform the operation S252 described above, which will not be described in detail here.

[0110] The subgraph division submodule 853 is used to divide the k-level subgraph according to the eigenvector corresponding to the second smallest eigenvalue. In one embodiment, the subgraph division submodule 853 can be used to perform the operation S253 described above, which will not be described in detail here.

[0111] According to an embodiment of the present disclosure, the task distribution device 800 based on the knowledge graph may further include a removal module 860 , a command module 870 , a loop judgment module 880 and an end judgment module 890 .

[0112] The removal module 860 is used to remove nodes with a confidentiality level of k from the knowledge graph. In one embodiment, the removal module 860 can be used to perform the operation S260 described above, which will not be described in detail here.

[0113] The command module 870 is used to set k = k-1. In one embodiment, the command module 870 can be used to execute the operation S270 described above, which will not be described in detail here.

[0114] The loop determination module 880 is used to return to the step of selecting the n-order subgraph of the nodes with the confidentiality level k to obtain the k-level subgraph if k>0. In one embodiment, the loop determination module 880 can be used to perform the operation S280 described above, which will not be repeated here.

[0115] The end judgment module 890 is used to terminate the loop until k≤0. In one embodiment, the end judgment module 890 can be used to execute the operation S280 described above, which will not be described in detail here.

[0116] According to the embodiments of the present invention, any one or more of the modules, submodules, units, and subunits, or at least part of the functions of any one of them can be implemented in one module. According to the embodiments of the present invention, any one or more of the modules, submodules, units, and subunits can be split into multiple modules for implementation. According to the embodiments of the present invention, any one or more of the modules, submodules, units, and subunits can be at least partially implemented as hardware circuits, such as field programmable gate arrays (FPGAs), programmable logic arrays (PLAs), systems on chips, systems on substrates, systems on packages, application specific integrated circuits (ASICs), or can be implemented by hardware or firmware in any other reasonable way of integrating or packaging circuits, or can be implemented in any one of the three implementation methods of software, hardware, and firmware, or in any appropriate combination of any of them. Alternatively, according to the embodiments of the present invention, one or more of the modules, submodules, units, and subunits can be at least partially implemented as computer program modules, and when the computer program modules are run, the corresponding functions can be performed.

[0117] For example, any multiple modules of the first partitioning module 810, the second partitioning module 820, the selection module 830, and the distribution module 840 can be combined in one module for implementation, or any one of the modules can be split into multiple modules. Alternatively, at least part of the functions of one or more of these modules can be combined with at least part of the functions of other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the first partitioning module 810, the second partitioning module 820, the selection module 830, and the distribution module 8400 can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application specific integrated circuit (ASIC), or can be implemented by hardware or firmware such as any other reasonable way of integrating or packaging the circuit, or implemented in any one of the three implementation methods of software, hardware, and firmware, or in any appropriate combination of any of them. Alternatively, at least one of the first partitioning module 810, the second partitioning module 820, the selection module 830 and the distribution module 840 may be at least partially implemented as a computer program module, and when the computer program module is executed, the corresponding function may be executed.

[0118] Fig. 9 A block diagram of an electronic device suitable for implementing a task distribution method based on a knowledge graph according to an embodiment of the present disclosure is schematically shown.

[0119] like Fig. 9 As shown, the electronic device 900 according to an embodiment of the present disclosure includes a processor 901, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 902 or a program loaded from a storage part 908 to a random access memory (RAM) 903. The processor 901 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or a related chipset and / or a dedicated microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 901 may also include an onboard memory for caching purposes. The processor 901 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present disclosure.

[0120] In RAM 903, various programs and data required for the operation of electronic device 900 are stored. Processor 901, ROM 902 and RAM 903 are connected to each other via bus 904. Processor 901 performs various operations of the method flow according to the embodiment of the present disclosure by executing the program in ROM 902 and / or RAM 903. It should be noted that the program can also be stored in one or more memories other than ROM 902 and RAM 903. Processor 901 can also perform various operations of the method flow according to the embodiment of the present disclosure by executing the program stored in one or more memories.

[0121] According to an embodiment of the present disclosure, the electronic device 900 may further include an input / output (I / O) interface 905, which is also connected to the bus 904. The electronic device 900 may further include one or more of the following components connected to the input / output (I / O) interface 905: an input portion 906 including a keyboard, a mouse, etc.; an output portion 907 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage portion 908 including a hard disk, etc.; and a communication portion 909 including a network interface card such as a LAN card, a modem, etc. The communication portion 909 performs communication processing via a network such as the Internet. A drive 910 is also connected to the input / output (I / O) interface 905 as needed. A removable medium 911, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 910 as needed, so that a computer program read therefrom is installed into the storage portion 908 as needed.

[0122] The present disclosure also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or may exist independently without being assembled into the device / apparatus / system. The above computer-readable storage medium carries one or more programs, and when the above one or more programs are executed, the method according to the embodiment of the present disclosure is implemented.

[0123] According to an embodiment of the present disclosure, a computer-readable storage medium may be a non-volatile computer-readable storage medium, for example, may include but is not limited to: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination with an instruction execution system, an apparatus or a device. For example, according to an embodiment of the present disclosure, a computer-readable storage medium may include the ROM 902 and / or RAM 903 described above and / or one or more memories other than ROM 902 and RAM 903.

[0124] The embodiment of the present disclosure also includes a computer program product, which includes a computer program, and the computer program contains program code for executing the method shown in the flowchart. When the computer program product is run in a computer system, the program code is used to enable the computer system to implement the task distribution method based on the knowledge graph provided in the embodiment of the present disclosure.

[0125] The above functions defined in the system / device of the embodiment of the present disclosure are performed when the computer program is executed by the processor 901. According to the embodiment of the present disclosure, the system, device, module, unit, etc. described above can be implemented by a computer program module.

[0126] In one embodiment, the computer program may be based on a tangible storage medium such as an optical storage device, a magnetic storage device, etc. In another embodiment, the computer program may also be transmitted and distributed in the form of a signal on a network medium, and downloaded and installed through the communication part 909, and / or installed from a removable medium 911. The program code contained in the computer program may be transmitted using any appropriate network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.

[0127] In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 909, and / or installed from the removable medium 911. When the computer program is executed by the processor 901, the above functions defined in the system of the embodiment of the present disclosure are performed. According to the embodiment of the present disclosure, the system, device, means, module, unit, etc. described above can be implemented by a computer program module.

[0128] According to an embodiment of the present disclosure, the program code for executing the computer program provided by the embodiment of the present disclosure can be written in any combination of one or more programming languages. Specifically, these computing programs can be implemented using high-level process and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages ​​include, but are not limited to, Java, C++, python, "C" language or similar programming languages. The program code can be executed entirely on the user computing device, partially on the user device, partially on the remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device can be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computing device (for example, using an Internet service provider to connect through the Internet).

[0129] The flow charts and block diagrams in the accompanying drawings illustrate the possible architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flow chart, and the combination of the boxes in the block diagram or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0130] It will be appreciated by those skilled in the art that the features described in the various embodiments of the present disclosure may be combined and / or combined in a variety of ways, even if such combinations or combinations are not explicitly described in the present disclosure. In particular, without departing from the spirit and teachings of the present disclosure, the features described in the various embodiments of the present disclosure may be combined and / or combined in a variety of ways. All of these combinations and / or combinations fall within the scope of the present disclosure.

[0131] The embodiments of the present disclosure are described above. However, these embodiments are only for illustrative purposes and are not intended to limit the scope of the present disclosure. Although the embodiments are described above, this does not mean that the measures in the various embodiments cannot be used in combination to advantage. Without departing from the scope of the present disclosure, those skilled in the art may make a variety of substitutions and modifications, which should all fall within the scope of the present disclosure.

Claims

1. A task distribution method based on knowledge graph, characterized in that: The method comprises: Divide the nodes of the knowledge graph into k levels according to the confidentiality level, where k is a positive integer greater than or equal to 1, and level k is the highest level; Divide the authority levels of the checkers to be assigned into k levels, so that the authority levels correspond to the confidentiality levels one by one; Select the n-order subgraph of nodes with a confidentiality level of k to obtain a k-level subgraph; and When the number of the k-level subgraphs is greater than the number of checking personnel with authority level k, a dynamic programming algorithm is used to divide the k-level subgraphs into checking personnel.

2. The method according to claim 1, characterized in that In the case where the number of the k-level subgraphs is less than the number of reviewers with authority level k, the method further includes: A spectrum partitioning algorithm is executed on the k-level subgraphs until the number of the k-level subgraphs is greater than the number of reviewers with authority level k.

3. The method according to claim 2, characterized in that k≥2, the method further comprises: Remove nodes with confidentiality level k from the knowledge graph; Let k = k-1; If k>0, return to step: select the n-order subgraph of nodes with confidentiality level k to obtain the k-level subgraph; The loop ends when k≤0.

4. The method according to claim 1, characterized in that: The nodes of the knowledge graph are divided into k levels according to the confidentiality level, including: Determining the weights of the nodes in the knowledge graph according to the semantic information of the nodes in the knowledge graph and the semantic information of the edges between the nodes; and The knowledge graph is divided into confidentiality levels according to the weights of the nodes in the knowledge graph and the structural information of the knowledge graph.

5. The method according to claim 1, characterized in that In the process of allocating the k-level subgraphs to the checking personnel, the sum of the absolute values ​​of the differences between the nodes in the k-level subgraphs allocated to the checking personnel is the smallest.

6. The method according to claim 1, characterized in that The method of using a dynamic programming algorithm to divide the k-level subgraphs into checkers includes: Sort the k-level subgraphs according to the number of nodes in each subgraph to obtain the sorted subgraphs; Consider all possible partitions of the sorted subgraphs to the checkers and fill the dynamic programming algorithm table using the dynamic programming algorithm; and The dynamic programming algorithm table is used to track the selection of each step, and the solution that can minimize the sum of the absolute values ​​of the differences of the nodes assigned to the checking personnel is selected as the final division solution.

7. The method according to claim 2, characterized in that The performing of a spectrum partitioning algorithm on the k-level subgraph comprises: Obtaining the eigenvectors and eigenvalues ​​of the Laplacian matrix of the k-level subgraph; Sorting the eigenvalues ​​to obtain the second smallest eigenvalue; The k-level subgraphs are divided according to the eigenvector corresponding to the second smallest eigenvalue.

8. A task distribution device based on knowledge graph, characterized in that: The device comprises: The first division module is used to divide the nodes of the knowledge graph into k levels according to the confidentiality level, where k is a positive integer greater than or equal to 1, and level k is the highest level; The second division module is used to divide the authority levels of the to-be-assigned checking personnel into k levels, so that the authority levels correspond to the confidentiality levels one by one; A selection module is used to select an n-order subgraph of nodes with a confidentiality level of k to obtain a k-level subgraph; and The distribution module is used to use a dynamic programming algorithm to divide the k-level subgraphs to the checking personnel when the number of the k-level subgraphs is greater than the number of checking personnel with the authority level k.

9. An electronic device, comprising: one or more processors; a memory for storing one or more computer programs, It is characterized in that the one or more processors execute the one or more computer programs to implement the steps of the method according to any one of claims 1 to 7.

10. A computer-readable storage medium having a computer program or instruction stored thereon, characterized in that: When the computer program or instruction is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.

11. A computer program product comprising a computer program or instructions, characterized in that When the computer program or instruction is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.