Modular DBpedia Chatbot - GSoC 2021

Data accessibility is the key to a better understanding of the world. DBpedia has done a great job in collecting and organizing data. In 2017 a previous GSoC project [1] a simple chatbot was implemented [2,7] to provide users an easy-to-use interface for accessing the knowledge stored in the DBpedia knowledge base. In particular, it uses Qanary/QAnswer services and the Wolfram Alpha API to fetch answers for the provided user’s question. The chatbot supports simple questions like “Who is Albert Einstein’’ or “What is a planet” and returns a short abstract as well as links to DBpedia and Wikipedia. Many users already benefited from this GSoC project’s results.

Despite the integrated APIs and the great modeling of the dialogs, the functionality of the chatbot is rather limited. There is no support for multilingual questions (only English directly is supported) and no possibility to open a particular interaction context (e.g., “I search only for persons.”) nor support for refining the questions (e.g., follow-up questions). Hence, while data collected in the DBpedia knowledge base is growing permanently, the chatbot implementation is not supporting the users using a state-of-the-art method.
In this project, we plan to extend the functionality of the DBpedia chatbot by integrating the ecosystem of the Qanary framework [3,4] including its plug-and-play components and their optimization (c.f., [5]). These components already provide much functionality required for full-fledged question answering systems.
We plan to move from the DBpedia chatbot’s custom implementation to Google Dialogflow, s.t., a state-of-the-art technology is used (e.g., enabling speech input). While refactoring the architecture of the DBpedia chatbot we will provide users with many novel options. For example, users will be enabled to interactively switch languages, select particular knowledge domains, receive search suggestions (e.g., question refinements) and activate particular components dynamically. While integrating the Qanary ecosystem into the DBpedia chatbot we will also provide the opportunity for contributors of a particular Qanary component to integrate on-demand their components. Hence, testing and verifying a novel implementation would be facilitated, s.t., developers are enabled to contribute directly to the extension of the DBpedia chatbot.
Concluding the contribution is twofold: (1) We will provide better access to the DBpedia knowledge base for regular users while providing a state-of-the-art interface. (2) We will provide community members with a technical background easy access to the APIs via the established Qanary framework, s.t., they can integrate new functionality into the DBpedia chatbot with little to no additional technical requirements.

Goals

  1. Facilitate access to DBpedia content via natural language while using the state-of-the-art Google Dialogflow framework (including follow-up and drill-down questions etc.)
  2. Enable access for users not capable of asking English questions.
  3. Establish web-based interfaces for developers to test and extend the DBpedia chatbot.

Impact

  • Easier access for normal users to the vast knowledge in the DBpedia knowledge base.
  • Establish an open-source community of DBpedia Chatbot developers and connect the communities of DBpedia developers and Qanary developers.
  • Collect more feedback from users to improve the DBpedia knowledge base.

Warm-up tasks

  • Implement a Google Dialogflow tutorial: https://cloud.google.com/dialogflow/es/docs/tutorials?hl=en
  • Read the tutorial on implementing a trivial Qanary-driven question answering pipeline: github: WDAqua/Qanary/wiki/Qanary-tutorial:-How-to-build-a-trivial-Question-Answering-pipeline (optional)
  • Reuse the already deployed test environment (Qanary pipeline and Qanary components) to create a question answering system capable of answering the question “What is the real name of Catwomen” and “What is the real name of Captain America”. Use the Qanary components DBpedia Spotlight and Query Builder for Real Names of Super Heros to configure your system without coding.
  • Implement a simple Qanary component using Python or Java (see the guides at [8]).
  • Run simple SPARQL Queries on DBpedia to get familiar with the data and the technology.
  • Get familiar with the provided list of questions.

Mentors

  • Andreas Both
  • Aleksandr Perevalov
  • Ricardo Usbeck

[1] github: /dbpedia/chatbot/wiki/GSoC-2017:-Chatbot-for-DBpedia

[2] chat.dbpedia.org

[3] Both, A., Diefenbach, D., Singh, K., Shekarpour, S., Cherix, D., & Lange, C. (2016). Qanary–a methodology for vocabulary-driven open question answering systems. In European Semantic Web Conference (pp. 625-641). Springer, Cham.

[4] github: WDAqua/Qanary

[5] Singh, K., Radhakrishna, A. S., Both, A., Shekarpour, S., Lytra, I., Usbeck, R., … & Auer, S. (2018). Why reinvent the wheel: Let’s build question answering systems together. In Proceedings of the 2018 World Wide Web Conference (pp. 1247-1256).

[6] github: WDAqua/Qanary-question-answering-components

[7] Athreya, R. G., Ngonga Ngomo, A. C., & Usbeck, R. (2018). Enhancing Community Interactions with Data-Driven Chatbots–The DBpedia Chatbot. In Companion Proceedings of the The Web Conference 2018 (pp. 143-146).

[8] github: WDAqua/Qanary/wiki

Remark: Several links could not be integrated due to limitation of the forum.