Teneo Developers

Naming conventions

Naming conventions for Language Objects

The names of the Language Objects in the Teneo NLU Ontology and Semantic Network follow strict naming conventions and are composed of a sequence of the below described elements.

Users of the Teneo Platform are encouraged to use the same naming conventions as some Teneo Studio functionalities, such as the NLU Generator (Draft functionality of TLML Syntax Matches), depends on these naming conventions.

Please note that Language Object names cannot contain reserved characters.

Language Object names should consist of the following elements:

  • A mandatory kernel name (e.g. HAPPY) this should represent the typical use of the Language Object scope and it should be as clear and unambiguous as possible. This is the only part of the Language Object name that should be localized into local language.
  • An optional suffix indicating Part-of-Speech added to (mostly) LEX, MUL or SYN Language Objects:
    • VB (verb)
    • NN (noun)
    • ADJ (adjective)
    • ADV (adverb)
    • FW (function words, prepositions, particles, conjunctions, non-inflected adverbs, pronouns, etc.) On the SYN and MIX levels, the suffix can also be a combination of two Part-of-Speech (POS): ADJV for combined adjectives and adverbs, NNVB for combined nouns and verbs, etc.
  • An optional constraint operator expression:
  • A mandatory Language Object type suffix (LEX, MUL, MIX, SYN, PHR, PROJ, THEME, etc.

An example of a Language Object name containing all of the elements could be:



Language Object type suffixes

SuffixLanguage Object typeDefinition
LEXLexicon language objectLEX language objects are the smallest elementary building block of a TLR from which more complex language object structures are built. They do not only cover different inflections of a word, but also spelling and regional variations.
MULMulti-word unitsMUL language objects form the multi-word correspondence to the LEX language objects in that they capture the dictionary-level entries of multi-word units that are meant to be used as building blocks in higher level language objects.
MIXMixed language objectsMixed language objects group LEX language objects that represent lemmas deriving from the same lexical root, e.g. happy, happily and happiness. They typically contain entries with various parts of speech.
SYNWord-level Synonym language objectsSYN language objects are synonym objects at word-level. All the words grouped in a SYN should be interchangeable in the given context.
PHRPhrase-level language objectsPHR language objects represent all possible ways of expressing a phrase or partial sentence, e.g. What is the price of X, I want to know or How long will it take for X to happen?
THEMETheme language objectsTheme language objects group words on the basis of a theme. The words generally have different meanings, but are associated to the common theme. One can think of theme language objects as keyword language objects.
LISTList language objectsLIST language objects contain lists of concepts, such as colors, car brands and countries. LIST language objects can be composed of other LIST language objects.
RECMiscellaneous language objectsREC language objects are meant to store TLML Syntax conditions that do not fit under any other category but are still reused enough in different Linguistic Modelling Language conditions. They can be very wide, or rather specific, but do not have consistent structure. Both their scope and naming should be highly pragmatic.
PROJProject-specific language objectsCustomizable company/project-specific language object. A project can create a local copy of the object within their solution and make project-specific additions and adjustments.
SCRIPTLanguage objects containing scriptsThese are high-level language objects with scripts and functions, for example to count words or sentences or for table answers.
ANNOTAnnotation language objectsANNOT language objects are meant as an abstraction layer for the annotations coming from the input processors.
SUPPORTSupport language objectsSUPPORT language objects are only meant to be used internally by the system (to support TLML Syntax conditions of other Language Objects).

NLU Ontology and Semantic Network
Reserved characters for Language Object names