IP Library Granted Patent US 10,176,609
Granted Patent B2
US 10,176,609 · App. 15/592,873 · Granted Jan 8, 2019

Analysis and visualization of interaction and influence in a network

Inventors: Paul Siegel (New York, NY); Nate Walton (New York, NY); Sebastian Hempstead (New York, NY); Amy Barker (New York, NY); Jessica Bowden (Brighton, GB); Dan Neame (Brighton, GB)
Assignee: Runtime Collective Limited
G06T11/206G06F3/0481G06F17/30958G06F17/30994G06T2200/24
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,176,609
App. No.
15/592,873
Granted
Jan 8, 2019
Kind
B2
Abstract

Data is received characterizing a network represented by a directed graph having nodes and edges. The network includes an influence score associated with a node. The network is associated with a search keyword. A portion of the directed graph and influence score is displayed in a graphical user interface display space. The portion of directed graph is dynamically updated in response to receiving updated network data. Related apparatus, systems, techniques and articles are also described.

Claims (76)

1. A method comprising:

receiving data characterizing a network represented by a directed graph having nodes and edges, the network including an influence score associated with a node, the network associated with a search keyword;

displaying, in a graphical user interface display space, a portion of the directed graph and influence score;

dynamically updating the portion of directed graph in response to receiving updated network data;

determining the influence score;

determining clusters of nodes from the directed graph and based on the influence score, the clusters of nodes including subsets of the nodes within the directed graph;

determining a relative importance of the determined clusters of nodes; and

displaying, in the graphical user interface display space, the determined clusters of nodes in an order based on the determined relative importance;

wherein at least one of the receiving, displaying, and dynamic updating is performed by at least one data processor forming part of at least one computing system;

wherein the determining of the influence score comprises:

assigning the edges in the directed graph respective initial weights;

determining a total outgoing edge weight for a node in the directed graph, the determining of the total outgoing edge weight including adding initial edge weights for all outgoing edges for the node; and

determining the influence score, the determining of the influence score including dividing a weight of each incoming edge by the total outgoing edge weight of the node and summing over all incoming edges.

2. The method of claim 1 , wherein the influence score is a likelihood that the node can publish a message and persuade other peers.

3. The method of claim 1 , wherein the determining of clusters of nodes from the directed graph comprises:

determining a set of pre-clusters for each node in the directed graph, the set of pre-clusters for a given node including source nodes associated with each incoming edge of the given node; and

determining the clusters of nodes as pre-clusters having an overlap that exceeds a predefined threshold, the overlap being a number of nodes shared in common between pre-clusters.

4. The method of claim 1 , further comprising displaying ranked features of nodes, wherein nodes in the directed graph are associated with features and determining the ranked features comprises:

determining, for each cluster, a set of nodes within the cluster that are associated with the feature;

determining, for each cluster, a feature overlap size based on an intersection between the determined set of nodes associated with the feature and the cluster;

determining, for each cluster, a cluster overlap score as the determined feature overlap size divided by a size of the cluster;

determining a difference between a largest determined cluster overlap score and a smallest cluster overlap score; and

ranking features by the difference multiplied by a number of nodes associated with the feature.

5. The method of claim 4 , wherein the feature includes a predefined attribute including gender, interests, profession, topic, hashtag, and/or category.

6. The method of claim 1 , wherein the portion of the directed graph is displayed with color coded nodes, the color coding user selectable; and the portions of the direct graph are displayed with color coding according to the relative influence score.

7. The method of claim 1 , wherein the nodes are displayed as circular graphical elements and the edges are displayed as line segments.

8. The method of claim 1 , further comprising:

determining a conversation as a grouping of associated nodes within the directed graph.

9. The method of claim 1 , further comprising displaying topics of social interactions between nodes in the directed graph according to a relative importance.

10. The method of claim 1 , wherein the display is updated periodically.

11. The method of claim 1 , further comprising:

identifying, using the updated network data, one or more nodes in the updated network data that was not previously in the displayed portion of the directed graph.

12. The method of claim 1 , further comprising:

