vania-janet/multiturn-rag-retrieval-data huggingface dataset:
* word - The spelling of the word as added by you.

Do not use characters that need to be URL-encoded. For example, do not use spaces, slashes, backslashes, colons, ampersands, double quotes, plus signs, equals signs, question marks, etc. in the name. The service does not prevent the use of these characters, but because they must be URL-encoded wherever they are used, it is strongly discouraged.
* sounds_like - The pronunciation of the word. You can use the sounds_like field to add one or more pronunciations for the word. For more information, see [Using the sounds_like field](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-corporaWords-ngsounds-like-ng).
* display_as - The spelling of the word that the service uses in transcripts. Unless you specify an alternative representation, the spelling matches the value of the word field. For more information, see [Using the display_as field](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-corporaWords-ngdisplay-as-ng).
* source - How the word was added to the words resource. The field always contains the string user to indicate that it was added directly as a custom word.



After adding or modifying a custom word, it is important that you verify the correctness of the word's definition; for more information, see [Validating a words resource for next-generation models](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-corporaWords-ngvalidateModel-ng). You must also train the model for the changes to take effect during transcription; for more information, see [Train the custom language model](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-languageCreatetrainModel-language).

You can add custom words that already exist, for example, to add more sounds-like pronunciations for common words.
"smart_formatting": true,
"language_customization_id": "81d3630-ba58-11e7-aa4b-41bcd3f6f24d",
"acoustic_customization_id": "e4766090-ba51-11e7-be33-99bd3ac8fa93"
}
}
}
}
]
}
}
Show more

You can also apply an acoustic model that you might have trained to deal with background noise, accents, or other things that are associated with the quality or noise of the signal.





 Using a custom grammar 

The Speech to Text service supports the use of grammars. A grammar allows you to configure the audio to match specific characteristics only.

You can think of it this way:



* A custom language model expands the service's base vocabulary.
* A grammar restricts the words that the service can recognize from that vocabulary.



When you use a grammar with a custom language model for speech recognition, the service can recognize only words, phrases, and strings that are recognized by the grammar. For example, maybe you want to accept only a yes or no response. You can define a grammar that allows only those options.

For more information, see [Using grammars with custom language models](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-grammars).

This example shows how to specify a custom grammar during the conversation:

