A knowledge graph group relationship processing method and device

By modifying the attributes of nodes and edges, setting group IDs and relationship clusterEdges, and filtering and displaying relationships between groups, the problem that existing group solutions cannot display group relationships is solved, achieving efficient group graph presentation and interactive effects.

CN115982380BActive Publication Date: 2026-02-10SICHUAN SHUTIANMENGTU DATA TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211662358.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-23
Publication Date
2026-02-10
Estimated Expiration
2042-12-23

AI Technical Summary

Technical Problem

Existing graph visualization grouping solutions do not handle relationships; after generating groups, they still present the relationships between entities, but cannot show the relationships between groups.

Method used

By modifying the attributes of nodes and edges, setting the validity of group IDs and group relationships (clusterEdge), filtering and displaying relationships between and within groups, using the originSource, originTarget, and involve lists to group and display candidate objects, and combining concentric circles and grayscale masking techniques for interactive presentation.

Benefits of technology

It enables the effective display of relationships between groups in the knowledge graph, improves presentation efficiency and interactivity, fully utilizes the advantages and characteristics of groups, and enhances the presentation effect of the group graph.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115982380B_ABST
    Figure CN115982380B_ABST
Patent Text Reader

Abstract

The application relates to the technical field of knowledge graph visualization, and provides a knowledge graph group relationship processing method and device. According to the set basis for dividing groups, the relationship between each node and edge contained in the current knowledge graph is traversed; if the starting point and the ending point of the relationship are different sub-nodes of different groups, the original source and target of the relationship are copied into the originSource or originTarget list attributes of the corresponding two groups respectively, and the group id and the group relationship clusterEdge are newly added in the attributes of the nodes and edges of the corresponding relationship. The application establishes a very efficient association mechanism, establishes a close relationship between the existing knowledge graph presented by nodes and edges and the knowledge graph presented by groups, and can fully utilize the advantages and characteristics of groups, fully mines the interactive mode, and especially plays a great space in the mutual specialization between the two.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This invention relates to the field of knowledge graph visualization technology, and in particular to a method and apparatus for processing group relationships in a knowledge graph. [Background Technology]

[0002] Grouping is a technique for visually grouping canvas entities, allowing multiple entities to be combined into a single group for analysis scenarios related to groups. Implementing groups requires reprocessing relationships. Existing graph visualization grouping solutions do not handle relationships; after generating groups, they still display the relationships between entities. Grouping simply groups entities, which can lead to problems in showing the relationships between entities and groups, as well as the relationships between groups themselves.

[0003] Therefore, overcoming the shortcomings of the existing technology is an urgent problem to be solved in this technical field. [Summary of the Invention]

[0004] The technical problem this invention aims to solve is that existing graph visualization grouping schemes do not perform relationship processing. After generating a group, the relationships between entities are still displayed. Grouping simply groups entities, which leads to the inability to display the relationships between entities and groups, as well as the relationships between groups.

[0005] The present invention adopts the following technical solution:

[0006] In a first aspect, the present invention provides a method for processing group relationships in a knowledge graph, comprising:

[0007] Based on the set criteria for grouping, traverse the relationships between each node and edge contained in the current knowledge graph;

[0008] If both the start and end points of a relation are child nodes outside the group, modify the hidden attribute of the nodes and edges that constitute the relation to the opposite value of the fold attribute of the group. This will hide the relation when the graph is presented in group form, and display the relation when it is presented in node and edge form. Setting the group id to empty and the group relation clusterEdge to be invalid will also be disabled in the attributes of the nodes and edges of the corresponding relation.

[0009] If the start and end points of a relationship are child nodes of different groups, then the original source and target of the relationship are copied to the originSource or originTarget list properties of the two groups respectively. The group ID and group relationship clusterEdge are added to the properties of the nodes and edges of the corresponding relationship.

[0010] If one of the start or end points of a relationship is a child node of a group, and the other end is outside the group, then copy the source and target of the corresponding relationship in the group to the originSource or originTarget list property of the group, add the group id to the corresponding start or end point and edge properties, and set the group relationship clusterEdge to invalid.

