Debugging and Tuning a Speech Application
The SASDK provides several tools that can be used to debug and fine-tune your application. These tools allow developers to simulate the
's environment, which is important not only when developing the application, but during testing and deployment. The SASDK also includes logging and reporting tools that can be used to evaluate the impact and effectiveness of the application.
Speech Debugging Console
The Speech Debugging Console is a tool essential for building
applications. It allows you to simulate the user's experience while displaying important information. Figure 2.12 shows a screenshot of the tool.
Figure 2.12. Screenshot of the Speech Debugging console after it has
a QA control. The SML tab contains the SML created by the speech recognition engine. Since text was used instead of real speech in this situation, a confidence score of 1.0, or 100 percent, was assigned.
menu allows you to toggle on and off the following: Break on Listen, Break on DTMF, Play prompts, Edit SML, and Show/Hide other
. When building your application you will typically have all these options turned on. Break on Listen and Break on DTMF are important because they allow you time to inspect results within the tabs without being
. Otherwise, your delays would be interpreted as silences and certain events might be triggered.
The Speech Debugging console offers the developer useful debugging information. The
tab is shown by default and will contain a stream of messages returned from the Web server. These messages are critical if you experience an error or unexpected result. You can trace through the output to understand the application's dialog flow.
For each control that is activated, an entry is made inside the
tab. Whenever the RunSpeech engine
to activate a control it places a node inside this tab. From here you can expand the nodes and determine the state of the semantic items associated with each activation step.
tab shows the SML for the last semantic item processed. This can be useful when you are trying to determine why the speech engine did not recognize the grammar correctly. It will also show you the confidence level the item was recognized at. For the example in Figure 2.12, the confidence score was 1.000, or 100 percent. The SML tab also allows the developer to edit the SML output and therefore can be used to simulate different
Telephony Application Simulator (TASim)
Available with the SASDK, TASim allows you to simulate the client experience for telephony applications. Where Speech Debugging Console is used to design and debug your application, TASim is used for testing and deploying it. You access TASim from the
the Microsoft Speech Application SDK 1.0 programs menu item. Go to
to specify the http
to your application. Figure 2.13 is a screenshot of the Telephony Application Simulator.
Figure 2.13. Screenshot of the Telephony Application Simulator used to simulate the client experience.
When debugging telephony applications, TASim is the only way to enter DTMF input or numerical digits. The DTMF tab is not available when using the Internet Explorer Add-in client. In order to execute within TASim, a Web page must contain an AnswerCall control to initiate the call. With TASim, it is not necessary to install Speech Server in order to build, debug, and test telephony applications.
Analysis and Reporting
MSS provides two primary means for analysis and reporting:
—Allows the developer to analyze the results of one or more calls. This tool is
used by developers to identify problem areas, such as the grammar or the confidence threshold.
—Built on Microsoft SQL Server Reporting Services, they are used to analyze data for multiple calls. Used by both developers and IT decision-
, they include a few predesigned reports that anticipate common analysis needs.
Each call is logged to the Windows Event Trace Log and stored in a log file with an .etl (event log tracing) extension. This file is then imported into a SQL database using a prebuilt SQL Server Data Transformation Services (DTS) package. Both the Call Viewer application and the Speech Application Reports access the SQL database to analyze imported data.
Several utilities provided with the SASDK allow the developer to extract data from .etl files. In addition, the developer can install the speech application log analysis tools, available by default in the C:\SpeechSDK\Setup\Redistributable Installers\Microsoft Log Analysis Tools for Speech Application directory. This directory should have been created if you followed the instructions in the section titled "Installing the SASDK." After executing
, you should be able to access the Call Viewer application by browsing to
Microsoft Speech Application SDK 1.0
Log Analysis Tools