Vocabulary

The vocabulary module defines the set of words of the scenario.



Per default, the active vocabulary is shown. To display the shadow vocabulary select the tab Shadow Vocabulary.

Every word states it recognition rate which at the moment is just a counter of how often the word has been recorded (alone or together with other words).



Adding Words

To add new words to the active vocabulary, use the add word wizard.

Adding words to Simon is basically a two step procedure:

  • Defining the word

  • Initial training

Defining the Word

Firstly, the user is asked which word he wants to add.



When the user proceeds to the next page, Simon automatically tries to find as much information about the word in the shadow dictionary as possible.

If the word is listed in the shadow dictionary, Simon automatically fills out all the needed fields (Category and Pronunciation).



All suggestions from the shadow dictionary are listed in the table Similar words. Per default only exact word matches are shown. However, this can be changed by checking the Include similar words check box below the suggestion table. Using similar words you can quickly deduce the correct pronunciation of the word you are actually trying to add. See below for details.

Of course this really depends on your shadow dictionary. If the shadow dictionary does not contain the word you are trying to add, the required fields have to be filled out manually.

Some dictionaries that can be imported with Simon (SPHINX, HTK) do not differentiate between upper and lower case. Suggestions based on those dictionaries will always be uppercase. You are of course free to change these suggestions to the correct case.

Some dictionaries that can be imported with Simon (SPHINX, PLS and HTK) provide no grammatical information at all. These will assign all the words to the category Unknown. You should change this to something appropriate when adding those words.

Manually Selecting a Category

The category of the word is defined as the grammatical category the word belongs to. This might be Noun, Verb or completely new categories like Command. For more information see the grammar section.

The list contains all categories used in both your active and your shadow lexicon and in your grammar.

You can add new categories to the drop-down menu by using the green plus sign next to it.

Manually Providing the Phonetic Transcription

The pronunciation is a bit trickier. Simon does not need a certain type of phonetics so you are free to use any method as long as it uses only ASCII characters and no numbers. However, if you want to use a shadow dictionary and want to use it to its full potential you should use the same phonetics as the shadow dictionary.

If you do not know how to transcribe a word yourself you can easily use your shadow dictionary to help you with the transcription - even if the word is not listed in it. Let's say we want to add the word Firefox (to launch firefox) which is of course not listed in our shadow dictionary.

(I imported the English voxforge HTK lexicon available from voxforge as a shadow dictionary.)

Firefox is not listed in our shadow dictionary so we do not get any suggestion at all.



However, we know that firefox sounds like fire and fox put together. So let's just open the vocabulary (you can keep the wizard open) by selecting Vocabulary from your Simon main toolbar.

Switch to the shadow vocabulary by clicking on the tab Shadow Vocabulary.

Use the Filter box above the list to search for Fire:



We can see, that the word Fire is transcribed as f ay r. Now filter for fox instead of Fire and we can see that Fox is transcribed as f ao k s. We can assume, that firefox should be transcribed as f ay r f ao k s.

Using this approach of deducing the pronunciation from parts of the word has the distinct advantage that we not only get a high quality transcription but also automatically use the same phoneme set as the other words which were correctly pulled out of the shadow dictionary.

We can now enter the pronunciation and change the category to something appropriate.



Training the Word

To complete the wizard we can now train the word twice. If you don't want to do this or for example use a static base model, you can skip these two pages.

Because you are about to record some training samples, Simon will display the volume calibration to make sure that your microphone is set up correctly. For more information please refer to the volume calibration section

Simon will try to prompt you for real-world examples. To do that, Simon will automatically fetch grammar structures using the category of the word and substitute the generic categories with example words from your active lexicon.

For example: You have the grammar structure Trigger Command and have the word Computer of the category Trigger in your vocabulary. You then add a new word Firefox of the category Command. Simon will now automatically prompt you for Computer Firefox as it is - according to your grammar - a valid sentence.

If Simon is unable to find appropriate sentences using the word (i.e.: No grammar, not enough words in your active lexicon, etc.) it will just prompt you for the word alone.

Although Simon ensures that the automatically generated examples are valid, you can always override its suggestions. Just switch to the Examples tab on the Define Word page.



You are free to change those examples to anything you like. You can even go so far and use words that are not yet in your active lexicon as long as you add them before you synchronize the model, although this is not recommended.

All that is left is to record the examples.



