This repository implements the components required by Hobbit benchmarking platform to benchmark FactCheck (an algorithm for validating statements by finding confirming sources for it on the web) using the models provided by FactBench (a multilingual benchmark for the evaluation of fact validation algorithms). Before running the benchmark, the FactBench data set(test or train) can be selected as well as the threshold that FactCheck should use. The benchmark provides the following metrics: recall, precision, accuracy, precision, algorithm's run time and ROC/AUC value.
- Follow the steps outlined for setting up the SDK benchmark environment.
- Create
data/factbench
directory in the root of the project. Clone the the FactBench repository and copy the test and train directories to thedata/factbench
. - Create
factcheck-data/db
directory and place thedbpedia_metrics.sql
file from the FactCheck repository in the directory. This file will be used to initialize the FactCheck database Docker container, when it is being created. - Create
factcheck-data/service
directory and ensure the following items are present:- the compiled
factcheck-service-*.jar
file from the factcheck-service project. - the
/machinelearning
directory from the FactCheck repository. The path would befactcheck-data/service/machinelearning
. - the
/wordnet
directory from the FactCheck repository. The path would befactcheck-data/service/wordnet
. - the
defacto.ini
file stores the configuration that the Docker container uses to initialize the application. - other resources that factcheck-service requires.
- the compiled
- Update BenchmarkConstants with the correct image names and directories.
- When debugging the benchmark, update DummySystemAdapter so that it can access the local instance of factcheck-service.
- Update ExampleBenchmarkTest to use the deployment ready components instead of the dummy components.
- Run the
buildSystemImages()
to build the factcheck-service and factcheck-database containers. - Follow the steps to build the docker images that will be uploaded to the remote respositories. Please find the basic benchmark component implementations in the sources folder. You may extend the components with logic of your benchmark and debug the components as pure java codes by running the
checkHealth()
method from ExampleBenchmarkTest). You may specify input parameters models for benchmark and system you are running. - Update the container names and then execute push.sh, after logging into the repository, to push the images.