DBpedia Live Neural Question Answering Chatbot - GSoC2020

In this topic, the student will implement and deploy a live chatbot version of the DBpedia Neural Question Answering dataset.

1 Like

Could please provide project details and use our usual project description structure. Thank you :slight_smile:

Warm-up tasks:

In this topic, the student will implement and deploy a live chatbot version of the DBpedia Neural Question Answering dataset [1].

[1] https://github.com/AKSW/DBNQA

Create a life DBpedia Neural Chatbot based on DBNQA and NSpM.

(1) Facilitate access to DBpedia content;
(2) Enable community evaluation and feedback of DBpedia NSpM models.

Warm-up tasks
(1) Fork the NsPM project (https://github.com/AKSW/NSPM);
(2) Train the Monument 300 and Monument 600 datasets https://github.com/AKSW/NSpM/tree/master/data;
(4) Fork and train the model using a subset (30 first lines) of DBNQA dataset;
(5) Instantiate the NSpM Telegram Chatbot: https://github.com/AKSW/NSpM/wiki/NSpM-Telegram-Bot

Edgard Marx
Diego Moussallem

#NSpM #DBpedia #Chatbot #AI #ConversationalAI

1 Like

Hello, I am Randika, Final year CSE undergraduate at University of Moratuwa, Sri Lanka. I found this project interesting and matching with my skill set as I have some experience of developing chatbots using Rasa NLU. I have a question regarding the project.

  • The goal of the project is to develop a bot which can query the DBpedia content using natural language, does the bot needs to be able to manage context in order to provide a more natural conversation or bot only needs to understand user query, response the user accordingly?

Dear Randika,

Glad to hear from you :slight_smile: .
You have an excellent question and I hope it will be useful to other students dropping here.
In Google Summer of Code mentors can handle students differently.
I like to stimulate the student’s creativity, but I also recommend a little caution when planning.
Try to answer the Hows, Whys, and Whens.
If you think that you have a good answer to these questions, you can add this and any other cool feature to your proposal.

Hope I answered you.

1 Like

Thank you @emarx I will share my design considerations with you, then I hope I can further improve the design from your outputs. Is it okay to use this thread to discuss about the project?

Hello,This is Saumya.i am a second year CSE undergraduate.I am deeply interested in this project as i was studying about chatbots for past few months.
So nowhere in the description of this project there is anything written about the technology that students must use while developing chatbot. So does it imply that we are free to use our choice of tools for completing the project?
Other than that as @randikaj said ,is it ok to use this thread for discussing further about this project?

I was going through the warm-up task and I have trained the model. But I cannot understand the further instructions to instantiate the chat-bot. The instructions to run the docker are not clear to me. Can anyone help me with that?

Sure, you can also propose technologies, and yes, if you have questions, you can also post them here.

hew Harshit, you are right, it is a bit generic and it assumes you know how to instantiate the Telegram Bot.
I am imagining you are having trouble exactly on that.
So I suggest you play around creating a Telegram Bot first at https://github.com/telegraf/telegraf.

ps: the original NSPM Telegram Chatbot come from the repo: https://github.com/gluecksbaerchi/NSpM-telegram-bot


It says that “docker must be running”. Can you please clarify that as well? Thanks for the fast reply :slight_smile:

1 Like

Now I got it :slight_smile:,

The git repository contains a docker-compose (https://github.com/gluecksbaerchi/NSpM-telegram-bot/blob/master/docker-compose.yml) file which is essentially a text file describing how to instantiate an isolated OS process using docker, also called by the fancy name of “containers.”
Try to find a tutorial on how to install docker and instantiate containers using docker-compose.

You only need to install Docker(If you are using Linux, you have to install Docker-compose separately ) and rest instructions are pretty straightforward. Meanwhile you learn about Docker to get more idea on it.


I am Tanmoy, a B.Tech final year student at National Institute of Technology Durgapur, India majoring in Computer Science and Engineering. I went through the GSoC project ideas of DBpedia and the topic “DBpedia Live Neural Question Answering Chatbot” fascinated me. I read the papers "SPARQL as a foreign language ", “The Neural SPARQL Machine Telegram Chatbot” and did the warmup tasks mentioned like:

  1. Forking the NSpM project and training with the monument datasets.
  2. Generating a training set using the first 30 templates in LC-QuAD_v6_art.csv file and training the model.
  3. Instantiating the NSpM-telegram-bot.

What is the next thing I have to do to proceed with the project?

Thanks and regards,
Tanmoy Ghosh

Time to start working on your GOC proposal :wink:

1 Like

@emarx Do we have to develop a telegram bot or a bot server which it can be configurable to connect with any messenger service or if need configurable on website it self?

@emarx How can we discuss ideas with the mentors? Is there any group mailing list or we can just mail the mentors directly? Or there is any other preferred medium?

Dear Randikaj,

Thanks for your question.
The intend of using Telegram in the warmup task was only to get you familiar with the project.
As I mentioned previously, you are free to suggest architecture and integration with other systems.
However, the main focus here is DBpedia using the DBNQA and NSPM projects.

1 Like

Dear harshit-gupta,

You and any student that want to discuss some aspects of her/his proposal can mail me directly.
Please be aware that answering all emails can take some time.
You can find my contacts on the AKSW website: http://aksw.org

1 Like

@emarx Thank you so much. I started to work on the proposal. I would like to know how can I share the proposal with you for getting feedback?
I saw that the telegram bot supports spraql queries too other than the natural language queries. Should the new bot also needs to support spraql queries ?