DEV Community

Cover image for Emoji Issue Classifier
Pedro Lopez
Pedro Lopez

Posted on

1

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.

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more

Top comments (0)

AWS Security LIVE!

Tune in for AWS Security LIVE!

Join AWS Security LIVE! for expert insights and actionable tips to protect your organization and keep security teams prepared.

Learn More

👋 Kindness is contagious

Discover a treasure trove of wisdom within this insightful piece, highly respected in the nurturing DEV Community enviroment. Developers, whether novice or expert, are encouraged to participate and add to our shared knowledge basin.

A simple "thank you" can illuminate someone's day. Express your appreciation in the comments section!

On DEV, sharing ideas smoothens our journey and strengthens our community ties. Learn something useful? Offering a quick thanks to the author is deeply appreciated.

Okay