Inspiration

Read an article about how work place diversity improves employee moral and engagement but the one of the many barriers in achieving high diversity in workplaces or online chat platforms is the communication barrier. While people can easily type into the google translate service and copy/paste it into the chat platform, It is not as easy as just typing in your preferred language. Another barrier is the lack of knowledge about other cultures. While people who really want to understand other take the time to study it, most have the time for it with their tight schedule. so we decided to make games like kahoot and trivias, which are both stress relievers and are good at educating people in an effortless way. We learnt that there is also a barrier between different generations of employees like younger employees use some terms that are not known to older employees, So we wanted to fix that with minimal effort from the user and made a smart search system that explains what that term means.

What it does

To remove the communication barrier, we wrote a bot that will detect which is the source language of the text with NLP and translate to the preferred language. The bot scans all the messages that starts with a period and automatically edits it with very low latency. This helps keep the conversation going without any interruptions.

To help the people in the serve destress and help them learn about new cultures, we coded a trivia game which can be activated with the command "!trivia" and designed an economy system that motivates players to play more games and earn more points.

To help users understand certain terms that they might not know, we designed a search command (!s) that sends a Wikipedia link of that term in discord.

How we built it

For the translation part, after a lot of research and trial/errors, we settled on using the module textblob which is both resource friendly and easily to use since repl.it doesn't work too well with AI models. We used the discord API to get the users' messages, delete the message ( since discord doesn't allow bots to edit others' messages) and resend it in a clean looking embeded message. We used the google translate API to translate the messages.

For the trivia part, we made a database of the trivia questions and their answers. Then used the discord API to listen for command ( !trivia ) and send a random question in a clean embeded message. The users will choose their correct answers by reacting to the questions with emojis available in discord, which will be captured by the discord API and points will be awarded for each correct answer. We did the same with the smart search feature, except we use some NLP to understand what the user is saying and tried the best to find the closest computer science term.

Challenges we ran into

Since we had to work remotely, we had to use repl.it to code together. Though repl.it is a good service, it is not enough to train NN models. We had to settle for a mediocre module that is not very resource intensive for detecting languages. We wanted to train a WordNet of CS terms to better understand the search query from the smart search but due to the lack of resources, we used some math to find the most similar CS term from the database. Though it is not the best, it was sufficient for the time being.

Accomplishments that we're proud of

We are glad that we were able to make a good functional bot that helps with diversity in the chatting platform without the resources that we usually have to train models.

What we learned

We learnt about discord API, we weren't completely new to it but we did have a lot to learn about reaction management and asynchronous functions. We learnt how to work under the time pressure.

What's next for Project Diversity

We are planning on improving the language detection with a better trained NN model and the smart search feature needs a lot of work as the database is limited to the terms we found within the time constraints. We are planning on finding a better dataset or using google search engine for it. We should also train a WordNet to understand the term with context.

Share this project:

Updates