nju-websoft / rsn Goto Github PK
View Code? Open in Web Editor NEWLearning to Exploit Long-term Relational Dependencies in Knowledge Graphs, ICML 2019
License: MIT License
Learning to Exploit Long-term Relational Dependencies in Knowledge Graphs, ICML 2019
License: MIT License
There are multiple bugs in the code.
model.sample_paths() is wrong because sample_paths() is not a method of the class model. I fixed this bug and found another bug in the function sample_paths() in line:
rt_x = rtailkb.loc[hrt[:, 2]].apply(perform_random, axis=1)
The error was:
File "kgc.py", line 448, in sample_paths
rt_x = rtailkb.loc[hrt[:, 2]].apply(perform_random, axis=1)
File "/home/local/QCRI/ahmohamed/anaconda3/envs/rsn/lib/python3.6/site-packages/pandas/core/indexing.py", line 1767, in getitem
return self._getitem_axis(maybe_callable, axis=axis)
File "/home/local/QCRI/ahmohamed/anaconda3/envs/rsn/lib/python3.6/site-packages/pandas/core/indexing.py", line 1953, in _getitem_axis
return self._getitem_iterable(key, axis=axis)
File "/home/local/QCRI/ahmohamed/anaconda3/envs/rsn/lib/python3.6/site-packages/pandas/core/indexing.py", line 1594, in _getitem_iterable
keyarr, indexer = self._get_listlike_indexer(key, axis, raise_missing=False)
File "/home/local/QCRI/ahmohamed/anaconda3/envs/rsn/lib/python3.6/site-packages/pandas/core/indexing.py", line 1552, in _get_listlike_indexer
keyarr, indexer, o._get_axis_number(axis), raise_missing=raise_missing
File "/home/local/QCRI/ahmohamed/anaconda3/envs/rsn/lib/python3.6/site-packages/pandas/core/indexing.py", line 1654, in _validate_read_indexer
"Passing list-likes to .loc or [] with any missing labels "
KeyError: 'Passing list-likes to .loc or [] with any missing labels is no longer supported, see https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#deprecate-loc-reindex-listlike'
Hi, thank you for sharing the code. It has been really helpful! However, I cannot find the attribute files, which should be essential for implementing JAPE and GCN-Align. I wonder whether you can provide these files, or am I missing something?
Many thanks,
Weixin.
Hi,
I found you used type-based noise-constrained estimation (NCE) for negative sampling, which is very interesting. Could you please tell me which part of your code is for the NCE?
Best regards
Sirui
In the sampler, the 'pre' column is used to represent the previous entity in the path. However, it doesn't change with the length of the path so far. It's always set to be the first entity in the path.
This is done in initializing the 'pre' column in line: curr.loc[:, 'pre'] = hrt[:, 0]
This line puts the first entity in the path in the pre column.
For example, if the path so far is:
e1, r1, e2, r2, e3, r3, e4
and we are computing the depth bias for the entities that are neighbors to e4, then we will find for each candidate entity ei the bias between (e1, ei) rather than the bias between (e3, ei).
In the paper, its described as such that we calculate the bias between (ei-1, e+1) rather than (e1, ei+1). Can you please explain why this is happenning?
Thanks,
Hello, as far as I can see there are no ways to save and restore a model when the training is over. It would be nice to have that feature :)
Hi, thanks for developing RSN.
I believe this is a ground-breaking model.
I am writing because I saw that the function cal_ranks
you use to compute ranks in evaluation function accepts a method parameter that is "min" by default.
If I get it correctly, this conveys the policy for handling ties.
If some entities have the same score as the target one (so if there is a tie) the "min" policy will still give to the target entity the minimum rank. Otherwise, other policies can be applied, e.g. average, or max.
I was wondering how the choice of this policy affects the performances computed for RSN.
Of course, it depends on how many ties RSN generates in evaluation.
In your experience, is this something that happens very often?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.