Inspiration

The inspiration for this project came from the need to streamline the study process. We often struggle with summarizing lengthy lecture notes and preparing effective study materials. We wanted to leverage AI to automate this process, making learning more efficient and engaging.

How We Built It

  1. Frontend: Developed using Angular, ensuring a responsive and interactive UI.
  2. Backend: Powered by Spring Boot, handling file uploads, processing, and quiz generation.
  3. Database: Used MongoDB to store quiz results and summaries.
  4. NLP Model: Leveraged transformer-based models to extract key information and generate questions.
    • Query Generation: Used the Haystack pipeline to generate queries with the valhalla/t5-base-e2e-qg model, a T5-based question generation model fine-tuned for end-to-end question generation.
    • MCQ Generation: Retrieved the generated queries and used the ExtractiveQAPipeline from Haystack, which combines BM25Retriever for efficient document retrieval and roberta-base model, fine-tuned using the SQuAD2.0 dataset for answer extraction. This approach ensures the generation of high-quality multiple-choice questions with relevant context.
    • Summarization and Title Generation: Utilized the T5-small model, a lightweight encoder-decoder transformer trained on a variety of NLP tasks. T5 treats all tasks as a text generation problem, making it highly adaptable. The model was fine-tuned to generate concise and meaningful summaries and titles, improving readability and information retrieval.
  5. Flask API: Used Python Flask to interface with NLP models and process document content.

Challenges We Faced

  • Ensuring accurate and meaningful question generation from extracted summaries.
  • Processing large documents efficiently without performance bottlenecks.
  • Handling multi-format document parsing while preserving content structure.
  • Creating an intuitive user interface that enhances learning.
  • Integrating Java Spring Boot, Angular, and Python Flask, ensuring seamless communication between services.

Accomplishments that We're Proud Of

  • Leveraged diverse expertise to enhance team collaboration.
  • Built a full-stack web app within a single day.
  • Efficiently managed and resolved pull requests between team members.

What We Learned

  • How to integrate Natural Language Processing (NLP) to summarize content.
  • Implementing flashcard generation and quiz creation from extracted content.
  • Handling various document formats (PDF, DOCX, TXT) efficiently.
  • Building a full-stack web application using Spring Boot (backend) and Angular (frontend).
  • Optimizing user experience by providing performance tracking for quizzes.

What's Next for Study Buddy – NLP-Based Student Assistant

  • Introduce adaptive learning paths based on performance analytics.
  • Enable study groups to share and collaboratively annotate materials.
  • Use user feedback to refine NLP outputs.
  • Ensure responsive design for seamless use on tablets and smartphones.

Built With

Share this project:

Updates