DEV Community

Cover image for Emoji Issue Classifier
Pedro Lopez
Pedro Lopez

Posted on

Emoji Issue Classifier

What I built

I built an Emoji Issue Classifier, a machine learning-based solution that automatically adds relevant labels to GitHub issues based on their content. The classifier analyses the text of an issue and predicts appropriate emoji labels, such as "🐛", "✨", "📈", and more, to help categorise and prioritise issues.

Category Submission:

Maintainer Must-Haves

App Link

https://github.com/marketplace/actions/emoji-issue-classifier

Screenshots

Screenshot

More examples here: https://github.com/plopcas/gh-actions-test/issues

Description

The Emoji Issue Classifier is designed to improve the issue management process by automating the labeling of GitHub issues. It utilizes natural language processing and machine learning techniques to analyze the issue's title and description, perform sentiment analysis, and extract keywords. Based on this analysis, it adds appropriate emoji labels that represent the sentiment and topic of the issue.

This solution saves time and effort for both issue submitters and project maintainers by accurately categorising and prioritising issues. It ensures that issues are properly labeled, enabling efficient issue tracking, organisation, and decision-making.

Link to Source Code

https://github.com/plopcas/emoji-issue-classifier

Permissive License

MIT license

Background (What made you decide to build this particular app? What inspired you?)

The inspiration for this project came from my own experience with managing GitHub repositories and the challenges faced in efficiently processing and categorising a large number of issues. I wanted to automate the process of labelling issues, allowing project maintainers to focus more on issue resolution and providing a better experience for issue submitters. I also wanted to do this with a twist, hence the emojis.

How I built it (How did you utilise GitHub Actions or GitHub Codespaces? Did you learn something new along the way? Pick up a new skill?)

To build the Emoji Issue Classifier, I used GitHub Actions and GitHub Codespaces. GitHub Actions allowed me to automate the process of applying labels to issues based on the classifier's predictions. I integrated the classifier into a GitHub Action workflow, which runs whenever a new issue is opened or edited.

GitHub Codespaces provided a convenient development environment. It allowed me to work on the project seamlessly in the browser without worrying about the setup or compatibility of development environments.

Throughout the development process, I learned and applied various natural language processing techniques, including sentiment analysis, keyword extraction, and data augmentation. I trained a machine learning model using scikit-learn and employed the TextBlob library for sentiment analysis. I also used the NLTK library for data augmentation and synonym replacement to enhance the training data.

Top comments (0)