Teneo Developers

Annotations Reference

Annotations can be considered 'labels' that are attached to inputs. A word, word sequence, sentence, or full input can have multiple annotations that you can use in language conditions. Teneo enriches inputs with various annotations right out of the box. This reference page describes which predefined annotations are available, what they can be used for and for which languages they are available. For more details on annotations and how to use them, go here.

If you want to see how an input is annotated, enter the input in the Try Out window and open the Input section. You will find all annotations that were added to the input in the Annotation section below the input. Hovering over an annotation will display additional information that is stored in annotation variables.

Language specific

Every language has its own part-of-speech tags and are available in the documentations. Here's a list for each of the languages.

LanguagePart-of-speech TagsNamed Entity Recognizers Tags
Chinese MandarinDocumentationNone

Part-of-speech tags

The machine learned part-of-speech tagger (or POS tagger) that comes with Teneo attaches one or more part-of-speech tags to each word in the input. POS taggers are available for Chinese, Danish, Dutch, English, French, German, Italian, Japanese, Korean, Spanish, Swedish, and Turkish. Here's a list of examples.

%$3RDPERSON.POSVerbs in third person
%$BRACKET.POSBrackets {}()[]
%$CARDINAL.POSCardinal numbers
%$CC.POSCoordinating conjunctions
%$COMPARATIVE.POSComparative adverbs and adjectives
%$EX.POSExistential 'there'
%$FOREIGN.POSForeign words
%$GERUND.POSGerund verbs
%$INF.POSVerbs in infinite tense
%$INTERROG.POSInterrogative (question) words, function words used to begin a wh- question, like what, who, when
%$LS.POSList item markers
%$MODAL.POSModal verbs
%$PARTICIPLE.POSVerbs in past participle
%$PAST.POSVerbs in past tense
%$PERS.POSPersonal pronouns
%$PL.POSNouns in plural
%$POSITIVE.POSPositive adverbs and adjectives
%$POSS.POSNouns and pronouns expressing possession
%$PRESENT.POSVerbs in the present tense
%$PROPER.POSProper nouns
%$PUNCT.POSPunctuations such as .,:!"
%$SG.POSSingular nouns

Many of the POS tags are made available as Language Objects with the extension .ANNOT. While you can use POS tags directly in your condition, it is better use equivalent language objects instead. The ANNOT language objects can, for example, group multiple similar POS tags. A list of available ANNOT objects can be found here.

Named Entities