[0011] If the start and end points of a relationship belong to the same group of child nodes, then copy the source and target from the corresponding relationship to the include list attribute of the group, add the group ID to the attribute of the corresponding start or end point and edge, and set the group relationship clusterEdge to valid.

[0012] Preferably, when switching a relationship graph with nodes and edges to a group graph, the method includes:

[0013] Based on the validity of the clusterEdge relationship in nodes and edges, candidate objects to be presented in the group are filtered out, thereby generating content in the group graph by filtering out irrelevant objects;

[0014] The candidate objects are divided into one or more candidate groups based on the group ID;

[0015] Each group locates the corresponding nodes and / or edges in its respective candidate group based on the contents of the originSource or originTarget list, and displays them in the group presentation layout.

[0016] Preferably, the group relationship clusterEdge is set to be valid, which is divided into two types: valid inter-group relationship and valid intra-group relationship. Specifically, if the start and end points of the relationship are child nodes of different groups, it is a valid inter-group relationship, and a valid intra-group relationship. Then, the method for filtering candidate objects to be presented as groups based on the validity of the group relationship clusterEdge in the nodes and edges specifically includes:

[0017] Based on the validity of inter-group relationships and intra-group relationships in the clusterEdge of nodes and edges, candidate objects of inter-group relationships to be presented are filtered out;

[0018] After displaying the inter-group relationship candidate objects in the group presentation layout, when the operator selects a specified group, the intra-group relationship candidate objects are further displayed in the group presentation layout.

[0019] Preferably, when displaying nodes and edges in a knowledge graph within a group presentation layout, the specific methods include:

[0020] Nodes located in different groups within the candidate group are directly selected as the start and end points and displayed in the corresponding groups. During the initial display, other nodes between the start and end points are ignored, and a virtual edge is directly established between the start and end points in the two groups. If there are no other nodes between the start and end points, the virtual edge is displayed; if there are other nodes between the start and end points, the continuation is displayed as a dashed line.

[0021] When it is obtained that the operator is involved in selecting two related groups, or selecting a virtual edge between the groups, the other nodes and their corresponding edges between the virtual edges are further generated and presented completely; wherein, before the operation is completed, the other nodes and their edge information located between a pair of start and end points are cached in memory in the candidate group with the originSource or originTarget as the identifier label.

[0022] Preferably, when it is determined that the operator is performing a selection operation on a single group, or on two related groups, the method further includes:

[0023] The start and end points of the relationships stored in the `involve` list attribute of the corresponding group are presented as child nodes of the same group. Furthermore, when the operator reverts the operation dimension back to the mode of displaying the entire group, the child nodes of the relationships stored in the `involve` list attribute that are classified as child nodes of the same group are hidden.

[0024] Preferably, the method further includes:

[0025] When the operator places the corresponding operation focus on one of the virtual edges, a temporary window is generated on one side of the virtual edge.

[0026] The window displays one or more intermediate nodes associated with the corresponding virtual edge and the edges between the corresponding nodes;

[0027] If the focus of the operation is further transferred to the window, the content in the corresponding window will switch from semi-transparent to solid, and can accept further selection operations on the nodes and edges in the window, thereby triggering further display of the information of the nodes and edges in the corresponding window.

[0028] Preferably, the group is presented in the form of a circle, wherein the circle is composed of multiple concentric circles, wherein the nodes located closer to the center of the circle indicate that the number of nodes contained between the corresponding virtual edges is greater, while the nodes located closer to the outer ring of the circle indicate that the number of nodes contained between the corresponding virtual edges is less.

[0029] The corresponding number of concentric circles and the threshold for the number of nodes assigned to each layer are preset based on the association characteristics of the nodes and edges contained in the knowledge graph presented.

[0030] Preferably, in the knowledge graph state based on the node and edge presentation method, if the operator chooses to perform masking by grouping, the method further includes:

