/cognitive-services-language-understanding

Samples for the Language Understanding Intelligent Service (LUIS)

Primary LanguageC#MIT LicenseMIT

Language Understanding (LUIS) Samples

Welcome to the Language Understanding (LUIS) samples repository. LUIS allows your application to understand what a person wants in their own words. LUIS uses machine learning to allow developers to build applications that can receive user input in natural language and extract meaning from it.

Create your Azure LUIS service

Use the Deploy to Azure button to quickly create an Azure LUIS service. You get one free LUIS service per account. The free service has a sku of F0. The basic tier has a sku of S0.

Create LUIS Service on Azure

Examples by language

Example CSharp Java Node.js Javascript Python PHP Ruby JSON GO
Create and customize a LUIS app (Authoring)
Predict user utterances (Runtime) REST, SDK REST REST REST REST
Build app programmatically REST, SDK
Upload utterances from query log
Upload utterances from exported app
Quickstarts: Change model Docker Docker Docker Docker Docker Docker Docker Docker
Quickstarts: Analyze text Docker Docker Docker Docker Docker Docker Docker Docker
Azure function to LUIS endpoint
Backup all apps in Subscription
Add list entity
*Notes app sample Docker
App model definition - Bookflight
App model definition - Colors
App model definition - IoT
Phrase lists
Bing Spell Check
Azure function with application insights
Download query log asynchronously
Get region from app ID and subscription key
*Bot Integration sample - hotel finder
Bot Integration sample - HomeAutomation
Bot Integration sample - HomeAutomation & Application Insights
Bot Integration sample -
Study Bot - Csharp, Node

* = example demonstrates complete cycle: create, train, publish, query

Examples by usage

Example Demonstrates
Create and customize a LUIS app (Authoring) Uses the LUIS SDK to create then customize an app
Predict user utterances (Runtime) Uses the LUIS SDK to show utterance relevancy and intent scores
Build app programmatically Authoring API
Upload utterances from query log Authoring API
Upload utterances from exported app Authoring API
Add an utterance to app model Authoring API
Send utterance to endpoint Endpoint API, Public app
Azure function to LUIS endpoint Endpoint API
Backup all apps in Subscription Authoring API
Notes app sample Create-Train-Publish-Query, Prebuilt domain
App model definition - Bookflight Hierarchical entity, Composite entity, List entity, datetimeV2 prebuilt entity, number prebuilt entity, upload labeled utterance
App model definition - Colors Phrase list feature
App model definition - IoT Prebuilt domain
Phrase lists Phrase list feature, Hierarchical entity, datetimeV2 prebuilt entity, number prebuilt entity
Bing Spell Check Public App
Azure function with application insights Azure function, Application Insights
Add list entity List entity, train, query
Download query log asynchronously Authoring API
Bot Integration sample - hotel finder Bot Framework SDK, Create-Train-Publish-Query
Bot Integration sample - HomeAutomation Web app bot
Bot Integration sample - HomeAutomation & Application Insights Web app bot, Application Insights
Bot Integration sample -
Study Bot - Csharp, Node
Web app bot that integrates LUIS, QnA Maker, Bing Spell Check, and Speech Service

Interactive app

Ask LUIS to turn on the lights in this interactive demonstration.

Healthbot

Tell the Contoso Health bot where you are injured and the bot will recommend remedies.

Intelligent Kiosk

The open-source Intelligent Kiosk Sample version is a collection of apps showcasing workflows and experiences built on top of the Microsoft Cognitive Services. Most of the experiences are hands-free and autonomous, using the human faces in front of a web camera as the main form of input (thus the word "kiosk" in the name).

Install the currently supported Intelligent Kiosk as a Windows 10 app and try out the various apps inside the kiosk, including apps with LUIS.

References

APIs

SDKs

last updated Feb 13, 2019

Language Package Manager Samples Reference Documentation
C# NuGet - authoring
NuGet - runtime
Samples Docs
Go SDK - authoring
SDK - runtime
- Docs
Java Maven - authoring
Maven - runtime
Samples Docs
Javascript NPM - authoring
NPM - runtime
Samples
Python PIP Samples Docs

Azure REST API

Azure CLI

Azure RM Powershell

Common HTTP response codes

Http codes

Bots

Related Services

Dependencies

Azure status

Regional availability: LUIS is part of the AI and Machine Learning section.

Videos

updated Dec 15, 2018

Containers

Video demonstration of LUIS container.

//BUILD 2018

Other videos

LUIS with Bot framework Blog

Courses including LUIS

Related Microsoft Projects

Searching docs

Community Projects

If you find an open-source project or sample using LUIS, submit a PR for the community-projects.md file.

Authoring Routes

Bold items = updated as of Dec 3, 2018

