Import prebuilt domains

The Domains tab lists the prebuilt domains that are available to use in your project.

Domains represent areas of knowledge or activity, for example, TV, Weather, or News. When you import a prebuilt domain, the intents, samples, entities, and so on, that the domain contains become part of your model. (The data in the prebuilt domain comes from a TRSX file stored on the Nuance cloud.)

You can select prebuilt domains to import by language.

Customizing the domain

Once a domain is imported into your project, you can customize it just as you would your own project. Because you’ll see the full ontology of the prebuilt domain in your project, you’ll be able to:

  • Work on defined intents and entities as you normally would
  • Add new samples to an imported intent
  • Link a new entity to an imported intent
  • Add new intents and use imported entities in these intents
  • Delete any intent or entity (even from the imported data)

At runtime

It’s likely that prebuilt domains will include some of the same samples, similarly-worded samples, or both as the samples assigned to your intents.

  • In the case of exact match of a sample that occurs in multiple intents, your own data will be given priority over prebuilt data. For example, the Nuance Dragon TV prebuilt domain might have the intent nuance_tv_page_up and the sample “page up.” Your own model might have a similar intent tv_page_up_or_down as well as the sample “page up.” In response to the utterance “page up,” the model would return your intent: tv_page_up_or_down.

  • Alternatively, in the case when a variation of a sample is uttered that is not explicitly in the data, for example, “please page up,” the model logic is designed to select the intent based on a complex algorithm. The algorithm takes into account various statistics, including the relative frequency of the sample data. The selected intent is likely to be the prebuilt intent nuance_tv_page_up (unless you’ve added a lot of samples). This ambiguity between models can potentially affect model accuracy.

Import a prebuilt domain

To import a prebuilt domain in your project:

  1. In the Mix dashboard, click the Projects icon, select the project, and click the Domains tab.

    The list of available domains is displayed. You can filter the list by typing in the Search field or by selecting a category.

  2. Click the checkbox for the domain(s) you want to import.

  3. Click Add Domains.

The domains added are now listed in the Details tab, under Sources. You can use the intents and entities in the Mix.nlu models.

In Mix.nlu, on the Develop tab, under Intents→Mix Domain Intents, you’ll see the intents and entities from the prebuilt domain that you imported. You can work with these intents and entities as you’d work with the intents and entities that you defined in your model.

Note that samples and entity literals from prebuilt domains are included but are hidden from view because the data are proprietary. But don’t worry, the data are there (and, as a result, count against the model).

Before training your model, especially if it’s large, see the Training time options described below. You can save time by selecting which, if any, imported domain(s) you want to train with.

Training time

Some prebuilt domains are quite large and complex. It’s important to be aware of the size of the prebuilt domain and its impact on the size of your model.

Training a large domain can take a while. However, to have a rapid turnaround while working on your own intents, you can selectively exclude a prebuilt domain from training. Then when you’re ready to test everything together, you can include the prebuilt domain.

If you’ve imported a prebuilt domain, before you train your model a pop-up will display a list of imported prebuilt domains; use the checkboxes to include or exclude prebuilt domains to train with. See Train and test your model for the procedure.

Note that if you exclude a prebuilt domain from training, then the accuracy won’t necessarily reflect the accuracy of your model in production, when all domains are included. This is because the NLU model will make decisions based on all of the data (prebuilt domains plus your own intents), so an utterance could be classified differently when all the data are considered compared to when only your intents are included.