[0031] The system captures information about nodes and edges already displayed on the current screen and compares it with the information recorded in the originSource, originTarget, and involve lists in the group. This allows for the identification of nodes in the same group using a closed outline graphic with maximum compatibility. Nodes that are included but do not belong to the group are identified by adding a grayscale mask.

[0032] Secondly, the present invention also provides a processing apparatus for knowledge graph group relationships, used to implement the processing method for knowledge graph group relationships described in the first aspect, the apparatus comprising:

[0033] At least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor for performing the knowledge graph group relationship processing method described in the first aspect.

[0034] Thirdly, the present invention also provides a non-volatile computer storage medium storing computer-executable instructions, which are executed by one or more processors to perform the knowledge graph group relationship processing method described in the first aspect.

[0035] This invention establishes a highly efficient association mechanism that creates a close relationship between the existing knowledge graph presented by nodes and edges and the knowledge graph presented by groups. Furthermore, it fully utilizes the advantages and characteristics of groups and fully explores the presentation and interaction methods, especially in terms of mutual specialization between the two. [Attached Image Description]

[0036] To more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings used in the embodiments of the present invention will be briefly described below. Obviously, the drawings described below are merely some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without any creative effort.

[0037] Figure 1This is a schematic flowchart of a method for processing knowledge graph group relationships provided in an embodiment of the present invention;

[0038] Figure 2 This is a schematic flowchart of a method for processing knowledge graph group relationships provided in an embodiment of the present invention;

[0039] Figure 3 This is a schematic diagram illustrating the group display effect in the processing of knowledge graph group relationships provided in an embodiment of the present invention;

[0040] Figure 4 This is a schematic diagram illustrating a comprehensive presentation effect of knowledge graph group relationships provided in an embodiment of the present invention;

[0041] Figure 5 This is a schematic diagram of a knowledge graph group relationship processing device provided in an embodiment of the present invention.

Detailed Implementation Methods

[0042] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention.

[0043] In the description of this invention, the terms "inner", "outer", "longitudinal", "lateral", "upper", "lower", "top", "bottom", etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are only for the convenience of describing this invention and do not require that this invention must be constructed and operated in a specific orientation. Therefore, they should not be construed as limiting this invention.

[0044] Furthermore, the technical features involved in the various embodiments of the present invention described below can be combined with each other as long as they do not conflict with each other.

[0045] Example 1:

[0046] Embodiment 1 of the present invention provides a method for processing group relationships in a knowledge graph, such as... Figure 1 As shown, it includes:

[0047] In step 201, based on the set criteria for grouping, the relationships between each node and edge contained in the current knowledge graph are traversed.

[0048] In step 202, if the start and end points of the relationship are both child nodes outside the group, the hidden attribute of the nodes and edges constituting the corresponding relationship is modified to be the opposite of the fold attribute value of the group. This hides the relationship when the graph is presented in group form, and displays the relationship when it is presented in node and edge form. The group id is set to empty and the group relationship clusterEdge is invalid in the attributes of the nodes and edges of the corresponding relationship.

[0049] In step 203, if the start and end points of the relationship are child nodes of different groups, the original source and target of the relationship are copied to the originSource or originTarget list properties of the two groups respectively, and the group ID and the effective group relationship clusterEdge are added to the properties of the nodes and edges of the corresponding relationship.

[0050] In step 204, if one of the start or end points of the relationship is a child node of the group, and the other end is outside the group, then the source and target of the corresponding relationship in the group are copied to the originSource or originTarget list property of the group, the group ID is added to the corresponding start or end point and edge properties, and the group relationship clusterEdge is set to invalid.

[0051] In step 205, if the start and end points of a relationship belong to the same group of child nodes, then the source and target in the corresponding relationship are copied to the include list attribute of the group, the group ID is added to the attribute of the corresponding start or end point and edge, and the group relationship clusterEdge is set to valid.

[0052] The embodiments of this invention establish a highly efficient association mechanism that establishes a close relationship between the existing knowledge graph presented by nodes and edges and the knowledge graph presented by groups. Furthermore, it can fully utilize the advantages and characteristics of groups and fully explore the presentation and interaction methods, especially in terms of mutual specialization between the two.

