Dictionaries node
A list entity can have an associated dictionary. The dictionary is the list of spoken forms that correspond to entities or “mentions” that are part of the entity. For example, a City entity can have literals such as “New York City”, “New York”, and “The Big Apple”.
A dictionary entry always has a literal and can optionally have a value.
The literal represents the exact spoken text that is present within an utterance (what the user said). For example, in the query “I’d like a large t-shirt”, the literal corresponding to the entity [TSHIRT_SIZE] is “large”. Other literals might be “small”, “medium”, “big”, “very big”, and “extra large”. When you annotate samples, you select a range of text to tag with an entity.
The value corresponds to what is returned in the JSON NLU results whenever the input utterance has a matching literal for this entity, through a process called canonicalization. Values can be any string you want. For example, a CoffeeType entity could have the literals “coffee” and “americano”, and both literals would correspond to the value “americano”.
Note:
If thevalue of a dictionary entry is not present when importing a TRSX file, it will be assigned the literal, unless the canonicalization setting is disabled using false.
Dictionaries XML meta
<dictionaries>
<dictionary conceptref="str">
<entry literal="str" value="str"/>
</dictionary>
</dictionaries>
Dictionaries node specification
The dictionaries node is defined as follows:
- The
dictionariesnode contains zero-manydictionarynodes. - Each
dictionarynode contains zero-manyentrynodes - Each
dictionarynode contains a required attributeconceptref, which defines the entity the entries apply to.
Each entry node has the following attributes:
| Attribute | Required? | Description |
|---|---|---|
| literal | Required | Text that is present within an utterance. The literal is tokenized and normalized. |
| value | Optional | Value returned in the JSON NLU results. |
| protected | Optional | Used to identify data that is confidential and should not be exposed. Default value is false. Do not set this field to true, otherwise you will not be able to access the data. |
| sourceref | Optional | Source of the entry. For example: DTV_Domain. |
Dictionaries node example
The dictionaries consist of literal-value pairs that relate to a specific entity. This example showcases an entity “SEARCH_ENGINE”, which is defined as list type entity. The value is optional. The canonicalization of wikipedia and duck duck go showcase how to use the value attribute.
<dictionaries>
<dictionary conceptref="SEARCH_ENGINE">
<entry literal="bing" value="bing"/>
<entry literal="duck duck go" value="duckduckgo"/>
<entry literal="duckduckgo" value="duckduckgo"/>
<entry literal="google" value="google"/>
<entry literal="wiki" value="wikipedia"/>
<entry literal="wikipedia" value="wikipedia"/>
<entry literal="wikipédia" value="wikipedia"/>
<entry literal="yahoo" value="yahoo"/>
</dictionary>
</dictionaries>
Dictionaries schema
<xs:element name='dictionaries'>
<xs:annotation>
<xs:documentation>Dictionaries: Instances of list type Entities (static or dynamic type), that can have canonical values.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs='0' maxOccurs='unbounded' ref='dictionary'/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name='dictionary'>
<xs:annotation>
<xs:documentation>Entity Dictionary: Entity will have entries defining the entities.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs='0' maxOccurs='unbounded' name='entry' type='dictionary_entry'/>
</xs:sequence>
<xs:attribute name='conceptref' use='required' type='xs:NCName'/>
</xs:complexType>
</xs:element>
<xs:complexType name='dictionary_entry'>
<xs:annotation>
<xs:documentation>Entity Dictionary Entry: Entity that has a 'literal', i.e. the surface form, and the 'value' for ancillary use.</xs:documentation>
</xs:annotation>
<xs:attribute name='literal' use='required'/>
<xs:attribute name='value' use='optional'/>
<xs:attribute name='protected' use='optional' type='xs:boolean' default='false'/>
<xs:attribute name='sourceref' use='optional' type='xs:NCName'/>
</xs:complexType>
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.