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).

How to migrate from LUIS to Conversational Language Understanding

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

After we have created the Azure Language Service, we could try to create new project under Conversational Language Understanding.

It actually looks similar to creating a new app in LUIS

After created the new CLU Project, we can see that the new UI is combining Intents and Entities into same page but in difference tab under Schema. And then the Train Model, Test Model, and Publish Model are all move from top menu to side menu.

Improve app performance, Prebuilt Domain, Review endpoint Utterances, Features, Patterns, Manager, Settings, Publish Settings, Azure Resources and Versions are gone in new UI. The new UI is more clean and simple now.

So, how do we migrate the LUIS app to Conversational Language Understanding project?

The answer is – very simple and straight forward. All you need to do is export your LUIS app to JSON. And then import into new CLU project from JSON.

But then I found an error message saying that I cannot import it.

Invalid project name, so I guess a dot in the project name is now allowed now in CLU. Then let’s rename the existing LUIS App name from “” into “Clockluis”, removing the dot. And then redo the export in LUIS and import in CLU again.

Well, this time the import could be completed. And let’s have a look on the result.

Done. The migration is completed.

We will look into the differences between them in next post.



Language Understanding (LUIS) will be moved to Conversational Language Understanding under Azure Cognitive Service

Recent I found out a new message when I am working on my personal Language Translator and working on Global AI Bootcamp 2022 @HongKong. The message is:

A newer version of Language Understanding capabilities are now available as part of Azure Cognitive Service for Language. For more information see Azure Cognitive Service for Language Documentation. For language understanding capabilities within the Language Service, see Conversational Language Understanding, Custom Named Entity Recognition, and Custom Classification.

Well, to me, that means LUIS is going to be retired. The first thing comes up in my mind is, What should I do to move my existing LUIS App? Then second is, if they are compatible? Then, Are there any differences?

Let’s have a look on how we could migrate from LUIS to Conversational Language Understanding (it is longer than LUIS, can I call it CLU?). And we could try to look at the differences between them.

First, we need to create a new Language Service. Login to Azure Portal, and then create new resource. Type “language” in search. The first 2 results are the new Language Service, then second one is the LUIS.


We click the create of the first one. the new Conversational Language Understanding (Preview) is pre-selected. There are another 2 optional features, Custom QnA and Custom Text Classification & Extraction (Preview).


Let’s accept the default selected features and click “continue to create your resource”. Then you will just do the same as creating other Azure service, select subscription, resource group, region, name, pricing tier.

(Interesting, why the header is “Create TextAnalytics”?)
Here you have to make sure that you must select the proper selections,

Region: West US 2 or West Europe
Pricing tier: S (You could only either Free F0 and S from the option)

The new Conversational Language Understanding is only available when your Azure Cognitive Service for Language is with S sku. Following the wizard and entering the other values to create the Azure Service.

After the service is created and deployed, you will see a new Language service in your resource group.


Click into it and then click Develop under Overview.


Then scroll down to the bottom and you will see the Language Studio.


Click it and will take you to the Language Studio – Preview. And then you scroll down to the middle, and you will see the Conversation Language Understanding.


Now you will be seeing the new UI to this new Conversational Language Understanding Projects page.


For the rest, let’s have a look on the other blog posts which I will write them in the coming days.
“How to migrate from LUIS to Conversational Language Understanding”
“The difference between LUIS and Conversational Language Understanding”


Memories about old days with HK .NET User Group

When I was writing my last blog about Visual Studio 25th Anniversary, I found out that one of the co-founder of Hong Kong .NET User Group actually has uploaded a video to youtube. I watched it and the memories about the old days are all come back. Please allow me to share it with you.

This Hong Kong .NET User Group was stopped to run since 2009, all of the first generation committee were getting busy and we could not found out the second generation committee to keep it on.

It is sad. If someone from Hong Kong and read this blog post, and you are interested to run it back, please contact me. I love to be a mentor to you or your group of friends.

Visual Studio 25th Anniversary!! I have used Visual Studio for 25 years!!

Time flies!

It is Visual Studio 25th Anniversary. It also means that I have worked on Visual Studio for 25 years too. (Oh no, getting old so fast…… from a young kid to an old man…)

[1997] I learn NT3.51 and VB during my last year on my bachelor degree study. I graduated from my bachelor degree. I still remember that I learn VB5 with VS1997 in my first job in a software company which is a Microsoft Certified Partner.


[1999] Then I start using VS 6.0 for VB6, Traditional ASP, and also using Visual SourceSafe.


[2000] Then I start building .NET application from VS.NET beta. At the same time, I heard from Microsoft .NET team saying that .NET will be last for at least 10 years, from 2000 to 2010. It will be the first language to do all the Web Development and Win Development in same preferred programming language.  Microsoft introduce C# at the same time. I choose staying in VB.NET as I have VB background. Start developing some Web Services.

[2001-2003] I made friends with other local .NET developers and also local Microsoft MSDN team. We then formed a local community HK .NET User Group. At the same time, I participle a lot on Microsoft Forum HK and TW. I was then awarded to be Microsoft Community Star TW, then Microsoft Community Star HK, and then Microsoft MVP @TW on VB technology.


[2005] .NET Framework 2.0 released with VS2005. As being VB MVP and attended 3 times Global MVP Summit. We VB MVPs always complained that the sample code are in C# more than VB.NET in MSDN library. in the end of 2005, I started moving into C#. I could do VB.NET and C# at the same time.


[2006] I helped VB team to translate the hands on lab from C# into VB.NET.
Windows Workflow Foundation and Visual Basic .NET
My previous blog links:
Windows Workflow Foundation(WF) Hands-On Lab01 to Lab03 in VB2005
Finished the Translation on WF HOL Lab04 to VB2005


[2008] Microsoft introduced Entity Framework. We called it Database-First EDM.


[2010] With VS2010, I start learning and developing ASP.NET MVC. Microsoft released Silverlight, a web version of WPF. (at least I think so)


[2012] EF 4 released, now it supported Code-First EDM.


[2015] EF 6, Owin, OAuth, WebAPI…


[2017] MVC5, Dependency Injection, .Net Core…


[2019] .NET Core 3


[2022] .NET core and .NET Framework now becomes .NET, starting from .NET 5. With this version, the experience on windows app development is not good as in VS2019. Specially right after I stopped the debugger.


Now, you could also download this special VS 25th Anniversary Theme Pack. Don’t wait, get it and try it.