Code and data for AAAI17 paper Combining Logical Abduction and Statistical INduction.
Make sure pkg-config
can load mlpack
and swipl
headers and libraries.
-
If you have compiled swipl-devel from scratch and installed it in
/usr/local
, then you should use following command to add it toPKG_CONFIG_PATH
:export PKG_CONFIG_PATH=/usr/local/share/pkgconfig:$PKG_CONFIG_PATH
-
The mlpack library is usually installed in
/usr/local
, but its package config file is usually located inlib64/pkgconfig
:export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:$PKG_CONFIG_PATH
Then you can test the installation by:
pkg-config --cflags mlpack
pkg-config --cflags swipl
If they output the library paths correctly, you can enter the src/core
directory and make the C external predicates for SWI-Prolog:
cd src/core
make -j$nproc
First add the library paths of mlpack
and swipl
to your LD_LIBRARY_PATH
:
export LD_LIBRARY_PATH=/usr/local/lib/swipl/lib/x86_64-linux:/usr/local/lib64:$LD_LIBRARY_PATH
Extract the dataset:
tar -xvf data.tar.bz2
Then call the testing prolog scripts in src/prolog
directory to run the
experiments:
cd src/prolog
swipl test.pl
Now please call the learning predicates to run LASIN, e.g.:
-? test_go_M(10, Model, [200, 0.4, 0, 100], stroke).
More parameter settings and examples are listed in learn_dict.pl
and
learn_dict_new.pl
.
We are optimising and tidying up the code, instructions about configuration and parameter settings will be added to this README file after the cleanup. Sorry about the inconvenience!
- W.-Z. Dai and Z.-H. Zhou. Combining logic abduction and statistical induction: Discovering written primitives with human knowledge. In: Proceedings of the 31st AAAI Conference on Artificial Intelligence (AAAI'17), San Francisco, CA, 2017, pp.4392-4398.