Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

In this document,

Taxonomy Node

The Taxonomy node lets you use the taxonomy tree in Experience Manager with the flows in Experience Designer. There are three actions to choose from:

  • Get

  • Create

  • Upsert

Get action

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.

SubCategory Phrase

You can manually fill this field or make use of a mustache tag. The node Searches within the taxonomy branch mentioned in the “Category Phrase” field.

Example Mustache Tag: {{msg.payload.request.intent.slots.subCategory.value}}

Note: The subCategory used in the mustache tag should be the same as the slot name used in the utterances in the subtopic intent.

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”.

The default value of the field is,

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.

The default value of the field is,

<prosody volume="x-loud"> {{FirstMatchPhrase}} </prosody><break time="500ms"/>

Given below is the sample output payload, we used in Example flow 1:

WhatAskStart – For more info on {{Category}}, you can say

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.

Msg.payload.orbita.taxonomy.whatYouCanAsk

whatYouCanAsk” – This property value contains all the child topics under the topic queried for.

Msg.payload.orbita.taxonomy.whatYouCanAskParentChild

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.

The default message is,

There are {{length}}, main topics found, for <break time='300ms'/> {{Category}}, you can say <break time='500ms'/>

Multi Sub Category

This message will be sent to the output pin if multiple subcategories are found.

The default message is,

There are {{length}}, sub topics found, for <break time='300ms'/> {{subCategory}}, you can say <break time='500ms'/>

Replace Words

A comma-delimited list of words to replace.

For example: "sympton:symptom,original:substitute"

Note: The language processors sometimes generate misspelled words, or words not in your context, such as byte versus bite, joking versus choking

Create Action

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.

Sample code:

{
  "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
            }
}

Note: 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.

Note: Upsert action searches the records and if nothing is found, it creates a new one.

Sample Payload format:

{
  "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
           }
}

Note: If a valid parentId is not given then, by default, it updates the Root node.

Output Payload

SayText

msg.payload.orbita.taxonomy.SayText

Reprompt

msg.payload.orbita.taxonomy.RePrompt
  • If there is more than one result, the following payload contains the concatenated result.

    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.

    msg.payload.orbita.taxonomy.maxArrayResults
  • The value of this payload will be true if the category was found.

    msg.payload.orbita.taxonomy.foundBranch
  • The weight of the match; if 0, no match found.

    msg.payload.orbita.taxonomy.maxValue
  • If true, a category was used to narrow the search.

    msg.payload.orbita.taxonomy.foundBranch
  • The following payload returns the current taxonomy Id, such as 591f5792e2386b8516977df1.

    msg.payload.orbita.taxonomy.TaxonomyId
  • The following payload returns the words used to search Subcategory.

    msg.payload.orbita.taxonomy.SubCategoryList
  • The following payload returns the words used to search Category.

    msg.payload.orbita.taxonomy.category
  • The following payload returns a list of all the titles under the selected branch.

    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.

    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.

    msg.payload.orbita.taxonomy.nodeInformation
  • The following payload contains the information of the parent node without the children.

    msg.payload.orbita.taxonomy.nodeInformation.parentData
  • The following payload contains the information of the parent node including the children.

     msg.payload.orbita.taxonomy.nodeInformation.nodeData
  • The following payload returns the node’s category.

    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.

    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.

    msg.payload.orbita.taxonomy.SubCategoryList
  • The following payload returns all the titles in the first level of the taxonomy.

    msg.payload.orbita.taxonomy.rootTitles
  • The following payload returns all the categories in the taxonomy. You should copy this to the category slot.

    msg.payload.orbita.taxonomy.CategoryList
  • This is formatted content such as for other articles on hypothermia. You can say treatment, symptoms, or more information.

    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.

    msg.payload.orbita.taxonomy.whatYouCanAskParentChild

Related Articles

  • No labels