dice-group / TeBaQA

A question answering system which utilises machine learning.

Home Page:https://tebaqa.demos.dice-research.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Template-Based Question Answering (TeBaQA)

Build Status Codacy Badge

TeBaQA is available at https://tebaqa.demos.dice-research.org/

Execution

TeBaQA implements microservices architecture. The application comprises following 5 modules:

  • Template Classification :- to classify query templates (localhost:8081)
  • Entity Linking :- finding and linking entities and relations (localhost:8082)
  • Query Ranking :- candidate query execution, ranking (localhost:8083)
  • TeBaQA Controller :- central controller, frontend application (localhost:8080)
  • NLP Server :- CoreNLP Server endpoint (localhost:8085)

Additionally, Entity Linking requires Elasticsearch indices for data and ontology of the knowledge base. We provide dumps of DBPedia (2016-10 release). Find the dump files along with the instructions at Hobbit data. The indices were generated on Elastiscearch 6.6.1. You have to install Elasticsearch to use the Entity Linking components of TeBaQA. However, TeBaQA can also be run on your own knowledge base. Check the instruction in this file for more information on creating your own Elasticsearch indices. The script for createing the indices is located here

There are two ways to run TeBaQA

1. Run locally

  • Checkout the project

  • make files executable (chmod +x <filename>.sh)

  • Build all modules

    ./build-script.sh

  • Run all modules

    ./run-script.sh

2. Run as Docker (installation guide, Ubuntu 20.04) containers

  • Checkout the project

  • Build docker images for each module

    ./docker/build-images.sh

  • To run all containers

    ./docker/run-containers.sh

  • To stop all containers

    ./docker/stop-containers.sh

Citation

Vollmers, D., Jalota, R., Moussallem, D., Topiwala, H., Ngomo, A. C. N., & Usbeck, R. (2021). Knowledge Graph Question Answering using Graph-Pattern Isomorphism. arXiv preprint arXiv:2103.06752. https://arxiv.org/abs/2103.06752

Question Answering

  • To answer a question, simply execute an HTTP POST request to
  • Parameters:
    • query: A string which contains a question (required).
    • lang: The language of the question (default:en) Note: Other languages than English haven't been implemented yet.
  • An example request could look like this:
    • http://localhost:8080/qa?query=Where is the birthplace of Angela Merkel?&lang=en

Evaluation

Ablation study

Credit

About

A question answering system which utilises machine learning.

https://tebaqa.demos.dice-research.org/

License:GNU Affero General Public License v3.0


Languages

Language:Java 84.3%Language:HTML 13.2%Language:JavaScript 0.9%Language:CSS 0.8%Language:Dockerfile 0.4%Language:Shell 0.4%