DySNAV: Dynamic Social Network Analysis and Visualization
Introduction:
DySNAV is a software created by Frédéric Gilbert, Romain Bourqui, Paolo Simonetto, Faraz Zaidi and Fabien Jourdan, for analysis and visualization of dynamic social networks. It allows to visualize changes taking place in communities and the network's underlying hierarchy.
Conception:
DySNAV is a software based on the platform Tulip. It uses the Tulip library and some of its plugins. We also use a component of this platform: the "node-link" diagram view.
Instead of using classical way with menus, context menus, etc..., we opted for an Attribute Panel which proposes the user to set different parameter values and execute various tasks.
Download:
DySNAV is can be downloaded here:Download DySNAV. Information for install DySNAV can be also founed on the page.
How to use:
Description:
Overview:
The Attribute Panel has fixed dimensions but all the visualization windows are resizeable using mouse dragging options as in any standard windows application. This helps to have a bigger visualization space for any of the mentioned graph visualization windows.
Attribute Panel:
The Attribute Panel is composed of six areas. each one of these areas correspond to a step of the analysis process. Now we describe each area(step).
Import Data:
The input to the system is a comma separated text file.Each line in the file is a 5-tuple (user id 1, user id 2,timestamp, relationship strength, relationship class). The user id 1 and user id 2 are identification numbers or strings used to identify two people in the social network. The timestamp is in the format yyyy/mm/dd-hr:mn:sc. The user is not required to enter all the information. For example if there is only year and months data available for a data set, the user can only enter the data in the format yyyy/mm in each tuple. In case if the data is available for a 24 hour interval with a precision of minutes, in that case, the user is required to enter all the information by entering the same year, month, and day data for all the entries like 2009/12/01-11:24 and change only the hour and minute information for other entries. The parameter relationship strength represents an integer value to assign a numerical weight that can be used as metric to distinguish between strong and weak relationships.
To import a file in the system, the user is required to Choose File. The graph contained in this file will be displayed in the "Graph View" window. It is possible to move the graph by "drag and drop" and zoom-in zoom-out on the graph with the scroll wheel of the mouse.
Once the graph imported, the second step of the Attribute Panel is accessible.
Discretization:
In this step, the graph is first cut into time laps. Then edges are filtered.
Cut into time laps:
Here, you will be able to fix values of two parameters. First, using the combo box "Unit", the user can choose a unit of time to work with: year, month, day, hour, minute or seconde. Then, using the spinbox "Value", the decomposition of the total time interval is choosed. For example if 3 days are choosen, the initial graph will be cut into severals graphs each one of them representing three consecutive days of the initial graph.
Once the user has chosen, click the "Apply" button, the graph is decomposed (the result can't be visualized yet) into several graphs based on the time interval specified also enabling the next step.
Filtering using edges value:
In this step, the graph is clustered using the values given to edges during the import step. In order to do that, use the combobox "Metric" to select the type of metric to be used. For example choosing "occurency", edges will be clustered according to the number of times they appear in the graph.
The combobox "Number of slices", filters the number of edges based on the range of the values calculated in the previous step. For example if metric is set to "occurency" and "Number of slices" to "5", edges are filtered in each graph by dividing the range of values into the number of slices specified as parameter.
After selecting the parameters, click the "Apply" button. This creates a graph (without edges) in the "Similarity Graph" window and the next step is enabled. The "Similarity Graph" is built following this way. Each node corresponds to a time interval (time lap), from left to right, and a filtering level, from bottom to top. The time lap and the level of filtering are displayed using a label on the node. Clicking on the nodes, the corresponding subgraph will be displayed in the "Graph View" window.
Clustering:
A slider is used to set the value for the strength of the edges to be clustered together. The clustering method applied here is strengh clustering.
After the clustering is applied clicking a node of the graph in the "Similarity Graph" window, this node changes color to green and in the "Cluster List" window, you have the list of all the clusters of this graph (the clicked graph is also displayed in the "Graph View" window). Clicking an item of the cluster list will display the contents of the cluster in the "Cluster View" window and highlighted (in green) in the graph of the"Graph View" window.
The operation takes place as soon as the slider is released, the clustering is computed, and the next step is enabled.
Cluster Similarity:
The next step is to compute the similarities between the nodes(graphs) of the graph in the "Similarity graph" window. For each node(graph) of a column similarities are computed with all the nodes(graphs) of the next column. this way we are able to determine two graphs in consecutive time interval are similar.
A similarity value is given to each edge, which can be visualized by looking at the color of each edge. Blue color represents high similarity and yellow represents low similartiy between the two graphs.
Once the computation is done, the user is able to access to the next step.
Path selection:
This step helps to construct a consensus graph. The user has to select a first node by clicking on it in the "Similarity Graph" window, this will display the associated graph in the Graph View, then the user has to press the Control ("CTRL") key and click on a second node. A path between this to nodes will be highlighted (in green) and the corresponding consensus graph will be displayed in the "Graph View" window. In the "Cluster list" window, the differents communities are listed found in the consensus graph.
The path which is highlighted is build such as the sum of the values of its edges is maximum.
Hierarchy:
Once the consensus graph is constructed, we can compute a hierarchy hidden in the corresponding community. The counter terrorism mode can be activated by clicking the check box. For more explanation, see the article. The computation can be activated by clicking the "Compute" button. The computation for the hierarchy takes a long time so the user has to be careful about the execution of this process. As a result of the computation, a tree correponding to the hierarchy founed in the network is displayed in the "Hierarchy View" window. Interactions such as drag the tree, zoom-in zoom-out can be used to facilitate the visualization. The "Laytout Algorithm" combobox presents other options to redraw the tree in another layout.
Process:
Following the steps, the user is able to analyze a dynamic network: find interesting changes over time taking place in the communities, dectect communities using similarities between graphs and then infer a hierarchy of the entire network.
At any time, the user can modify any parameter and reapply the new values. Be careful, if a parameter is modified at the ith step, all the parameters starting at the i+1th to the end will be dropped.



