Skip to content
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

link prediction? #33

Closed
ggerogiokas opened this issue Nov 5, 2019 · 9 comments
Closed

link prediction? #33

ggerogiokas opened this issue Nov 5, 2019 · 9 comments
Assignees
Labels
question Further information is requested stat:awaiting response

Comments

@ggerogiokas
Copy link

Hi,

I have been thinking about using NSL in the context of link prediction. It can definitely be reframed as a classification problem I believe. The only thing I am wondering about is if anyone has thought of an elegant way to add the neighbours (I guess in this case of both nodes which form the link ). Has anyone been working on this?

I guess a decent way of going about it would be changing the parse_example function:

def parse_example(example_proto):
  """Extracts relevant fields from the `example_proto`.

  Args:
    example_proto: An instance of `tf.train.Example`.

  Returns:
    A pair whose first value is a dictionary containing relevant features
    and whose second value contains the ground truth labels.
  """

so, that it can take a pair of examples which are part of a link.

Thanks,
George

@DualityGap
Copy link
Contributor

Hi George,

Yes, modifying 'parse_example' (or design other functions) to return a pair of examples sounds feasible. Happy to discuss further if you have any thought/suggestion.

Cheers,
Da-Cheng.

@ggerogiokas
Copy link
Author

Hi Da-Cheng,

Cool, I think I will go with modifying the function, parse_example, to get another function, parse_link, and try to design some other function to grab associated neighbours of the link.

I can contribute the code once it's functional if that is of interest?

Cheers,
George

@DualityGap
Copy link
Contributor

Sounds great : )
Meanwhile, feel free to share your idea or implementation (even at early stage), happy to discuss.

@ppham27
Copy link
Contributor

ppham27 commented Nov 7, 2019

Another approach we could take is to generalize preprocessing/parsing tools to generate random walks instead of just neighbors.

This would enable us to do combine NSL with graph likelihood defined here Learning Edge Representations via Low-Rank Asymmetric Projections
.

@ggerogiokas
Copy link
Author

@ppham27 yea, that definitely could be another option but will focus on the other approach first.

@arjung
Copy link
Collaborator

arjung commented Nov 14, 2019

@ggerogiokas, thanks for your interest in NSL! I am assigning this issue to you for now since you are prototyping the proposed approach(es). Feel free to pass it back to us once you have something or want to discuss more.

@aheydon-google aheydon-google added the question Further information is requested label Dec 28, 2019
@sdabhi23
Copy link

@ggerogiokas I am also interested in this aspect of NSL. Did you make any progress on this idea??

@ggerogiokas
Copy link
Author

ggerogiokas commented Apr 26, 2020 via email

@csferng
Copy link
Collaborator

csferng commented Jul 7, 2021

Closing this issue for now due to inactivity. Feel free to reopen if you have any progress or updates on the link prediction idea.

@csferng csferng closed this as completed Jul 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested stat:awaiting response
Projects
None yet
Development

No branches or pull requests

7 participants