Think before you type!
Sentiment analysis in group chats using Tenserflow JS.
With Facebook recently revealing the amount of hate/bully/abuse posts on their platform (http://www.bbc.com/news/av/technology-44128537/facebook-reveals-scale-of-abuse), controlling such posts has become a top priority. This is an effort to solve it with Real Time sentiment analysis.
Sometimes, during textual conversations/e-mail, the tone of the conversation/mail does not convey the actual feeling. I have used a pre-trained CNN network for helping users get details about tone of their chat message in real time (before actually sending the message to the receiver). This is especially helpful for non-english speakers as many times they are not able to convey their actual feeling. All the Machine Learning/Prediction happens in the browser itself. I have not used any 3rd party sentiment analyser API. So the user's message/data WILL NOT leave his/her system which is the most critical point.
NOTE1: The CNN model is trained on IMDB reviews and classifies text as positive/negative. It works much better with long sentences.
NOTE2: Due to an issue with latest firebase SDK, there are intermittent login issues. If you are able to login but cannot post chats/messages, in that case, please open in INCOGNITO mode or clear cache and proceed.
Just sign up with any e-mail/password/display name and start chatting with others.
View the screencast:
Angular, Tensorflow JS, Firebase and AngularFire 2 (shoutout to Wes Doyle https://www.youtube.com/channel/UCfniixfhHqpIGbU7z2JCNJw whose videos really helped me)
I realy like the emoji sliding bellow the textarea :D
You could put it replacing the "Sentiment Score" to make the chat more "friendly". but its realy good!
I cannot get the login/registration to work regardless of how much I try so this comment is based on the idea and video.
Very cool to use Tensorflow in an Angular hackathon. I see a use case for this in the current anti-bullying push in the US, especially with a well trained model. Whether you use it to block messages from being sent that are bullying, or just flag them for review by someone else, it's an interesting idea.
Nifty idea, and interesting training data set you chose there. If you get the login issues worked out reply here, it would be fun to actually see how the model works.
Please feel free to add a review to our entry. Thanks!
Good idea putting real time sentiment analysis into the chat.
I liked the emojis and it worked well! Good job! Please vote for my entry too: http://www.angularattack.com/entries/312-prozillaz
I had to give this an "Amazing" for innovation. Nice work using AI!
The tools like tensorflow JS are becoming more available and better understood. I hope to see more AI Solutions like this in the contest next year😉
Interesting concept. I like the idea of sentiment analysis happening before you send a message to someone and have your icon change.
Some things to work on...show the status of the sentiment analysis, for example, disable the send button until complete. Also, have a timeout when typing...it seemed like it was running the analysis with every keystroke and was not allowing me to type.
Awesome use of tensorflow js .. Good interface layout.. hope you will improve design little bit
voted for your entry
Please check our one too
Congratulations for the app guys, I know how it's hard make an application in 48 hours.
I tried the phrase "my parents are dead", and the app suggested a happy face :$
Although, it's a nice angular application.
I would like you give a feedback too, please :)
I really like the idea of a real-time display of the sentiment analysis! It was fun to test different words and phrases and see the result in real-time.
The overall design and implementation was simple, but clean and pleasant enough. The sentiment analysis seemed a bit simplistic in my testing. It mostly seemed to recognize keywords like "happy" and "angry".
Had fun playing it.
Awesome idea and nicely done. I guess the sentiment recognition part can be improved with more data. Maybe it can give a warning when users try to send multiple angry messages. Good luck!