Inspiration
We had heard of interesting libraries such as NLTK and Whisper before this competition and wanted to give a creative and convenient twist to learning how to code.
What it does
Data.Echo listens to the user's microphone when prompted through the command line using Whisper to find an answer to their computer science questions! This is achieved using a BeautifulSoup web scraper and Natural Language ToolKit (NLTK) backend that processes the user's language into a question that can be answered by computer science websites such as Wikipedia and W3Schools. The answer is shown in an easily digestible generated webpage document for the user to read and reference for their coding.
How we built it
We used multiple different libraries to implement our workflow in a step-by-step process:
- Transcribed user audio using Whisper and audiopy.
- Parsed grammar of the question using NLTK to look for keywords and question type.
- Scraped Wikipedia and W3Schools for relevant data.
- Formatted data to answer questions in an HTML file for the user.
Challenges we ran into
- Parsing relevant information from the question
- Git Workflow: We're relatively new to Git, so learning how to sync branches was a timesink
- Implementing new libraries like BeautifulSoup and Whisper
- Creating a project that can be expanded in the future
- Working with natural language processing
Accomplishments that we're proud of
- Dylan: Scraping a web tree to give solid output to answer questions.
- Dellie: Creating a grammar that can sort by W3Schools' "Tutorial" and "Topic" to get more specificity.
- Kevin: Learning how to use BeautifulSoup
- Adwaith: Being new to coding, it was interesting to see how Python can be used to implement complex data structures.
What we learned
- Dylan: How to use Whisper and create a scraping algorithm using BeautifulSoup to answer certain questions.
- Dellie: Deconstructing grammar of common computer science sources and learning how to navigate HTML in BeautifulSoup.
- Kevin: How to use BeautifulSoup and stylize the front end adaptively.
- Adwaith: Learned more about the limitations of code.
What's next for Data.Echo
- More question types using NLTK's grammar parsing
- More sites to scrape to answer the increased question types
- Interactive chatbot
- Add HTML support for inputs as the command line is currently primarily used for inputs
Built With
- ai-transcription
- html
- natural-language-processing
- python
- web-scraping
- whisper
Log in or sign up for Devpost to join the conversation.