Inspiration

Our team was inspired specifically by our schools Intelligent Systems book, "Statistical Machine Learning, A Unified Framework" by Richard Golden. The book has amazing insights on building machine learning models from the ground up, but the first time we opened the book we were immediately overwhelmed by the sheer amount of information presented in the book. So we created a solution that extracts key ideas and concepts from textbooks and research papers and shows how those concepts build upon each other to achieve their final goal of helping you learn.

What it does

The backbone of our application is our algorithm that strips keywords from text based on importance before building a graph that represents all of the key ideas someone has to understand before moving on to the next section. We then display this to the user in the frontend with various tools to help the user understand that concept through embedding summarization and specialized chat bot assistance. This is all built on top of our gamification that encourages setting up a regular weekly schedule to keep up in studying a particular material.

How we built it

The algorithm is a combination of two other algorithms including Key Word Extraction and a off-shoot of the page rank algorithm named topic rank that works to learn how key words are related to each other. This works well for generating a directed graph from beginning to the end of the book where future chapters are built off of preceding concepts. The processing of data is done in our Fast API backend which also holds our data for textbooks that have already been processed. The frontend is built in Svelte Kit a frontend JavaScript framework.

Challenges we ran into

One challenge we ran into is that because the keyword extraction is generally optimized towards smaller datasets of paragraphs, but due to hardware limitations we had to use larger datasets at once which lead to less desired results. With a stronger GPU we could easily offload that computation and achieve a much higher standard of concepts that are generated. We attempted to achieve this by using Docker and a loaned GPU online, but was struggling to get the computation to work as expected.

Accomplishments that we're proud of

This was an entirely new project for us! We're very proud of the progress we've made and the material we've learned along the way. We are very proud of the fact that the application is fully deployed to https://main-deployment.deilcwp6iri9p.amplifyapp.com/ Feel free to view and upload pdf files of textbooks or research papers to get a feeling of how it works.

What we learned

We learned a lot about different ways to parse and extract data from pdf's before using that data in a multi-stage pipeline of machine learning models to work towards a singular goal. We also learned a lot about accessibility and how to implement it in a graphical application using key binds and alt text to ensure that anyone can maneuver through the application.

What's next for Redwood

We would love to see new features added to Redwood to further enrich the learning experience and help students comprehend textbooks and research papers. We've discussed one day including flashcard generation and daily quizzes that implement the Ebbinghaus learning curve.

Discords

Abigail Smith - MisfitTea Eric Shields - hammyhampster Nicholas Zolton - syzygyn Nia Anderson - nia7anderson

Built With

  • fastapi
  • openai
  • spacy
  • svelte
Share this project:

Updates