[0053] In conjunction with the embodiments of the present invention, in order to fully utilize the relational architecture characteristics proposed in Embodiment 1, the following is a description of an efficient solution for switching from a node and edge presentation mode to a group presentation mode in this technology. Based on this, the intention of the architectural relationship set in Embodiment 1 of the present invention can be further demonstrated. When a relational graph with nodes and edges is switched to a group graph, such as... Figure 2 As shown, the method includes:

[0054] In step 301, candidate objects to be presented in the group are selected based on the validity of the clusterEdge relationship in the nodes and edges, thereby generating content in the group graph by filtering out irrelevant objects.

[0055] In step 302, the candidate objects are divided into one or more candidate groups according to the group ID.

[0056] In step 303, each group locates the corresponding nodes and / or edges in its respective candidate group based on the contents of the originSource or originTarget list, and displays them in the group presentation layout.

[0057] The significance of the performance improvement in steps 301-303 above lies in the fact that, in addition to filtering the content of big data sources by adding clusterEdge to the existing nodes and edge attributes, it also establishes a further grouping of candidate content in the originSource or originTarget list on the group side. This greatly improves the efficiency of the solution, whether it is to prioritize the presentation of specific groups or to present the groups in the whole system in a flat manner. This efficiency improvement even reaches the level of exponential.

[0058] In this embodiment of the invention, the group relationship clusterEdge is set to be valid, which is divided into two types: valid inter-group relationship and valid intra-group relationship. Specifically, if the start and end points of the relationship are child nodes of different groups, it is a valid inter-group relationship, and a valid intra-group relationship. The method for filtering candidate objects to be presented based on the validity of the group relationship clusterEdge in the nodes and edges specifically includes:

[0059] Based on the validity of inter-group relationships and intra-group relationships in the clusterEdge of nodes and edges, candidate objects of inter-group relationships to be presented are filtered out;

[0060] After displaying the inter-group relationship candidate objects in the group presentation layout, when the operator selects a specified group, the intra-group relationship candidate objects are further displayed in the group presentation layout.

[0061] In this embodiment of the invention, to improve the operability and flexibility of the proposed solution, a preferred improvement is proposed, which specifically includes the following when displaying nodes and edges in a knowledge graph in a group presentation layout:

[0062] Nodes located in different groups within the candidate group are directly selected as the start and end points and displayed in the corresponding groups. During the initial display, other nodes between the start and end points are ignored, and a virtual edge is directly established between the start and end points in the two groups. If there are no other nodes between the start and end points, the virtual edge is displayed; if there are other nodes between the start and end points, the continuation is displayed as a dashed line.

[0063] When it is obtained that the operator is involved in selecting two related groups, or selecting a virtual edge between the groups, the other nodes and their corresponding edges between the virtual edges are further generated and presented completely; wherein, before the operation is completed, the other nodes and their edge information located between a pair of start and end points are cached in memory in the candidate group with the originSource or originTarget as the identifier label.

[0064] In this embodiment of the invention, when it is determined that the operator is performing a selection operation on a single group, or on two related groups, the method further includes:

[0065] The start and end points of the relationships stored in the `involve` list attribute of the corresponding group are presented as child nodes of the same group. Furthermore, when the operator reverts the operation dimension back to the mode of displaying the entire group, the child nodes of the relationships stored in the `involve` list attribute that are classified as child nodes of the same group are hidden.

[0066] In this embodiment of the invention, taking the above-described extended scenario with virtual edges as an example, the method further includes:

[0067] When the operator places the corresponding operation focus on one of the virtual edges, a temporary window is generated on one side of the virtual edge.

[0068] The window displays one or more intermediate nodes associated with the corresponding virtual edge and the edges between the corresponding nodes;

[0069] If the focus of the operation is further transferred to the window, the content in the corresponding window will switch from semi-transparent to solid, and can accept further selection operations on the nodes and edges in the window, thereby triggering further display of the information of the nodes and edges in the corresponding window.

