Knowledge graph embedding is successful when using division algebras (
First, make sure you have Anaconda installed
Click me!
conda create -n decal python=3.10.13 --no-default-packages && conda activate decal && cd functionnal-embeddings &&
pip3 install -e .
wget https://files.dice-research.org/datasets/dice-embeddings/KGs.zip --no-check-certificate && unzip KGs.zip
To see available Models
- Translative models:
TransE
,TransR
- Multiplicative models:
Distmult
,ComplEx
,QMult
,OMult
- Convolutional models:
ConEx
,ConvO
,ConvQ
- Functional models:
PolyMult
,LFMult
,FMult
,LFMult1
Install all the necessary packages using:
pip install -r requirements.txt
To get the results obtained in the paper for the UMLS data, do:
python3 run.py --model PolyMult --eval_model "train_val_test" --scoring_technique NegSample --degree 1 --lr 0.02 --embedding_dim 32 --num_epochs 500 --neg_ratio 50 --optim Adam --batch_size 1024
Click me!
python3 run.py --model LFMult1 --eval_model "train_val_test" --scoring_technique NegSample --degree 1 --lr 0.02 --embedding_dim 32 --num_epochs 500 --neg_ratio 50 --optim Adam --batch_size 1024
Click me!
python3 run.py --model LFMult1 --eval_model "train_val_test" --scoring_technique NegSample --degree 1 --lr 0.02 --embedding_dim 32 --num_epochs 500 --neg_ratio 50 --optim Adam --batch_size 1024