Language objects

Language objects are building blocks for language conditions. They capture words, synonyms or various ways of expressing the same (partial) intent. They make it possible to efficiently write and re-use conditions.

Having a closer look at language objects reveals that while they are used in language conditions, they also contain language conditions themselves. Moreover, language objects often use other language objects in their conditions:

Language object example

All language objects together form a hierarchical structure, where word-level language objects are at the bottom, and various kinds of lists, synonyms and phrases are at the top.
You can use both the language objects of the pre-built lexical resources that you have linked to your solution, and any language object that you and your team created in your solution.

The main components of a language object are:

  • its name,
  • its language condition and we will have a closer look at both of these components in the following.

Names and types of language objects

The name of a language object is always upper case. When you use a language object in a condition, you add a %-sign before its name.

The language objects that come with the pre-built language resources follow a naming convention. This makes it possible to get a feel for what they cover already from their names. For instance, a name that ends in .SYN covers a set of synonyms, and a name that ends in .LIST captures a list of some kind, e.g. a list of different colors or car brands.

When Teneo generates language conditions from examples (with the 'NLU Generator' button) it only considers language objects that follow the naming convention (and are of certain types, as indicated in the table below). Thus you should make sure to name your language objects properly if you'd like them to be part of the automatically generated conditions.

The most important language object types are:

Suffix Type Example Name Example Condition Used by 'NLU Generation'
LEX Lexical entry: is the smallest building block from which more complex language objects are built. Covers different inflections of a word, but also spelling and regional variations. DOG.NN.LEX dog / dog's / dogs / dogs' yes
SYN Synonyms: groups language objects with similar meaning. DOG.NN.SYN %DOG.NN.LEX / %HOUND.NN.LEX / %MUTT.NN.LEX / %POOCH.NN.LEX / (...) yes
ENTITY Entities are collections of one or more words that all have some characteristic in common. SIZES.ENTITIY Click here for details yes
PHR Phrases: groups various ways of expressing the same phrase or partial intent. IS_BROKEN.PHR ((%BE.VB?PRESENT.LEX / %SEEM.VB.SYN)>> %BROKEN.ADJV.SYN ) / (...) yes
LIST List: lists related concepts, such as colors or country names. A list often contains other lists. HERBS.LIST %BASIL.NN.LEX/ %CILANTRO.NN.LEX/ %CORIANDER.NN.LEX / (...) no

Language objects may also contain an infix signalling their part of speech. A more extensive table of the language object types, and part of speech tags used, can be found here.

Language Condition

The language condition in a language object describes patterns that need to be present in a user input for the condition to be fulfilled. They are expressed in Teneo's condition syntax.

Was this page helpful?