{
"output": {
"generic": [
{
"response_type": "speech_to_text",
"command_info": {
"type": "configure",
"parameters": {
"update_strategy": "merge_once",
"narrowband_recognize": {
"x-watson-learning-opt-out": true,
"grammar_name": "names-abnf",
el-en Greek (el) English (en) general 







 Gujarati 

The following Gujarati translation model can be customized.



Table 21. Gujarati translation model

 Model ID Source Target Domain 

 gu-en Gujarati (gu) English (en) general 







 Hebrew 

The following Hebrew translation model can be customized.



Table 22. Hebrew translation model

 Model ID Source Target Domain 

 he-en Hebrew (he) English (en) general 







 Hindi 

The following Hindi translation model can be customized.



Table 23. Hindi translation model

 Model ID Source Target Domain 

 hi-en Hindi (hi) English (en) general 







 Hungarian 

The following Hungarian translation model can be customized.



Table 24. Hungarian translation model

 Model ID Source Target Domain 

 hu-en Hungarian (hu) English (en) general 







 Indonesian 

The following Indonesian translation model can be customized.



Table 25. Indonesian translation model

 Model ID Source Target Domain 

 id-en Indonesian (id) English (en) general 







 Irish 

The following Irish translation model can be customized.



Table 26. Irish translation model

 Model ID Source Target Domain 

 ga-en Irish (ga) English (en) general 







 Italian 

The following Italian translation models can be customized.



Table 27. Italian translation models

 Model ID Source Target Domain 

 it-de Italian (it) German (de) general 
 it-en Italian (it) English (en) general 







 Japanese 

The following Japanese translation model can be customized.



Table 28. Japanese translation model

 Model ID Source Target Domain 

 ja-en Japanese (ja) English (en) general 







 Kannada 

The following Kannada translation model can be customized.



Table 29. Kannada translation model

 Model ID Source Target Domain 

 kn-en Kannada (kn) English (en) general 







 Korean 

The following Korean translation model can be customized.



Table 30. Korean translation model

 Model ID Source Target Domain 

 ko-en Korean (ko) English (en) general 







 Latvian 

The following Latvian translation model can be customized.



Table 31. Latvian translation model

 Model ID Source Target Domain
Specifies the language for compilation and matching for dictionaries of the module that are declared without an explicit with language as specification. The <language codes> set must be a comma-separated list, with no white spaces around each language code. Failure to observe this requirement can result in a compilation error.

This statement affects the following dictionaries:



* Dictionaries that are explicitly declared in the current module by using the create dictionary or create external dictionary statement, and that statement does not have a with language as clause.
* Dictionaries from external files.
* In a pattern specification of an extract pattern statement, atoms of type 'string' and atoms of type <'string' [match parameters]> without an explicit with language as specification. When this statement is absent from inside a module, the runtime component defaults to a language set of German, Spanish, English, French, Italian, and the unspecified language x. It is defined as a set: [de,es,en,fr,it,x_unspecified]. Within a module, only one instance of this statement can exist.









 Usage notes 



* The set default dictionary language statement can be updated to improve the extent of languages that are covered by the extractor. This ability to add languages promotes ease of customization and the reuse of existing extractors.







 Examples 

Example 1: Specifying languages to be used to match dictionary entries

module Dictionaries;

-- Set the default dictionary matching language
-- for this module to English and French

set default dictionary language as 'en,fr';

/
* Dictionary of English and French names. Because no language clause
* exists in dictionary definition, module level dictionary matching
* setting will be applied.
/

create dictionary EnglishFrenchNames
from file 'en_fr_names.dict';

/
* Dictionary of Italian names. Language clause in the dictionary
* definition will override the module level dictionary matching setting.
/

create dictionary ItalianNames
with language as 'it'
as
(
'firstEntry','secondEntry'
);

/
{"tokens":["four","score","seven","year","ago","our","father","brought","forth","contin","new","nation","conceiv","liberti","dedic","proposit","all","men","creat","equal"]}







 Which analyzer must I pick? 

It depends on your data. If your data is structured (email addresses, postal codes, names, and so on) in separate fields, then select an analyzer that retains the data you need to search.

Only index the fields that you need. Keeping the index small helps to improve performance.

Consider the common data sources and look at the best analyzer choices.



 Names 

It's likely that name fields must use an analyzer that doesn't stem words. The White space analyzer keeps the words' case (meaning the search terms must be full, case-sensitive matches) and leaves double-barreled names intact. If you want to split up double-barreled names, then the Standard analyzer can do the job.





 Email addresses 

The built-in email analyzer serves this purpose, which changes everything to lowercase and then behaves like the Keyword analyzer.





 Unique ID 

Order numbers, payment references, and UUIDs such as "A1324S", "PayPal0000445", and "ABC-1412-BBG" must be kept without any pre-processing, so the Keyword analyzer is preferred.





 Country codes 

Country codes like "UK" must also use the Keyword analyzer to prevent the removal of "stopwords" that match the country codes, for example, "IN" for India. The Keyword analyzer is case-sensitive.





 Text 

It is best to process a block of free-form text with a language-specific analyzer, such as the English analyzer, or in a more general case, the Standard analyzer.







 Which option is best? 

When IBM Cloudant returns data from a search, you can choose between the following options: store: true or include_docs=true.
curl -X POST --header "Authorization: Bearer {token}" --header "Content-Type: audio/flac" --data-binary @audio-file1.flac "{url}/v1/recognize?language_customization_id={customization_id}&customization_weight=0.7"

Setting a customization weight during speech recognition overrides a weight that was saved with the model during training.







 Troubleshooting the use of custom language models 

If you apply a custom language model to speech recognition but find that the service does not appear to be using words that the model contains, check for the following possible problems:



* Make sure that you are correctly passing the customization ID to the recognition request as shown in the previous examples.
* Make sure that the status of the custom model is available, meaning that it is fully trained and ready to use. For more information, see [Listing custom language models](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-manageLanguageModelslistModels-language).
* Check the pronunciations that were generated for the new words to make sure that they are correct. For more information, see



* [Validating a words resource for previous-generation models](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-corporaWordsvalidateModel)
* [Validating a words resource for next-generation models](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-corporaWords-ngvalidate-model-ng)
"owner": "297cfd08-330a-22ba-93ce-1a73f454dd98",
"created": "2016-07-15T19:15:17.926Z",
"name": "Test",
"language": "en-US",
"description": "Customization test",
"last_modified": "2016-07-15T19:46:01.387Z",
"words": [
{
"word": "IEEE",
"translation": "I triple E"
},
{
"word": "NCAA",
"translation": "N C double A"
},
{
"word": "iPhone",
"translation": "I phone"
}
]
}
Show more





 Querying a word from a language 

To query the pronunciation of a word, use the GET /v1/pronunciation method. Specify a voice to get the pronunciation in the language of that voice. By default, the method returns the pronunciation based on the service's regular pronunciation rules, but you can also request the pronunciation for a specified custom model. The method includes four query parameters that let you specify the information that is to be returned:



* The required text parameter specifies the word whose pronunciation is to be returned.
* The optional voice parameter lets you specify the language of the pronunciation. You specify one of the voices (for example, en-US_LisaV3Voice) to indicate the desired language; all voices for the same language (for example, en-US) return the same pronunciation. By default, the pronunciation is returned for the language of the default voice. For more information, see [Using the default voice](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-voices-usespecify-voice-default).
* The optional format parameter lets you specify the phonetic format of the pronunciation, either ipa or ibm. By default, the pronunciation is returned in IPA format.
"smart_formatting": true,
"language_customization_id": "81d3630-ba58-11e7-aa4b-41bcd3f6f24d",
"acoustic_customization_id": "e4766090-ba51-11e7-be33-99bd3ac8fa93"
}
}
}
}
]
}
Show more

