This repository holds the code necessary to replicate the manuscript titled Fast Library Recommendation in Software Dependency Graphs with Symmetric Partially Absorbing Random Walks by Emmanouil Krasanakis and Andreas Symeonidis.
It additionally hosts the code for a server implementing a variation of this publication to perform keyword-based library recommendation at:
Dependencies: numpy, networkx, pygrank, nltk, flask
License: Apache 2.0
Contact: manios.krasanakis@issel.ee.auth.gr
This is a pygrank
graph filter and will be integrated in
future versions of that package.
It has no hyperparameters and emulates the stochastic
equivalent of memory-aware random walks with restart
under stationary memory and low-pass graph filter principles.
The filter can be initialized from this project's code per
from graph_filter import SymmetricAbsorbingRandomWalks
libFilter = SymmetricAbsorbingRandomWalks(normalization="symmetric", renormalization=True, assume_immutability=True, tol=1.E-12)
where immutability takes advantage of pygrank's optimizations to reuse adjacency matrix normalization for the same graphs. Note that we present here the arguments used for publication experiments, but tinkering with different arguments or other pygrank capabilities (e.g. applying postprocessors) on this base outcome is also possible.
💡 This graph filter will be import-able directly from
the future release pygrank 0.2.8
.
TODO