Semantic Processing of the Confirms Collection
The most important function of this stage of semantic processing is to obtain explicit confirmation, correction or rejection of data referenced by Answer controls contained in the Confirms collection of the active QA control. Explicit confirmation is appropriate for data such as credit card and Social Security numbers.
The second function of this stage of semantic processing is to process any Answers in the Answers or ExtraAnswers collections that remain in the NeedsConfirmation state after the semantic processing of those collections. Because QA controls are generally designed either for data collection or for data confirmation, this situation is not expected to occur often.
Confirmation State
RunSpeech maintains Confirmation State as an internal variable that indicates the user's general satisfaction, dissatisfaction, or neutrality regarding the correctness of the items being confirmed. RunSpeech attempts to determine if the user has used a phrase such as "correct" or "wrong" to indicate complete acceptance or complete denial of the data being confirmed. It uses the QA control's XPathDenyConfirms property to query the recognition results for phrases indicating denial, and the XPathAcceptConfirms property to query for phrases indicating acceptance. If neither query produces a match, Confirmation State is set to neutral.
RunSpeech evaluates the user response as follows:
- User silence in explicit confirmation mode causes an error.
- User silence in short time-out confirmation mode indicates acceptance.
- User speech matching XPathDenyConfirms indicates denial.
- User speech matching XPathAcceptConfirms indicates acceptance.
- Other user speech indicates neutrality.
Set Confirmation State
User response | Resulting Confirmation State |
---|---|
Speech matching XPathAcceptConfirms | ACCEPT |
Speech matching XPathDenyConfirms | DENY |
Other speech | NEUTRAL |
Silence (explicit confirmation mode) | NEUTRAL |
Silence (short time-out confirmation mode) | ACCEPT |
Confirmation of named items
After RunSpeech has determined the Confirmation State, it examines the confirmation reco results for corrections of items that are being confirmed. Each such item is evaluated according to the following logic:
New Value Matches Old Value? | Recognition Confidence Exceeds ConfirmThreshold? | Resulting Semantic State |
---|---|---|
Yes | --- | CONFIRMED |
No | Yes | CONFIRMED |
No | No | NEEDSCONFIRMATION |
Confirmation of implicit items
Items being confirmed that are unmentioned by the user are evaluated with regard to Confirmation State.
Confirmation State | Resulting Semantic State |
---|---|
ACCEPT | CONFIRMED |
DENY | EMPTY |
NEUTRAL | CONFIRMED |
When this stage of semantic processing is complete, RunSpeech examines the semantic state of Answer controls in the Confirms collection. If one or more items are in the NeedsConfirmation state, RunSpeech will reactivate the QA control. If one or more Answer controls are in the Confirmed state and none are in the NeedsConfirmation state, RunSpeech will consider the QA control complete.