A professional research tool for the local analysis and visualization of academic libraries. AcademicLibrary processes PDF documents to extract metadata and creates an interactive, force-directed network map based on bibliographic coupling.
The application utilizes the GROBID (Geneva Reference Extraction from Bibliographic Information Document) server to parse full-text PDFs. It identifies shared references between documents to calculate a similarity metric, visually clustering related research while maintaining a local, private database.
- Full-text parsing of academic PDFs using GROBID REST API.
- Metadata consolidation to verify titles, authors, and publication years against external records.
- Extraction of bibliography lists to enable similarity mapping.
- Bibliographic Coupling: Nodes are connected based on shared citations in their respective bibliographies.
- Force-Directed Layout: Implementation of the ForceAtlas2 algorithm to distribute papers based on connection strength.
- Node Scaling: Geometric scaling of nodes according to their degree of connectivity within the local library.
- Dual Sidebar Interface: A left-hand navigation pane for a full library list and a right-hand detail pane for metadata.
- Dynamic Detail View: Real-time updates of paper abstracts, full author lists, and years upon node hover.
- Stability Control: Automated physics stabilization that locks nodes in place once equilibrium is reached.
- Processing Engine: GROBID (Dockerized).
- Network Analysis: NetworkX.
- Visualization Layer: Pyvis (D3.js based).
- Data Management: Pandas.
The relationship between two papers (
The tool implements a caching mechanism to avoid redundant processing. Extracted XML files are stored in a separate directory (Extracted_XML), ensuring the original PDF folder remains organized.
- Docker: Ensure the GROBID server is running locally:
docker run -t --rm -p 8070:8070 grobid/grobid:0.8.0 - Directory Structure: Place all target PDFs in the designated
/Papersdirectory. - Dependencies: Requires
grobid-client-python,pandas,networkx, andpyvis.
Execute the main application script:
python app.py
Upon completion, an interactive HTML file (connected_papers_sidebar.html) will be generated and automatically opened in the default system browser.