You can also apply an acoustic model that you might have trained to deal with background noise, accents, or other things that are associated with the quality or noise of the signal.





 Using a custom grammar 

The Speech to Text service supports the use of grammars. A grammar allows you to configure the audio to match specific characteristics only.

You can think of it this way:



* A custom language model expands the service's base vocabulary.
* A grammar restricts the words that the service can recognize from that vocabulary.



When you use a grammar with a custom language model for speech recognition, the service can recognize only words, phrases, and strings that are recognized by the grammar. For example, maybe you want to accept only a yes or no response. You can define a grammar that allows only those options.

For more information, see [Using grammars with custom language models](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-grammars).

This example shows how to specify a custom grammar during the conversation:

{
"generic": [
{
"response_type": "speech_to_text",
"command_info": {
"type": "configure",
"parameters": {
"update_strategy": "merge_once",
"narrowband_recognize": {
"x-watson-learning-opt-out": true,
"grammar_name": "names-abnf",
"language_customization_id": "81d3630-ba58-11e7-aa4b-41bcd3f6f24d"
}
The following sections describe the strings and content that trigger smart formatting changes for [US English and Spanish](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-formattingsmart-formatting-english-spanish) and for [Japanese](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-formattingsmart-formatting-japanese).



 US English and Spanish 



* Times are identified by keywords such as AM, PM, or EST.
* Military times are converted if they are identified by the keyword hours (US English) or horas (Spanish).
* Phone numbers must be either 911 or a number that contains 10 or 11 digits and starts with the number 1.
* Currency symbols are substituted for the following strings in appropriate contexts:



* For US English, dollar, cent, and euro.
* For Spanish, dolar, peso, peseta, libras esterlinas, libra, and euro.



* Internet email addresses are converted in some cases. Specifically, the service converts email addresses if the input audio uses the phrasing email address ... {address}. The following examples show a correct conversion of spoken phrases:



* My email address is j dot d o e at i b m dot com becomes My email address is j.doe@ibm.com.
* Mi correo electronico es j punto d o e arroba i b m punto com becomes Mi correo electronico es j.doe@ibm.com.



* Internet web addresses are converted in their short forms. Fully qualified web addresses are not converted. The following examples show complete conversions:



* I saw the story on yahoo dot com becomes I saw the story on yahoo.com.
* Vi la historia en yahoo punto com becomes Vi la historia en yahoo.com.



The following examples show incomplete conversions:



* I saw the story on w w w dot yahoo dot com becomes I saw the story on w w w .yahoo.com.
* Vi la historia en w w w punto yahoo punto com becomes Vi la historia en w w w .yahoo.com.
{"tokens":["my", "name", "chris", "wright", "smith", "i", "live", "21a", "front", "street", "durham", "uk", "my", "email", "chris7767@aol.com"]}





 English analyzer 

The English analyzer changes the string in the following ways:



* Removes punctuation.
* Splits words based on spaces and punctuation.
* Stems words (notice "chris changes to chri").
* Removes stop words (no "is" or "at").
* Changes words to use lowercase letters.
* Note how email stays intact.



{"tokens":["my", "name","chri", "wright", "smith", "i", "live", "21a", "front", "street", "durham", "uk", "my", "email", "chris7767","aol.com"]}

Language-specific analyzers make the most changes to the source data. See the following two examples:

The quick brown fox jumped over the lazy dog.
{"tokens":["quick","brown","fox","jump","over","lazi","dog"]}

Four score and seven years ago our fathers brought forth, on this continent, a new nation, conceived in Liberty, and dedicated to the proposition that all men are created equal.
{"tokens":["four","score","seven","year","ago","our","father","brought","forth","contin","new","nation","conceiv","liberti","dedic","proposit","all","men","creat","equal"]}







 Which analyzer must I pick? 

It depends on your data.
Sentiment improved for Spanish
: Improved Spanish sentiment.

Bug fix for special characters
: Fixed a bug that may have affected targeted sentiment results if the target contained special characters.

Service instance changes
: The following changes are enabled for service instances in Washington DC, Tokyo, London, and Sydney:



* Sentiment option for entities requests that use custom models is enabled for all sentiment-supported languages except Arabic and Russian.







 24 May 2019 

Keywords improved for German
: Improved German keywords.

Sentiment updates for English to locations
: English sentiment updates released to service instances in all IBM Cloud locations other than Dallas.





 3 May 2019 

Sentiment detection for German improved
: Improved German document-level sentiment detection.







 25 April 2019 

Entity mentions for rule-based custom models
: Enabled entity mentions for rule-based [custom models](https://cloud.ibm.com/docs/natural-language-understanding?topic=natural-language-understanding-customizing). To view mentions in your results, set the mentions entities option to true.

Explanations for English categories results
: Released explanations for English categories results. To see relevant text from the source that contributed to each result, set the explanation categories option to true.





 19 March 2019 

Custom categories models created with Knowledge Studio
: Introduced experimental support for custom categories models created with Knowledge Studio.

Keywords and concepts improved for Spanish
: Improved Spanish keywords and concepts.





 10 January 2019 

Requests with no version date parameter return error
: List models and Delete model requests that don't include a version date parameter now return 400 errors instead of successful responses.

Entites performance improved
: Improved entities performance for languages other than English.





 December 2018 



 14 December 2018 

Support improvements
: You can now create Natural Language Understanding service instances in the IBM Cloud London location.
: Added support for Portuguese relations.
: Added support for Italian relations.
: Added a limit parameter for categories requests that controls the number of categories returned up to a maximum of 10.
: Improved accuracy for Japanese and German sentiment.





 6 December 2018 

Improved accuracy for Italian
: Improved accuracy for Italian categories, keywords, entities, and categories.







 November 2018 



 27 November 2018
The service does not capitalize nouns for German with previous-generation models.







 Punctuation 

The service does not insert punctuation in response transcripts by default. You must add any punctuation that you need to the service's results.

For some languages, you can use smart formatting to direct the service to substitute punctuation symbols, such as commas, periods, question marks, and exclamation points, for certain keyword strings. For more information, see [Smart formatting](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-formattingsmart-formatting).
バ, ビ, ブ, ベ, ボ, チ, チェ, チャ, チュ, チョ, ダ, デ, ディ, ド, ドゥ, フ

ファ, フィ, フェ, フォ, ガ, ギ, グ, ゲ, ゴ, ハ, ヒ, ヘ, ホ, ジ, ジェ, ジャ

ジュ, ジョ, カ, キ, ク, ケ, コ, キャ, キュ, キョ, パ, ピ, プ, ペ, ポ, ピャ

ピュ, ピョ, サ, ス, セ, ソ, シ, シェ, シャ, シュ, ショ, タ, テ, ト, ツ, ザ

ズ, ゼ, ゾ
* Do not use ン as the first character of a word. For example, use ウーント instead of ンート, the latter of which is invalid.
* Many compound words consist of prefix+noun or noun+suffix. The service's base vocabulary covers most compound words that occur frequently (for example, 長電話 and 古新聞) but not those compound words that occur infrequently. If your corpus commonly contains compound words, add them as one word as the first step of your customization. For example, 古鉛筆 is not common in general Japanese text; if you use it often, add it to your custom model to improve transcription accuracy.
* Do not use a trailing assimilated sound.







 Guidelines for Korean 



* Use Korean Hangul characters, symbols, and syllables.
* You can also use Latin (English) alphabetic characters: a-z and A-Z.
* Do not use any characters or symbols that are not included in the previous sets.









 Using the display_as field 

The display_as field specifies how a word is displayed in a transcript. It is intended for cases where you want the service to display a string that is different from the word's spelling. For example, you can indicate that the word hhonors is to be displayed as HHonors regardless of whether it sounds like hilton honors or h honors.

IBM Cloud
: For the US English language models, en_US_BroadbandModel and en_US_NarrowbandModel, the service now correctly capitalizes many proper nouns. For example, the service would new return text that reads "Barack Obama graduated from Columbia University" instead of "barack obama graduated from columbia university." This change might be of interest to you if your application is sensitive in any way to the case of proper nouns.

New HTTP error code
: The HTTP DELETE /v1/sessions/{session_id} request does not return status code 415 "Unsupported Media Type." This return code is removed from the documentation for the method.





 1 July 2015 

The Speech to Text service is now generally available
: The service moved from beta to general availability (GA) on July 1, 2015. The following differences exist between the beta and GA versions of the Speech to Text APIs. The GA release requires that users upgrade to the new version of the service.

The GA version of the HTTP API is compatible with the beta version. You need to change your existing application code only if you explicitly specified a model name. For example, the sample code available for the service from GitHub included the following line of code in the file demo.js:

model: 'WatsonModel'

This line specified the default model, WatsonModel, for the beta version of the service. If your application also specified this model, you need to change it to use one of the new models that are supported by the GA version. For more information, see the next bullet.

New token-based programming model
: The service now supports a new programming model for direct interaction between a client and the service over a WebSocket connection. By using this model, a client can obtain an authentication token for communicating directly with the service. The token bypasses the need for a server-side proxy application in IBM Cloud to call the service on the client's behalf. Tokens are the preferred means for clients to interact with the service.

The service continues to support the old programming model that relied on a server-side proxy to relay audio and messages between the client and the service. But the new model is more efficient and provides higher throughput.