...
Get action is used to retrieve Taxonomy data from the database. Taxonomy Node inputs leverage the mustache {{tag}} template language, which is applied to the node input either reference from msg.payload or msg
...
Taxonomy Id
The ID of the taxonomy tree should be given here. You can give an ID manually or can populate it dynamically populate the field using a mustache tag.
For example: {{msg.payload.voiceMenuId}}
...
Category Phrase
You can manually fill this field or make use of a mustache tag. The node searches the first-level categories in the taxonomy tree for a match. If found, it selects that taxonomy branch.
For example, if the Category Phrase is Poison, the category is saved in a voice session so when you search for treatment or symptoms, it remembers to search only the Poison branch. If nothing is found, it searches the rest of the taxonomy for a match.
...
Example Mustache Tag: {{msg.payload.request.intent.slots.category.value}}Note:
The category used in the mustache tag should be the same as the slot name used in the utterances in the topic intent.
For example, the auto-generated slot name for the taxonomy topics is First_Aid_Topics. The alternate slot name created to use within the intent is category, which is used in all the utterances. The same slot name (ie. category) is passed in the mustache tag in the Taxonomy node.
...
Session Management for Category - If a Category is found, the Taxonomy node stores the Category in the session and uses it in the next query if a category is not passed to it.
...
For example, the auto-generated slot name for this taxonomy subtopics is First_Aid_Subtopics. The alternate slot name created to use within the intent is subCategory, which is used in all the utterances. The same slot name (ie. subCategory) is passed in the mustache tag in the SubCategory Phrase field of the Taxonomy node.
...
WhatAskStart
The text provided in the “WhatAskStart” can be accessed with the properties “whatYouCanAskParentChild” and “whatYouCanAsk”.
...
Code Block |
---|
for other article{{plural}} on {{Category}}, you can say <break time="400ms"/> |
...
WhatAskLoop
This field is used for speech synthesis of the branch titles that are suggested in the “WhatAskStart” field.
...
Code Block |
---|
<prosody volume="x-loud"> {{FirstMatchPhrase}} </prosody><break time="500ms"/> |
...
Given below is the sample output payload, we used in Example flow 1:
...
WhatAskLoop – <amazon:effect name="whispered"> {{FirstMatchPhrase}} </amazon:effect> <break time='1000ms'/>
...
In the output payload,
“whatYouCanAskParentChild” – This property value contains the immediate subtopics under the branch queried for.
...
Either of these parameters can be used in the say node as shown in the below screenshot to suggest the subtopics to the user.
...
Multi Category
This message will be sent to the output pin if multiple categories are found.
...
Using the Create action, you can create taxonomy categories or subcategories using the Taxonomy node.
...
Taxonomy. Select a Taxonomy Tree that you created in the Experience Manager.
Payload. JSON code of the categories or subcategories you want to create in the Taxonomy Tree.
...
Code Block |
---|
{ "data" : { "allowJump" : true, "voice" : { "sayText" : "", "rePrompt" : "" }, "chat" : { "chatText" : "", "rePrompt" : "" }, "screen" : { "shortTitle" : "", "longTitle" : "", "body" : "", "smallImage" : "", "largeImage" : "" }, "buttons" : { "type" : "dropdown", "name" : "buttons", "choices" : [] }, "title" : "foods", "SayText" : "", "RePrompt" : "", "parentId" : 858870919717 } } |
...
Info |
---|
If a valid parentId is not given then, by default, it updates the Root node. |
Upsert Action
Using Upsert action, you can update any existing taxonomy categories or subcategories. If no entries are found, the system will insert the queried values into the database.
...
Taxonomy. Select a taxonomy tree that you created in the Experience Manager.
Payload. JSON code of the categories or subcategories you want to create or upsert in the taxonomy tree.
Info |
---|
...
Upsert action searches the records and if nothing is found, it creates a new one. |
Sample Payload format:
Code Block |
---|
{ "data" : { "allowJump" : true, "voice" : { "sayText" : "Taxonomy level one", "rePrompt" : "Taxonomy level one" }, "chat" : { "chatText" : "Taxonomy level one", "rePrompt" : "Taxonomy level one" }, "screen" : { "shortTitle" : "", "longTitle" : "", "body" : "", "smallImage" : "", "largeImage" : "" }, "buttons" : { "type" : "dropdown", "name" : "buttons", "choices" : [] }, "title" : "Taxonomy level one", "SayText" : "", "RePrompt" : "", "parentId" : 349932564080 } } |
Info |
---|
...
If a valid parentId is not given then, by default, it updates the Root node. |
Output Payload
SayText
Code Block |
---|
msg.payload.orbita.taxonomy.SayText |
Reprompt
Code Block |
---|
msg.payload.orbita.taxonomy.RePrompt |
If there is more than one result, the following payload contains the concatenated result.
Code Block |
---|
msg.payload.orbita.taxonomy.concatenateResults |
Ideally, there is only one array of results. If more than one document had the same weighted results then there will be multiple arrays of results.
Code Block |
---|
msg.payload.orbita.taxonomy.maxArrayResults |
The value of this payload will be true if the category was found.
Code Block |
---|
msg.payload.orbita.taxonomy.foundBranch |
The weight of the match; if 0, no match found.
Code Block |
---|
msg.payload.orbita.taxonomy.maxValue |
If true, a category was used to narrow the search.
Code Block |
---|
msg.payload.orbita.taxonomy.foundBranch |
The following payload returns the current taxonomy Id, such as 591f5792e2386b8516977df1.
Code Block |
---|
msg.payload.orbita.taxonomy.TaxonomyId |
The following payload returns the words used to search Subcategory.
Code Block |
---|
msg.payload.orbita.taxonomy.SubCategoryList |
The following payload returns the words used to search Category.
Code Block |
---|
msg.payload.orbita.taxonomy.category |
The following payload returns a list of all the titles under the selected branch.
Code Block |
---|
msg.payload.orbita.taxonomy.Taxonomy.BranchTitles |
The maxArrayResults will display an array of results found. Ideally, the .length property of this array should be 1.
Code Block |
---|
msg.payload.orbita.taxonomy.maxArrayResults |
All the information about this node, which branch it belongs to, what are the child branches, how many child branches it has, are displayed in the following payload.
Code Block |
---|
msg.payload.orbita.taxonomy.nodeInformation |
The following payload contains the information of the parent node without the children.
Code Block |
---|
msg.payload.orbita.taxonomy.nodeInformation.parentData |
The following payload contains the information of the parent node including the children.
Code Block |
---|
msg.payload.orbita.taxonomy.nodeInformation.nodeData |
The following payload returns the node’s category.
Code Block |
---|
msg.payload.orbita.taxonomy.nodeInformation.nodeCategory |
The titles of the parent node and children nodes related to the node that is found, but not sub-children.
Code Block |
---|
msg.payload.orbita.taxonomy.nodeInformation.ParentChildTitles |
The following payload contains all the subcategory phrases in the Taxonomy. You should copy this to the "developer.amazon" custom slot SubCategoryList.
Code Block |
---|
msg.payload.orbita.taxonomy.SubCategoryList |
The following payload returns all the titles in the first level of the taxonomy.
Code Block |
---|
msg.payload.orbita.taxonomy.rootTitles |
The following payload returns all the categories in the taxonomy. You should copy this to the category slot.
Code Block |
---|
msg.payload.orbita.taxonomy.CategoryList |
This is formatted content such as for other articles on hypothermia. You can say treatment, symptoms, or more information.
Code Block |
---|
msg.payload.orbita.taxonomy.whatYouCanAsk |
This is formatted content; a limited list of navigation items to just the child nodes, (but not sub-child nodes) and parent (if it is not home). Example: for other articles on hypothermia, you can say treatment, symptoms, or more information.
Code Block |
---|
msg.payload.orbita.taxonomy.whatYouCanAskParentChild |
Example flows in Experience Designer
In this section, there are two example flows to get you started with using the Taxonomy node in the Experience Designer. Also, find the attachment to get the JSON code of the two flows.
Example Flow 1
The following image shows the sample flow in the Experience Designer. The JSON code of the flow is attached to this document.
...
Slot Values and intents
If you enabled Auto Generate Slots when creating the taxonomy tree, then the topics and subtopics slots are created in the database automatically. The auto-generated slots are named Taxonomy_tree_name_Topic and Taxonomy_tree_name_Subtopic.
In this example, the taxonomy name is Test Info. The slots named Test_Info_Topic and Test_Info_Subtopic are auto-generated which can be used in the intents.
...
Example flow 2
Upon request, the following flow is used to list all the topics from the taxonomy tree. The JSON code of the flow is attached to this document.
...
Attachments |
---|
Related Articles
Filter by label (Content by label) | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|