# Create a GitHub issues tagger

**URL:** <https://discuss.huggingface.co/t/create-a-github-issues-tagger/11521>\
**Category:** 🤗 Course Projects\
**Created:** [November 9, 2021, 7:12pm UTC](https://discuss.huggingface.co/t/create-a-github-issues-tagger/11521 "2021-11-09T19:12:54Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![lewtun](https://sea2.discourse-cdn.com/hellohellohello/user_avatar/discuss.huggingface.co/lewtun/32/30995_2.png) [@lewtun](https://discuss.huggingface.co/u/lewtun)\
**Post date:** [November 9, 2021, 7:12pm UTC](https://discuss.huggingface.co/t/create-a-github-issues-tagger/11521/1 "2021-11-09T19:12:54Z")

</div>

> 👋 Please read the topic category [description](https://discuss.huggingface.co/t/about-the-course-projects-category/11510) to understand what this is all about

### Description

Many open-source projects on GitHub use Issues to triage feature requests, bugs, and so on. For example, check out the Issues tab of [🤗 Transformers](https://github.com/huggingface/datasets/issues) and [🤗 Datasets](https://github.com/huggingface/transformers/issues) to get an idea. The goal of this project is to pick your favourite open-source project and create a bot that can automatically assign a `Label` (e.g. bug, enhancement etc) to a new GitHub issue.

### Model(s)

Any of the pretrained BERT-like models on the Hub should serve as a good basis for this project. Given the domain is about source code, you may find that fine-tuning the language model first on the dataset gives a boost in performance.

### Datasets

For this project you’ll have to create your own dataset by downloading and processing the GitHub issues associated with an open-source project. You can do this with GitHub’s [REST](https://docs.github.com/en/rest) or [GraphQL](https://docs.github.com/en/graphql/guides/introduction-to-graphql) APIs. You can find an example dataset on the Hub here:

- [lewtun/github-issues](https://huggingface.co/datasets/lewtun/github-issues)

### Challenges

This is a multilabel classification task, so you’ll need to do some data exploration to figure out which classes can be feasibly detected.

### Desired project outcomes

- Create a Streamlit or Gradio app on [🤗 Spaces](https://huggingface.co/spaces) that injests new GitHub issues from an open-source project and predicts the Labels of each one.
- Don’t forget to push all your models and datasets to the Hub so others can build on them!

### Additional resources

- [Predicting Issues’ Labels with RoBERTa](https://github.com/GiorgosKarantonis/Github-Issues-Classifier)
- Check out [this chapter](https://huggingface.co/course/chapter5/5?fw=pt) of the 🤗 course for more details

### Discord channel

To chat and organise with other people interested in this project, head over to our [Discord](http://xwo7x.mjt.lu/lnk/CAAAAkdkZwAAAAAAAAAAALG-MTEAAYCr4H8AAAAAAAyFyQBhjpnimM4rcE5DT5ibCUtRT96tWwAMh8Y/15/U6BYNMNDksyyGG4jgtzPKQ/aHR0cHM6Ly9odWdnaW5nZmFjZS5jby9qb2luL2Rpc2NvcmQ) and:

- Follow the instructions on the `#join-course` channel

- Join the `#github-issues-classification` channel

Just make sure you comment here to indicate that you’ll be contributing to this project 🙂

---

<div class="post-metadata">

**Author:** ![DELith](https://avatars.discourse-cdn.com/v4/letter/d/54ee81/32.png) [@DELith](https://discuss.huggingface.co/u/DELith)\
**Post date:** [November 17, 2021, 2:13pm UTC](https://discuss.huggingface.co/t/create-a-github-issues-tagger/11521/2 "2021-11-17T14:13:40Z")

</div>

I would like to proceed with this project if still possible

---

<div class="post-metadata">

**Author:** ![lewtun](https://sea2.discourse-cdn.com/hellohellohello/user_avatar/discuss.huggingface.co/lewtun/32/30995_2.png) [@lewtun](https://discuss.huggingface.co/u/lewtun)\
**Post date:** [November 17, 2021, 4:06pm UTC](https://discuss.huggingface.co/t/create-a-github-issues-tagger/11521/3 "2021-11-17T16:06:00Z")

</div>

Hey @DELith yes you’re welcome to take on this project! I’ve created a channel on Discord (see topic description) in case you or others need it 🙂

---

<div class="post-metadata">

**Author:** ![gerardo](https://sea2.discourse-cdn.com/hellohellohello/user_avatar/discuss.huggingface.co/gerardo/32/5345_2.png) [@gerardo](https://discuss.huggingface.co/u/gerardo)\
**Post date:** [November 18, 2021, 5:03am UTC](https://discuss.huggingface.co/t/create-a-github-issues-tagger/11521/4 "2021-11-18T05:03:20Z")

</div>

I would like to participate on this project  
When I search on discord for #github-issues-classification nothing happens.

I think there’s a disconnect with my discord and my [hf.co](http://hf.co) discussion site.

---

<div class="post-metadata">

**Author:** ![lewtun](https://sea2.discourse-cdn.com/hellohellohello/user_avatar/discuss.huggingface.co/lewtun/32/30995_2.png) [@lewtun](https://discuss.huggingface.co/u/lewtun)\
**Post date:** [November 18, 2021, 10:05am UTC](https://discuss.huggingface.co/t/create-a-github-issues-tagger/11521/5 "2021-11-18T10:05:49Z")

</div>

Hey @gerardo ! Did you first follow the instructions on the `#join-course` channel? You need to do that to see the team channels 🙂

---

<div class="post-metadata">

**Author:** ![gerardo](https://sea2.discourse-cdn.com/hellohellohello/user_avatar/discuss.huggingface.co/gerardo/32/5345_2.png) [@gerardo](https://discuss.huggingface.co/u/gerardo)\
**Post date:** [November 18, 2021, 3:21pm UTC](https://discuss.huggingface.co/t/create-a-github-issues-tagger/11521/6 "2021-11-18T15:21:29Z")

</div>

![Screen Shot 2021-11-18 at 9.20.18 AM](https://us1.discourse-cdn.com/hellohellohello/original/2X/d/d244789f44afeec0bbbeb52ddd6ba158c9f2265d.png)  
This is the only information I see when I click #join-course

I think there’s something wrong with my setup.

---

<div class="post-metadata">

**Author:** ![lewtun](https://sea2.discourse-cdn.com/hellohellohello/user_avatar/discuss.huggingface.co/lewtun/32/30995_2.png) [@lewtun](https://discuss.huggingface.co/u/lewtun)\
**Post date:** [November 18, 2021, 9:24pm UTC](https://discuss.huggingface.co/t/create-a-github-issues-tagger/11521/7 "2021-11-18T21:24:00Z")

</div>

Hey @gerardo what happens if you add the 🤗 emoji to the message in #join-course? That should automatically open the rest of the team channels

---

<div class="post-metadata">

**Author:** ![gerardo](https://sea2.discourse-cdn.com/hellohellohello/user_avatar/discuss.huggingface.co/gerardo/32/5345_2.png) [@gerardo](https://discuss.huggingface.co/u/gerardo)\
**Post date:** [November 18, 2021, 9:57pm UTC](https://discuss.huggingface.co/t/create-a-github-issues-tagger/11521/8 "2021-11-18T21:57:48Z")

</div>

To be added, please react to this message with 🤗

🤦🏻‍♂️

---

<div class="post-metadata">

**Author:** ![lewtun](https://sea2.discourse-cdn.com/hellohellohello/user_avatar/discuss.huggingface.co/lewtun/32/30995_2.png) [@lewtun](https://discuss.huggingface.co/u/lewtun)\
**Post date:** [November 18, 2021, 11:10pm UTC](https://discuss.huggingface.co/t/create-a-github-issues-tagger/11521/9 "2021-11-18T23:10:43Z")

</div>

Don’t worry - happens to me all the time 😉

---

<div class="post-metadata">

**Author:** ![DELith](https://avatars.discourse-cdn.com/v4/letter/d/54ee81/32.png) [@DELith](https://discuss.huggingface.co/u/DELith)\
**Post date:** [November 19, 2021, 4:06pm UTC](https://discuss.huggingface.co/t/create-a-github-issues-tagger/11521/10 "2021-11-19T16:06:04Z")

</div>

@lewtun How do you think the raw text from the issue body should be processed before being fed into the model (training\ inference)? I mean the steps preceding the basic pipeline like tokenization and encoding? I am asking, because it might have some markdown syntax as well as long sequences like exception traceback and stuff like that.

---

<div class="post-metadata">

**Author:** ![lewtun](https://sea2.discourse-cdn.com/hellohellohello/user_avatar/discuss.huggingface.co/lewtun/32/30995_2.png) [@lewtun](https://discuss.huggingface.co/u/lewtun)\
**Post date:** [November 19, 2021, 7:51pm UTC](https://discuss.huggingface.co/t/create-a-github-issues-tagger/11521/11 "2021-11-19T19:51:31Z")

</div>

Hey @DELith I think you can tokenize the text as you normally would with any text. My suggestion would be to start with that first as a baseline and then see if there’s a need to improve the preprocessing 🙂
