Inspiration
Searching through text for trends or identifying issues is extremely important; thus, labeling the text is a necessary but arduous task. It's made only harder when needing to relate differing responses across subjects.
This project aims to alleviate that difficulty through the use of BERT, a sentence embedding ML model.
What it does
Two technologies that can work together well are Standupman and BentoML. Standupman provides a platform for discussion, including bug reports, feature requests, etc. BentoML hosts ML models and enables simple usage.
This app will give search superpowers. BERT can be queried from BentoML to extract the semantic meaning of sentences from Standupman into constant-length vectors. From there, any sentence can be compared automatically! Pull up the app and hover over the plot of sentence embeddings from Standupman to see similar topics, issues, requests, or anything else automatically organized.
How we built it
We used Standupman to retrieve text from projects and BentoML to host the BERT model. A frontend unites these tools for the user, where they can see and interact with BERT's embeddings of Standupman's text.
Challenges we ran into
Using Standupman's API took some time and plotting the sentence embeddings correctly was a bit difficult as well. However, the project went relatively smoothly as we were able to finish it in less than 5 days!
Accomplishments that we're proud of
Uniting Standupman and BentoML, two different MLH assignments was creative and useful for all members of the team.
What we learned
We learned how Javascript apps work more in-depth, as most of our members specialize in Python. We also learned more about using GitHub to develop separately on branches and pull as major changes are finished.
As for the tech we learned about, BERT was previously a hurdle to include in any project, but with BentoML it was so much easier. Using PCA to visualize the high-dimensional sentence embeddings was interesting since it outperformed T-SNE in some initial tests.
What's next for Semantic Standups
Including this in the Standupman app would be a useful next step. Also, adding sentiment analysis would be useful to prioritize bug reports over feature requests, for example.
Built With
- bentoml
- bert
- huggingface
- javascript
- python
- pytorch
- standupman
- streamlit
Log in or sign up for Devpost to join the conversation.