[0070] like Figure 3As shown, the group is represented by circles, which are composed of multiple concentric circles. Nodes closer to the center of the circle indicate that there are more nodes between the corresponding virtual edges, while nodes closer to the outer ring of the circle indicate that there are fewer nodes between the corresponding virtual edges.

[0071] The corresponding number of concentric circles and the threshold for the number of nodes assigned to each layer are pre-set based on the association characteristics of the nodes and edges contained in the knowledge graph currently presented.

[0072] like Figure 4 The diagram illustrates the effect of hybrid presentation based on the proposed solution of this invention. In a knowledge graph state where nodes and edges are presented, if the operator chooses to perform masking by grouping, the method further includes:

[0073] The system captures information about nodes and edges already displayed on the current screen and compares it with the information recorded in the originSource, originTarget, and involve lists in the group. This allows for the identification of nodes in the same group using a closed outline graphic with maximum compatibility. Nodes that are included but do not belong to the group are identified by adding a grayscale mask.

[0074] Example 2:

[0075] like Figure 5 The diagram shown is an architectural schematic of a knowledge graph group relationship processing device according to an embodiment of the present invention. The knowledge graph group relationship processing device of this embodiment includes one or more processors 21 and a memory 22. Figure 5 Take a processor 21 as an example.

[0076] Processor 21 and memory 22 can be connected via a bus or other means. Figure 5 Taking the example of a connection between China and Israel via a bus.

[0077] The memory 22, as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs and non-volatile computer-executable programs, such as the knowledge graph group relationship processing method in Embodiment 1. The processor 21 executes the knowledge graph group relationship processing method by running the non-volatile software program and instructions stored in the memory 22.

[0078] Memory 22 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other non-volatile solid-state storage device. In some embodiments, memory 22 may optionally include memory remotely located relative to processor 21, which can be connected to processor 21 via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.

[0079] The program instructions / modules are stored in the memory 22. When executed by one or more processors 21, they perform the knowledge graph group relationship processing method described in Embodiment 1 above, for example, performing the above-described... Figure 1 and Figure 2 The steps shown.

[0080] It is worth noting that the information interaction and execution process between the modules and units in the above-mentioned device and system are based on the same concept as the processing method embodiment of the present invention. For details, please refer to the description in the method embodiment of the present invention, and will not be repeated here.

[0081] Those skilled in the art will understand that all or part of the steps in the various methods of the embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, which may include: read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk, etc.

[0082] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included within the protection scope of the present invention.

Claims

1. A method for processing group relationships in a knowledge graph, characterized in that, include: Based on the set criteria for grouping, traverse the relationships between each node and edge contained in the current knowledge graph; If both the start and end points of a relation are child nodes outside the group, modify the hidden attribute of the nodes and edges that constitute the relation to the opposite value of the fold attribute of the group. This will hide the relation when the graph is presented in group form, and display the relation when it is presented in node and edge form. Setting the group id to empty and the group relation clusterEdge to be invalid will also be disabled in the attributes of the nodes and edges of the corresponding relation. If the start and end points of a relationship are child nodes of different groups, then the original source and target of the relationship are copied to the originSource or originTarget list properties of the two groups respectively. The group ID and group relationship clusterEdge are added to the properties of the nodes and edges of the corresponding relationship. If one of the start or end points of a relationship is a child node of a group, and the other end is outside the group, then copy the source and target of the corresponding relationship in the group to the originSource or originTarget list property of the group, add the group id to the corresponding start or end point and edge properties, and set the group relationship clusterEdge to invalid. If the start and end points of a relationship belong to the same group of child nodes, then copy the source and target in the corresponding relationship to the include list property of the group, add the group ID to the properties of the corresponding start or end point and edge, and set the group relationship clusterEdge to be valid. When switching a relational graph with nodes and edges to a group graph, the methods include: Based on the validity of the clusterEdge relationship in nodes and edges, candidate objects to be presented in the group are filtered out, thereby generating content in the group graph by filtering out irrelevant objects; The candidate objects are divided into one or more candidate groups based on the group ID; Each group locates the corresponding nodes and / or edges in its respective candidate group based on the contents of the originSource or originTarget list, and displays them in the group presentation layout; When displaying nodes and edges in a knowledge graph within a group presentation layout, the specific details include: Nodes located in different groups within the candidate group are directly selected as the start and end points and displayed in the corresponding groups. During the initial display, other nodes between the start and end points are ignored, and a virtual edge is directly established between the start and end points in the two groups. If there are no other nodes between the start and end points, the virtual edge is presented as a solid line; if there are other nodes between the start and end points, the virtual edge is presented as a dashed line. When it is obtained that the operator is involved in selecting two related groups, or selecting a virtual edge between the groups, the other nodes and their corresponding edges between the virtual edges are further generated and presented completely; wherein, before the operation is completed, the other nodes and their edge information located between a pair of start and end points are cached in memory in the candidate group with the originSource or originTarget as the identifier label.

