convert_options_to_cats for textcat.batch-train

When I try to convert something like

{'text': 'This is an experiment.', 
'accept': ['label A'], 
'answer': 'accept'}

it adds {'cats': {'label A': 1.0, 'label B': 1.0}}, but I am not accepting label B. I am not sure if I understand the meaning of cats correctly. Could you explain what cats is used for and what it means? Thank you.

Thanks, there’s a bug in the latest patch I made to this function. I didn’t have a test for the exclusive=True case.

I’ve just pushed a patch, and we’re in the process of making another release.

Just released v1.8.3 that should fix this!

Edit: To answer your other question:

Internally, Prodigy now also supports a "cats" property on the task instead of just a "label". This makes it easier to harmonise textcat annotations from different formats, since we now also support the multiple choice format with one or more selected "options".

The cats are similar to spaCy’s doc.cats: a dict of the labels and their scores. 1.0 means the label applies and 0.0 means it doesn’t.