Configuring Trigger Properties
The conditions that define the circumstances under which SMART should search for a child item in a call are called triggers. The triggers of linguistic recognition tasks are defined in the Program's structure diagram (see Managing the Program Structure), and are represented there by the arrows that connect recognition tasks. You can fine-tune the triggers in the following ways:
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 call; if it is false, the trigger is not activated, and the child recognition task is not run.
Logical expressions can consist of one or more elements. Each element is a statement, such as Date Of Call>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 Call>1/19/2010, it is True for any call 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 Call>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 call 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:
| Operator | Description |
| 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:
(Date Of Call>1/1/2011 AND Date Of Call<1/30/2011 AND Found topic "Reduction" at least once with Low Strictness) OR (Date Of Call>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))
means the recognition task should be performed if the call took place between Jan. 1st and Jan. 30th and the Topic "Reduction" was found, or if the call took place Jan. 31st or later and either the Topic "Time Frame" or the Topic "Payment Locations" was found.
Trigger conditions are configured by defining logical expressions. Both metadata and parent conditions can be included in the logical expression. Metadata conditions are added to the logical expression manually, but parent conditions must be created in the structure diagram; once they are created, you can modify their properties manually.
If conditions are defined for a particular trigger, they are displayed in the List pane in the Triggers tab, under Exp.

Trigger conditions defined for the Fees and Services Charges -> Payment Address trigger
To configure the trigger conditions of a recognition task:
Note: You can also open the dialog box by double-clicking the trigger in the structure diagram.

Trigger Properties dialog box
Trigger Properties with logical expression defined

Metadata trigger-condition displayed in orange
Metadata is information about calls that is gathered by the external recording system and relayed to SpeechMiner along with the call audio. Each system receives different sets of information about the calls that are passed to it for processing. For example, metadata could include the name of the agent for each call, the location of the customer, and the duration of the call.
You can define metadata conditions based on any of the metadata values available in your system. In addition, you can define different metadata conditions for each linguistic task in a Program. The conditions you define can be as simple as one metadata value or complex expressions that specify the relationships among a number of types of metadata. Take, for example, a sales campaign that is undertaken in Wyoming and in Texas. Certain agents in each location target senior citizens, while others target families with teenage children. To process calls to senior citizens differently from other calls that belong to the Program, you could define a condition that specifies either Agent1 or Agent2 if the customer is in Wyoming, and Agent3 if the customer is in Texas, and apply the condition to the items that are specific to the senior-citizen campaign.
To add a metadata element to an expression:
to clear all existing selections.
Note: Some of the options may be arranged hierarchically. For example, if you select Workgroup\Agent, a list of workgroups is displayed. You can select a workgroup, or click the + beside the name of a workgroup to expand the list and display the names of the agents in the workgroup. If you select a workgroup, all members of the workgroup are included in the condition; if you expand a workgroup and select an agent, only that agent is included.
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 calls handled by one of two agents, and you wrote
Workgroup\Agent=workgroup 1/agent a OR Workgroup\Agent=workgroup 1/agent b AND Found topic "Reduction" at least once with Low Strictness
it would not be clear whether the Topic must be found in calls handled by both agents or only in calls handled by agent b. If you add parentheses like this
(Workgroup\Agent=workgroup 1/agent a OR Workgroup\Agent=workgroup 1/agent b) AND Found topic "Reduction" at least once with Low Strictness
the Topic would have to be found in calls handled by one of the agents. But if you write
Workgroup\Agent=workgroup 1/agent a OR (Workgroup\Agent=workgroup 1/agent b AND Found topic "Reduction" at least once with Low Strictness)
the Topic would only be required in calls handled by agent b.
To insert parentheses into an expression:
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 a call must not have taken place in 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:
In the following two illustrations, a negative condition is created in each of these ways. The meanings of the two conditions are identical: the condition is True as long as the date is not on or before January 31st, 2011.

Negative condition created using the NOT operator

Negative condition created using the Not option
An expression containing multiple elements can only be marked as a negative condition using the NOT operator. For example, in the illustration below, the NOT operator is attached to a multi-element condition. The condition is True for all workgroups except workgroup 1 and workgroup 4.
NOT operator used to create a negative condition with multiple elements
To insert a NOT operator before an element or expression:
To select the Not option for an element:
You can modify the properties of elements that are already included in the expression. You can do this for metadata elements and for parent elements.
You can modify any of the properties of a metadata element.
To modify an existing metadata element:
You can change the properties of a parent element, including the required number of occurrences of the element, its strictness level, and its timing constraints, but you cannot change it to a different Topic and you cannot move it to a different position in the Program structure. (To do these latter two things, you have to change the structure diagram; see Managing the Program Structure.
To modify a parent element:

| Setting | Description |
| Not found | Select this option if you want the trigger to include all calls except those that match the condition; that is, the child should not be sought unless the parent is not found in the call |
|
At least __ Occurrences (Topics only) |
Specify the minimum number of times the parent Topic must be found in the call in order for the child to be sought; if the parent recognition does not meet this minimum, SpeechMiner proceeds as if the parent was not found |
|
At least __ Strictness (Topics only) |
Select the minimum level of strictness for the recognition of the parent Topic; if the parent recognition does not meet this minimum, SpeechMiner proceeds as if the parent was not found |
|
From |
Define the earliest position in the call audio at which the parent may be found, in seconds, and then select one of the following types of reference points:
|
| To | Define the latest position in the call audio at which the parent may be found, in seconds, and then select one of the types of reference points explained above. |
| Speaker Type | Select a speaker type if you want the trigger to only include locations in which the selected type of speaker is speaking, or ANY to include all speaker types. |
You can copy an expression from the Trigger Properties of one trigger and paste it into the Trigger Properties of another trigger. The triggers do not have to be part of the same Program. After you paste the expression, you can edit it as necessary, just as you would edit any other expression.
To copy the trigger conditions from one trigger to another:
You can remove any element or operator from an expression except for a parent element (which must be removed in the structure diagram; see Managing the Program Structure).
To remove an element or operator from an expression:
. The selected item is deleted from the expression.
See also