A text sequence represents one path to a response in the unguided part of Bot processing.
The bot text processor will look for each element in the sequence in the text given by the user, in the order given, but with any number of non-matching words separating each sequence. At any one time several candidates will be considered until the last element in a sequence is matched and the text is exhausted.
The simplest sequence is just a sequence of words that are matched exactly ignoring case, but sequences may contain several other kinds of items.
Verbs and Nouns form hierarchies based on hypernymy. Each noun in English, or arguably any language, is a kind of another noun, apart from the very root of the tree, generally given the concept "thing". Each element in the hierarchy often contains more than one word and variants based on plurals, genitives etc. With our system you can specify one of these elements, rather than a word, and this will match any word and variant at this node including any elements below this node.
The raw material for the hierarchies is obtained from WordNet, with the addition of all the other parts of speech not covered. The most efficient representation of an individual node is the path from the root to that node. So, lineages are represented as follows:
<part of speech>:<comma delimited path from root>
So, for instance the verb "to be" is:
Whereas "picture" as graphic art is:
The edit tree page automatically looks up these concepts for you.
The following variables are defined:
|value:||A generic value, treated as textual|
|value:number||A generic number, matching any number form|
|value:number,float||A real number|
|value:choice||One of a set of choices|
|value:choice,boolean||choices limited to "true" and "false"|
|value:time||A time value|
|value:date||A date value|
|value:duration||A duration value, e.g. "week"|
|value:location||A recognized location, e.g. "London"|
|value:currency||A recognized currency value, e.g. "$5.34"|
|value:text||A text value|
At any part of the tree a single default value can be specified. If no better match can be found the deepest default found is triggered instead.
A single match element may be a combination of several words, lineages or values separated by the '|' character. Do not mix types in an element, or debugging may be very difficult!