This tool performs network analysis on research networks to visualize co-authorship structures, identify key research communities, and track the community's evolution over time. It transforms raw bibliographic metadata (CSV) into an interactive, full-screen web-based visualization.
- Automated Cleaning: Parses complex author lists, handles name variations, and removes invalid entries.
- Co-Authorship Graph: Builds a network where nodes represent authors and edges represent collaboration relationships.
- Author Profiling: Aggregates statistics for each researcher, including total paper count, active years, primary research fields, and top collaborators.
The tool calculates and reports key network metrics:
- Productivity: Top authors by paper count.
- Influence (Betweenness Centrality): Identifying "bridge" authors who connect different groups.
- Connectivity (Degree Centrality): Identifying the most collaborative authors.
- Uses Greedy Modularity Maximization to detect distinct research communities.
- Analyzes the "Fields of Study" of authors within a cluster to automatically name the group (e.g., "Computer Vision, Deep Learning").
- Identifies central figures ("leaders") within each community.
Generates a standalone, shareable HTML file with featuring an interactive visualization with the following features:
- Full-Screen Interactive Graph: Zoom, pan, and drag nodes.
- Smart Search: Find authors by name or search for specific article titles within the graph.
- Date-based Filtering: A dropdown menu to filter the network by year, allowing you to visualize how the research network evolved over time.
- Rich Tooltips: Hover over any node to see detailed author stats, including their primary field, active years, and main collaborators.
This project is managed with uv, but supports standard pip workflows as well.
- Install
uv(if not already installed):curl -LsSf https://astral.sh/uv/install.sh | sh - Sync the environment (installs dependencies from
uv.lock):uv sync
pip install pandas networkx matplotlib pyvis scipy numpyIPython- Open
Main.ipynb. - Locate the Configuration section at the top of the notebook.
- Specify your input data path, ex:
DATA_SOURCE_FILE = 'data/data.csv'
- Specify your output path, ex:
OUTPUT_FILE_HTML = 'out/all_papers_network_analysis.html'
- Run all cells in the Jupyter Notebook (
Main.ipynb). - The script will output statistical tables (Top 10 Authors, Top Communities) directly in the notebook.
- Parameters for the visualization are automatically injected into the final HTML file.
- Navigate to the output folder and open the generated HTML file in any modern web browser.
- Search: Type an author's name or a keyword from a title in the search box and press Enter or click "Find".
- Filter: Use the "Filter Year" dropdown to see the network state in a specific year. Select "Overall" to see the aggregate network.