Roboprof Chatbot. For users to be able to interact with your bot, you need to develop a natural language
interface to your knowledge base (i.e., a grounding-based bot). It has to be able to answer (at least) the
following questions:
All of the queries from Part #1.
“What is the about?”
E.g, “What is COMP 474 about?”: provides the course description as answer.
“Which topics are covered in ?”
E.g, “Which topics are covered in Lab #2 of COMP 474?”: provides the topics (in English), together
with their resource URI where they can be found.
“Which course events cover ?”
E.g., “Which course events cover Deep Learning?”: lists all courses with their events (lectures, labs)
that include this topic, sorted by frequency of the topic, in descending order.
You have to implement your natural language interface using the Open Source Rasa chatbot framework.5
Implement suitable dialogs that you can map to SPARQL queries and answer using your Fuseki server. You
then have to translate the response triples into fluent natural language answers for the user.6
• Create an intent for each question.
• Setup suitable actions to access your Fuseki server using SPARQL queries.
• Develop a suitable strategy for handling out-of-vocabulary (OOV) words in a question. Consider
techniques such as synonym mapping or leveraging the NLU model’s built-in capabilities to suggest
the closest known entities or intents for unrecognized words.
• Develop a suitable error handling strategy when a user’s question cannot be answered from your
knowledge base, e.g., providing helpful feedback or suggesting alternative queries.
• For generating a fluent natural language answer from the results of the SPARQL query, you can use
static templates or integrate a pre-trained Large Language Model (LLM) obtained from HuggingFace,
suitable for text generation tasks, such as T5-small or DistilGPT-2.7
Roboprof Chatbot. For users to be able to interact with your bot, you need to develop a natural language interface to your knowledge base (i.e., a grounding-based bot). It has to be able to answer (at least) the following questions: