The concept of LUIS^Teneo is to handle the core of the language understanding in Microsoft LUIS and then fine-tune and further improve it and also handle the conversation in Teneo.
This page will describe in depth on how LUIS^Teneo works and how to think using this approach.
In the general workflow for a LUIS^Teneo setup, language understanding is handled in LUIS in the form of Intents and Entities, which are then used in a Teneo solution to be combined with the powerful features of Teneo. These include the Linguistic Modeling Language, out-of-the-box linguistic building blocks, and context match requirements, to name a few. In other words, language understanding is further finetuned and improved, ultimately giving you both the power of machine learning and the precision and linguistic scalability of linguistic conditions.
While working with intents we need to:
To align with required format for Teneo class names, upper-case your intent names and use underscores instead of spaces. For example, Hello world should be named HELLO_WORLD. Any intents with other names will automatically be renamed by the LuisPredict groovy script. You can read ore about class names in our Documentation
We can easily consume entities from LUIS in Teneo. Entities are annotated in inputs and can be picked up using either listeners or through attached scripts. It is also possible to use Data Actions and Match Requirements You can read more about how to do this here or learn more about doing this with LUIS entities here.
The 'LuisPredict' groovy script will annotate LUIS entities like this: LUIS_ENTITY_NAME.ENTITY (for example, the prebuilt LUIS entity 'geographyv2' will be annotated as LUIS_GEOGRAPHYV2.ENTITY.)
The LUIS entities also coexist with the extensive entity support in Teneo where the user has to opportunity to get the best of two worlds.
Any changes made in the LUIS application need to be trained and published before being used in Teneo.
The 'LuisPredict' groovy script will automatically decide between the staging and production slot in LUIS.
Only production publishing targets in Teneo will use the production slot in LUIS and all others will call the staging slot.
The LuisPredict.groovy is responsible for:
The call to LUIS is set up to always log utterances in LUIS which is useful for development. For production use cases, we may want to apply other reasoning and only log when the LUIS^Teneo solution is deployed in production.
A detailed guide on how to use the LuisPredict script in your solution is available in Your first LUIS^Teneo solution.
Here is a gentle introduction to your first LUIS^Teneo solution.
Was this page helpful?