This project contains web project that used for detecting wheter a text is cyberbullying or not. This project is built as a part of research conducted to detect cyberbullying texts. The algorithm used to construct this project is Long Short-Term Memory as a classification algorithm and Fasttext as word embedding. Programming language and web framework that is used to build this project is Python and Flask. This project contains detection model and Fasttext model for 100 and 300 Fasttext embedding size. 100 Fasttext embedding size can be chosen for device that has low memory while 300 Fasttext embedding size can be chosen for higher memory. Result for 300 Fasttext embedding size should give better result than the 100 embedding size. Nevertheless, the result of the 300 embedding size still not good because the score given in machine learning metric (precision, recall, and f-measure) is 72%, 69%, and 70%.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
What things you need to install the software
- Anaconda - To run python project, and to store python library
- Keras and Tensorflow - To run classification
- Gensim library - To run Fasttext word embedding
Notes: Version can be seen on the Built With section
- Git clone this project (https://github.com/jasonKristanto/CyberbullyingDetection.git)
- Run the Anaconda Prompt which has been installed
- Go to the directory that contains the project
- Run the command
python app.py
- Wait until URL link 127.0.0.1/5000 showed up on the Anaconda Prompt. If the web page doesn't showed up automatically, you can go to the URL link on your web browser
- Detect your text!
- You can detect a text on the form on the left, or some texts that are stored in CSV file on the form on the right
- The result can be seen on the table below the form
- Jason Kristanto - https://github.com/jasonKristanto
- Python 3.7.6 - The programming language
- Flask 1.1.1 - The web framework
- Keras 2.2.5 - The classification library
- Tensorflow 1.14.0 - The classification library
- Gensim 3.8.0 - The Fasttext word embedding library
- jQuery 3.4.1 - The web front-end framework
- Bootstrap - The web front-end framework
- ReadMe template provides by PurpleBooth
- Dataset used for train models by this Conference Paper