computing, for each node in the directed graph, the influence score by partitioning the network into maximal sets of vertices with a path of edges joining any pair of vertices.

13. The method of claim 1 , further comprising:

determining all nodes in the directed graph that have used the search keyword in an interaction; and

displaying the determined nodes.

14. The method of claim 1 , further comprising:

normalizing the influence score with a conversation volume measure determined according to a sum of degrees of vertices in a component containing a given vertex.

15. The method of claim 1 , further comprising:

determining a cluster within the directed graph, wherein a cluster is a set of nodes with more internal connections than external connections.

16. A non-transitory computer program product storing instructions, which when executed by at least one data processor of at least one computing system, implement operations comprising:

receiving data characterizing a network represented by a directed graph having nodes and edges, the network including an influence score associated with a node, the network associated with a search keyword;

displaying, in a graphical user interface display space, a portion of the directed graph and influence score;

dynamically updating the portion of directed graph in response to receiving updated network data;

determining the influence score;

determining clusters of nodes from the directed graph and based on the influence score, the clusters of nodes including subsets of the nodes within the directed graph;

determining a relative importance of the determined clusters of nodes; and

displaying, in the graphical user interface display space, the determined clusters of nodes in an order based on the determined relative importance;

wherein the determining of the influence score comprises:

assigning the edges in the directed graph respective initial weights;

determining a total outgoing edge weight for a node in the directed graph, the determining of the total outgoing edge weight including adding initial edge weights for all outgoing edges for the node; and

determining the influence score, the determining of the influence score including dividing a weight of each incoming edge by the total outgoing edge weight of the node and summing over all incoming edges.

17. A system comprising: at least one data processor;

and memory storing instructions, which when executed by the at least one data processor, implement operations comprising:

receiving data characterizing a network represented by a directed graph having nodes and edges, the network including an influence score associated with a node, the network associated with a search keyword;

displaying, in a graphical user interface display space, a portion of the directed graph and influence score;

dynamically updating the portion of directed graph in response to receiving updated network data;

determining the influence score;

determining clusters of nodes from the directed graph and based on the influence score, the clusters of nodes including subsets of the nodes within the directed graph;

determining a relative importance of the determined clusters of nodes; and

displaying, in the graphical user interface display space, the determined clusters of nodes in an order based on the determined relative importance;

wherein the determining of the influence score comprises:

assigning the edges in the directed graph respective initial weights;

determining a total outgoing edge weight for a node in the directed graph, the determining of the total outgoing edge weight including adding initial edge weights for all outgoing edges for the node; and

determining the influence score, the determining of the influence score including dividing a weight of each incoming edge by the total outgoing edge weight of the node and summing over all incoming edges.

18. The system of claim 17 , wherein the influence score is a likelihood that the node can publish a message and persuade other peers.

19. The system of claim 17 , wherein the determining of clusters of nodes from the directed graph comprises:

determining a set of pre-clusters for each node in the directed graph, the set of pre-clusters for a given node including source nodes associated with each incoming edge of the given node; and

determining the clusters of nodes as pre-clusters having an overlap that exceeds a predefined threshold, the overlap being a number of nodes shared in common between pre-clusters.

20. The system of claim 17 , the operations further comprising displaying ranked features of nodes, wherein nodes in the directed graph are associated with features and determining the ranked features comprises:

determining, for each cluster, a set of nodes within the cluster that are associated with the feature;

determining, for each cluster, a feature overlap size based on an intersection between the determined set of nodes associated with the feature and the cluster;

determining, for each cluster, a cluster overlap score as the determined feature overlap size divided by a size of the cluster;

determining a difference between a largest determined cluster overlap score and a smallest cluster overlap score; and

ranking features by the difference multiplied by a number of nodes associated with the feature.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2017
From: SIEGEL, PAUL; WALTON, NATE; HEMPSTEAD, SEBASTIAN; BARKER, AMY; BOWDEN, JESSICA; NEAME, DAN
To: RUNTIME COLLECTIVE LIMITED
Reel/Frame 042707/0843 →
Continuity (2)
Provisional Application 62334840 · May 11, 2016
Related Publication 20170330357A1 · Nov 16, 2017