Purpose of the reject button in multi text classification?


We have a text classifcation setup where users can select multiple non-mutually-exclusive categories for a given text. Now I'm wondering about the purpose of the reject button in such a case. Is it designed to classify True Negatives? Because if so, isn't it the case that not choosing any category should fulfill the same purpose? I.e. if not a single one of the categories is assigned and the user clicks on accept, isn't then the absence of assigned categories a defining marker of a true negative?

If so, what's the purpose of the reject button?

If the setup were a binary classification as shown in your textcat.teach examples it would make sense as there the button boils down to the only question of 'binary category yes / binary category no'. But with multiple categories I don't see the purpose.

And if it is not needed indeed, can I disable it? From other posts it seems as hiding it via css seems the way to go, is that right?

In theory, you can use it to create partial negative examples – like, select the labels you know don't apply. That's also how Prodigy would interpret those examples during training: we don't know the true labels, but we know the ones that are definitely 0.

Alternatively, you can also use the "reject" action for examples that are broken or otherwise invalid and then filter those out later – for example, if you're dealing with noisy data and left over markup etc. This gives you a way to separate those examples from examples you're skipping.

Yes, that's the most straightforward way at the moment. In v1.10, you'll also be able to specify a list of "buttons" in your prodigy.json or recipe config to change the buttons that are displayed and their order. This will also disable the entire action, including keyboard shortcuts.

Thank you Ines,

alright. The filtering of noisy invalid data makes sense. But in our case all incoming texts are of relevance whether none / any / all of the categories apply, it's all nevertheless of interest to the training in spacy later. And hence True negatives are to us equally important as true positives (to my understanding).

I will then disable it via css; until v1.10 is out, that is.