Team Number: 50 Team Reference Code: 5E
Inspiration
During our enrollment in university, we often had to bear with tough schedules, balancing among academics, CCAs, hall/faculty commitments, hobbies and much more. Despite the excellent quality of physical lectures, we found ourselves preferring online lectures due to time constraints.
Speaking to fellow coursemates, a majority of them have also chosen to opt for online lectures rather than in person as an effort to save traveling time or inconvenience. However, the limitations of online lectures often hindered our learning experience, which demanded our additional efforts and will to access lecture contents, resulting in great inefficiency.
As such, in an attempt to enhance online learning experience, we decided to develop a web application that can solve the inefficiencies of learning online and online video content.
What it does
Eduble is a AI-powered Educational Assistant developed with the aim of helping students from any background study more effectively and efficiently through the help of Artificial Intelligence (AI). Through this app, we believe that we have come up with something truly amazing that will benefit students all over the globe.
The core functionalities of Eduble include:
- Auto Speech to Text (STT) to generate transcript from the audio of the video.
- Multi-language Support (Can take videos in any language) and convert to English using Whisper (OpenAI).
- Summarizer that is used to provide a short summary of the content
- AI Chatbot, Eddy provides support within the app to help students with technical difficulties such as uploading of video or viewing of transcript.
- To start with, we currently support English to Mandarin transcription which we plan to expand to other languages in the future.
How we built it
Video compression using ffmpeg
Models
- Whisper (OpenAI) for Speech To Text (STT) transcription
- Completion (OpenAI) for translation
- Natural Language Toolkit (NLTK) + Pytorch to build a custom Natural Language Processing (NLP) Model for our very own AI Chat Bot: Eddy
- BERT Extractive Summarizer (Google) for summarizing transcripts
Challenges we ran into
During the development of Eduble, we encountered many challenges and problems. Some of which include:
- Use of new models and technologies: Many of the AI and ML Models were tools that we had never touched before and as such we had to spend time reading documentation and implementing it into our app.
- Real-time Processing: Providing real-time transcription during live lectures adds an additional layer of complexity. To tackle this issue, we reduced the latency of the model to ensure that the system could keep up with the pace of the lecture video.
- Training Data Limitations: The quality and diversity of the training data used to develop the AI model significantly impact its performance. Lack of diverse data may lead to biased or less accurate transcriptions.
- User Interface Design: Designing an intuitive and user-friendly interface for the app is crucial for user adoption. Users should be able to easily navigate, search, and interact with the transcribed content.
Accomplishments that we're proud of
Through long and painstaking efforts and hours, we managed to accomplish certain things that we are very proud of, some of which include:
- Flexibility in utilizing APIs and deploying it into an operating service.
- Acquire a deeper understanding of NLP, along with utilization of additional tools/languages used to construct an AI model.
- Integration of multiple services into a single web application, combined with a complete front-end design.
What we learned
Over the course of developing this App, we have learned many lessons and have numerous takeaways, some of which are as follows:
- Having numerous different APIs communicating with each other to generate coherent output. We learnt to manage and implement the various OpenAI models (Whisper and ChatGPT) to generate highly tailored content.
- Training and integrating ML models into our app alongside the OpenAI APIs to create a custom chat bot.
- Agile software development for an efficient, streamlined production process.
What's next for Eduble
As Eduble grows and expands, we seek to integrate additional functionalities to make for a more enriching learning experience as well make it scalable so that more students and learners are able to use this great educational tool.
Feature: Multiple Language Output Support.
Eduble is highly extensible and in the future we plan to add multiple languages to our model so students all over the world can use it in their own native language. In line with the UN’s 4th Sustainable Development Goal, Eduble will make learning accessible to a greater number of students by enabling the student to change the output language to the language of his choice. With Eduble, we can bring lessons from MIT to the most remote villages without a language barrier and virtually no cost. Eventually Eduble will also be able to generate content in ASL and additionally, we also seek to make our content accessible to students with learning disabilities by tailoring it to different difficulty levels.
With Eduble, we strive to provide quality education for all.
Built With
- bert
- chatgpt
- javascript
- nextjs
- nltk
- openai
- python
- pytorch
- whisper
Log in or sign up for Devpost to join the conversation.