Phillip is the first-ordered abductive reasoner for natural language processing in C++.
- Install ILP-solver (Gurobi 6.0.X or LP-Solve 5.5) which you want to use.
- Move to the directory where Phillip is installed.
- Execute
python tools/configure.py
. Then makefile will be created. - Configure environment variables:
- If you use LP-Solve, add the path of the header directory of LP-Solve to
CPLUS_INCLUDE_PATH
orIDFLAGS
as-I<path>
. - If you use a nonstandard Python header location, add the corresponding
-I<path>
directives toIDFLAGS
. - If you use Gurobi optimizer, add the path of directory of Gurobi to
GUROBI_HOME
,$GUROBI_HOME/include
toCPLUS_INCLUDE_PATH
and$GUROBI_HOME/lib
toLIBRARY_PATH
andLD_LIBRARY_PATH
.
- If you use LP-Solve, add the path of the header directory of LP-Solve to
- Execute
make
. - (Optional) Execute
make test
.
- Install ILP-solver (Gurobi 6.0.X or LP-Solve 5.5) which you want to use.
- Open ./vs/phillip.sln with Visual C++.
- Configure property of the project.
- Under the construction... X(
- Build the project of phillip on Visual C++.
$ bin/phil -m compile_kb -k <KB_PREFIX> [OPTIONS] [INPUTS]
Since Phillip uses the compiled knowledge base on inference.
You need to compile your knowledge base at first.
Besides each time you change the knowledge base, you need to compile it.
$ bin/phil -m inference -c lhs=<NAME> -c ilp=<NAME> -c sol=<NAME> -k <KB_PREFIX> [OPTIONS] [INPUTS]
In detail, please refer to Phillip Wiki.