What controls available entities/intents for labeling in rasa x?

What is the minimal way to allow an intent/entity to show up in rasa x for annotation?

For context, I’m looking to use the rasa x frontend to label utterances, but not coming from conversations or models that were trained using rasa x.

It seems that if you add an intent to the core model’s domain.yml (whether you retrain or not) it doesn’t do anything, but if you add an example with the entity/intent in the nlu.md training data, it shows up.

But I haven’t figured out how to specify “these are the entities/intents I want to be able to label” without adding to the training data.

Is there anywhere else I’d be able to maintain a list of intents and entities (including inserting them into the rasa.db or similar)? I’m not opposed to this solution, it just feels inelegant.

Hi @jamesmf, we’re currently working on new features for Rasa X which should allow you to more easily manage entities and entities. For the moment, you’ll need to add training data with those entities/intents for them to be usable from Rasa X.

Very cool! Can’t wait to see them.

My short term fix has been the following:

  • create a minimum set of training data that hits every intent/entity I want to annotate (loading my whole training dataset is prohibitively expensive, as I can’t tell how to make new training data not get written out to nlu.md
  • use a post-processing script to figure out which nlu.md examples are newly-labeled vs. old examples.

In general, it’d be awesome to be able to use rasa x more easily with data that doesn’t perfectly conform to rasa 1.x format. I have requirements keeping me from upgrading until the “projects” use-case is handled (multiple pipelines in one instance), but would love to be able to leverage rasa x

1 Like