download or clone this repository.
unzip each dataset in dataset dir.
then type "python main.py"
chainer, cuda or numpy, more_itertools
add your models in models dir.
register your models in models/manager.py
use option -nn to use your models, e.g., "python -nn X" runs the model X
apply draw-score-history/draw.py to your results(scores) with thresholds.
this script shows an image (following image is an example), that is how the scores are changed in the learning.
in particular, red and blue lines indicate negative and positive triplet's scores, respectively. the black line is your threshold, and the green line is accuracy using the threshold, i.e., how well the threshold splits triplets. this drawing is not the contribution of my paper, but i think it may help us to understand model's behavior.
official paper: https://www.ijcai.org/proceedings/2017/0250.pdf
official bibtex : https://www.ijcai.org/proceedings/2017/bibtex/250 (directly download the bibtex file)