ThaCovenant / COMP474_Project

Build an intelligent agent that can answer university course and student related questions, using a knowledge graph and natural language processing
0 stars 0 forks source link

Roboprof Chatbot. #45

Closed Mishtec closed 5 months ago

Mishtec commented 6 months ago

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:

  1. All of the queries from Part #1.
  2. “What is the about?” E.g, “What is COMP 474 about?”: provides the course description as answer.
  3. “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.
  4. “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
Mishtec commented 5 months ago

Completed