This items are used to assign a LUIS resource key to an application without using the LUIS portal.

  • /apps/ [post,get]
  • /apps/assistants [get]
  • /apps/cultures [get]
  • /apps/customprebuiltdomains [post,get]
  • /apps/customprebuiltdomains/{culture} [get]
  • /apps/domains [get]
  • /apps/import [post]
  • /apps/usagescenarios [get]
  • /apps/{appId} [delete,get,put]
  • /apps/{appId}/azureaccounts [post,get,delete]
  • /apps/{appId}/endpoints [get]
  • /apps/{appId}/permissions [post,get,delete,put]
  • /apps/{appId}/publish [post]
  • /apps/{appId}/publishsettings [get,put]
  • /apps/{appId}/querylogs/ [get]
  • /apps/{appId}/querylogsasync/ [get,post]
  • /apps/{appId}/settings [get,put]
  • /apps/{appId}/versions [get]
  • /apps/{appId}/versions/import [post]
  • /apps/{appId}/versions/{versionId}/ [delete,get,put]
  • /apps/{appId}/versions/{versionId}/assignedkey [put,get]
  • /apps/{appId}/versions/{versionId}/clone [post]
  • /apps/{appId}/versions/{versionId}/closedlists [post,get]
  • /apps/{appId}/versions/{versionId}/closedlists/{clEntityId} [delete,get,patch,put]
  • /apps/{appId}/versions/{versionId}/closedlists/{clEntityId}/sublists [post]
  • /apps/{appId}/versions/{versionId}/closedlists/{clEntityId}/sublists/{subListId} [delete,put]
  • /apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles [post,get]
  • /apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles/{roleId} [delete,get,put]
  • /apps/{appId}/versions/{versionId}/compositeentities [post,get]
  • /apps/{appId}/versions/{versionId}/compositeentities/{cEntityId} [delete,get,put]
  • /apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/children [post]
  • /apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/children/{cChildId} [delete]
  • /apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles [post,get]
  • /apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles/{roleId} [delete,get,put]
  • /apps/{appId}/versions/{versionId}/customprebuiltdomains [post]
  • /apps/{appId}/versions/{versionId}/customprebuiltdomains/{domainName} [delete]
  • /apps/{appId}/versions/{versionId}/customprebuiltentities [post,get]
  • /apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles [post,get]
  • /apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles/{roleId} [delete,get,put]
  • /apps/{appId}/versions/{versionId}/customprebuiltintents [post,get]
  • /apps/{appId}/versions/{versionId}/customprebuiltmodels [get]
  • /apps/{appId}/versions/{versionId}/entities [post,get]
  • /apps/{appId}/versions/{versionId}/entities/{entityId} [delete,get,put]
  • /apps/{appId}/versions/{versionId}/entities/{entityId}/roles [post,get]
  • /apps/{appId}/versions/{versionId}/entities/{entityId}/roles/{roleId} [delete,get,put]
  • /apps/{appId}/versions/{versionId}/entities/{entityId}/suggest [get]
  • /apps/{appId}/versions/{versionId}/example [post]
  • /apps/{appId}/versions/{versionId}/examples [post,get]
  • /apps/{appId}/versions/{versionId}/examples/{exampleId} [delete]
  • /apps/{appId}/versions/{versionId}/export [get]
  • /apps/{appId}/versions/{versionId}/externalKeys [get,put]
  • /apps/{appId}/versions/{versionId}/externalKeys/{keyType} [delete]
  • /apps/{appId}/versions/{versionId}/features [get]
  • /apps/{appId}/versions/{versionId}/hierarchicalentities [post,get]
  • /apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId} [delete,get,put]
  • /apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/children [post]
  • /apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/children/{hChildId} [delete,get,put]
  • /apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles [post,get]
  • /apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles/{roleId} [delete,get,put]
  • /apps/{appId}/versions/{versionId}/intents [post,get]
  • /apps/{appId}/versions/{versionId}/intents/{intentId} [delete,get,put]
  • /apps/{appId}/versions/{versionId}/intents/{intentId}/patternrules [get]
  • /apps/{appId}/versions/{versionId}/intents/{intentId}/suggest [get]
  • /apps/{appId}/versions/{versionId}/listprebuilts [get]
  • /apps/{appId}/versions/{versionId}/models [get]
  • /apps/{appId}/versions/{versionId}/patternanyentities [post,get]
  • /apps/{appId}/versions/{versionId}/patternanyentities/{entityId} [delete,get,put]
  • /apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist [post,get]
  • /apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist/{itemId} [delete,get,put]
  • /apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles [post,get]
  • /apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles/{roleId} [delete,get,put]
  • /apps/{appId}/versions/{versionId}/patternrule [post]
  • /apps/{appId}/versions/{versionId}/patternrules [post,delete,get,put]
  • /apps/{appId}/versions/{versionId}/patternrules/{patternId} [delete,put]
  • /apps/{appId}/versions/{versionId}/patterns [post,get]
  • /apps/{appId}/versions/{versionId}/patterns/{patternId} [delete,get,put]
  • /apps/{appId}/versions/{versionId}/phraselists [post,get]
  • /apps/{appId}/versions/{versionId}/phraselists/{phraselistId} [delete,get,put]
  • /apps/{appId}/versions/{versionId}/prebuilts [post,get]
  • /apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles [post,get]
  • /apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles/{roleId} [delete,get,put]
  • /apps/{appId}/versions/{versionId}/prebuilts/{prebuiltId} [delete,get]
  • /apps/{appId}/versions/{versionId}/regexentities [post,get]
  • /apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles [post,get]
  • /apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles/{roleId} [delete,get,put]
  • /apps/{appId}/versions/{versionId}/regexentities/{regexEntityId} [delete,get,put]
  • /apps/{appId}/versions/{versionId}/settings [get,put]
  • /apps/{appId}/versions/{versionId}/suggest [delete]
  • /apps/{appId}/versions/{versionId}/train [get,post]
  • /azureaccounts [get]
  • /externalKeys [post,get]
  • /externalKeys/{externalKeyValue} [delete]
  • /package/{appId}/slot/{slotName}/gzip [get]
  • /package/{appId}/versions/{versionId}/gzip [get]
  • /programmatickey [put]
  • /subscriptions [post,get,put]
  • /subscriptions/{subscriptionKey} [delete]

Route map generated with swagger-tools.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information, see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.