Text Classification
Transformers
PyTorch
English
distilbert
customer-service-tickets
github-issues
bart-large-mnli
zero-shot-classification
NLP
text-embeddings-inference
Instructions to use AntoineMC/distilbart-mnli-github-issues with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use AntoineMC/distilbart-mnli-github-issues with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-classification", model="AntoineMC/distilbart-mnli-github-issues")# Load model directly from transformers import AutoTokenizer, AutoModelForSequenceClassification tokenizer = AutoTokenizer.from_pretrained("AntoineMC/distilbart-mnli-github-issues") model = AutoModelForSequenceClassification.from_pretrained("AntoineMC/distilbart-mnli-github-issues") - Notebooks
- Google Colab
- Kaggle
| license: apache-2.0 | |
| language: | |
| - en | |
| metrics: | |
| - accuracy | |
| library_name: transformers | |
| pipeline_tag: text-classification | |
| tags: | |
| - customer-service-tickets | |
| - github-issues | |
| - bart-large-mnli | |
| - zero-shot-classification | |
| - NLP | |
| widget: | |
| - text: "Sign up form is not working" | |
| example_title: "Example 1" | |
| - text: "json and yaml support" | |
| example_title: "Example 2" | |
| - text: "fullscreen and tabs media key don't do what they should" | |
| example_title: "Example 2" | |
| # GitHub issues classifier (using zero shot classification) | |
| Predicts wether a statement is a feature request, issue/bug or question | |
| This model was trained using the [**Zero-shot classifier distillation**](https://github.com/huggingface/transformers/tree/main/examples/research_projects/zero-shot-distillation) method | |
| with the [BART-large-mnli](https://huggingface.co/facebook/bart-large-mnli) model as teacher model, to train a classifier on Github issues from the [Github Issues Prediction dataset](https://www.kaggle.com/datasets/anmolkumar/github-bugs-prediction) | |
| ## Labels | |
| As per the dataset Kaggle competition, the classifier predicts wether an issue is a bug, feature or question. After playing around with different labels pre-training I've used a different mapping | |
| of labels that yielded better predictions (see notebook [here](https://www.kaggle.com/code/antoinemacia/zero-shot-classifier-for-bug-analysis/edit) for details), labels being | |
| * issue | |
| * feature request | |
| * question | |
| ## Training data | |
| * 15k of Github issues titles ("unlabeled_titles_simple.txt") | |
| * Hypothesis used: "This request is a {}" | |
| * Teacher model used: valhalla/distilbart-mnli-12-1 | |
| * Studend model used: distilbert-base-uncased | |
| ## Results | |
| Agreement of student and teacher predictions: **94.82%** | |
| See [this notebook](https://www.kaggle.com/code/antoinemacia/zero-shot-classifier-for-bug-analysis/edit) for more info on feature engineering choice made | |
| ## How to train using your own dataset | |
| * Download training dataset from https://www.kaggle.com/datasets/anmolkumar/github-bugs-prediction | |
| * Modify and run convert.py, updating the paths to convert to a CSV | |
| * Run distill.py with the csv file (see [here](https://github.com/huggingface/transformers/tree/main/examples/research_projects/zero-shot-distillation) for more info) | |
| ## Acknowledgements | |
| * Joe Davison and his article on [Zero-Shot Learning in Modern NLP](https://joeddav.github.io/blog/2020/05/29/ZSL.html) | |
| * Jeremy Howard, fast.ai and his notebook [Iterate like a grandmaster](https://www.kaggle.com/code/antoinemacia/iterate-like-a-grandmaster) |