Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatically add and remove the "info needed" label #20970

Merged
merged 2 commits into from
Apr 5, 2023

Conversation

karrtikr
Copy link

@karrtikr karrtikr commented Apr 1, 2023

Closes #20944

@karrtikr karrtikr added the debt Covers everything internal: CI, testing, refactoring of the codebase, etc. label Apr 1, 2023
@VSCodeTriageBot VSCodeTriageBot added this to the April 2023 milestone Apr 1, 2023
runs-on: ubuntu-latest
if: contains(github.event.issue.labels.*.name, 'triage-needed') && !contains(github.event.issue.labels.*.name, 'info-needed')
env:
KEYWORDS: '["\\?", "please", "kindly", "let me know", "try", "inform", "can you", "could you", "would you", "may I", "ask", "provide", "tell me", "give me", "send me", "what", "when", "where", "why", "how"]'
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are used to detect when we ask a user for more information. Let me know if there're any more keywords you use. cc/ @microsoft/pyvsc

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would use a tool that would tell you if a question was asked. I can see this easily getting wrong.

But for key word triggers you can add /info-needed and /more-info

Copy link
Author

@karrtikr karrtikr Apr 3, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I initially thought to use ChatGPT itself, but I don't think we have official team credentials on OpenAI for that. Can we create a team account on OpenAI for this? https://openai.com/ cc/ @brettcannon

Copy link
Author

@karrtikr karrtikr Apr 3, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But for key word triggers you can add /info-needed and /more-info

I don't see the point of adding this as it would probably be easier to add "info-needed" label itself.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

VS Code core uses this format to add labels, or to trigger bot responses.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doesn't need the complexity of AI to decide whether to add or remove a label.

I personally think a slash command with an "argument" of whom we want more info from is the simplest. For instance, /more-info @karrtikr has the benefits of being unambiguous to automation as well as implicitly @ mentioning the person whom we want more data from.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be worth considering if false positives or false negatives are worse since this could help determine if we want a smaller or bigger funnel. I think I would find it hard to put "more info" in my post / maybe would just think a label is easier. I think i use "let me know" very often and if I knew it was a trigger word could use it even more so that one feels the most intuitive to me.

Copy link
Author

@karrtikr karrtikr Apr 3, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@brettcannon While it technically solves the problem of exactly when to add and remove labels, I personally don't feel like typing /more-info out as I would just add the label instead.

The code as it currently is doing a pretty accurate job of removing labels, so I don't feel we need to be that exact. The problem comes when adding labels.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we want to avoid false positives when adding labels, i.e don't add a label unless we're sure a question is being asked.

Copy link
Author

@karrtikr karrtikr Apr 4, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wrote a Python script to find out the top 10 most frequent keywords in the second last comment across all closed issues with "info-needed" label (excluding stop words, nouns, and pronouns):

  • provide: 8 occurrences
  • try: 7 occurrences
  • using: 6 occurrences
  • Can: 4 occurrences
  • use: 4 occurrences
  • would: 4 occurrences
  • mentioned: 3 occurrences
  • perform: 3 occurrences
  • reproduce: 3 occurrences
  • providing: 3 occurrences

Second last because generally the last comment is where we close the issue. Based on this I will remove the words which for sure doesn't indicate that it's a question.

Copy link
Author

@karrtikr karrtikr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@karthiknadig Based on what we talked about, it mostly matches with the current list.

runs-on: ubuntu-latest
if: contains(github.event.issue.labels.*.name, 'triage-needed') && !contains(github.event.issue.labels.*.name, 'info-needed')
env:
KEYWORDS: '["\\?", "please", "kindly", "let me know", "try", "inform", "can you", "could you", "would you", "may I", "ask", "provide", "tell me", "give me", "send me", "what", "when", "where", "why", "how"]'
Copy link
Author

@karrtikr karrtikr Apr 4, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wrote a Python script to find out the top 10 most frequent keywords in the second last comment across all closed issues with "info-needed" label (excluding stop words, nouns, and pronouns):

  • provide: 8 occurrences
  • try: 7 occurrences
  • using: 6 occurrences
  • Can: 4 occurrences
  • use: 4 occurrences
  • would: 4 occurrences
  • mentioned: 3 occurrences
  • perform: 3 occurrences
  • reproduce: 3 occurrences
  • providing: 3 occurrences

Second last because generally the last comment is where we close the issue. Based on this I will remove the words which for sure doesn't indicate that it's a question.

@karrtikr
Copy link
Author

karrtikr commented Apr 5, 2023

Merging this but feel free to let me know of any feedback you may have. My inkling is to try it first.

@karrtikr karrtikr merged commit e97e237 into microsoft:main Apr 5, 2023
@karrtikr karrtikr deleted the infoneeded branch April 5, 2023 17:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
debt Covers everything internal: CI, testing, refactoring of the codebase, etc.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Automatically add and remove the "info needed" label
5 participants