Skip to content

naoya-i/phillip

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Phillip

About


Phillip is the first-order abductive reasoner for natural language processing in C++.

This is a forked project. The original project is Phillip, which is maintained by Kazeto Yamamoto (https://github.com/kazeto/phillip).

Install


Linux, OS X

  1. Install ILP-solver (Gurobi 6.0.X or LP-Solve 5.5) which you want to use.
  2. Move to the directory where Phillip is installed.
  3. Execute python tools/configure.py. Then makefile will be created.
  4. Configure environment variables:
    • If you use LP-Solve, add the path of the header directory of LP-Solve to CPLUS_INCLUDE_PATH.
    • If you use Gurobi optimizer, add the path of directory of Gurobi to GUROBI_HOME, $GUROBI_HOME/include to CPLUS_INCLUDE_PATH and $GUROBI_HOME/lib to LIBRARY_PATH and LD_LIBRARY_PATH.
  5. Execute make.
  6. (Optional) Execute make test.

Windows

  1. Install ILP-solver (Gurobi 6.0.X or LP-Solve 5.5) which you want to use.
  2. Open ./vs/phillip.sln with Visual C++.
  3. Configure property of the project.
    • Under the construction... X(
  4. Build the project of phillip on Visual C++.

Usage


Compile

$ 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.

Inference

$ bin/phil -m inference -c lhs=<NAME> -c ilp=<NAME> -c sol=<NAME> -k <KB_PREFIX> [OPTIONS] [INPUTS]

New features!

  • -kbest
  • -abductive theorem prover
  • Support non-ab literals

In detail, please refer to Phillip Wiki.

About

Abductive reasoner for NLP in C++

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 99.1%
  • Other 0.9%