MLG is a visual representation of ML researchers and papers from arXiv from the last year (for now). Each node in the graph is an authors and the edges represent co-authorship of papers.
MLG allows you to:
- Search for papers or authors.
- Filter by topics (NLP, Vision, etc).
- Focus on specific author and explore his/her neighbors gradually.
The backend is based on arxiv-sanity but with a lot of modifications - all arXiv data is stored on MongoDB, rebuilt Twitter deamon, etc.
There are two large parts of the code:
- / - arXiv text explorer
- /network - arXiv visual graph explorer
$ virtualenv env # optional: use virtualenv
$ source env/bin/activate # optional: use virtualenv
$ pip install -r requirements.txtThere is still some legacy code from arxiv-sanity, therefore some of the
- Install and start MongoDB
- Optional - Run
fetch_papers.pyto collect all paper from arXiv - Create
twitter.txtwith your Twitter API credentials (values of consumer key and secret, in separate lines). - Run the flask server with
serve.py. Visit localhost:5000 and enjoy sane viewing of papers! - Background tasks will to fetch new papers and search for twitter mentions
After fetching papers from arXiv you can build the network graph by running the notebook graph_generator.ipynb.
It will overwrite the static/network_data.json.
Note: Calculating the physics of the network (nodes' position) is very slow. The current hack is to run it once (by changing the physics settings in network.js) and store the calculated positions. I tried using networkX to calculate the positions, however, the results weren't pleasing...
If you'd like to run the flask server online (e.g. AWS) run it as python serve.py --prod.
You also want to create a secret_key.txt file and fill it with random text (see top of serve.py).
