Inspiration
Our main inspiration came from the online meme where a (potentially) filipino guy swore in a humorous way when he saw a truck look like the Optimus Prime from the Transformers movie. This reminds us that we often say bad or offensive unintentionally in our daily lives when expressing both positive and negative emotions. Despite being engaging and entertaining, this might be an unhealthy trend and we want to make some changes about this.
What it does
Once added in our tele-bot into your chat, it will track and analyse every message your sent. The sentiment score and offending words used in your message will be extracted and displayed on your personal tracking dashboard in our website.
How we built it
Two aspects: Data presentation and data processing The telegram bot detects messages that users sent, then process sentiment analysis on it, and uploads the results to firebase. The data presentation logic then pulls down the data from firebase and presents it to the users.
Challenges we ran into
- For the NLP part, bad or offensive words are often culturally and context-dependent. Therefore, analyse the real-time message separately does not count in the chat context and the sender cultural background and might therefore yield inaccurate analysis.
- For data presentation, it is a hassle to identify what data would be useful to the users and how can the data be presented such that it’s meaningful to the users.
- For back-end implementation, communication between the front and back end is key to deliver a cohesive product. It is my first time integrating Telegram API into the backend and therefore structure mismatch is unavoidable.
Accomplishments that we're proud of
- We are able to create a one of a kind telegram bot that not only detects sentiments, but also sniffs for bad and uncomfortable words
- Moreover, it is the first telegram bot that offers visualisable data for a user to keep track of their progress.
- We are able to detect the uncomfortable words quite successfully and we made it in such a way that users would strive to improve their score by using emotions and scoring systems to nudge users to send better messages.
What we learned
In short, to work as a TEAM. Despite the well-defined APIs for each individual part, unforeseeable situations often arise during the integration process. What helped us pull through is our team spirit and close coordination that fostered effective communication and problem-solving. This experience reinforced the importance of teamwork in navigating uncertainties and achieving our collective goals.
What's next for BeNiceBeKind Optimum-Pride
Personalising the Model: consider individual speaking behaviour and cultural context when extracting offensive words. This is to recognise the wide variations in language nuances to create a more accurate and culturally sensitive system.
Mobile App Development: provide a platform for users to receive reminders, warnings, and selected statistics. To offer an interactive and engaging experience with customisable preferences, goal-setting, and regular feedback to cultivate positive communication habits.
Educational Features and Inclusivity: incorporate educational elements in the app to provide users with insights into the impact of their words. This is to foster a greater understanding of cultural differences to promote inclusivity and empower users to actively contribute to creating a more respectful online environment through a holistic approach.
Built With
- firebase
- javascript
- openai
- python
- react
- tailwind
- telegram
Log in or sign up for Devpost to join the conversation.