End-to-end relation extraction and knowledge base population pipeline
Project Website: None
Github Link: https://github.com/beroth/relationfactory
RelationFactory is a relation extraction and knowledge-base population system.
It was the top-ranked system in TAC KBP 2013 English Slot-filling (http://www.nist.gov/tac/2013/KBP/index.html).
If you want to use RelationFactory in a TAC benchmark, please contact the authors (see LICENSE for details).
RelationFactory uses SVMLight (http://svmlight.joachims.org/) for classification, so you must agree to the
License of SVMLight, especially to it being restricted to scientific use only.
Make sure the following software is installed:
ghc, version >= 7.4.1
cabal, version >= 1.14.0
java / JDK, version >= 6 (the Oracle one)
unix tools, including wget
1. Download models
If you want to use pre-trained models, download them from our server:
tar xzf relationfactory_models.tar.gz
2. Set paths
E.g. by putting the following lines in your ~/.bashrc :
# relationfactory clone
# pre-trained models
The TAC_ROOT variable has to be set. The TAC_MODELS variable is optional.
If it is not set, the models have to be specified in the config file.
3. Compile system
4. Index corpus
See the corresponding README in $TAC_ROOT/indexing
5. Configure run
The settings can be taken from $TAC_ROOT/config/system2013.config .
Make sure to adapt it to your models and index locations.
Also point to the TAC queries file for which you want to get results, and
specify a rundir where files for that run are put.
7. Check response
check the output file, /your/rundir/response_fast_pp13. It should contain
for each query some mixture of NIL answers and other answers, many of which
score by 1.0, others with lower score.
Evaluate your run using the official TAC scorer.
Note that due to refactoring, slightly different answers are returned than in TAC 2013.
The ‘exact’ evaluation, that is dependent on document id’s and offsets to be included in the answer pool,
is very sensitive to that.
Use ‘anydoc’ evaluation mode to obtain more robust scores.
8. How to change the pipeline
Change $TAC_ROOT/bin/makefile and insert a rule describing your new target.