The difference between LUIS and Conversational Language Understanding

This is part 3 of the post “Language Understanding (LUIS) will be moved to Conversational Language Understanding under Azure Cognitive Service

Part 2 is “How to migrate from LUIS to Conversational Language Understanding

After imported the LUIS app to CLU project, let’s have a look on the differences.

Prebuilt Domains
In LUIS, there is a menu called Prebuilt Domains. If we click on it, we can see some domains are already prebuilt for us to select. If I click on the Calendar, it will add a set of Intents and Entities automatically which they are all calendar related . But this seems to be gone (or not yet add into CLU, as CLU is still in preview).

In LUIS, we could add prebuilt domain Intents, it is actually allow us to add the individuate intents from the prebuilt domains.

But there is no such option in CLU (yet).

In LUIS, we could Add New Entity, Add Prebuilt Entity, Add Prebuilt Domain Entity.

In CLU, we only have Add New Entity and Add Prebuilt Entity. Again, don’t have the Prebuilt Domain one.

In LUIS, we could Train the model by just clicking the Train button on the top.

In CLU, we need to click to Train Model menu. Then for the first time, i will need to add new training job. I could reuse the same training job next time. The training time takes much longer than in LUIS.

In LUIS, I could start test right after trained without publish.

But in CLU, I cannot test before deploy.


Publish (LUIS) / Deploy (CLU)
In LUIS, we could do Publish after training. And then we could call to the URL by using JSON/C#. The Primary Key and Secondary Key will then be generated for your to access.

In CLU, we will need to click Deploy model menu, then add new deployment in the first time. We also need to select which model that is with this deployment. After deployed, we have to select the Deployment, and then click the “get prediction URL” in order to see the endpoint info and the key is already embedded into the sample request query. There is no more area to show about the Primary Key and Secondary Key.

CLU – Test after Deployed
In the earlier of time, we cannot run any test before any deployment. After deployed, we found that the model is not able to click and run test after deployed. It has better UI on testing, we could select which deployment you wanna do the test.



Well, the new workflow for the Language Understanding is more align to the standard workflow for AI and Machine Learning.

“Train, Score, (Evaluate), Deploy, and Test”

in LUIS, actually we are having 2 tests, first one is within the LUIS (before deployment). This is not calling the actual endpoint. And then we need to do another “Stage” or “Production” endpoint access test again with code.

In CLU now, we are doing the ONE test, the included test model page actually is calling the endpoint with no code.

If Microsoft could add the “prebuilt domain” back to CLU before release, it will be exactly the same functionalities as LUIS and even I feel better (although more clicks on train, deployment, and test). The workflow for me to do in a project is straight from top menu item to bottom menu item one by one. And also, I could have more than one Train Model and many model deployments within same project. While it only allow to have 2 deployments (Only Stage and production in LUIS).

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.