word1 word2 … wordn |
This mandates all the words defined to be available in the user utterance in the same consecutive order with upto 3 (language specific) additional words allowed between any two consecutive words mentioned in the pattern and infinite number of words before and after those specified set of words. |
Sample Pattern |
“transfer fund“ |
Utterance Match |
– “can you please transfer funds from my account“ – “can you please transfer some funds from my account“ – “transfer funds“ |
Utterance not Matching |
– “i want to transfer“ – “can i transfer some significant amount of monetary funds“ – “i want to do fund transfer“ |
|
word1_word2 |
Enforce phrase, no additional words allowed in between word1 and word2. This is to ensure a sequence of tokens are read as a phrase. Usage restricted to words, concepts not allowed. Note: There should be no space between the word1, word2 and _. Also be aware that “_word1” is to ensure that the word1 in the user utterance is not marked as Used Up by the platform and is to be considered for entity extraction. This is useful when entity words are used in the intent pattern. |
Sample Pattern |
“transfer_fund“ |
Utterance Match |
“can you help me transfer funds“ |
Utterance not Matching |
“can you please transfer some funds from my account“ |
|
word1 * word2 |
0 to infinite number of additional words between the specified words/phrases |
Sample Pattern |
“transfer * fund“ |
Utterance Match |
– “can you please transfer some funds from my account“ – “can you help me transfer funds“ |
Utterance not Matching |
“i want to transfer“ |
|
word1 *n word2 |
Exactly n number of additional words between the specified words/phrases |
Sample Pattern |
“transfer *2 fund“ |
Utterance Match |
– “can you help me transfer some significant funds from my account“ |
Utterance not Matching |
– “i want to transfer“ – “can you please transfer some funds from my account“ – “can you help me transfer some significant amount of funds“ |
|
word1 *0 word2 |
To disable wildcards between two tokens. Similar to the underscore between two words but can be used between two concepts or within [ ], { } groups. (available 7.1 onwards) |
Sample Pattern |
“transfer *0 fund“ |
Utterance Match |
– “can you please transfer funds from my account“ – “can you help me transfer funds“ |
Utterance not Matching |
“i want to transfer some funds“ |
|
word1 < word2 |
Indicates the match for word2 should start from the beginning of a sentence. It is useful especially when the word2 appears in the middle of the utterance. Add a space after the angular bracket |
Sample Pattern |
“transfer < fund“ |
Utterance Match |
– “want to transfer funds“ – “i want to initiate fund transfer“ |
Utterance not Matching |
“i want to transfer“ |
|
word1 > word2 |
Indicates the end of the sentence and no words are allowed after it. Add a space before closing the angular bracket |
Sample Pattern |
“transfer * fund >“ |
Utterance Match |
– “transfer funds“ – “transfer few funds“ |
Utterance not Matching |
“transfer funds today“ |
|
!abc |
Indicates the word/concept “abc” should not exist anywhere in the user utterance after this token No space between ! and word/concept |
Sample Pattern |
– “!status transfer fund“ – “transfer !status fund“ – “transfer fund !status“ |
Utterance Match |
“i want to transfer funds“ |
Utterance not Matching |
– “what is the status of my fund transfer“ – “i want to find my fund transfer status“ |
|
!!abc |
The very next word/concept should not be “abc” No space between !! and word/concept |
Sample Pattern |
“transfer fund !!status“ |
Utterance Match |
– “i want to transfer funds“ – “what is the status of my fund transfer“ – “i want to find my fund transfer from yesterday’s status“ |
Utterance not Matching |
“i want to find my fund transfer status“ |
|
[ … ] |
Used to define a group of words/concepts and the match should be against exactly one of the group declared in [ ]. Be aware that when a match is found the rest of the group is ignored, so order the words accordingly. Note: the parentheses should not be clubbed with the word, i.e maintain a space between the parenthesis and the adjacent word.
Due to the difficulty in maintaining and tracking, it is recommended you use concept instead of this pattern. This pattern also has detrimental effect on the bot performance. |
Sample Pattern |
“transfer [ funds amount cash ]“ |
Utterance Match |
– “transfer money“ – “can i transfer some cash“ – “i want to transfer funds“ |
Utterance not Matching |
“transfer dollars“ |
|
{ … } |
Used to define a optional group or words/concepts and the match would be against zero or one of the words/patterns declared in { }. Be aware that when a match is found rest of the group is ignored, so order the words accordingly. Note: the parentheses should not be clubbed with the word, i.e maintain a space between the parenthesis and the adjacent word. |
Sample Pattern |
“transfer { some few my } fund“ |
Utterance Match |
– “how do i transfer funds“ – “can i transfer some funds“ |
Utterance not Matching |
“i want to transfer“ |
|
( … ) |
contain a pattern i.e when a pattern or part of a pattern is enclosed in these parentheses, we treat it as a pattern unlike [ ] and { }. This is the default setting i.e. when a pattern word1 word2 it is treated as ( word1 word2 ) Commonly used explicitly to define sub pattern inside [ ] or { } |
Sample Pattern |
“( transfer fund )“ |
Utterance Match |
“transfer funds from my account“ |
Utterance not Matching |
“i would like to initiate fund transfer“ |
|
<< … >> |
Used to find words in any order
Due to the risk of running into false positives, you are advised not to use this pattern. |
Sample Pattern |
“<< transfer fund >>“ |
Utterance Match |
– “transfer funds from my account“ – “i would like to initiate fund transfer“ |
Utterance not Matching |
“i want to transfer“ |
|
‘word1 |
If you quote words or use words that are not in canonical form, the system will restrict itself to what you used in the pattern |
Sample Pattern |
“‘like to transfer fund“ |
Utterance Match |
“I would like to ransfer funds from my account“ |
Utterance not Matching |
“I really liked transfer funds process“ |
|
word1~concept2 ~concept1~concept2 (from ver8.0) |
A word (word1) or concept (concept1) can be matched only if it is also a member of another concept (concept2). The most common usage of this is through the system concepts that are dynamically added for each POS tag. |
Sample Pattern |
“schedule~verb“ |
Utterance Match |
“schedule a meeting“ |
Utterance not Matching |
“show my schedule“ |
|