AWTPro SS 2019
Chat Application with AI Harassment Detection
Team: AWTPro SS2019 Group 1 (Jonathan Samuel Will, Sabtain Ahmad, Sukanya Sunder)
Activate dynamic relabeling feature
Technologies
-
Backend:
- Python / Django framework
- Nginx web server and Gunicorn on Ubuntu
- SQLite Database
-
Frontend:
- CSS with Bootstrap, FontAwesome Icons
- Javascript with AJAX, JQuery
- GIMP to design some of the visuals
Functioning
-
General:
- Sending messages from the client to the server
- Messages get classified by server
- Classification gets added to the message on the client
-
Chat application details:
- Responsive design to work on all devices
- Smart scrolling: Only scroll down on new messages if not manually scrolled up
- Everyone gets assigned an identity based on their IP address
- Participants see their own messages shifted to the right, messages of others shifted to the left
- Messages get deleted automatically when they are one hour old
- An identity gets freed up again after the last message from that identity has been deleted
- If there are no more identities left, every additional participant gets the "Anonymous" default identity
- Messages can get relabeled based on previous or subsequent messages and their relation to each other
- Hover with mouse over messages to see additional information regarding the classification and reclassification
- Classifier details:
- Transfer learning with ULMFIT model
- Datasets from Formspring and Twitter
- 3 Classes: Normal, Hatespeech and Offensive