Partilhar via


Semantic Processing of the Confirms Collection

  Microsoft Speech Technologies Homepage

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.