Skip to content

Latest commit

 

History

History
229 lines (192 loc) · 9.42 KB

luis-language-support.md

File metadata and controls

229 lines (192 loc) · 9.42 KB
title titleSuffix description ms.author author manager ms.service ms.subservice ms.topic ms.date
Language support - LUIS
Azure AI services
LUIS has a variety of features within the service. Not all features are at the same language parity. Make sure the features you are interested in are supported in the language culture you are targeting. A LUIS app is culture-specific and cannot be changed once it is set.
aahi
aahill
nitinme
azure-ai-language
azure-ai-luis
reference
01/19/2024

Language and region support for LUIS

[!INCLUDE deprecation notice]

LUIS has a variety of features within the service. Not all features are at the same language parity. Make sure the features you are interested in are supported in the language culture you are targeting. A LUIS app is culture-specific and cannot be changed once it is set.

Multilingual LUIS apps

If you need a multilingual LUIS client application such as a chatbot, you have a few options. If LUIS supports all the languages, you develop a LUIS app for each language. Each LUIS app has a unique app ID, and endpoint log. If you need to provide language understanding for a language LUIS does not support, you can use the Translator service to translate the utterance into a supported language, submit the utterance to the LUIS endpoint, and receive the resulting scores.

Note

A newer version of Language Understanding capabilities is now available as part of Azure AI Language. For more information, see Azure AI Language Documentation. For language understanding capabilities that support multiple languages within the Language Service, see Conversational Language Understanding.

Languages supported

LUIS understands utterances in the following languages:

Language Locale Prebuilt domain Prebuilt entity Phrase list recommendations **Sentiment analysis and key phrase extraction
Arabic (preview - modern standard Arabic) ar-AR - - - -
*Chinese zh-CN -
Dutch nl-NL - -
English (United States) en-US
English (UK) en-GB
French (Canada) fr-CA - - -
French (France) fr-FR
German de-DE
Gujarati (preview) gu-IN - - - -
Hindi (preview) hi-IN - - -
Italian it-IT
*Japanese ja-JP Key phrase only
Korean ko-KR - - Key phrase only
Marathi (preview) mr-IN - - - -
Portuguese (Brazil) pt-BR not all sub-cultures
Spanish (Mexico) es-MX -
Spanish (Spain) es-ES
Tamil (preview) ta-IN - - - -
Telugu (preview) te-IN - - - -
Turkish tr-TR - Sentiment only

Language support varies for prebuilt entities and prebuilt domains.

[!INCLUDE Chinese language support notes]

*Japanese support notes

  • Because LUIS does not provide syntactic analysis and will not understand the difference between Keigo and informal Japanese, you need to incorporate the different levels of formality as training examples for your applications.
    • でございます is not the same as です.
    • です is not the same as だ.

[!INCLUDE Language service support notes]

Speech API supported languages

See Speech Supported languages for Speech dictation mode languages.

Bing Spell Check supported languages

See Bing Spell Check Supported languages for a list of supported languages and status.

Rare or foreign words in an application

In the en-us culture, LUIS learns to distinguish most English words, including slang. In the zh-cn culture, LUIS learns to distinguish most Chinese characters. If you use a rare word in en-us or character in zh-cn, and you see that LUIS seems unable to distinguish that word or character, you can add that word or character to a phrase-list feature. For example, words outside of the culture of the application -- that is, foreign words -- should be added to a phrase-list feature.

Hybrid languages

Hybrid languages combine words from two cultures such as English and Chinese. These languages are not supported in LUIS because an app is based on a single culture.

Tokenization

To perform machine learning, LUIS breaks an utterance into tokens based on culture.

Language every space or special character character level compound words
Arabic
Chinese
Dutch
English (en-us)
English (en-GB)
French (fr-FR)
French (fr-CA)
German
Gujarati
Hindi
Italian
Japanese
Korean
Marathi
Portuguese (Brazil)
Spanish (es-ES)
Spanish (es-MX)
Tamil
Telugu
Turkish

Custom tokenizer versions

The following cultures have custom tokenizer versions:

Culture Version Purpose
German
de-de
1.0.0 Tokenizes words by splitting them using a machine learning-based tokenizer that tries to break down composite words into their single components.
If a user enters Ich fahre einen krankenwagen as an utterance, it is turned to Ich fahre einen kranken wagen. Allowing the marking of kranken and wagen independently as different entities.
German
de-de
1.0.2 Tokenizes words by splitting them on spaces.
If a user enters Ich fahre einen krankenwagen as an utterance, it remains a single token. Thus krankenwagen is marked as a single entity.
Dutch
nl-nl
1.0.0 Tokenizes words by splitting them using a machine learning-based tokenizer that tries to break down composite words into their single components.
If a user enters Ik ga naar de kleuterschool as an utterance, it is turned to Ik ga naar de kleuter school. Allowing the marking of kleuter and school independently as different entities.
Dutch
nl-nl
1.0.1 Tokenizes words by splitting them on spaces.
If a user enters Ik ga naar de kleuterschool as an utterance, it remains a single token. Thus kleuterschool is marked as a single entity.

Migrating between tokenizer versions

Tokenization happens at the app level. There is no support for version-level tokenization.

Import the file as a new app, instead of a version. This action means the new app has a different app ID but uses the tokenizer version specified in the file.