2. The method for processing knowledge graph group relationships according to claim 1, characterized in that, The group relationship `clusterEdge` is set to valid, which is divided into two types: valid inter-group relationship and valid intra-group relationship. Specifically, if the start and end points of the relationship are child nodes of different groups, it is a valid inter-group relationship, and a valid intra-group relationship. Then, based on the validity of the group relationship `clusterEdge` in the nodes and edges, candidate objects to be presented for grouping are selected. The specific method includes: Based on the validity of inter-group relationships and intra-group relationships in the clusterEdge of nodes and edges, candidate objects of inter-group relationships to be presented are filtered out; After displaying the inter-group relationship candidate objects in the group presentation layout, when the operator selects a specified group, the intra-group relationship candidate objects are further displayed in the group presentation layout.

3. The method for processing knowledge graph group relationships according to claim 1, characterized in that, When the method detects that the operator has selected a single group or two related groups, it further includes: The start and end points of the relationships stored in the `involve` list attribute of the corresponding group are presented as child nodes of the same group. Furthermore, when the operator reverts the operation dimension back to the mode of displaying the entire group, the child nodes of the relationships stored in the `involve` list attribute that are classified as child nodes of the same group are hidden.

4. The method for processing knowledge graph group relationships according to claim 1, characterized in that, The method further includes: When the operator places the corresponding operation focus on one of the virtual edges, a temporary window is generated on one side of the virtual edge. The window displays one or more intermediate nodes associated with the corresponding virtual edge and the edges between the corresponding nodes; If the focus of the operation is further transferred to the window, the content in the corresponding window will switch from semi-transparent to solid, and can accept further selection operations on the nodes and edges in the window, thereby triggering further display of the information of the nodes and edges in the corresponding window.

5. The method for processing knowledge graph group relationships according to claim 1, characterized in that, The groups are represented as circles, which are composed of multiple concentric circles. Nodes closer to the center of the circle indicate that there are more nodes between the corresponding virtual edges, while nodes closer to the outer ring of the circle indicate that there are fewer nodes between the corresponding virtual edges. The corresponding number of concentric circles and the threshold for the number of nodes assigned to each layer are pre-set based on the association characteristics of the nodes and edges contained in the knowledge graph currently presented.

6. The method for processing knowledge graph group relationships according to any one of claims 1-5, characterized in that, In a knowledge graph context where nodes and edges are presented, if the operator chooses to perform masking by grouping, the method also includes: The system captures information about nodes and edges already displayed on the current screen and compares it with the information recorded in the originSource, originTarget, and involve lists in the group. This allows for the identification of nodes in the same group using a closed outline graphic with maximum compatibility. Nodes that are included but do not belong to the group are identified by adding a grayscale mask.

7. A device for processing group relationships in a knowledge graph, characterized in that, The device includes: At least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor for performing the method for processing knowledge graph group relationships as described in any one of claims 1-6.

Citation Information

Patent Citations

  • Knowledge graph construction method and system based on multi-source heterogeneous data, and terminal

    CN113157930A

  • Knowledge-graph biased classification for data

    US20160055409A1