As we were watching our respective web-casted classes on the bus ride over to HackTech, we realized that we were spending hours mindlessly watching videos to capture banal information. Thus, SMLR was born.
What it does
SMLR takes in an English language youtube video and transcribes its audio. It then tokenizes the data by sentence and uses latent semantic analysis to summarize the text by assigning weights to each sentence and determining the most important ones.
How we built it
We wrote a REST API using python and flask which made calls to Google Cloud Platform's speech-to-text API and handled summarizing the text. The app itself was made in Node.JS with Express.JS.
Challenges we ran into
Linking the python backend with the Node..... backend..... was a complicated task, as there were subtleties involved such as encoding URI components to make them safe for API calls as well as setting up the cloud firestore. Optimizing audio for efficient speech recognition was also a difficult task, and we had to write a library to split the audio in order to allow for recognition to happen asynchronously and faster.
Accomplishments that we're proud of
- Creating a modern UI from scratch, we're all about the users baby!
- Implementing key natural language processing techniques to serve only relevant content
What's next for smlr
- support for more than one language
- custom summary sizes
- export summary as PDF, DOCX, etc.
- multithreaded speech recognition for blazing fast load times
- potentially swap out the summarization algorithm for speed