From UNL Wiki
Jump to: navigation, search

CLEA1500 certifies that you have reached a standard of knowledge concerning the development of natural language grammars for UNLization and may officially participate in the UNL Research. The certificate consists of a set of 50 sentences that must be UNLized with IAN.



In CLEA1500, you are expected to provide the lingware (dictionary and grammars) necessary to UNLize a translated version of UCA1.


  1. Training corpus
    1. Prepare the training corpus
      • If your native language is not English: translate (manually) the 50 sentences of the corpus UCA1 from English into your native language. Be as close as possible to the original, and provide one single translation for each sentence. This will be your input document file, and your goal will be to provide (automatically, through IAN) the UNL graphs for each sentence. See an example of input file here.
      • If your native language is English: use the corpus UCA2 as your input document file.
    2. Save the translated text (without the English original) in a plain text (.txt) file with UTF-8 encoding and upload it to UNLWEB>UNLDEV>IAN>NL FILES.
  2. Dictionary[1]
    1. Create a dictionary for your training corpus. Your dictionary must contain all and only the word forms appearing in your training corpus, and must comply with the Dictionary Specs.
    2. Save the NL-UNL dictionary in a plain text (.txt) file with UTF-8 encoding and upload it to UNLWEB>UNLDEV>IAN>DICTIONARIES.
  3. Grammars[2]
    1. Create the NL-UNL (analysis) grammars necessary to UNLize the natural language sentences of the translated corpus. These grammars are the most difficult (and the actual goal) of the whole analysis task. There can be three different types of grammar:
      • N-grammar, which is used to segment[3] the text into sentences and to normalize the input text, resolving contractions, abbreviations and other phenomena that can be handled without the dictionary (i.e., by manipulating isolated strings of characters);
      • T-grammar, which is used to transform the list structure (i.e., the natural language sentence) into a graph structure (the UNL graph);
      • D-grammar, which is used to improve the performance of the tokenization and of the transformation.[4]
    2. Save the NL-UNL grammars in a plain text (.txt) file with UTF-8 encoding and upload them to the corresponding tabs in UNLWEB>UNLDEV>IAN.
    3. Test them and do the necessary changes until you get good results.
  4. Evaluation
    1. Export the actual output of IAN (range=1-100, trace-level=NONE).
    2. Check the F-measure of the actual output at UNLWEB>UNLARIUM>TOOLS>F-MEASURE.[5]
    3. If the F-measure > 0.9, upload the corpus, dictionary and grammars to VALERIE (UNLWEB>VALERIE>CLEA1500) in order to have your exercise evaluated.

Samples and Examples

The following resources have been used to deal with UCA1 in English and may be used as a sample of what is expected to be provided

Language Corpus Dictionary N-Grammar T-Grammar D-Grammar Output
English uca1_eng.txt eng_unl_dic.txt eng_unl_ngrammar.txt eng_unl_tgrammar.txt eng_unl_dgrammar.txt eng_unl_trace.txt

Recommended Readings

Before starting the activity, and in order to fully understand what is expected to be done, it is important for you to be acquainted with the following documentation:

  • Tagset, because you are expected to use only the tags included in the tagset
  • UNL Dictionary Specs, which is essential to understand the dictionary structure
  • UNL Grammar Specs, which is essential to understand the grammar structure

It is also interesting to make a test drive with IAN.


  1. Instead of creating a whole new dictionary from scratch, you may try localizing the English dictionary available at eng_unl_dic.txt. Note that "localization" is not the same as "translation". You may need other features (in English, for instance, nouns do not have gender or case) or other entries. In any case, the resulting dictionary should reflect your translated version of the corpus (i.e., all entries appearing in your translated version of the corpus should appear in the dictionary). For further information on localization, see Localization. For information on the dictionary structure, see Dictonary Specs. For an explanation of the structure of the English dictionary, see English Dictionary. In case you need additional features, use only the tags available at the tagset.
  2. In order to prepare the grammar, study the Grammar Specs. Next, take a look at the structure of the English Grammar for a detailed example. In many cases, it is simpler just to localize the English grammars to your own locale rather than creating a whole grammar from the scratch. See the instructions at Localization.
  3. This is not necessary, because the corpus is already segmented.
  4. D-rules used in tokenization are used either to prevent wrong lexical matches or to provoke right lexical matches. D-rules used in transformation are used to either prevent or provoke the application of certain rules.
  5. The F-measure compares the actual output (exported from IAN) with the expected output (available at uca1_unl.txt)