-
-
Notifications
You must be signed in to change notification settings - Fork 244
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SINr implementation to compute node embeddings from communities #156
SINr implementation to compute node embeddings from communities #156
Conversation
Hi @nicolasdugue! Thank you for your pull request. First of all, if I am not mistaken, Since this implementation as I understand it is primarily meant for didactical purposes, being it in NetworkX and all, could you kindly extend the comments and explain more extensively things such as:
Another significant bit is testing. Please extend the test suite and test your implementation. Things such as the |
Hi @LucaCappelletti94, I am sorry for the workers and erase_base_features mistakes ! Regarding your remarks/questions :
I was unclear sorry, it is not included in networkx. But the implementation I provided here is based on networkx louvain community detection. In our package, we mostly rely on networkit. Do you need some more information/tests ? |
Codecov ReportAll modified and coverable lines are covered by tests ✅
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## master #156 +/- ##
==========================================
+ Coverage 97.41% 97.44% +0.03%
==========================================
Files 63 64 +1
Lines 2712 2744 +32
==========================================
+ Hits 2642 2674 +32
Misses 70 70 ☔ View full report in Codecov by Sentry. |
Everything seems okay, I see there are a few typos in the comments. If you have the time to fix them I would appreciate it, otherwise I will do it when I get the time. |
Hi @LucaCappelletti94, |
Hi, |
Thanks, I appreciate it. Later today (or at the latest tomorrow) I will go through the whole thing and I look forward to merge the whole thing. |
As fans of the karateclub package, we propose to add the implementation of SINr, a graph embedding approach based on community detection to the package.
SINr was first published in :
Thibault Prouteau, Victor Connes, Nicolas Dugué, Anthony Perez, Jean-Charles Lamirel, et al.. SINr: Fast Computing of Sparse Interpretable Node Representations is not a Sin!. Advances in Intelligent Data Analysis XIX, 19th International Symposium on Intelligent Data Analysis, IDA 2021. pp.325-337, ⟨10.1007/978-3-030-74251-5_26⟩. ⟨hal-03197434⟩
It allows to produce interpretable node representations and can also compute word embeddings on textual graph data :
Béranger, A., Dugué, N., Guillot, S., & Prouteau, T. (2023, November). Filtering communities in word co-occurrence networks to foster the emergence of meaning. In International Conference on Complex Networks and Their Applications (pp. 377-388).
A complete SINr implementation can be found here : https://github.com/SINr-Embeddings/sinr
But the code we provide in this pull request is enough to train efficiently node embeddings using networkx and scipy.
We would really appreciate our method to be included in the karateclub package that we use a lot !