Teneo comes with machine learned Named Entity Recognizers (NER's) for English, French, German, Italian, Japanese, Spanish, Swedish, and Turkish. Here's a list of examples:

%$ADDRESS.NERStreet names and street numbers when applicableI live on 2967 Washington st.What time does the office on Birch avenue open?I recently moved to 23 Main street.
%$CULTURAL_GROUP.NERNationalities, ethnic groups, religious groups, etc.Do you accept students from German universities?I need to order special food on the flight, I am Muslim.Mum is cooking great Arabic food.
%$DATE.NERFull dates (year, month, day)I was born on April 7th, 1991.The ticket was issued 23 Jan 2017.I have been a customer since 14-03-2015.
%$EMAIL.NEREmail addressesE-mail it to john.doe@artificial- solutions.comMy email is tester at yahoo dot com
%$EVENT.NEREvents, national holidays, treaties, awards/prices, etc.Who won the Oscar's last night?Where are you celebrating Christmas this year?The treaty of Versailles was signed in 1919.
%$FACILITY.NERBuildings, airports, train stations, public transport lines, hospitals, etc.I want to fly from Newark to LAX.Have you ever visited the Empire state building?What year was the Brooklyn Bridge built?
%$FICTIONAL_FIGURE.NERFictional figures, cartoons, etc.Who do you think you are, Superman?He was wearing a black coat, a bit like Batman’s.I don't believe in Santa Claus.
%$GEOGRAPHY.NERNon-political geographical entities: mountains, bodies of water, planets, moons, suns, etc.How many rings does Saturn have in total?Who was the first one to climb Mount Everest?How big is the Sahara Desert?
%$IP.NERIP addressesConnect to
%$KNOWN_FIGURE.NERKnown, public (non-fictional) figuresBarack Obama was the President of the United States for 8 years.I am a big fan of Meryl Streep.Play a song from Justin Bieber.
%$KNOWN_GROUP.NERKnown groups and bandsPlay a nice song by The Beatles.I liked the latest Coldplay album.Another song from Metallica please.
%$LANGUAGE.NERLanguagesDo you have this document in Swedish?Translate ‘hello’ to Hindi.I speak thee languages: Polish, English and Urdu.
%$LOCATION.NERGeopolitical locations (humans made the borders), including: continents, countries, states, counties, cities, neighborhoods, etc.I was born in California.I want to fly from Paris to London.What time does the ferry to Staten Island depart?
%$MED_CHEM.NERMedical/chemicals: chemical substances, named diseases, and drugsIs there a vaccine for Malaria?Who really discovered the Penicillin? Find me information about Iodine.
%$MISC.NERMiscellaneous: named entities that fit none of the other categoriesThe Tyrannosaurus Rex could be over 6 meters high.What happened to Obamacare?What is the Erasmus programme?
%$ORGANIZATION.NEROrganizations: companies or a division of a company, universities, schools, embassies, religious organizations, political parties, etc.I work at Apple.What is the e-mail address toArtificial-Solutions?I studied at Harvard University.
%$PERSON.NERNames of persons, including titles and surnames if presentMy name is Mrs Johnsson.The ticket is booked in the nameJoanne Stevens.Send a text to John please.
%$PRODUCT.NERProduct or brand names or organization names used as products in the contextI drive a BMW.How much is the new iPhone X?Can you open Facebook and make a post for me?
%$SPORTS.NERSports teams, sports organizations, sporting eventsMiami Dolphins is a good team!I want to watch the winter Olympics.Who won the FIFA world cup?
%$UNIQUE_IDENTIFIER.NERUnique identifiers: product numbers, phone numbers, user names, member numbers, etc.My phone number is 123-44 43 33.I have a bonus card with number ebb123523111.When will 103-121-111 be in stock again?
%$UNIT.NEREstablished units with value, including but not limited to: duration, age, temperature, percentage, information (bits) weight, volume, speed, length, currencyMy phone has 64 GB.This flight has cost me almost $600.We have more than 750 miles to go.
%$URL.NERURLs (also partial / truncated URLs)Open google.comGo to page www.test.comTake me to cnn dot com
%$WORK_OF_ART.NERWorks of art: songs, albums, movies, books, video games, etc.Do you read the Bible?Play Dimond’s with Rihanna.Download Frankenstein movie.
%$ZIP_CODE.NERZip codesMy zip is V0G 1Y0.My address is 24 Main street 23212 New York.

Many of the NER's are made available as entities (see available language objects for Japanese and Turkish here) with the extension .ENTITY. While you can use the NER tags directly in your condition, it is often better use the entity instead of the annotation, since entities can combine NER's and entities to provide best coverage.


For European languages, Arabic numbers like 42 or 3.14 in the user input are annotated.

%$NUMBERNumbers in the user input like 42 or 3.14. The annotated number is available as an annotation variable numericValue.

In addition to the %$NUMBER annotation, the language object %NUMBER.ENTITY provides a way to recognize both Arabic numbers as well as verbalized numbers (one, two, fifteen etc) and normalize them to numeric values in an NLU variable 'nNumber'. For example, when using %NUMBER.ENTITY, the verbalized number 'twelve' will have an NLU variable 'nNumber' of 12. Because of this, in most cases, using the entity instead of the annotation is preferred.

Language detection

The Language Detector in Teneo can detect 45 languages, regardless of the solution language. The annotation is added to each sentence of an input.


Intent annotations

User inputs that are processed by Teneo can have two intent annotations. The intent annotations use the names of the classes defined in the Trigger inside the solution. Which intent annotations are added depends on the classes that are matched to the user input.

ConditionDescriptionExample Condition
%$[Intent Name].INTENTAn user input will have one or more INTENT annotations, depending on confidence levels of the matched intents. Returns lob.confidence showing the confidence level.%$HOW_ARE_YOU.INTENT:{lob.confidence>0.70}
%$[Intent Name].TOP_INTENTA user input will have only one TOP_INTENT annotation. This is the intent with the highest confidence level. Returns lob.confidence showing the confidence level.%$HOW_ARE_YOU.TOP_INTENT:{lob.confidence>0.95}

System annotations

System annotations are available regardless of the language.

%$_INITIf a request was sent to Teneo without a session id, a new session will be started and the _%$INIT annotation is added to the input. This annotation is used in the trigger of the 'Greeting message' flow.
%$_TIMEOUTIf the request contained a session id that has expired or was unrecognized a new session is started and the _%$TIMEOUT annotation is added to the input. This annotation is used in the trigger of the 'The user continues conversation after Timeout' flow.
%$_EMPTYThe input contained no text. This annotation is used in the 'The user gives an empty input' flow.
%$_QUESTIONA question mark appears in the input.
%$_EXCLAMATIONAn exclamation mark (!) appears in the input.
%$_DBLQUOTEA quotation mark (") appears in the input.
%$_QUOTESingle quotation marks (') appear in the input.
%$_BRACKETPAIRA pair of brackets () or [], appear in the input.
%$_NONSENSEThe input includes nonsense text such as 'asdf', 'xxxxx', etc.
%$_BINARYThe input consists of 0s and 1s.
%$_QT3Triple question marks (???) appear in the input.
%$_EM3Triple exclamation marks (!!!) appear in the input.

Note that either the _%$TIMEOUT or _%$INIT annotation will be added to an input, as they cannot both exist at the same time.