_Current Open Source Software (OSS) communities have many avenues of communication available to them, including mailing lists, chat channels, and forum boards.
Mailing lists have become popular targets for mining sentiment and emotions, as they usually provide a centralized communication hub for members of a distributed OSS community. Sentiment and emotions within communities can provide insights into community health. Good community health will help with initiatives aimed at fostering positive interactions between OSS community members, strengthening social ties, and helping the community accomplish its tasks.
With that, the task of conducting sentiment analysis on the Fedora user and developer mailing list found its roots. Over the summer, the project evolved into being focused on hate speech and offensive language detection. Through the next few months, there will be multiple combinations of models and training sets tested to see which gives the best accuracy. A service then will be developed that can be used to analyze any OS mailing list data.
The goal of this service is to be able to provide community managers information about how their community communicates with one another. In an ideal world, the service would notify manager of threads or users that are turning towards discriminatory language that could push away other members from wanting to contribute. _
Through the the data from the devel and user Fedora Mailing List, create a model that best detects if a given email or thread is conducting "offensive" or "discriminatory" language. From this model, develop a service that community managers can use to be notified of this behavor/ analyze over time the changes in this sector of sentiment.
- Clean the data set
- Create a train, testing, and validation data set
- Create a model that best labels the emails into the 3 categories
- Look into using this analysis to determine the health of threads
- Deploy into a service for community managers
βββ LICENSE
βββ Makefile <- Makefile with commands like `make data` or `make train`
βββ Pipfile <- Pipfile stating package configuration as used by Pipenv.
βββ Pipfile.lock <- Pipfile.lock stating a pinned down software stack with as used by Pipenv.
βββ README.md <- The top-level README for developers using this project.
βββ data
βΒ Β βββ external <- Data from third party sources.
βΒ Β βββ interim <- Intermediate data that has been transformed.
βΒ Β βββ processed <- The final, canonical data sets for modeling.
βΒ Β βββ raw <- The original, immutable data dump.
β
βββ docs <- A default Sphinx project; see sphinx-doc.org for details
β
βββ models <- Trained and serialized models, model predictions, or model summaries
β
βββ notebooks <- Jupyter notebooks. Naming convention is a number (for ordering),
β the creator's initials, and a short `-` delimited description, e.g.
β `1.0-jqp-initial-data-exploration`.
β
βββ references <- Data dictionaries, manuals, and all other explanatory materials.
β
βββ reports <- Generated analysis as HTML, PDF, LaTeX, etc.
βΒ Β βββ figures <- Generated graphics and figures to be used in reporting
β
βββ requirements.txt <- The requirements file stating direct dependencies if a library
β is developed.
β
βββ setup.py <- makes project pip installable (pip install -e .) so src can be imported
βββ src <- Source code for use in this project.
βΒ Β βββ __init__.py <- Makes src a Python module
β β
βΒ Β βββ data <- Scripts to download or generate data
βΒ Β βΒ Β βββ make_dataset.py
β β
βΒ Β βββ features <- Scripts to turn raw data into features for modeling
βΒ Β βΒ Β βββ build_features.py
β β
βΒ Β βββ models <- Scripts to train models and then use trained models to make
β β β predictions
βΒ Β βΒ Β βββ predict_model.py
βΒ Β βΒ Β βββ train_model.py
β β
βΒ Β βββ visualization <- Scripts to create exploratory and results oriented visualizations
βΒ Β βββ visualize.py
β
βββ .thoth.yaml <- Thoth's configuration file
βββ .aicoe-ci.yaml <- AICoE CI configuration file (https://github.com/AICoE/aicoe-ci)
βββ tox.ini <- tox file with settings for running tox; see tox.readthedocs.io
Project based on the cookiecutter data science project template. #cookiecutterdatascience