Make sure you follow the guidelines listed in the recording section.

Editing a word

To edit a word, simply select it from the vocabulary, and click on Edit.



There you can change name, category and pronunciation of the selected word.

Removing a word

To remove a word from your language model, select it in the vocabulary view and click on Remove.



The dialog offers four choices:

  • Move the word to the Unused category.

    Because you (hopefully) don't use the category Unused in your grammar, the word will no longer be considered for recognition. In fact, it will be removed from the active vocabulary before compiling the model because no grammar sentence references it.

    If you want to use the category Unused in your grammar, you can of course use a different category for unused words. Just set the category through the Edit word dialog.

    To use the word again, just set the right category again. No data will be lost.

  • Move the word to the shadow lexicon

    This will remove the selected word from the active lexicon (and thus from the recognition) but will keep a copy in the shadow vocabulary. All the recordings containing the word will be preserved.

    To use the word again, add it again to the active vocabulary. When adding a new word with the same name the values of the moved word will be suggested to you. Therefore, no data will be lost.

  • Delete the word but keep the samples

    Removes the word completely but keeps the associated samples. Whenever you add another word with the same word name the samples will be re-associated.

    Be careful with this option as the new word you add again might be transcribed differently and this difference cannot be taken into account automatically (Simon will then try to force the new transcription on the old recordings during the model compilation).

    Do not use this option if the samples you recorded for this word were erroneous.

  • Remove the word completely

    Just remove the word. All the recordings containing the word will be removed too.

    This option leaves no trace of neither the word itself nor the associated samples.

    Because samples are global (not assigned to scenarios), even samples recorded from training sessions of other scenarios might be removed as well if they contain the word. Use this option carefully.

Special Training

Please see the special training section in the training section.

Importing a Dictionary

Simon provides the functionality to import large dictionaries as a reference. This reference dictionary is called shadow dictionary.

When the user adds a new word to the model, he has to define the following characteristics to define this word:

  • Wordname

  • Category

  • Phonetic definition

These characteristics are taken out of the shadow dictionary if it contains the word in question. A large, high quality shadow dictionary can thus help the user to easily add new words to the model without keeping track of the phoneme set or - in many cases - even let him forget that the phonetic transcription is needed at all.



Since version 0.3 you can also import dictionaries directly to the active dictionary. This option is mostly there to make it easier to move to Simon from custom solutions and to encourage importing of older models (for example one used with Simon 0.2). You will almost never want to import a very large dictionary as active dictionary.

You can find a list of available dictionaries that work with Simon on the Simon wiki.

Simon is able to import five different types of dictionaries:

  • HADIFIX

  • HTK

  • PLS

  • SPHINX

  • Julius

HADIFIX Dictionary

Simon can import HADIFIX dictionaries.

One example of a HADIFIX dictionary is the German HADIFIX BOMP.

Hadifix dictionaries provide both categories and pronunciation.

Due to a special exemption in their license the Simon listens team is proud to be able to offer you to download the excellent HADIFIX BOMP directly from within Simon.



Using the automatic bomp import you can, after providing name and e-Mail address for the team of the University Bonn, directly download and import the dictionary from the Simon listens server.

HTK Dictionary

Simon can import HTK lexica.

One example of a HTK lexicon is the English Voxforge dictionary.

Hadifix dictionaries provide pronunciation information but no categories. All words will be assigned to the category Unknown.

PLS Dictionary

Simon can import PLS dictionaries.

One example of a PLS dictionary is the German GPL dictionary from Voxforge.

PLS dictionaries provide pronunciation information but no categories. All words will be assigned to the category Unknown.

SPHINX Dictionary

Simon can import SPHINX dictionaries.

One example of a SPHINX dictionary is this dictionary for Mexican Spanish.

SPHINX dictionaries provide pronunciation information but no categories. All words will be assigned to the category Unknown.

Julius Dictionary

Simon can import Julius vocabularies.

One example of a Julius vocabularies are the word lists of Simon 0.2.

Julius dictionaries provide pronunciation information as well as category information.

Create language profile

Here, you can build a language profile from your shadow dictionary.



After selecting Create profile, Simon will analyze your current shadow dictionary and try to deduce the transcription rules from it.

This is generally a very length process and can, depending on the size of your shadow dictionary, take up to several hours.

The created profile will be selected automatically after the process completes.