Giter VIP home page Giter VIP logo

vgraph's Introduction

vGraph: A Generative Model for Joint CommunityDetection and Node Representation Learning (NeurIPS 2019)

Please cite our paper if you use this code in your own work:

@article{sun2019vgraph,
  title={vgraph: A generative model for joint community detection and node representation learning},
  author={Sun, Fan-Yun and Qu, Meng and Hoffmann, Jordan and Huang, Chin-Wei and Tang, Jian},
  journal={Advances in Neural Information Processing Systems},
  volume={32},
  year={2019}
}

vgraph's People

Contributors

sunfanyunn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

vgraph's Issues

about context node embeddings

Hi, thanks for sharing the code. I have a question about the context node embeddings. I noticed that in nonoverlapping.py the context node embeddings self.contextnode_embeddings was initialized:
https://github.com/fanyun-sun/vGraph/blob/2b69e4794128192da4ba25c4a219bd1a2e5bd855/nonoverlapping-community-detection/nonoverlapping.py#L127-L128
But was not assigned to the context embeddings c (I guess).
https://github.com/fanyun-sun/vGraph/blob/2b69e4794128192da4ba25c4a219bd1a2e5bd855/nonoverlapping-community-detection/nonoverlapping.py#L146-L147
Also, in overlapping.py, the self.contextnode_embeddings has been commented:

https://github.com/fanyun-sun/vGraph/blob/2b69e4794128192da4ba25c4a219bd1a2e5bd855/overlapping-community-detection/overlapping.py#L134-L135
But in the paper (Section 4.1), it is said that

Note that different sets of node embeddings are used to parametrize the two distributions.

So my questions are 1) do we have to use context node embeddings or just use one set of node embeddings? 2) it seems that you also tried the one set of node embeddings setting, how is it?

Negative Sampling

Hi Fan-Yun,

Your paper is a great work! I would like to know that when you use negative sampling as LINE, what is the number of negative samples K in Equation 4? Thank you!

How to do inference in non-overlapping/overlapping community detection task?

Hi fanyun,

Thanks for sharing the source code, and I have 2 questions. Hope get your reply.

  1. I want to know how to do inference in 2 community detection tasks, computering the similarity between node embedding and community embedding? If so, we need to set a threshold in overlapping setting?

  2. The ground truth of non-overlapping setting and node classifiction are the same, is it a description that node representation benefits to non-overlapping?

Best,
Kaili

mini-batch and negative sampling code

Hi Fan-Yun,

Thanks for sharing your code. Do you plan to release the code with mini-batch training and negative sampling for large graphs? Thank you.

./bin/onmi?

Hi,I met a question when I pyton overlapping.py,I dont know how to deal:

 File "overlapping.py", line 314, in <module>
    nmi = calc_overlap_nmi(n_nodes, communities, gt_communities)
  File "/home/wangyin/paperscoding/vGraph-master/score_utils.py", line 190, in calc_overlap_nmi
    ret =check_output(["./bin/onmi", "pred", "gt"]).decode('utf-8')
  File "/home/wangyin/miniconda3/envs/py35/lib/python3.5/subprocess.py", line 316, in check_output
    **kwargs).stdout
  File "/home/wangyin/miniconda3/envs/py35/lib/python3.5/subprocess.py", line 383, in run
    with Popen(*popenargs, **kwargs) as process:
  File "/home/wangyin/miniconda3/envs/py35/lib/python3.5/subprocess.py", line 676, in __init__
    restore_signals, start_new_session)
  File "/home/wangyin/miniconda3/envs/py35/lib/python3.5/subprocess.py", line 1289, in _execute_child
    raise child_exception_type(errno_num, err_msg)
FileNotFoundError: [Errno 2] No such file or directory: './bin/onmi'

Nonoverlapping datasets request

Where am I supposed to find the following data sets? Namely the "Cornell", "Texas", "Washington", and "Wisconsin" data sets. The footnote in appendix A of this paper's arxiv version only contains "Citeseer" and "Cora" data sets (https://linqs.soe.ucsc.edu).

questions regarding code details

Hi fanyun,
Thanks for sharing the code. I have several question here

  1. after acquiring the estimated community membership embedding new_z, according to the paper, shouldn't we calculate the softmax p(c|z=j), what's the meaning of decoder? To approximate the calculation?
  2. no lr decay found in nonoverlap.py; did you use it when training like CORA for nonoverlap community detection?

Reproduction of results for Cora dataset

Hi,
Can you please verify if the given code produces the results mentioned in the paper (https://papers.nips.cc/paper/8342-vgraph-a-generative-model-for-joint-community-detection-and-node-representation-learning.pdf). I have tried to reproduce the NMI and modularity results for Cora dataset (Table 3 of NIPS paper) by trying to optimize both with and without regularization term. The results in both cases are quite far from the reported ones.

To encourage consistency in the results, It would be really great if you provide either the dependencies with versions or the environment file for the given code.

Code for node classification?

Hi, in the paper vGraph conducted vertex classification task, is the code contained in this repo? Meanwhile I wonder if you use the logistic regression to do classification based on the embeddings?

there is lots of missing in the data_utils.py

Hi

could you please provide the datasets and also there are some functions in the file that are not defined. I want to reproduce the results and check the model. could you please provide this information?

Draw_utils

Hi, can you please give some examples of using draw_utils?

Hierarchical vGraph?

Hello, how is the performance of the Hierarchical vGraph proposed in thispaper, is the code contained in this repo?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.