Program Triggers define the circumstances under which SpeechMiner should search for a dependent topic. They are defined in the program structure and are represented by arrows that connect the topics.
The following expressions and conditions can be used when creating a Program Trigger:
Configuring Triggers is performed by defining a logical expression for SpeechMiner to evaluate. If the logical expression is evaluated as True, the Trigger is activated and the child recognition task is run on the interaction. If the logical expression is evaluated as False, the Trigger is not activated, and the child recognition task is not run.
Logical expressions enables you to configure the relationship between the topic and its dependent topic. For example, you can specify that a topic must be recognized with a particular level of strictness or the topic must be found twice before SpeechMiner searches for its dependent topic.
Logical expressions can consist of one or more elements. Each element is a statement, such as Date Of Interaction>1/19/2010 or Found topic "Reduction" at least once with Low Strictness. If a logical expression contains one element, it is True whenever the condition defined in the element is true. For example, if a logical expression contains the element Date Of Interaction>1/19/2010, it is True for any interaction whose metadata indicates that it took place on or after 1/20/2010.
Logical expressions can also contain multiple elements. When they do, the elements must be related to one another by logical operators, such as AND or OR. For example, Date Of Interaction>1/19/2010 AND Found topic "Reduction" at least once with Low Strictness is a logical expression that indicates both conditions must be met (the topic must be found and the interaction must have taken place in the specified time period), in order for the expression to be evaluated as True and the recognition task to be implemented.
The following operators can be used in logical expressions:
|AND||Both conditions must be met in order for the expression to be evaluated as True.|
|OR||At least one of the conditions must be met in order for the expression to be evaluated as True.|
|NOT||The expression should be evaluated as True only when the condition is not met.|
|(||Opens a group of conditions that are evaluated as a unit.|
|)||Closes a group of conditions that are evaluated as a unit.|
Logical expressions can be quite complex, containing a number of elements, various logical operators, and parentheses, if necessary. For example, the following logical expression means that the recognition task should be performed if the interaction took place between Jan. 1st and Jan. 30th and the topic "Reduction" was found, or if the interaction took place Jan. 31st or later and either the topic "Time Frame" or the topic "Payment Locations" was found.:
(Date Of Interaction>1/1/2011 AND Date Of Interaction<1/30/2011 AND Found topic "Reduction" at least once with Low Strictness) OR (Date Of Interaction>1/31/2011 AND (Found topic "Time Frame" at least once with Low Strictness OR Found topic "Payment Locations" at least once with Medium Strictness))
Parentheses can be inserted into an expression to group elements together for evaluation as a single unit. Complex expressions often require parentheses to break them into smaller expressions so that the relationships between the expressions are clear. For example, if a topic must be found in interactions handled by one of two agents, and you write the following expresssion, it is not be clear whether the topic must be found in interactions handled by both agents or only in interactions handled by agent b.
Workgroup\Agent=workgroup 1/agent a OR Workgroup\Agent=workgroup 1/agent b AND Found topic "Reduction" at least once with Low Strictness
If you add parentheses as follows, the topic should be found in interactions handled by one of the agents:
(Workgroup\Agent=workgroup 1/agent a OR Workgroup\Agent=workgroup 1/agent b) AND Found topic "Reduction" at least once with Low Strictness
I you write the following expression, the topic is only be required in interactions handled by agent b:
Workgroup\Agent=workgroup 1/agent a OR (Workgroup\Agent=workgroup 1/agent b AND Found topic "Reduction" at least once with Low Strictness)
A negative condition is a condition that must not be met if an expression is to be evaluated as True. For example, a condition that states that an interaction must not have taken place during the month of January is a negative condition. Negative conditions can be specified for a single element of an expression or a group of elements that are contained in parentheses.
Two methods are available for creating a negative condition for a single element:
- Insert a NOT operator before the element.
- Select the Not option in the element's conditions.
The following are two examples of the same negative condition written in two different ways. These conditions are True as long as the date is not on or before January 31st, 2011.
NOT Date Of Interaction<1/31/2011
- Or -
Not Date Of Interaction
An expression containing multiple elements can only be marked as a negative condition using the NOT operator. For example, in the following expression, the NOT operator is attached to a multi-element condition. The condition is True for all workgroups except workgroup 1 and workgroup 4.
NOT ( Workgroup\Agent=/workgroup 1 OR Workgroup\Agent=/workgroup4 )